Forum elektroda.pl

Regulamin | Punkty | Dodaj... | Ostatnie | Szukaj | Rejestracja | Zaloguj

Ta strona używa cookie. Dowiedz się więcej o celu ich używania i zmianie ustawień cookie w przeglądarce.
Korzystając ze strony wyrażasz zgodę na używanie cookie, zgodnie z aktualnymi ustawieniami przeglądarki.

Termostat elektroniczny


[ + ] [ - ]
Napisz nowy temat  Odpowiedz do tematu      Strona Główna -> Forum elektroda.pl -> DIY Konstrukcje -> Termostat elektroniczny
Autor
Wiadomość
adam cs
Poziom 14
Poziom 14


Dołączył: 05 Lis 2007
Posty: 178

Post#1 Post autora tematu 08 Gru 2012 21:51   

Termostat elektroniczny


Termostat elektroniczny

Witam.

Przedstawiam układ wykonany niedawno. Elektroniczny termostat z możliwością modyfikowania: temperatury zadanej, histerezy i trybu pracy (np. grzanie-chłodzenie). Modyfikacja parametrów odbywa się za pomocą trzech przycisków.

Termostat elektroniczny Termostat elektroniczny Termostat elektroniczny


Budowa:
Zasilanie z zakresu 9-15V DC podawane jest najpierw przez diodę zapobiegającą uszkodzeniu przy odwrotnej polaryzacji zasilania. Dalej klasyka, parę kondensatorów i 78l05.
Jednostka główna to mikrokontroler PIC16F628A, którego cena/możliwości są na przyzwoitym poziomie. Sterowanie przekaźnikiem 12V za pośrednictwem tranzystora wraz z diodą rozładowczą.
Na płytce są przyciski odpowiednio: z lewej: "-", "OK", "+" nieopisane, ale to zrobię:) Każdemu naciśnięciu towarzyszy "pik" (buzzer).
Czujnik temperatury to DS18B20, jak na razie wlutowany, ale zamierzam tam wstawić złącze śrubowe, aby można było go umieścić z dala od układu.
Wyświetlacz LCD 2x8 nie jest na stałe, lecz można go w razie potrzeby wyjąć.
Jest możliwość regulacji kontrastu (niebieski potencjometr).
Ten kabelek to doprowadzenie zasilania podświetlenia LCD (wiem, wiem za długi :) ).
Układ przy załączonym przekaźniku i z podświetleniem pobiera ok. 60mA.
Schematu nie przedstawiam, bo nigdy go nie było. A wzór ścieżek to robiłem ręcznie w Eagle, mając na uwadze, co z czym połączyć.


Oprogramowanie:
Przy załączeniu zasilania pojawia się napis "tryb" 0 lub 1.
0 oznacza, że jeśli nastawioną temp. = 50°C, to po przekroczeniu tej wartości załącza się przekaźnik, a wyłącza się dopiero przy temp. 50°C - histereza.
Tryb 1 oznacza to samo tylko odwrotnie, np. sterowanie grzałką.
Oczywiście można się nie bawić w wybór trybów, jeśli jest przekaźnik z jednym stykiem więcej, ale żeby nie przekładać kabelków, można to zrobić programowo.
Po zatwierdzeniu "(OK") wyświetlana jest aktualna temperatura. Wejście i wyjście z menu to naciskanie OK. Klawiszami + i - można zmieniać nastawy.
Nastawy zapisywane są w EEPROM-ie automatycznie po wyjściu z menu.

Cały program zarówno "main", jak i obsługa 1-wire i LCD pisałem od podstaw w Assemblerze. W czasie pracy czuwa licznik WDT (watchdog). Jakoś nie jest specjalnie potrzebny, ale jak jest, to nie zaszkodzi.
Wsad zajmuje ok. 50% pamięci Flash, tzn. jakieś 1000 słów 14-bitowych, to w przeliczeniu daje jakieś 1,7kB. Gdybym zadbał o oszczędność pamięci, to spokojnie można by się zmieścić w 1,4kB.


