sterownik piwowarski edycja II

Posted on

Tak jak zapowiedziałem wcześniej, napiszę trochę o nowej wersji swojego sterownika piwowarskiego. Niektórzy kojarzą może zdjęcia pierwszej wersji tego sterownika:

sterownik ver. 1
sterownik ver. 1

Przez długi czas pudełko to wcale nie było używane jako sterownik, tylko jako prosty termometr. Powód? Brak mieszadła, a do pracy sterownika w trybie automatycznym jest ono niezbędne, przy mieszaniu ręcznym jakiekolwiek próby kalibrowania sterownika są skazane na niepowodzenie. Przy okazji wyszło parę tematów.

Po pierwsze – przekaźnik półprzewodnikowy (SSR) w wersji pierwotnej był zamocowany na radiatorze do kadzi warzelnej.

stare umiejscowienie SSR-a
stare umiejscowienie SSR-a

Niezbyt eleganckie i przede wszystkim niezbyt bezpieczne rozwiązanie, prawda? Dodatkowo wyszło, że radiator i sam SSR nagrzewają się od garnka (no shit…), więc trzeba było coś zmienić. A poza tym denerwowały mnie kabelki – raz że trzeba było podpiąć garnek do prądu, to jeszcze doprowadzić sygnał sterujący ze sterownika.

Po drugie – po otrzymaniu mieszadła miałem do zasilania kilka zabawek: raspberry pi, silnik napędzający mieszadło, wentylator SSR-a, garnek… ilość kabelków i zasilaczy była taka, że postanowiłem zebrać to wszystko do kupy i zamknąć w jednej obudowie, żeby nie rozstawiać miliona rzeczy chcąc uwarzyć piwo.

Idzie nowe.

Postaram się omówić wszystkie elementy sterownika, zarówno od strony mechanicznej, elektrycznej, elektronicznej jak i programowej. Zacznę od dwóch pierwszych.

Obudowa i elektryka.

Tu miałem trochę zabawy, bo potrzebowałem obudowy na tyle dużej, żeby zmieścić w niej wszystkie potrzebne klocki. Kluczowym elementem zajmującym przestrzeń był zasilacz 12V do zasilania silnika mieszadła i wentylatora. Wszystko dlatego, że „na wszelki wypadek” wybrałem zasilacz o mocy 120W. Trochę overkill, ale stwierdziłem że wolę mieć nadmiar, niż balansować na krawędzi. Po przeszperaniu internetu padło na obudowę uniwersalną typu Z39.

zasilacz i SSR w obudowie
zasilacz i SSR w obudowie

Zasilacz – jakieś chińskie impulsowe ustrojstwo, służące w założeniu do zasilania listw LED. Nad zasilaczem widać zamontowane na tylnej ściance gniazda typu komputerowego – jedno doprowadzające zasilanie do „skrzynki”, dwa kolejne to wyprowadzenie zasilania do garnka i do silnika mieszadła. SSR DC-AC, o maksymalnym prądzie 25A (również overkill i również jakaś chińszczyzna). Jak widać na zdjęciu SSR zamontowany jest na radiatorze, pod radiatorem jest wentylator (a pod wentylatorem oczywiście wycięte otwory, przepływ powietrza musi być).

Kolej na następne elementy układanki:

raspberry na pokładzie
raspberry na pokładzie

Pojawiła się kostka rozdzielająca zasilanie, na ściance przedniej włączniki (zasilanie raspberry, doprowadzenie zasilania do zasilacza 12V, włączenie silnika mieszadła). Po przymiarkach wyszło, że raspberry trzeba przesunąć, a zasilanie 5V doprowadzić nie standardowo przez złącze USB, a poprzez piny GPIO.

poprawki, poprawki
poprawki, poprawki

Zasilanie raspberry jest realizowane wybebeszonym zasilaczem USB. Może to i mało eleganckie, ale skuteczne i przede wszystkim kosztowało mnie jedynie odrobinę pracy, bo zasilacz już wcześniej służył do zasilania „malinki”. Na deser do środka trafił jeszcze przekaźnik samochodowy na 12V. Po co? Niby włącznik silnika mieszadła ma wystarczający prąd maksymalny i zbyt często „pstrykany” nie będzie, ale stwierdziłem że nie będę go męczył i puszczę duże prądy przez przekaźnik. Bo tak.

