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

4x DS18b20 +LCD = Termometr

Duch__ 09 Sie 2007 22:01 308329 493
  • 4x DS18b20 +LCD = Termometr
    Witam. W przypływie chęci nauczenia się programowania w BASCOMIE postanowiłem zbudować sobie termometr 4 punktowy sterowany przez Atmegę8... Dlaczego aż 4 czujniki?? Termometr mierzy mi temerature zewnętrzną, wewnętrzną, na kaloryferze (on będzie wykorzystywany w zimie gdyż wiedząc jaka jest temperatura wody w kaloryferach mogę oszacować jak będzie ciepło w domu, a nie chce mi się co jakiś czas biegać do piwnicy:) ) oraz w lodówce (coś ostatnio mi lodówka nawala i lepiej jak będe miał nad tym kontrole).
    Docelowo termometr będzie się znajdować w kuchni. Obudowy narazie nie ma, ale jak dorwe jakąś fajną to zamontuje.
    Napisanie wsadu zajeło mi około 1 dnia wzorując się na innych projektach znalezionych w sieci. Wszystkie 4 czujniki podpięte są do jednego portu. Ogólnie układ jest banalny w budowie.

    Kosztorys:
    LCD miałem (kiedyś kupiony na Allegro za 9zł)
    4x DS18b20 - miałem (ok 9zł za sztuke)
    Atmega8 - miałem (5zł)
    drobnica i płytka uniwersalna - miałem (3zł)

    Podsumowując: 8zł

    Testy
    4x DS18b20 +LCD = Termometr

    4x DS18b20 +LCD = Termometr

    Ekran "powitalny"
    4x DS18b20 +LCD = Termometr

    Sprawdzanie ile jest podpiętych czujników
    4x DS18b20 +LCD = Termometr

    Odczyt ID każdego z czujników
    4x DS18b20 +LCD = Termometr

    Pomiar temperatury
    4x DS18b20 +LCD = Termometr

    Schemat
    4x DS18b20 +LCD = Termometr

    W poniższym załączniku wsad do proca

    Pozdrawiam Duch__
    Załączniki:
    • 4x DS18b20, LCD.rar (1.64 KB) Musisz być zalogowany, aby pobrać ten załącznik.

    Fajne? Ranking DIY
    O autorze
    Duch__
    Poziom 31  
    Offline 
    Specjalizuje się w: bascom, avr, alarmy, telewizja, monitoring
    Duch__ napisał 2338 postów o ocenie 1597, pomógł 33 razy. Mieszka w mieście Opole. Jest z nami od 2004 roku.
  • #2 4163337
    mariuz
    Poziom 31  
    Posty: 1772
    Pomógł: 141
    Ocena: 108
    Ja rozumiem, że na pcb od tego jest wielkie nic, ale jak już się chwalisz, to chwal się wszystkim ;)
    lubię popatrzeć, jak innym wychodza ładniejsze płytki ;P

    EDIT:
    jak zwykle nie doczytam :oops:
    a zdawało mi się, ze przeczytałem wszystko ;)
    ale pcb i tak pokaż :P
    w poniedziałek przychodzi wyświetlacz i montuje coś podobnego bratu do auta. specjalnie ściągam puregreen, jak ostatnio się przewinął na Elce, żeby pasowało do podświetlenia deski ;)
    program piszę już któryś raz, bo za każdym razem coś skopię i zapominam zapisać oprzedniej wesji 4x DS18b20 +LCD = Termometr
    ale już przynajmneij am dokładny zarys tego co chcę zrobić :d
    będzie standard odczyt, termometry przyisane na stałe w eepromie (albo we flashu)+tytuły czyjników(dlatego id przypisane na stałe) + przerzucanie czytników guziczkiem.
  • #3 4163382
    topstar
    Poziom 18  
    Posty: 388
    Pomógł: 24
    Ocena: 39
    No fajny projekcik =] ja swego czasu mialem zrobic sobie treometr na jednym DS i wyswietlaczu z nokii 3310.
  • #4 4163481
    pouk
    Poziom 11  
    Posty: 33
    normalnie wszyscy szaleją z tymi termometrami i wszyscy robią to w BASCOMie

    Wydaje mi się, że macie wszyscy tę samą książkę
    "Mikrokontrolery dla początkujących"

    Ale spoko... nigdy tego za wiele...:]
    pozdrawiam.
  • #5 4163500
    Duch__
    Poziom 31  
    Posty: 2338
    Pomógł: 33
    Ocena: 1597
    schnelltot napisał:
    Ja rozumiem, że na pcb od tego jest wielkie nic, ale jak już się chwalisz, to chwal się wszystkim ;)
    lubię popatrzeć, jak innym wychodza ładniejsze płytki ;P


    Płytka to zwykła uniwersalka, Nic ciekawego.

    pouk napisał:
    Wydaje mi się, że macie wszyscy tę samą książkę
    "Mikrokontrolery dla początkujących"


    Ja z tej książki nie korzystałem, bo jej nie mam. Jest to przerobiony w znacznym stopniu soft znaleziony w sieci. Pomocny był mi w tym przypadku polski help do BASCOMA dostępny na Elektrodzie w dziale download.

    Pozdrawiam
  • #6 4163727
    memphis_2007
    Poziom 12  
    Posty: 75
    Kolejny układ do mierzenia temperatury. Wykonanie nieestetyczne i uniemożliwiające jakikolwiek transport. Ile razy jeszcze ukaże się tego typu układ ? Ocena 1/5 za to że działa (?)
  • #7 4163734
    mariuz
    Poziom 31  
    Posty: 1772
    Pomógł: 141
    Ocena: 108
    Memphis na płytce stykowej były tylko testy. Finalna wersja jest polutowana na uniwersalnej. Czemu więc nie można ego przenosić?

    _____
    Poprawione literówki
  • #8 4164037
    myrcin
    Poziom 16  
    Posty: 325
    Pomógł: 2
    Ocena: 29
    A masz jakiś log z pomiarów? Np. możliwość pokazywania pomiarów z przed 1,2,3,4 godzin?
    To było by coś... alebo przez UART do komutera i na dysk twardy jako txt!
  • #9 4164225
    Konto nie istnieje
    Poziom 1  
  • #10 4164250
    dj_volt
    Poziom 26  
    Posty: 847
    Pomógł: 77
    Ocena: 171
    myrcin napisał:
    A masz jakiś log z pomiarów? Np. możliwość pokazywania pomiarów z przed 1,2,3,4 godzin?
    To było by coś... alebo przez UART do komutera i na dysk twardy jako txt!


    Hehe... Pracuje nad czymś podobnym. Dane z uP po UART do PC, wizualizacja przy pomocy Apache + PHP + MySQL jako stronka WWW. Na razie zaczynam.
    Swoją drogą taki prosty termometr to czasem super sprawa. Tylko szkoda, że trzeba ciągnąć sznurki do Dallasów :-). Ja mam już DS'a na balkonie (wykorzystałem kabel do sterowania TRX'a który będzie niedługo zainstalowany na balkonie w hermetycznej puszce) i w pracowni. Zostały do położenia 3 DS'ki. Tylko kiedy to zrobić...
  • #11 4164651
    mariuz
    Poziom 31  
    Posty: 1772
    Pomógł: 141
    Ocena: 108
    Zbyrek: Następny jesteś co nie czytasz do końca :P Na prototypówce kolega Duch złożył prototyp, a potem się przeniósł na uniwersalną
  • #12 4165435
    akanaf
    Poziom 16  
    Posty: 123
    Pomógł: 18
    Ocena: 2
    Jakie maksymalne temperatury może mierzyć?
  • #13 4165571
    Mariuszek15
    Poziom 24  
    Posty: 961
    Pomógł: 16
    Ocena: 49
    Zakres pomiaru obejmuje temperaturę od -50C do +125C.
  • #14 4165641
    Konto nie istnieje
    Konto nie istnieje  
  • #15 4166204
    Duch__
    Poziom 31  
    Posty: 2338
    Pomógł: 33
    Ocena: 1597
    Cytat:
    masz cieplo w lodowce :D
    zdarzyly sie jakies bledy przy odczycie temperatury?


    Heh wiem że troszke ciepło mam w lodówce, ale juz ją podkręciłem i teraz pokazuje 4 st C. Błędów narazie w odczycie nie zauważyłem. Ktoś wcześniej pytał czym zasilam układ... Otóż całość zasilana jest przez zasilacz stabilizowany 5V/500mA.
  • #16 4166677
    Łukasz leper
    Poziom 12  
    Posty: 69
    Pomógł: 1
    Ocena: 13
    Jaką dokładność ma taki termometr?
  • #17 4166936
    ciapciok
    Poziom 20  
    Posty: 503
    Pomógł: 3
    Ocena: 109
    Cytat:
    Jaką dokładność ma taki termometr?


    Pół stopnia Celsjusza. Odczyt z rozdzielczością jedna dziesiąta stopnia Celsjusza.

    Pozdrawiam
  • #18 4167265
    Marek_RADOM
    Poziom 18  
    Posty: 401
    Pomógł: 2
    Ocena: 13
    Zrobię sobie taki termometr, bo akurat się buduje więc pewnie się przyda do nowego domu, atmege mam jakąś z uszkodzonym jednym wejściem, więc sie przyda, lcd 2x24 mam i płytkę zaprojektowałem sobie już, dodałem nieco więcej elementów, stabilizator, wejście dla programatrora i miejsce na kwarc, bo może zrobię jeszcze zegarek programowo. Jak skończe to zamieszcze zdjęcia.
  • #20 4208738
    Marcin J.
    Poziom 11  
    Posty: 32
    Ocena: 1
    Witam,

    mam pewien problem z tymi termometrami nie chce sie tu rozpisywać ponieważ temat jest juz na elektrodzie podaje link:

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

    Z góry dziękuje za pomoc i wszelkie sugestie.

    Mam nadzieje, że autor tematu nie będzie miał nic przeciwko umieszczeniu tego linka.
  • #21 4211250
    pawcio681
    Poziom 10  
    Posty: 11
    ktury lepszy:
    1.MIKROPROCESOR ATMEGA8-16AU SMD TFQP32
    2.MIKROPROCESOR ATMEGA8-16PU
    3.MIKROPROCESOR ATMEGA 8515-16PI

    Moderowany przez crazy_phisic:

    Proszę poprawić posty. Kolejna taka radosna twórczość zakończy się usunięciem wypowiedzi i ostrzeżeniem.

  • #22 4211266
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    pawcio681 napisał:
    ktury lepszy:
    1.MIKROPROCESOR ATMEGA8-16AU SMD TFQP32
    2.MIKROPROCESOR ATMEGA8-16PU
    3.MIKROPROCESOR ATMEGA 8515-16PI


    kolego najpierw może zajrzyj sobie do not katalogowych PDF bo pytasz prawie o te same procesory ATMEGA8 inny od nich jest tylko 8515 - ale o jaką "lepszość" ci chodzi??? - który jest lepszy do czego? w czym? czy to tylko było takie pytanie z serii przemyśleń transcendentalno-filozoficznych?

    i może choć troszkę mniej błędów tym bardziej, że masz klawisz pisownia przy pisaniu postu bo aż razi w oczy.

    pozdrawiam
  • #23 4212301
    pawcio681
    Poziom 10  
    Posty: 11
    co to jest ta "drobnica" ??????????????????????????? pytam sie bo wszystkie części zamawiam przez neta i nie wiem czy zakończyć jóż zakupy czy coś jeszcze kupić:D:|:cry::!::!::!::!:

    Moderowany przez crazy_phisic:

    Proszę poprawić posty. Kolejna taka radosna twórczość zakończy się usunięciem wypowiedzi i ostrzeżeniem.

  • #24 4213432
    Duch__
    Poziom 31  
    Posty: 2338
    Pomógł: 33
    Ocena: 1597
    Drobnicą jest miniaturowy potencjometr 10k oraz rezystor 4.7k
  • #25 4217459
    Wersik
    Poziom 12  
    Posty: 55
    Pomógł: 1
    Ocena: 1
    Jak projekt radzi sobie z temperaturami ujemnymi?
  • #26 4240265
    zozur
    Poziom 11  
    Posty: 11
    Fajny projekt :). Mi przydał by się jeszcze alarm po przekroczeniu pewnej temp:D
    Pozdrawiam
  • #27 4240350
    VC
    Poziom 21  
    Posty: 548
    Pomógł: 27
    Ocena: 10
    Wersik napisał:
    Jak projekt radzi sobie z temperaturami ujemnymi?
    Zajrzyj do noty katalogowej.
  • #28 4240403
    lechoo
    Poziom 39  
    Posty: 5160
    Pomógł: 377
    Ocena: 544
    Mam pytanie związane z tym termometrem - czy BASCOM wymusza stan wysoki na linii danych DQ magistrali 1WIRE na czas konwersji temperatury, w celu realizacji zasilania typu "parasite"?
    Jeśli nie - to pomiar może być obarczony dużym błędem ze względu na zasilanie czujników jedynie przez rezystory 4k7.
  • #29 4244713
    Robstar
    Poziom 18  
    Posty: 230
    Pomógł: 15
    Ocena: 49
    
    
    $regfile = "ATtiny2313.dat"
    $crystal = 1000000
    Config 1wire = Portd.5
    
    Dim Dsid1(8) As Byte
    Dim Dsid2(8) As Byte
    
    Dim I1 As Integer , Ss As String * 6
    Dim I2 As Integer
    
    Deflcdchar 0 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32
    Cursor Off
    
    Cls
    
     Dsid1(1) = 1wsearchfirst()
     Dsid2(1) = 1wsearchnext()
    
    Do
    
       1wreset
       1wwrite &H55
       1wverify Dsid1(1)
       1wwrite &HBE
       I1 = 1wread(2)
       '---------------------------------
       1wreset
       1wwrite &H55
       1wverify Dsid2(1)
       1wwrite &HBE
       I2 = 1wread(2)
    '---------------------------------
       1wreset
       1wwrite &HCC
       1wwrite &H44
    
     Wait 1
    
     I1 = I1 * 10
       I1 = I1 / 16
       'If I1 > 0 Then Cls
       Ss = Str(i1)
       Ss = Format(ss , " 0.0")
       Locate 1 , 1
       Lcd "Temp.wew: " ; Ss ; Chr(0) ; "C"
    
       I2 = I2 * 10
       I2 = I2 / 16
       'If I2 > 0 Then Cls
       Ss = Str(i2)
       Ss = Format(ss , " 0.0")
       Locate 2 , 1
       Lcd "Temp.zew: " ; Ss ; Chr(0) ; "C"
    Loop
    
    


    To samo dla procesora Attiny2313 :).
    Wyświetlacz standard 2x16.
    2 czujniki
  • #30 4244906
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Robstar :?: - jak to skompilowałeś na ATtiny2313 że ci się udało? bo mi przy próbie kompilacji wywala błąd:

    "ERROR Program will overwrite bootloader [48 too long]"

    czy może czegoś nie ustawiłem sobie w Bascomie? (jestem świeżym użytkownikiem Bascoma)