Na koniec filmik przedstawiający układ w praktyce:


Link


Tak na przyszłość używaj przycisku pisownia zanim wyślesz treść.
[Popak]

Powrót do góry
   
Google


Google Adsense


Post# 08 Gru 2012 21:51   





Powrót do góry
   
Karol966
Poziom 22
Poziom 22


Dołączył: 30 Lip 2006
Posty: 1634
Miasto: Ciechocinek :D

Post#2 09 Gru 2012 00:29   

Re: Termostat elektroniczny


adam cs napisał:
wzór ścieżek to robiłem ręcznie w Eagle mając na uwadze co z czym połączyć

Jeżeli masz na myśli projekt PCB bez wcześniejszego schematu to dobrze Ci radzę szybko się tego oducz bo nawet nie wiesz kiedy a zemści się to na Tobie ;)
Nawet z pozoru banalne schematy warto wcześniej wykonać. Późniejsza analiza układów bez schematów z intuicyjnymi nazwami NET'ów byłaby koszmarem
Co do projektu, hmm termostat jak termostat , chociaż na PIC a nie na avr :D Wykonanie na przyzwoitym poziomie.
Potencjometr do regulacji kontrastu raczej nadmiarowy - wystarczy zwykły PR, to tylko kontrast.
Powrót do góry
   
miszcz310
Poziom 16
Poziom 16


Dołączył: 20 Gru 2005
Posty: 288
Miasto: Warszawa

Post#3 09 Gru 2012 01:44   

Re: Termostat elektroniczny


@up
ale to chyba nie jest PID, tylko taki prosty termostat P...
To jak szukałeś i nie znalazłeś to lepiej było sobie samemu zrobić?
Powrót do góry
   
adam cs
Poziom 14
Poziom 14


Dołączył: 05 Lis 2007
Posty: 178

Post#4 Post autora tematu 09 Gru 2012 02:05   

Re: Termostat elektroniczny


Cytat:
Jaką to ma realną histerezę. Jaka max moc. I ile kosztowało.


Realną histerezę? Histerezę ma taką jaką ustawimy. Chyba że chodzi Ci o utrzymywanie stałej odchyłki niezależnie od obiektu (jego transmitancji). No ale to nie PID :)

Co do mocy to w zależności od przekaźnika. W tym układzie przekaźnik jest na 6A przy 230V AC co daje maksymalnie ok 1,3 kW (odbiornik-czysta rezystancja).
Jeśli to za mało to zawsze można wysterować inny (mocniejszy) stycznik tym przekaźnikiem.

Co do kosztów nie liczyłem dokładnie ale za części chyba nie więcej jak 40zł.
Powrót do góry
   
Google


Google Adsense


Post# 09 Gru 2012 02:05   





Powrót do góry
   
biomedyczny
Poziom 21
Poziom 21


Dołączył: 17 Kwi 2012
Posty: 1204
Miasto: Gliwice

Post#5 09 Gru 2012 02:21   

Re: Termostat elektroniczny


Tak chodziło mi o odchyłkę. Bo trudno było mi coś takiego zrobić. Ale wydarłem wówczas bebechy z inkubatora dziecięcego. Odchyłka miała być max 0,7*C przy nagrzewaniu drutem oporowym bodajże do 45*

I do dziś nie widziałem PID 12V spełniającego wymogi.

No ale to tak trochę odszedłęm od tematu
Powrót do góry
   
Google


Google Adsense


Post# 09 Gru 2012 02:21   





Powrót do góry
   
oksana
Poziom 3
Poziom 3


Dołączył: 14 Wrz 2006
Posty: 7

Post#6 09 Gru 2012 16:48   

Re: Termostat elektroniczny


Jeśli to możliwe poproszę o schemat i wsad do procka
Powrót do góry
   
SylwekK
Poziom 20
Poziom 20


Dołączył: 01 Paź 2007
Posty: 1066
Miasto: Lipsko

Post#7 09 Gru 2012 20:33   

Re: Termostat elektroniczny


