Debian w akcji> mini sterownik PLC

Wszystko Off Topic
Awatar użytkownika
arturromarr
Posty: 56
Rejestracja: 14 sierpnia 2015, 01:21

Debian w akcji> mini sterownik PLC

Post autor: arturromarr » 21 kwietnia 2017, 12:07

Witam,
Witam chciałem przedstawić projekt, który całkowicie zrealizowałem w darmowym oprogramowaniu pod kontrolą Debiana.
Jest to mały sterownik programowalny w skrócie PLC. W założeniach ma sterować drobną automatyką domową, być tani i prosty w użyciu.
Komunikacja z użytkownikiem odbywa się popularnym protokołem ModBus. W przyszłości powstanie panel operatorski do wpływania na sterowanie. Protokół zdeterminował całą architekturę sterownika i koncepcję jego programowania. Sterownik posiada listę realizowanych rozkazów (16 bitowych jak słowo w ModBus), które odwołują się do typowej dla tej magistrali mapy pamięci.
Obrazek
Obrazek
Obrazek

Elektronika powstała w programie KiCAD. Jest to zupełnie wystarczające narzędzie do większości średniej wielkości projektów. Możemy opracowywać w nim schematy, płytki drukowane i na koniec generować pliki produkcyjne. Obecnie jest znacznie nowsza wersja niż ta na której pracowałem, mająca kilka udogodnień, ale Debian nie zawarł jej w stabilnym repo więc jeszcze poczekam.
Obrazek
Obrazek
Obrazek

Oprogramowanie mikrokontrolera w sterowniku powstało w gcc z Toolchain-em Atmel-a
Sam projekt w lekkim środowisku CodeLite.
Obrazek

Obecnie powstaje narzędzie do wprowadzania programów użytkownika z komputera na sterownik. Aplikację piszę z wykorzystaniem wtyczek GTK. Jak będzie w fazie godnej pokazania to również się pochwalę.

Aktualnie sterownik w ramach próby generalnej steruje oświetleniem w moim akwarium. W płynny sposób rozjaśnia i ściemnia lampę o zadanych godzinach. W kolejnych fazach testu będzie regulował temperaturę, CO2 i inne parametry.
W dalszej kolejności chcę użyć sterownika do automatyki domowej i dodać jakąś aplikację HMI do łatwego zarządzania całością systemu.
Pozdrawiam

Awatar użytkownika
LordRuthwen
Moderator
Posty: 1766
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Re: Debian w akcji> mini sterownik PLC

Post autor: LordRuthwen » 21 kwietnia 2017, 16:55

A teraz pytanie: nie prościej to zrobić na Arduino albo malinie?
Samo wykonanie masz bardzo estetyczne, ale po co wyważać otwarte drzwi?

Awatar użytkownika
arturromarr
Posty: 56
Rejestracja: 14 sierpnia 2015, 01:21

Re: Debian w akcji> mini sterownik PLC

Post autor: arturromarr » 21 kwietnia 2017, 19:43

Arduino to dla mnie "zamknięte drzwi", bo nigdy nie używałem, a programując swobodnie mikrokontrolery w gcc nie mam potrzeby poznawania tej platformy. Arduino mam w RepRapie (drukarka 3d), ale jakoś nie miałem jeszcze motywacji by się nim pobawić.
Malina nigdy nie będzie sprzętem typu PLC, nawet porównując z najsłabszymi modelami. Sterownik programowalny rusza całkowicie po kilkudziesięciu cyklach zegara (nie startuje najpierw system operacyjny), Programy działają w czasie rzeczywistym czyli program odtwarzany jest w dokładnych interwałach czasowych i nic nie może tego zakłócić.
Jest to dla mnie projekt poznawczy, chcę nauczyć się maksymalnie optymalizować kod dla wyciśnięcia jak najwięcej z procesora. Udało mi się opracować język programowania rodzaj kodu maszynowego, którego wykonanie zajmuje kilka milisekund na cykl, przy jednoczesnej komunikacji z komputerem. Jak na stary już procesor jest to niezły wynik.
Ostatnio zmieniony 21 kwietnia 2017, 19:51 przez arturromarr, łącznie zmieniany 1 raz.

Awatar użytkownika
LordRuthwen
Moderator
Posty: 1766
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Re: Debian w akcji> mini sterownik PLC

Post autor: LordRuthwen » 21 kwietnia 2017, 19:46

To ja proponuję AVR albo 8051 + kilkanaście linii kodu w bascomie - żeby nie "zniżać się" do czystego ASM ;)

Awatar użytkownika
arturromarr
Posty: 56
Rejestracja: 14 sierpnia 2015, 01:21

Re: Debian w akcji> mini sterownik PLC

Post autor: arturromarr » 21 kwietnia 2017, 19:54

W moim sterowniku jest AVR. Jeśli piszesz o kilkunastu liniach kodu to nie wiesz co to jest sterownik PLC.

Awatar użytkownika
pawkrol
Moderator
Posty: 910
Rejestracja: 03 kwietnia 2011, 10:25

Re: Debian w akcji> mini sterownik PLC

Post autor: pawkrol » 21 kwietnia 2017, 20:02

Mi tam się podoba. Ale też preferuje maline+avr+rs485. Osobiście taki zestaw steruje mi kamerą do podglądu bramy wjazdowej i jak i jej kontrolowania oraz kilkoma czujnikami ds18b20.

Awatar użytkownika
LordRuthwen
Moderator
Posty: 1766
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Re: Debian w akcji> mini sterownik PLC

Post autor: LordRuthwen » 21 kwietnia 2017, 20:37

Wiem, miałem przyjemność bawić się nie tyle AVR co właśnie wspomnianą 51, obecnie buduję centrum sterowania (wszech)światem w formie domu na malinie.

Awatar użytkownika
arturromarr
Posty: 56
Rejestracja: 14 sierpnia 2015, 01:21

Re: Debian w akcji> mini sterownik PLC

Post autor: arturromarr » 21 kwietnia 2017, 20:37

Też używam maliny.
Myślę, że wszytko ma swoje zastosowania.

Awatar użytkownika
Yampress
Administrator
Posty: 5918
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Re: Debian w akcji> mini sterownik PLC

Post autor: Yampress » 21 kwietnia 2017, 21:32

czym sterujesz za pomocą mikrostyków?
jaką mają funkcje?

Awatar użytkownika
dedito
Moderator
Posty: 2152
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Debian w akcji> mini sterownik PLC

Post autor: dedito » 21 kwietnia 2017, 23:11

Wygląda, że z jednej strony są wejścia dwustanowe, a z drugiej wyjścia przekaźnikowe.
Funkcje na pewno programowalne, tak jak w typowym PLC.
W planach pewnie interfejsy Ethernet lub inna łączność ze światem zewnętrznym.
Wykonanie profesjonalne. Gratuluję.

ODPOWIEDZ