trochę tu gęsto :)
trochę tu gęsto 🙂

Przekaźnik widać upchnięty między zasilaczem a gniazdami zasilającymi. Przy okazji na tylnej ściance doszło jeszcze jedno gniazdo – do podpięcia czujnika temperatury. Przy okazji – kostka rozdzielająca zasilanie i zasilacz „malinki” nie latają luzem, są przyklejone do dna obudowy. A zmontowana obudowa prezentuje się tak:

zmontowany sterownik
zmontowany sterownik

Podsumowując, od strony mechaniczno – elektrycznej zostały wykorzystane następujące elementy:

  • obudowa (uniwersalna typ Z39)
  • gniazdo zasilające męskie IEC (typu komputerowego) sztuk 1
  • gniazdo zasilające żeńskie IEC (typu komputerowego) sztuk 2
  • gniazdo jack stereo
  • kostka elektryczna 1 szt.
  • włącznik czerwony 230V 2 szt.
  • włącznik zielony 12V 1 szt.
  • przekaźnik 12V samochodowy (typ w zasadzie dowolny, u mnie chyba na prąd max. 25A)
  • SSR firmy FOTEK, DC-AC, 25A (sterowanie napięciem stałym 3-32V)
  • radiator, od jakiegoś procesora
  • wentylator 12V, 80mm
  • zasilacz impulsowy 12V 120V (chiński no-name, do zasilania taśm LED)
  • zasilacz 5v (wymontowany z obudowy zasilacz USB)
  • kabelki grubsze i cieńsze, konektorki, rurki termokurczliwe

Ufff, tą część mam już z głowy. Teraz pora na następną.

Elektronika.

W tej części nie nastąpiły żadne zmiany w stosunku do pierwszej wersji sterownika, ale chyba nigdy nie omawiałem tej zabawki, więc robię to teraz.

raspberry pi z płytką uniwersalną
raspberry pi z płytką uniwersalną

Sercem kontrolera jest miniaturowy komputerek raspberry pi typ B. Na jego grzbiecie, do portów GPIO jest podpięta płytka uniwersalna z ładnie wyprowadzonymi na krawędzi samymi GPIO jak i zasilaniem. Na samej płytce uniwersalnej elementów za dużo nie ma: jeden rezystor 4,7k i układ scalony zawierający tranzystory w układzie Darlingtona. A teraz co do czego – rezystor jest potrzeby jako pull-up do czujnika temperatury opartego na układzie DS18B20. Czujniki kupiłem przez allegro – udało mi się dorwać kogoś montującego czujniki w długich sondach, a nie takich powszechnie dostępnych o długości kilku cm.

czujniki ds18b20 w rurce 30cm
czujniki ds18b20 w rurce 30cm

Po co ten układ scalony? Ano dlatego, że prąd potrzebny do wysterowania SSR-a jest „na styk” z wydajnością prądową pinów GPIO raspberry pi. Teoretycznie powinno to działać, ale na wszelki wypadek (i zgodnie z zaleceniami) puściłem to przez układ Darlingtona. Szkoda byłby malinkę uszkodzić. Oprócz tego jest jeszcze wyświetlacz lcd 4×20, podłączany poprzez magistralę I2C – bardzo wygodne rozwiązanie, bo dramatycznie ogranicza ilość kabelków potrzebnych do obsłużenia wyświetlacza – potrzeba raptem 4. Dalej mamy trójprzewodowe wyprowadzenie do gniazda jack stereo, do którego podpinam czujnik temperatury. No i na koniec dwa przewody zapewniające sterowanie SSR-em. Po złożeniu do kupy:

  • raspberry pi model B (pierwsza generacja)
  • karta pamięci microSD 8GB
  • karta wifi na USB
  • wyświetlacz LCD 4×20 niebieski z konwerterem I2C LCM1602
  • płytka prototypowa podłączana do wyprowadzeń GPIO
  • układ scalony ULN2003A
  • rezystor 4,7k
  • trochę goldpinów, trochę kabelków