Podsumowanie tematu

✨ Dyskusja dotyczy projektu termometru czteropunktowego opartego na mikrokontrolerze Atmega8 i czujnikach temperatury DS18b20, wyświetlającym pomiary na wyświetlaczu LCD. Projekt mierzy temperaturę w czterech miejscach: zewnętrzną, wewnętrzną, na kaloryferze oraz w lodówce. Oprogramowanie napisane w BASCOMie, z wykorzystaniem magistrali 1-Wire, umożliwia podłączenie czterech czujników do jednego portu mikrokontrolera. Wątek porusza kwestie konfiguracji LCD (różne typy: 2x16, 2x20, 4x16, 4x20), podłączenia pinów R/W i kontrastu, a także optymalizacji kodu pod kątem ograniczeń pamięci mikrokontrolera. Omówiono problemy z kompilacją w różnych wersjach BASCOMa, zarządzanie identyfikatorami czujników (ID), obsługę temperatur ujemnych oraz sposoby formatowania wyświetlanych wartości. Poruszono także zagadnienia dotyczące zasilania czujników (w tym zasilania typu parasite), stabilizacji napięcia, oraz wpływu długości i rodzaju przewodów na poprawność odczytów. Użytkownicy dzielili się modyfikacjami kodu, np. dodaniem funkcji alarmu, wyświetlania strzałek wskazujących zmianę temperatury, uśredniania pomiarów oraz rozszerzeniem o dodatkowe funkcje jak woltomierz. Wskazano na konieczność prawidłowego ustawienia fuse bitów mikrokontrolera, szczególnie przy zmianie częstotliwości taktowania i rodzaju oscylatora. Dyskusja zawierała także porady dotyczące wyboru i zamawiania czujników DS18b20, różnic między DS18b20 a DS1820, oraz sugestie dotyczące schematów i płytek PCB. Projekt uznano za prosty, tani i funkcjonalny, z możliwością dalszej rozbudowy i integracji z komputerem do tworzenia statystyk i wykresów temperatur.
Wygenerowane przez model językowy.
REKLAMA