logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Termostat Bascom z czujnikami DS1820 - zmiana temperatury w trakcie pracy

rafal__rally 10 Kwi 2008 12:43 4385 10
REKLAMA
  • #1 5014452
    rafal__rally
    Poziom 10  
    Posty: 7
    Witam.
    Chciałem zrobić termostat oparty na czujnikach ds1820. Na razie uczę sie jak to zrobić, ale nie wiem czy moje wyobrażenia mnie nie przerosną.

    Wszystkie termostaty które zamieszczone są na portalu maja temperatury ustawione na stałe. Dlatego sie pytam czy istnieje w ogóle możliwość zmiany temperatury nastawionej na termostacie podczas jego pracy?

    Moje wyobrażenie tego
    Wyświetlacz 2x8
    Na górze temperatura bieżąca na dole temperatura ustawiona z termostatu.
    Cztery przyciski
    1- włącz/wyłącz termostat
    2- komfort ustawia 20 stopni na termostacie
    3- + (do podwyższania temperatury o stopień do dołu)
    4- - (do obniżania temperatury o stopień do dołu)

    Chciałbym się dowiedzieć czy coś takiego jest możliwe do zrobienia w bascomie. Wiem jak wysterować wyświetlacz nawet to zrobiłem i umiem zczytywać temperaturę z czujnika. Proszę o pomoc gdzie mogę znaleźć podpowiedź. Nie oczekuje gotowego rozwiązania ale sposób w jaki do niego podejść.

    Za wszystkie uwagi będę bardzo wdzięczny.

    Pozdrawiam
    Rafał
  • REKLAMA
  • #2 5014465
    dawid512
    Poziom 32  
    Posty: 1439
    Pomógł: 229
    Ocena: 6
    Witam.

    Oczywiście że da się to wykonać w BASCOMIE. Główna zasada termostatu to odczytanie temp. z czujnika i porównanie jej z inną zmienną. W tym momencie musisz napisac co ma się wykonać jesli temp odczytana bedzie mniejsza lub wieksza od ustawionej temperatury np. wlaczyc grzalke lub wylaczyc. Reszta zalezy od ciebie.

    Pozdrawiam Dawid.
  • REKLAMA
  • #3 5014469
    Przemek_Kuchta
    Poziom 20  
    Posty: 449
    Pomógł: 47
    Ocena: 37
    Musisz mieć 2 zmienne. Jedna zmienna przechowuję informacje o temperaturze zczytanej z czujnika a druga zmienna przechowuje temperaturę zadaną. i robisz prosty warunek
    if zmienna1>zmienna2 then
    set porta.0
    end if
    if zmienna1< zmienna2 then
    reset porta.0
    end if

    ewentualnie możesz jeszcze dołączyć histerezę
  • REKLAMA
  • #4 5014478
    Balu
    Poziom 38  
    Posty: 4397
    Pomógł: 323
    Ocena: 48
    Nie ewentualnie tylko koniecznie dołączyć histerezę! (jeśli grzejniki są sterowane stycznikami / przekaźnikami. Poza tym musisz mieć wiedzę o tym, że sterowanie temperaturą jest jednym z trudniejszych zagadnień (duża bezwładność).
  • #5 5014483
    pixel7
    Poziom 24  
    Posty: 656
    Pomógł: 53
    Ocena: 160
    Jeśli umiesz obsługiwać peryferia to nie widzę problemu. Porównujesz jakąś zmienną z obecną temperaturą i sterujesz dowolnym pinem. Zmienną może dowolnie ustawiać za pomocą przycisków + -.
    Pozdrawiam.
  • REKLAMA
  • #6 5015040
    Madergames9
    Poziom 15  
    Posty: 212
    Pomógł: 4
    Ocena: 2
    Witam.
    Mając DS18(B)20 do tego płytkę z mikrokontrolerem i dodatkami które wymieniłeś na początku no i programator do tego typu układu to wykonasz cudeńka z tym. Sam BASCOM nic nie zrobi, jedynie zaprogramuje, a do Ciebie należy wybór co ma zaprogramować i czym ma to zrobić. Pytaj dalej jak będę mógł to odpowiem.

    Cześć
  • #7 5016253
    psooya
    Poziom 38  
    Posty: 5341
    Pomógł: 376
    Ocena: 573
    A tak na marginesie BASCOM i magistrala 1W dallasa to chyba jest jakieś nieporozumienie. Na tym sie po prostu nie dało zrobić wyświetlania na wyświetlaczach LED dobrego multiplexa. Wcieleni wiedzą o CLI :-). Mogę dać obsługę 1W z dallsaem 18B20 w ASMie na AVRa. Pozdrawiam
  • #8 5016765
    magik128
    Poziom 22  
    Posty: 654
    Pomógł: 20
    Ocena: 27
    Swego czasu zrobiłem termostat w bascomie,tyle że zamiast DS był LM35 (miał być dallas,ale nie miałem pod ręką). Jeżeli Cie to interesuje to zobacz sobie

    https://www.elektroda.pl/rtvforum/topic925129.html

    Jeżeli będziesz miał problemy z jakimś zagadnieniem to chętnie pomogę. Nadmienię że termostat pracuje już ponad 7 miechów bez przerwy.Ani jednego zwisu czy czegoś podobnego.
  • #9 5016908
    elektryk2000
    Specjalista urządzeń chłodniczych
    Posty: 5136
    Pomógł: 221
    Ocena: 576
    psooya napisał:
    Mogę dać obsługę 1W z dallsaem 18B20 w ASMie na AVRa. Pozdrawiam

    Mogę poprosić?
  • #10 5017638
    Przemek_Kuchta
    Poziom 20  
    Posty: 449
    Pomógł: 47
    Ocena: 37
    ja też bym poprosił...
  • #11 5017755
    psooya
    Poziom 38  
    Posty: 5341
    Pomógł: 376
    Ocena: 573
    Oczywiście że możesz poprosić bo ja ASMa polecam i staram sie rozpowszechniać. Układ obsługuje temp -55 do +125 z krokiem co 0.1 stopnia i wyświetlaczem 4 segmenty LED wspólna Anoda sterowana przez PNP do Vcc w multiplexie oraz płynną regulacja jasności tych LEDów przez port ADC (jest to softwarowy PWM do wyświetlacza multiplexowego). Ustawic należy w fusach RC 8Mhz. Soft jest na M8 SMD TQFP44 i używam wejscia ADC niedostępnego w DILu. A oto plik:
    Załączniki:
    • termometr.asm.txt (27.9 KB) Musisz być zalogowany, aby pobrać ten załącznik.