Ogólnie nieźle. Już fakt, że napisałeś soft w asemblerze zasługuje na plus :) Przyczepił bym się jednak do paru szczegółów:
- nieszczęsny kabelek, do wyświetlacza lepiej by wyglądał jako... goldpin;
- myślę, że zamiast przekaźnika triak by się lepiej sprawdził w tego typu urządzeniach;
- nie wiem dlaczego, ale np. w moich projektach sterowników pomiar temperatury i realizacja zadania działa w RT nawet gdy zmieniam coś w menu czyli to od razu ma to odzwierciedlenie np. na przekaźniku.
- menu wypadało by też zabezpieczyć jakimś timerem aby sam np. po 5-u sekundach "nietykania" guzików z niego wyszedł.
Powrót do góry
   
romulus73
Poziom 13
Poziom 13


Dołączył: 16 Lut 2007
Posty: 128
Miasto: Sochaczew

Post#8 09 Gru 2012 23:11   

Re: Termostat elektroniczny


Jak jest zabezpieczony układ przed uszkodzeniem czujnika i sklejeniem styków przekaźnika? Miałem już przygody ze sterowaniem termy (po przegrzaniu pękła, nawet bimetal nie rozłączył grzania a powinien), w końcu kupiłem PID Enda 4420, tyrystor i przekaźnik i bez znaczenia co się stanie układ się nie przegrzeje. Pid w standardzie ma alarm przy uszkodzeniu termopary, załącza SSR a po przekroczeniu tem. wyjście alarmowe odcina zasilanie tyrystora przez przekaźnik. Drogo ale niezawodnie bo drożej jest wymieniać lub spawać termy. Ale PID stabilnie podnosi temperaturę ma zadane aby w 2h uzyskać tem, dzięki temu nie ma szybkiego wzrostu ciśnienia w zbiorniku więc ma mniejsze naprężenia.
Powrót do góry
   
Google


Google Adsense


Post# 09 Gru 2012 23:11   





Powrót do góry
   
adam cs
Poziom 14
Poziom 14


Dołączył: 05 Lis 2007
Posty: 178

Post#9 Post autora tematu 10 Gru 2012 02:39   

Re: Termostat elektroniczny


ZRK-120 napisał:


Osobiście udało mi się napisać ten program, ale w innym środowisku, o wiele prostszym niż wiersz poleceń.
O to przykład: (program napisany na uniwersalny sterownik z wyświetlaczem 2*16 znaków)
Program zajął ok 7% flash-a

Dobra jeśli już mamy porównywać to jedziemy:

1. Hmm ATMega32 jeśli tego typu urządzenie ma zużywać tylko 7% Flasha procesora to znaczy że procek jest za duży (nie ekonomiczne), dobrym do porównania jest np ATtiny2313.
2. 7% to jakieś 2,24kB to w porównaniu do 1,7kB daje 30% większy wsad.
Jeśli miałbym w tym interes to zbliżył bym się do 1,2kB co w uwzględnieniu do ogromnego wyboru PIC-ów daje oszczędność.
http://www.portalnaukowy.edu.pl/index.ph...:mikrokontrolery-jednoukadowe&Itemid=121 widać dobry masz kompilator bo tutaj jest przykład wykorzystania AVR-ra tylko do odczytu temperatury z ds-a i wyswietlenie na LCD. Jak widać 2kB to minimum żeby coś wogóle odczytać nie mówiąc o jakimś menu i algorytmach termostatu.
3. Na LCD widać miganie ->zlikwidować :)
4. Zależy jak kto woli ale rozdzielczość 0,1'C przy dokładności DS-a 0,5 moim zdaniem mija się z celem chyba że wykorzystujemy ten czujnik do regulatora ciągłego np PID. Ponadto dochodzi zaokrąglenie, bo DS nie daje wyników z krokiem 0.1 tylko 1/2^n.
5. Tak poza tematem AVR jest bardziej przystosowany do języków wysokiego poziomu niż PIC16, normalny stos, instrukcje 16-bitowe, więcej rejestrów typu akumulator.

