Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Dwuczujnikowy regulator temperatury

piotrek700 22 Jul 2010 12:56 14925 13
Helukabel
  • Dwuczujnikowy regulator temperatury
    Witam. Chciał bym zaprezentować moją nową konstrukcje która powstała z potrzeby chwili w niecałe 2 dni z tego co miałem pod ręką. Moją konstrukcją jest Dwu-czujnikowy regulator temperatury który steruje pompką od centralnego ogrzewania. Jak wszyscy wiemy "potrzeba jest matką wynalazku" więc zrobiłem urządzenie które na podstawie temperatur pobranych z dwóch punktów włącza lub wyłącza pompkę. Rozwiązanie znalazło swoje zastosowanie w słonecznym podgrzewaczu wody: jeżeli temperatura w podgrzewaczu jest wyższa o ustawioną tolerancję od temperatury na zbiorniki to pompka zostaje włączona, jeżeli temperatura spadnie pompka wyłącza się. Zastanawiałem się czy przekaźnik na granicy włączenia i wyłączenia nie będzie wariował ale po próbie konstrukcji wszystko działa całkiem nieźle. To tyle ogólnego zarysu, przejdźmy do konkretów. Czujnik bazuje na układzie Attiny2313 i dwóch termometrach Dallas 18b20. Wykorzystałem Attiny tylko dlatego bo leży mi kilka sztuk w szufladzie. Co do termometrów: do wykorzystania termometrów DS18b20 skłoniły mnie 3 rzeczy, fabryczna kalibracja, połączenie 1-wire i możliwość podłączania czujnika na długim, naprawdę długim kablu. Wyświetlacz 7-segmentowy sterowany jest bezpośrednio przez mikrokontroler, przekaźnik 230/16A Coil 5V załączany jest przez tranzystor MOS. Na poniższych zdjęciach widać, że zastosowany tranzystor jest w obudowie S-08 SMD. Taki miałem, taki wziąłem. Płytka przystosowana jest do tranzystora w obudowie TO-92. Poniżej zamieszczam zdjęcia ,filmik, schemat, płytkę, wsad do mikro kontrolera i kod źródłowy [C]. prezentujący pracę urządzenia. Niestety są to zdjęcia samej płytki bez podłączonego obciążenia na zaciski przekaźnika. Co do kodu: może pięknie nie jest napisany, trochę pokombinowany żeby nie używając bibliotek do liczb zmiennoprzecinkowych bo jak wiadomo 2KB pamięci w Attiny2313 nie daje szerokich możliwości. Wartość ustawionej tolerancji temperatury zapisywana jest do pamięci EEPROM po to aby po włączeniu lub skoku napięcia nie stracić ustawionej wartości. Całego układu bacznie strzeże "WatchDog".

    Dwuczujnikowy regulator temperatury Dwuczujnikowy regulator temperatury


    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    piotrek700
    Level 13  
    Offline 
    piotrek700 wrote 117 posts with rating 427, helped 0 times. Live in city Kraków. Been with us since 2008 year.
  • Helukabel
  • #2
    misiekan854
    Level 17  
    Wszystko fajnie, na twoim miejscu spakowałbym tylko do obudowy i heya :D No i może ewentualnie - przesunąłbym ten wyświetlacz na środek płytki, bo tak na samym końcu raczej w praktyce się nie sprawdzi...
  • #3
    januszc
    Level 15  
    Czy ten solar ogrzewa CWU* wężownicą w bojlerze czy pompka pompuje CWU z solara bezpośrednio do bojlera?
    Ja mam 2 solarne ogrzewcze wody ze zbiornikami 100l. Woda z solarów jest pompowana poprzez wężownicę bojlera 300l i ogrzewa CWU.
    W moim przypadku algorytm jak narazie ręczny (wtykanie i wyciąganie wtyczki z gniazdka) wyglada tak:
    - pompa załącza sie jeśli woda w solarze jest cieplejsza o min 10-15 st C
    - wyłącza się gdy róznica wynosi +2 st C
    Sprawdzone jest to doświadczalnie, mielenie wody pompką nie ma sensu przy małej różnicy.
    * - ciepła woda użytkowa.
  • Helukabel
  • #4
    piotrek700
    Level 13  
    Pompka pompuje wodę bezpośrednio do bojlera. Ustawienie różnicy temperatur na jakieś 4 stopnie w słoneczny dzień zapewnia ciepłą wodę na poziomie 50 kilku stopni.
  • #5
    Svavo
    Level 23  
    piotrek700 wrote:
    Zastanawiałem się czy przekaźnik na granicy włączenia i wyłączenia nie będzie wariował ale po próbie konstrukcji wszystko działa całkiem nieźle.

    Wystarczy wprowadzić histerezę.
  • #6
    piotrek700
    Level 13  
    Svavo wrote:
    Wystarczy wprowadzić histerezę.

    Wiem, ale miałem już płytkę w obudowie przykręconej do ściany a nie chciało mi się rozłączać wszystkiego i wgrywać nowego programu. W sumie to były by jakieś 3 linie kodu więcej:)
  • #7
    januszc
    Level 15  
    Przydało by się wyjście ISP skoro procek w obudowie smd.
    Nie jestem specjalistą w C więc mam pytanie :
    czy udało by się dołozyć parę linijek aby zmieścić w tym 2kb sposób wyswietlania.
    Mam taki pomysł aby sekwencyjnie wyswietlać na tych 3 wyświetlaczach:
    - S X X (XX temperatura wody w solarze)
    - C Y Y (YY temperatura wody w bojlerze)
    - D Z Z ( Delta temperatur)
  • #8
    hardtmuth
    Level 20  
    piotrek700 wrote:
    Svavo wrote:
    Wystarczy wprowadzić histerezę.

    Wiem, ale miałem już płytkę w obudowie przykręconej do ściany a nie chciało mi się rozłączać wszystkiego i wgrywać nowego programu. W sumie to były by jakieś 3 linie kodu więcej:)


    Trzy linie kodu, ale tak, bez histerezy, predzej czy pozniej moze wystapic praca na progu i zajezdzi sie przekaznik...
  • #9
    piotrek700
    Level 13  
    januszc wrote:
    Przydało by się wyjście ISP skoro procek w obudowie smd.
    Nie jestem specjalistą w C więc mam pytanie :
    czy udało by się dołożyć parę linijek aby zmieścić w tym 2kb sposób wyświetlania.
    Mam taki pomysł aby sekwencyjnie wyświetlać na tych 3 wyświetlaczach:
    - S X X (XX temperatura wody w solarze)
    - C Y Y (YY temperatura wody w bojlerze)
    - D Z Z ( Delta temperatur)

    Oczywiście ze da się takie coś zrobić, zostało 6% pamięci wiec powinno się zmieścić. A jak się nie zmieści to trzeba zrobić inny manewr. Wyświetlacz jest podłączony na różne pory A, D i B. Jeśli byś przełożył wyświetlacz tylko na port B każdą literę/cyfrę dało by się zapisać przy pomocy jednej linijki kodu (najlepiej wrzucić to w jakąś tablice) co w znacznym stopniu zmniejszyło by jego rozmiar a wtedy na bank wszystko się zmieści.
  • #10
    Rafik94
    Level 14  
    zamiast stosować jakieś termometry firmowe nie prościej było wstawić tam termistory
  • #11
    benpot
    Level 11  
    Mam pytanie czy jeżeli różnica pomiędzy jednym czujnikiem a drugim przekroczy ustawioną wartość to czy pompka również się załączy (chodzi mi o wartość ujemną na wyświetlaczu) żeby nie okazało się ze w nocy (gdy temp. bojlera jest wyższa od temp. solara) pompka będzie pracowała. Z góry dzięki za odpowiedź.
  • #12
    piotrek700
    Level 13  
    W przypadku gdy temperatura bojlera jest wyższa od szlara to pompka się nie włączy. Mikrokotroler rozpoznaje znak różnicy temperatur i włącza pompkę tylko przy dodatniej wartości.
  • #13
    benpot
    Level 11  
    Mam pytanie czy mógłbyś udostępnić rysunek ścieżek w programie w którym to robiłeś np. w eagle ponieważ chciałbym coś sprawdzić a w pdf-e to nie zbyt dobrze wygląda . Z góry dziękuje benpot
  • #14
    adass
    Level 25  
    Jaki jest typ symbol oznaczenie wyświetlacza ?