No a na deser zostało…

Oprogramowanie.

Ufff, dawno się tak nie rozpisałem. Oczywiście sama elektronika niczego nie zrobi, potrzebne jest jeszcze oprogramowanie sterujące. Wykorzystałem w tym celu projekt raspibrew. Kiedyś podawałem linka do tego projektu, ale domena pod którą urzędował już nie istnieje. Nie szkodzi, projekt ma się dobrze i nadal można go znaleźć, tylko na github-ie pod tym adresem: http://steve71.github.io/RasPiBrew/. Kod musiałem trochę zmodyfikować pod swoje potrzeby (jak chociażby obsługa innego typu wyświetlacza). No i to nie koniec zmian – muszę jeszcze zaimplementować obsługę przycisków (4-przyciskowej klawiaturki), aby można było używać sterownika bez konieczności używania sieci wifi. W tej chwili sterowanie wygląda tak:

obsługa sterownika przez stronę www
obsługa sterownika przez stronę www

Można do tego używać również aplikacji raspibrew dostępnej w google play.

Oczywiście oprogramowanie trzeba dostroić do specyfiki naszego sprzętu warzelnianego. Oprogramowanie nie ma autotuningu PID, trzeba to zrobić samodzielnie (na stronie projektu jest zawarta procedura). Efekt tuningu parametrów możecie zobaczyć poniżej:

wykresy temperatury i mocy grzałki
wykresy temperatury i mocy grzałki

Overshoot o 0,75 stopnia Celsjusza, potem w zasadzie gładki przebieg temperatury. Nie jest źle, ale jest jeszcze pole do naniesienia poprawek. Sprzęt jest już po pierwszym warzeniu na pełnej automatyce i muszę powiedzieć, że oszczędza niesamowicie dużo czasu. Teraz zostało „tylko” rozbudować oprogramowanie o obsługę wspomnianej wyżej klawiatury, alarmy dźwiękowe, odliczanie czasu, programowanie całej procedury zacierania z kilkoma progami temperatury… itp itd. Czyli nadal dużo zabawy przede mną.

Parę dodatkowych przemyśleń. Niektórzy pewnie przeliczą sobie koszta wykonania mojego sterownika i dojdą do wniosku „a po cholerę tak się babrać, skoro można nawet w mniejszych pieniądzach kupić sterownik od Pamel-a, albo dorzucić trochę i mieć bardzo dobry sterownik Boleckiego”. Prawda. Wykonany przeze mnie sterownik nie jest może najbardziej ekonomicznym wariantem. Można zdobyć sterownik taniej i bez nakładów pracy. Ale ten sterownik ma jedną ogromną zaletę – jest bardzo elastycznym rozwiązaniem. Dołożenie dodatkowych czujników temperatury? Żaden problem. Kolejne przekaźniki SSR do sterowania na przykład zaworami bądź pompami? No problem. Dorzucanie dodatkowych funkcjonalności jest ograniczone tylko naszą inwencją i umiejętnościami, które dodatkowo możemy w ten sposób rozwijać. A poza tym, zawsze jest fun ze złożenia czegoś samodzielnie i zobaczenia, że działa.

Uwaga na koniec.

Tu nie ma żartów – „bawimy się” z napięciami które są niebezpieczne dla życia. Ja z racji dawnej nauki w technikum elektronicznym i Ojca z wykształcenia energetyka mam respekt do obecnego w gniazdkach napięcia 230V i nie pcham nigdzie między przewody paluchów nie upewniwszy się trzy razy, że zasilanie jest całkowicie odłączone. Przed ponownym podłączeniem też trzy razy sprawdzam czy wszystko jest prawidłowo podpięte, nie ma żadnych zwarć itp itd. Więc jeżeli wiesz z czym masz do czynienia i wiesz co robisz – miłej zabawy w konstruowaniu własnego sterownika. W przeciwnym razie lepiej zdać się na sprawdzone rozwiązania.

mieszamy!
mieszamy!

2 Replies to “sterownik piwowarski edycja II”

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.