Opis konstrukcji
Projekt powstał z myślą udostępnienia danych ze sterownika PLC przez internet.
Wymieniony sterownik posiada port komunikacyjny RS232 oraz wykorzystuje protokół komunikacyjny Modbus RTU.
Podczas wykonywania prac uznałem, iż miłym dodatkiem będzie możliwość zdalnego załączania urządzeń.
Całość oparłem o uniwersalną płytkę stworzoną jakiś czas temu dla ESP8266.
Schemat płytki uniwersalnej ESP8266:
Widok PCB z EAGLE:
A oto zdjęcie płytki do ESP8266:
Uzupełnieniem konstrukcji jest konwerter RS232-TTL:
Zdjęcia gotowej konstrukcji:
Konwerter RS232-TTL jest zasilony z płytki ESP8266 napięciem 3,3V, natomiast RX i TX zostały wprowadzone na IN1 i IN2 ze schematu.
Całość zaprogramowałem z wykorzystaniem Arduino IDE.
Dla własnych potrzeb wprowadziłem odczyt wartości temperatur, potwierdzenia pracy urządzeń oraz rozkazy załączenia dla PLC:
Modbus RTU:
Rejestr 40001 - Temperatura kominka
Rejestr 40001 - Temperatura w zbiorniku CWU
Rejestr 40001 - Temperatura w kolektorze próżniowym
Rejestr 40001 - Temperatura wody podłogówka
Rejestr 40001 - Napięcie baterii akumulatorów (od paneli fotowoltaicznych)
Rejestr 00005 - Potwierdzenie pracy pieca gazowego
Rejestr 00007 - Potwierdzenie pracy schładzania instalacji kolektorów próżniowych
Rejestr 40020 - Rozkaz na załączenie pieca gazowego
Rejestr 40021 - Rozkaz na załączenie instalacji schładzającej
Oczywiście całość oprogramowania sterującego instalacją domową działa autonomicznie na PLC .
Przytoczone tutaj zmienne to tylko przykład możliwości wykorzystania wykonanego urządzenia oraz adaptacji zamieszczonych kodów do ESP8266.
Zamieszczam dla innych całość kodów źródłowych wraz z niezbędnymi bibliotekami.
Jako uwagę od razu piszę, iż ESP8266 posiada 1 port RS232. Nie chciałem go blokować, dlatego też na potrzeby komunikacji z PLC zaprogramowałem nowy softwarowy port COM na IN1 i IN2 (patrz schemat płytki ESP).
Jako interface webowy wykorzystuję gotową aplikację Cayenne IoT:
https://cayenne.mydevices.com/
Zakładamy darmowe konto, logujemy się na stronę:
Wybieramy platformę sprzętową - w naszym przypadku Generic ESP8266
Kopiujemy Username, Password i Client ID do programu w Arduino IDE
W Arduino IDE wybieramy płytkę NodeMCU 1.0 (dodatkowa biblioteka dla Arduino: Plik-Szkic->Dołącz bibliotekę-ESP8266 -> dodatkowe informacje dostępne w necie)
Biblioteki do Arduino IDE:
Wybieramy odpowiedni port COM i programujemy ESP (podpinamy konwerter USB-TTL do portu PROG - patrz schemat).
Ja wykorzystuję konwerter w cenie poniżej 1$ z aliexpress:
Link
U mnie przed kliknięciem wgrywania oprogramowania z ArduinoIDE trzeba wcisnąć na płytce ESP przycisk RESET i FLASH jednocześnie i puścić je gdy kompilacja przebiegnie pomyślnie. Dopiero wtedy rusza wgrywanie programu do ESP.
W Cayenne pojawia nam się urządzenie Generic ESP8266. Teraz konfigurujemy kanały z programu ArduinoIDE i mamy gotową działającą wizualizację
Konstrukcja nie jest pozbawiona wad:
- nie jestem programistą, więc kod nie jest optymalny,
- działanie Cayenne My Devices na PC pozostawia wiele do życzenia (o wiele lepiej działa aplikacja na Android).
W załączniku zamieszczam:
1. Schemat w EAGLE wraz z rysunkiem ścieżek.
2. Skompilowane pliki źródłowe oprogramowania (oraz wersja edytowalna).
Kosztorys wykonanej konstrukcji:
ESP8266-12F - 6,5 zł
ESP Shild - 1,2zł
RS232-TTL - 1,9zł
Płytka PCB pod ESP (wraz z podzespołami ) ~5zł
---------------------------------------------------------
Całość to ok. 15zł (zakupy robione na Aliexpress).
W komentarzach proszę o konstruktywną krytykę, informacje, co należałoby poprawić itp.
Jeśli ktoś jest zainteresowany dodatkowymi materiałami, to proszę o kontakt PW.
Projekt powstał z myślą udostępnienia danych ze sterownika PLC przez internet.
Wymieniony sterownik posiada port komunikacyjny RS232 oraz wykorzystuje protokół komunikacyjny Modbus RTU.
Podczas wykonywania prac uznałem, iż miłym dodatkiem będzie możliwość zdalnego załączania urządzeń.
Całość oparłem o uniwersalną płytkę stworzoną jakiś czas temu dla ESP8266.
Schemat płytki uniwersalnej ESP8266:

Widok PCB z EAGLE:

A oto zdjęcie płytki do ESP8266:

Uzupełnieniem konstrukcji jest konwerter RS232-TTL:

Zdjęcia gotowej konstrukcji:




Konwerter RS232-TTL jest zasilony z płytki ESP8266 napięciem 3,3V, natomiast RX i TX zostały wprowadzone na IN1 i IN2 ze schematu.
Całość zaprogramowałem z wykorzystaniem Arduino IDE.
Dla własnych potrzeb wprowadziłem odczyt wartości temperatur, potwierdzenia pracy urządzeń oraz rozkazy załączenia dla PLC:
Modbus RTU:
Rejestr 40001 - Temperatura kominka
Rejestr 40001 - Temperatura w zbiorniku CWU
Rejestr 40001 - Temperatura w kolektorze próżniowym
Rejestr 40001 - Temperatura wody podłogówka
Rejestr 40001 - Napięcie baterii akumulatorów (od paneli fotowoltaicznych)
Rejestr 00005 - Potwierdzenie pracy pieca gazowego
Rejestr 00007 - Potwierdzenie pracy schładzania instalacji kolektorów próżniowych
Rejestr 40020 - Rozkaz na załączenie pieca gazowego
Rejestr 40021 - Rozkaz na załączenie instalacji schładzającej
Oczywiście całość oprogramowania sterującego instalacją domową działa autonomicznie na PLC .
Przytoczone tutaj zmienne to tylko przykład możliwości wykorzystania wykonanego urządzenia oraz adaptacji zamieszczonych kodów do ESP8266.
Zamieszczam dla innych całość kodów źródłowych wraz z niezbędnymi bibliotekami.
Jako uwagę od razu piszę, iż ESP8266 posiada 1 port RS232. Nie chciałem go blokować, dlatego też na potrzeby komunikacji z PLC zaprogramowałem nowy softwarowy port COM na IN1 i IN2 (patrz schemat płytki ESP).
Jako interface webowy wykorzystuję gotową aplikację Cayenne IoT:
https://cayenne.mydevices.com/
Zakładamy darmowe konto, logujemy się na stronę:

Wybieramy platformę sprzętową - w naszym przypadku Generic ESP8266

Kopiujemy Username, Password i Client ID do programu w Arduino IDE

W Arduino IDE wybieramy płytkę NodeMCU 1.0 (dodatkowa biblioteka dla Arduino: Plik-Szkic->Dołącz bibliotekę-ESP8266 -> dodatkowe informacje dostępne w necie)

Biblioteki do Arduino IDE:

Wybieramy odpowiedni port COM i programujemy ESP (podpinamy konwerter USB-TTL do portu PROG - patrz schemat).
Ja wykorzystuję konwerter w cenie poniżej 1$ z aliexpress:
Link

U mnie przed kliknięciem wgrywania oprogramowania z ArduinoIDE trzeba wcisnąć na płytce ESP przycisk RESET i FLASH jednocześnie i puścić je gdy kompilacja przebiegnie pomyślnie. Dopiero wtedy rusza wgrywanie programu do ESP.
W Cayenne pojawia nam się urządzenie Generic ESP8266. Teraz konfigurujemy kanały z programu ArduinoIDE i mamy gotową działającą wizualizację


Konstrukcja nie jest pozbawiona wad:
- nie jestem programistą, więc kod nie jest optymalny,
- działanie Cayenne My Devices na PC pozostawia wiele do życzenia (o wiele lepiej działa aplikacja na Android).
W załączniku zamieszczam:
1. Schemat w EAGLE wraz z rysunkiem ścieżek.
2. Skompilowane pliki źródłowe oprogramowania (oraz wersja edytowalna).
Kosztorys wykonanej konstrukcji:
ESP8266-12F - 6,5 zł
ESP Shild - 1,2zł
RS232-TTL - 1,9zł
Płytka PCB pod ESP (wraz z podzespołami ) ~5zł
---------------------------------------------------------
Całość to ok. 15zł (zakupy robione na Aliexpress).
W komentarzach proszę o konstruktywną krytykę, informacje, co należałoby poprawić itp.
Jeśli ktoś jest zainteresowany dodatkowymi materiałami, to proszę o kontakt PW.
Cool! Ranking DIY