Arduino Polska Forum

Pełna wersja: Projekt termostat
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam,

Mam do zrealizowania projekt termostatu na zaliczeni przedmiotu. W projekcie chodzi o zbudowanie układu wykorzystującego grzałkę wodną 230v i algorytmu PID. I tutaj pojawia się problem bo jak do tej pory myślałem o wykorzystaniu zwykłego przekaźnika, ale ma się on nijak do PID. Czy istnieje jakaś możliwość sterowaniem napięcia na grzałce 230v przez arduino? albo czy istnieje jakieś inne rozwiązanie dla tego projektu z/bez wykorzystania przekaźnika? Być może wartość wyliczoną z PID można jakoś zamienić na czas włączenia takiej grzałki ? Z tego, co udało mi się znaleźć w google, to jest tylko jeden projekt, zrobiony w ten sposób, i na dodatek wykorzystuje jakiś bajer, który kosztuje 300zł (chyba sugar 3000 czy jakoś tak) - który nie wchodzi w grę z wiadomych względów..
Przekaźnik to raczej nie przejdzie(dziala na zasadzie włącz/wylacz) i uzycie go ma swoje zalety i wady. Stuka,kiedys sie zmeczy i padnie. Na zasadzie regulatora pwm cos by sie udalo zrobić. Mozna kupic taki układ za ok 10zl.posiadam jako regulator obrotów szlifierki 230v i działa, choc nie w kazdym zakresie.Ale dla grzałki byłby idealny.
(31-05-2018, 01:44)gello napisał(a): [ -> ]Być może wartość wyliczoną z PID można jakoś zamienić na czas włączenia takiej grzałki ?
Dobrze kombinujesz. Sterowanie triakiem, który wyzwala optotriak załączany w zerze. Grzałka ma dużą bezwładność i sterowanie PWM nie ma sensu. Jedyne co zyskasz to zwiększenie zakłóceń. Ponadto napotkasz problem wykrywania zera sieci zarówno od strony sprzętu jak i oprogramowania (przerwania zewnętrzne). Na słowo "przerwania" Arduinowcy mdleją :-).
W akwarium wystarcza do utrzymania stałej temperatury zwykły termostat. Także pomimo dużej bezwładności grzałki to działa, bo bezwładność wody (jej ciepło właściwe) jest w porównaniu do "grzałkowej" olbrzymia - dlatego oceany są akumulatorami ciepła, a my nie żyjemy albo na pustyni lodowej albo piaskowej. Zamiast przekaźnika mechanicznego można zastosować SSR (który jest faktycznie wszystko mającym wokół triakiem). Można też wyprostować napięcie sieci i sterować PWM tranzystorem - grzałce rodzaj napięcia jest obojętny, ważne jest dla niej jego wartość. Z mocy grzałki, ciepła właściwego wody i jej ilości wylicz sobie ile zmienia się temperatura wody w jednostce czasu. Zwykle do PWM stosuje się sekundy, przyjmuje się np. >500Hz i dobiera wypełnienie - to jest potrzebne dla silników, by nie było migotania światła. Każda sekunda jest dzielona na 500 odcinków czasowych, a każdy z nich proporcjonalnie jest wypełniony 1 lub 0. A to nie jest potrzebne dla beczki 10l i grzałki 100W przy dokładności 1K. Taka grzałka zmieni temperaturę wody w ciągu 1s o 0,002oC, także spokojnie możesz przyjąć swoją jednostkę czasu, np. 10s - 1000s, i wyliczać w ilu s ma być grzałka załączona, a w ilu wyłączona. Wtedy może być przekaźnik SSR. Jak będziesz oczekiwał temperatury 70oC to oczywiście taka grzałka nic nie da, nagrzewanie 100W grzałką ogrzewało by około 8,5oC na godzinę, ale straty ciepła w tym czasie spowodowałyby zapewne, że nigdy nie przekroczysz np. 40oC (moc strat zależy od różnicy temperatur - więc np. w Dolinie Śmierci w temperaturze otoczenia 50oC dałaby radę). Jak to ma mieć walory edukacyjne to zapewne chodzi o własne opracowanie, ale na pewno warto poczytać co jest w gotowej bibliotece: https://playground.arduino.cc/Code/PIDLibrary .