
Sterownik PLC w oparciu o mikrokontroler AVR Atmega32
Jakiś czas temu na forum elektrody zamieściłem pierwszy mój sterownik PLC w oparciu o mikrokontroler AVR Atmega8, który można było programować za pomocą języka drabinkowego https://www.elektroda.pl/rtvforum/topic3063168.html . Zapowiadałem, że kiedyś zmodyfikuję tą konstrukcję, aby bardziej upodobnić ją do urządzeń przemysłowych. Kilka miesięcy temu skończyłem swoja drugą wersję sterownika wraz z możliwością komunikacji na kilka sposobów. Nie obyło się bez kilku problemów (jakiś czas temu na forum pytałem o problem z flashowaniem ESP8266, który także jest częścią tej konstrukcji). Priorytetem było uzyskanie panelu HMI oraz połączenia z prostą aplikacją SCADA. Aplikacja Xscada umożliwia połączenie prototypowego sterownika z firmowymi urządzeniami przemysłowymi (np. Inne sterowniki PLC (MODBUS RTU), czujniki inteligentne (MODBUS TCP/IP)) ze względu na dużą ilość protokołów komunikacji. Każdy w domu posiada nieużywany telefon z systemem Android, który z powodzeniem można wykorzystać jako panel dotykowy do sterowania pseudo sterownikiem PLC, który opisze poniżej.
Sterownik posiada 4 moduły:
- Moduł CPU z Atmegą32 i wbudowanym programatorem USBasp oraz stabilizatorem liniowym 7805.
- Moduł 4we/wyj 24V
- Moduł 4we/wyj 24V
- Moduł komunikacji i 2 wejść analogowych (potencjometr + zabezpieczenie diodą zenera 5V1)

Moduły połączone są taśmami ze złączami 10 pin.
Prócz obudowy na szynę DIN została dodana możliwość komunikacji. Sterownik posiada 3 sposoby komunikacji (wybór DIP Switchem ):
- przewodowa RS232
- bezprzewodowa bluetooth z modułem HC-05 w formie mostu Bluetooth <-> UART
- bezprzewodowa WiFi z modułem ESP8266 w formie mostu Wifi <-> UART (konieczne wgranie softu jako przeźroczysty most)
Powstały 3 aplikacje typu SCADA:
- Scada dla komputera klasy PC w oparciu o popularne środowisko XScada Micset
- uniwersalna aplikacja SCADA napisana przy pomocy MIT App Inventor 2 dla Androida
- aplikacja dla projektu inteligentnego domu także napisana w MIT App Inventor dla Androida
XScada:

Uniwersalna SCADA dla Androida:



Aplikacja iDOM:






W załączniku umieściłem instrukcje do tworzenia aplikacji w MIT App Inventor oraz w środowisku XScada. Znajdują się tam także algorytmy komunikacji. W archiwum aplikacje znajdują się: iDom.apk, SCADA.apk oraz projekt SCADA dla środowiska Xscada. Zdjęć środka niestety nie posiadam, ale jest to dość mocno upchane więc dużo tam nie byłoby widać. Jeżeli komuś będzie potrzebny kod aplikacji w LDmicro to proszę pisać. W razie pytań także chętnie wytłumaczę wszelkie wątpliwości. Niestety nie znalazłem programu, który tworzy wirtualny port COM dla komunikacji WiFi. Sterownik komunikuje się z aplikacją SCADA poprzez RS232, a z aplikacjami mobilnymi poprzez Bluetooth. Komunikacja Wifi działa tylko przy użyciu Telnetu. Jeśli komuś potrzebne pliki źródłowe dla PCB to je udostępnię zainteresowanym dla programu Eagle. Załączniki są tylko uzupełnieniem artykułu dlatego pozwalam sobie nałożyć prowizję punktową za włożony trud w napisanie instrukcji oraz udostępnienie gotowych aplikacji.
Cool? Ranking DIY