Podsumowując nie jest to rasowy regulator tylko normalny termostat więc środowisko programistyczne zależy tylko od twórcy podobnego urządzenia, jeśli działa to po co zmieniać:)

SylwekK napisał:

- nieszczęsny kabelek, do wyświetlacza lepiej by wyglądał jako... goldpin;
- myślę, że zamiast przekaźnika triak by się lepiej sprawdził w tego typu urządzeniach;
- nie wiem dlaczego, ale np. w moich projektach sterowników pomiar temperatury i realizacja zadania działa w RT nawet gdy zmieniam coś w menu czyli to od razu ma to odzwierciedlenie np. na przekaźniku.
- menu wypadało by też zabezpieczyć jakimś timerem aby sam np. po 5-u sekundach "nietykania" guzików z niego wyszedł.


- Kabelek; myślałem czy by nie zrobić podświetlenia z PWM-a i to jeszcze regulowanego z menu ale stwierdziłem że to przerost formy nad treścią, a tak to zawsze mozna sobie podświetlenie odłączyć:) ale fakt kabelek mógłby mieć 2cm a nie 20:)
- Triak; Zależy czym sterujemy, ale po pierwsze przekaźnik może załączać zarówno AC jak i DC(małe i duże napięcie) i to galwanicznie odseparowane, po drugie triak by się bardziej przydał jeśli byłby to regulator ciągły (sterowanie kątem załączenia), po trzecie po to jest histereza żeby przekaźnik nie rozleciał się po mieciącu:)
- RT; Może i by było lepiej ale czas bawienia się nastawami w stosunku do czasu normalnej pracy termostatu jest bliski zeru
- menu; masz rację muszę poprawić program bo przy przerwaniu napięcia zasilania układ czeka na wybór trybu.
Powrót do góry
   
netotron
Poziom 19
Poziom 19


Dołączył: 22 Wrz 2009
Posty: 766

Post#10 14 Gru 2012 02:31   

Re: Termostat elektroniczny


adam cs napisał:
..... widać dobry masz kompilator bo tutaj jest przykład wykorzystania AVR-ra tylko do odczytu temperatury z ds-a i wyswietlenie na LCD. Jak widać 2kB to minimum żeby coś wogóle odczytać nie mówiąc o jakimś menu i algorytmach termostatu.

Swego czasu na szybko, napisałem programik na ATtiny2313 w BASCOM'ie
zmieścił się w 2kB i to z ustawieniami progów na dwa DS18B20 :) Nie trzeba mieć dobrego kompilatora.
Termostat elektroniczny
przepraszam za jakość fotki
Powrót do góry
   
epiotr
Poziom 2
Poziom 2


Dołączył: 18 Kwi 2003
Posty: 2

Post#11 06 Mar 2013 15:53   

Re: Termostat elektroniczny


Witam.
Do adam cs. Czy możesz podesłać mi na priv schemat i program (nie musi być źródło, chcę wykonać egzemplarz do sterowania grzejnikiem 450W w łazience)?
Pozdrawiam
Powrót do góry
   
ciacho132
Poziom 3
Poziom 3


Dołączył: 24 Lip 2011
Posty: 7
Miasto: leszno

Post#12 04 Gru 2013 17:38   

Re: Termostat elektroniczny


Witam.
Czy mógłbym prosić o wstawienie, albo wysłanie na priv schematu, wzoru ścieżki i programu?
Powrót do góry
   
Napisz nowy temat  Odpowiedz do tematu   [ + ] [ - ]    Strona Główna -> Forum elektroda.pl -> DIY Konstrukcje -> Termostat elektroniczny
Wypowiedź dla Wykop Wypowiedź dla Facebook Wypowiedź dla Google Wypowiedź dla Twitter
Strona 1 z 1



Administrator || Moderatorzy || Regulamin forum || Regulamin ogólny || Informacja o cookies || Reklama || Kontakt

Page generation time: 0.071 seconds

elektroda.pl temat RSS