
To mój nie pierwszy projekt, ale ten w jakimś tam stopniu nadaje się na pokazania, że można coś takiego w łatwy sposób zrobić.
Urządzenie to 3-fazowy regulator temperatury do grzałek 3x2000W. Jest to po prostu sterownik bojlera. Początkowo miał być to sterownik PID. Algorytm sterowania PID napisałem, jedynie trzeba było dobrać parametry regulatora (Tp, Ti, Td). Jednak wywaliłem tą procedurę, bo okazało się, że regulator będzie działał w różnych warunkach (ilość cieczy i jej rodzaj). To by za bardzo działało destrukcyjnie na stabilność temperatury oraz dokładność.
W związku z tym użytkownik końcowy zażyczył sobie regulatora tylko ze zmianą procentową mocy. Regulator steruje grzałkami w przedziale 0 - 100%. Elementami wykonawczymi są trzy triaki BTA (izolowane). Jest też oczywiście zabezpieczenie przed uszkodzeniem triaków i ich zwarciem. Są to przekaźniki, którymi steruje termostat 93°C. Po osiągnięciu tej temperatury termostat automatycznie rozłącza obwody wyjściowe (przez przekaźniki).

Funkcje sterownika:
- LCD 2x16 wyświetlające wszystkie dane
- sygnalizacja przejścia przez 0 (brak lub wykrycie)
- alarm sygnalizujący przekroczenie zadanej temperatury (dzękowy i animacja na LCD)
- płynna regulacja mocy od 0 do 100%
- cyfrowy pomiar temperatury na DS18B20 (2 termometry)
Układ działa w dość ciekawy sposób. Otóż w celu regulacji użyłem tylko jednej linii uC. Steruje ona na podstawie przerwania przejścia przez zero optotriakiem MOC3021. Przy okazji uruchamia podłączone do niej optotriaki MOC3041 (z wykryciem przejścia przez 0). Takim oto sposobem uniknąłem badania zera na każdej fazie i odpowiedniego uruchamiania triaków.
Jak już wynika z opisu triaki sterowane są grupowo, okres sterowania to 2,55sekundy..
Wszystko oparte na Atmega16. Płytki wykonałem sam (termotransfer).

Niestety nie mam fotek płytek, ponieważ montowałem urządzenie "na gwałt". Miałem na to mało czasu, przez co też jego estetyka pozostawia wiele do życzenia. Jednak to była najmniej istotna sprawa. Z pewnością poprawił bym obudowę, ale nie miałem na to czasu.
Źródeł oraz schematów źródłowych nie udostępniam, związane to jest z pewnymi planami dotyczącymi urządzenia. Jeśli ktoś chce zbudować podobne to naprawdę nie ma w tym żadnej filozofii i jeśli chce da rade (tak jak ja).

W produkcji jest już kolejna wersja 1 fazowa, ale z MENU oraz czujnikiem PT1000 działającym do kilkuset stopni. Gdy zostanie ukończony pewnie zamieszczę jego opis.
Program napisany w C w AVRStudio + kompilator AVR-GCC.
W celu zbierania danych o temperaturze do wyznaczania parametrów PID napisałem program na kompa odbierający dane ze sterownika. Wyświetla je na wykresie.
Miał w 100% współpracować ze sterownikiem, ale projekt został zawieszony ze względu nie skorzystania w tej chwili ze sterowania PID.
Komunikacja odbywa się po RS-232, z moim laptopem na przejściówce na FTDI. Układ do komunikacji to oczywiście MAX232.
Program napisany w języku Python + pyserial + wx.Python + Eclipse


Koszt wszystkich części to coś ok 100zł.
Najważniejsze elementy:
- ATmega 16 16MHz
- MAX232
- triaki BT
- przekaźniki 16A
- LM7805
- DS18B20
- LCD 2x16
- MOC3021
- MOC3041
- CNY 17 (do przejścia przez 0)
i drobne elementy dyskretne
Schematy:


ZAZNACZAM: PROSZĘ NIE KOMENTOWAĆ ESTETYKI, bo nie o nią chodziło. To pierwsze podejście do regulatora, miałem go szybko zamontować i to zrobiłem. Jak zajdzie potrzeba przerobienia obudowy, to zrobię wszystko jeszcze raz, tym razem bardziej estetycznie.
Cool? Ranking DIY