Proč Raspberry Pi 3
Pro mnoho menších operací nabízí platforma Raspberry Pi 3 od Raspberry Pi Foundation levné řešení s dostatečným výkonem. Je plně schopný zvládnout úkoly průmyslové automatizace. Deska Raspberry Pi 3 obsahuje procesor Broadcom ARM Cortex-A53, 1 GB RAM, má digitální rozhraní, Wi-Fi a připojení Bluetooth. Mozkem celého systému je čip (SoC), ve kterém je integrován čtyřjádrový procesor ARM Cortex-A53 s pamětí C2 512 Kbytes a 54 GPIO uspořádaných do tří částí (tří bank).
Každý jednotlivý GPIO podporuje dvě až šest funkcí, včetně PWM, hodin a sériových rozhraní. Všechny piny GPIO lze využít také jako linky pro přerušení, vstupy nebo výstupy schopné dodávat až 16 mA (až 50 mA na jednu banku GPIO). Stejně jako u ostatních členů rodiny Raspberry Pi, je Raspberry Pi 3 navržen tak, aby byl vývoj jednoduchý i pro začátečníky, a zároveň byl dostatečně výkonný, aby splňoval potřeby zkušených vývojářů pro komplexní aplikace.
Ze začátku se připojí klávesnice a myš do USB portu, displej (monitor) do video portu a může se začít s instalací software. Software může být postaven na volně dostupném operačním sytému Linux Raspbian, který je uložen na micro SD kartě, ze které „bootuje“. Široká komunita pomůže řešit případné problémy a na internetu je mnoho zdrojových kódů, které nám pomohou se začátky.
Rozšíření pro průmyslovou automatizaci
Dostatečný výkon, velká podpora při vývoj a možnost hardwareového rozšíření pomocí přídavných modulů. Pro průmyslové aplikace je vhodné svůj systém rozšířit pomocí Pimoroni PIM213 Automation HAT, který vidíte na obrázku. HAT znamená Hardware Attachen on Top. Po zasunutí modulu do Raspberry Pi 3 proběhne identifikace a automaticky se nakonfigurují GPIO. Systém je okamžitě připraven k použití.
Vývojáři mohou rozšířit základní desku Raspberry Pi 3 pro průmyslovou automatizaci připojením speciálních modulů jako je Pimoroni Automation HAT. (Zdroj obrázku: Pimoroni)
Rozšiřující modul Pimoroni Automation HAT byl speciálně navržen pro monitorování a řízení automatizačních systémů. Obsahuje mnoho analogových a digitálních I/O kanálů, 5V výstupy a tři relé. Vstupy a výstupy pracují v rozsahu 0 až 24V. Na relé lze připojit zátěž o velikosti 2A. Tato hodnota je dostatečná například pro spolehlivé řízení 24V elektromagnetického ventilu Crouzet 81 546 001.
Pro vývoj softwaru k modulu Auatomation Hat nabízí společnost Pimoroni přidružený modul v jazyce Python. Pomocí několika řádků kódu obsloužíme všechny hardwarové funkce přidavného modulu. Při importu Python knihoven modul Pimoroni vytvoří softwarové objekty pro analogový vstup, digitální vstup, digitální výstup, reléový výstup a řízení LED diod. Každý objekt obsahuje příslušné funkce pro čtení a zápis.
Ukázka z Python modulu Pimoroni, kde jsou vidět základní objekty pro zápis a čtení z analogového převodníku (ADC).
Každý objekt identifikuje příslušný kanál a další potřebné údaje. Například objekt analogového vstupu obsahuje definici hodnoty maximálního napětí pro příslušný pin (viz funkce init ve výše uvedeným příkladu). Pro vyčtení analogové hodnoty z ADC (analog – digital converter) použijeme třídu ads1015.read. Tato třída nám provede čtení přes sběrnici I2C. Obsahuje všechny potřebné nastavení ADC převodníku a vrátí nám hodnotu v definovaném tvaru. Níže je zobrazena třída ads1015.
Pro čtení analogové hodnoty použijeme jednoduchou formulaci, která se dá interpretovat následovně. Přečti (read) hodnotu z analogového vstupu jedna (analog.one) na modulu automationhat a ulož ji do proměnné value.
value = automationhat.analog.one.read ()
Knihovna podporuje tento jednoduchý model i pro další funkce HAT modulů. Pro sepnutí nebo rozepnutí relé použijeme analogickou formulaci:
automationhat.relay.one.write (1) # 1 = ZAPNUTO, 0 = VYPNUTO
Flexibilita
Pimoroni Automation HAT nabízí základní IO funkcionalitu potřebnou pro malou průmyslovou automatizaci. Jak již bylo řečeno k dispozici je více rozšiřujících modulů HAT, které mohou vývojáři použít. Například Adafruit 3013 RTC HAT poskytuje funkci reálného času (RTC), která není součástí Raspberry Pi 3. Designéři očekávali, že deska bude připojená k internetu, kde se používá standartní síťový protokol NTP, ze kterého se čas získá v potřebném formátu. V některých aplikacích je vyžadován externí RTC pro případ, kdy dojde ke ztrátě připojení internetu.
Často si nevystačíme jen s jedním přidaným modulem. Konstrukce je navržena tak, že lze jednotlivé moduly skládat na sebe. K propojení je potřeba použít „hřebínkové“ konektory Adafruit 2223 a pro lepší stabilitu a bezpečnost jednotlivých modulů existují distanční sloupky M2.5. Tím se eliminuje možnost nežádoucího dotyku mezi jednotlivými moduly.
V průmyslových aplikacích je běžné řídit krokové motory. I s tím si Raspberry Pi 3 hravě poradí. Stačí použít modul Adafruit 2348, který dokáže řídit dva krokové nebo čtyři stejnosměrné motory. Maximální počet přídavných modulů k jedné systémové desce Raspberry Pi 3 je 32. Čili můžete jednoduše řídit až 64 krokových nebo 128 stejnosměrných motorů.
Kód pro řízení motoru
Desku HAT Adafruit 2348 lze naprogramovat pomocí několika jednoduchých příkazů Pythonu podobně jako u Automation HAT. Vzorový Python software Adafruit motor HATobsahuje základní funkce pro řízení motorů, dokonce i paralelní řízení více motorů. Následující kód zobrazuje paralelní řízení dvou motorů.
from Adafruit_MotorHAT import Adafruit_MotorHAT, Adafruit_DCMotor, Adafruit_StepperMotor
Pokud si nevyberete z dostupných modulů skupiny HAT, můžete sáhnout po následujících modulech, které jsou kompatibilní s Raspberry Pi 3. Od společnosti DFRobot je k dispozici speciální deska DFR0327, která obsahuje všechny potřebné vstupy/výstupy pro robotiku. Seeed Technology nabízí starter kit GrovePi+, který mimo jiné obsahuje teplotní a vlhkostní čidlo, ultrasonické čidlo buzzer a další senzory. MikroElektronika nabízí speciální mezi-desku MIKROE-2756, která umožňuje připojit rozšíření Arduino shields, Grove devices, a MikroBUS click boards.V průmyslové automatizaci se často vyskytuje sběrnice CAN. Pro tyto účely je vhodné použít MIKROE-988. Senzory používají sběrnici 4-20mA, pro kterou existuje rozšíření MIKROE-1296. Oba rozšiřující moduly jsou od společnosti MikroElektronika.
Přehledné uživatelské rozhraní
Vývoj samotné aplikace je jen jedna část úkolu pro vývojáře. Druhou částí bývá připravit uživatelsky přívětivý interface, kde budou přehledně znázorněna naměřená data a prvky pro ovládání. Tento úkol spolyká nemalý čas. Vybudování uživatelského rozhraní pro Raspberry Pi je jednoduché. Stačí ho propojit s cloudovou službou Adafruit IO, která poskytuje uživatelům grafickou zpětnou vazbu a kontrolu jejich automatizačních procesů z jakéhokoli webového prohlížeče na počítači, smartphonu nebo jiném mobilním zařízení. (viz. Obrázek níže) Vývojáři mohou snadno přenášet data z aplikace do cloudu Adafruit IO importováním knihovny přímo do našeho kódu.
Uživatelské rozhraní vytvořené pomocí cloudové služby Adafruit IO. (Zdroj obrázku: Adafruit)
Kombinace jednoduchého vývoje softwaru, rozmanitých doplňkových desek a vysoce výkonného Raspberry Pi 3 poskytuje vhodné řešení pro malé aplikace průmyslové automatizace. V některých aplikacích je však potřeba přesnější časování, než je časování pomocí Adafruit 3013 RTC HAT, o kterém jsme se již zmínili. Model 3013 RTC HAT je založen na integrovaném obvodu DS3231 RTC od společnosti Maxim Integrated. Poskytuje dva programovatelné alarmy a výstupní obdélníkový signál.
Pomocí nastavených alarmů lze generovat přerušení v zadaném počtu dní, hodinách, minutách, sekundách nebo použít obdélníkový signál a generovat přerušení s frekvencí 1Hz. U aplikací, které vyžadují periodické přerušení rychlejší než 1 Hz, si vývojáři musí vyvinout vlastní softwarovou funkci pomocí časovače procesoru nebo vytvořit vlastní čítače. Latence odezvy může u operačního systému Raspbian ohrozit přesnost. Standartní doba odezvy je cca 1 milisekunda. Pokud je potřeba ještě přesnější časování lze použít patch Linux PREEMPT_RT.
Závěr
Konvenční automaty PLC nabízejí schopnosti, které většinou přesahují požadavky a rozpočty většiny menších průmyslových provozů v drobném průmyslu. Pomocí nástroje Raspberry Pi 3 a vhodných doplňkových desek mohou vývojáři rychle realizovat systémy průmyslové automatizace schopné splnit požadavky malých provozoven.