Podsumowanie tematu

✨ Dyskusja dotyczy możliwości realizacji termostatu opartego na mikrokontrolerze programowanym w BASCOM z wykorzystaniem czujników temperatury DS18B20. Potwierdzono, że możliwe jest dynamiczne zmienianie nastawionej temperatury podczas pracy urządzenia poprzez obsługę zmiennych przechowujących temperaturę aktualną i zadaną oraz sterowanie wyjściem (np. portem mikrokontrolera) w zależności od porównania tych wartości. Zalecane jest zastosowanie histerezy w celu stabilizacji działania przekaźników lub styczników grzewczych, ze względu na bezwładność termiczną systemu. Wskazano, że obsługa wyświetlacza 2x8 znaków oraz przycisków do regulacji temperatury jest możliwa i wymaga implementacji prostych warunków logicznych w BASCOM. Podkreślono, że BASCOM sam w sobie nie realizuje funkcji, lecz służy do programowania mikrokontrolera, a projekt wymaga samodzielnego zaprojektowania logiki sterowania. W dyskusji pojawiły się także uwagi dotyczące trudności implementacji magistrali 1-Wire w BASCOM oraz propozycje alternatywnego podejścia w asemblerze dla AVR. Udostępniono link do przykładowego projektu termostatu z czujnikiem LM35 oraz opisano zaawansowany projekt z wyświetlaczem LED i regulacją jasności, realizowany na mikrokontrolerze ATmega8 z wykorzystaniem oprogramowania w BASCOM i ASM.
Wygenerowane przez model językowy.
REKLAMA