Elektroda.pl
Elektroda.pl
X
Relpol przekaźniki
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

4x DS18b20 +LCD = Termometr

Duch__ 09 Sie 2007 22:01 297262 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__

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    Duch__
    Poziom 31  
    Offline 
    Unitrez elektronik
    WWW.UNITREZ.PL
    SYSTEMY ALARMOWE, TELEWIZJA DOZOROWA,
    KONTROLA DOSTĘPU, AUTOMATYKA BRAMOWA.
    INTELIGENTNE BUDYNKI
    Specjalizuje się w: bascom, avr, alarmy, telewizja, monitoring, kontrola dostępu
    Duch__ napisał 2282 postów o ocenie 1491, pomógł 33 razy. Mieszka w mieście Opole. Jest z nami od 2004 roku.
  • Relpol przekaźniki
  • #2
    mariuz
    Poziom 32  
    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
    topstar
    Poziom 18  
    No fajny projekcik =] ja swego czasu mialem zrobic sobie treometr na jednym DS i wyswietlaczu z nokii 3310.
  • #4
    pouk
    Poziom 11  
    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
    Duch__
    Poziom 31  
    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
    memphis_2007
    Poziom 12  
    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
    mariuz
    Poziom 32  
    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
    myrcin
    Poziom 16  
    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!
  • Relpol przekaźniki
  • #9
    zbyrek
    Poziom 23  
    Tak po pierwsze to nie jest płytka uniwersalna ale labolatoryjna projekt nawet fajny 4/5
  • #10
    dj_volt
    Poziom 22  
    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
    mariuz
    Poziom 32  
    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
    akanaf
    Poziom 16  
    Jakie maksymalne temperatury może mierzyć?
  • #13
    Mariuszek15
    Poziom 24  
    Zakres pomiaru obejmuje temperaturę od -50C do +125C.
  • #14
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #15
    Duch__
    Poziom 31  
    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
    Łukasz leper
    Poziom 11  
    Jaką dokładność ma taki termometr?
  • #17
    ciapciok
    Poziom 20  
    Cytat:
    Jaką dokładność ma taki termometr?


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

    Pozdrawiam
  • #18
    Marek_RADOM
    Poziom 18  
    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.
  • #19
    mirekk36
    Poziom 42  
    Witam,

    bardzo fajny, prosty i funkcjonalny projekcik ;)

    a przy okazji pokazuje dlaczego czasem warto wykorzystać również język Bascom

    pozdrawiam
  • #21
    pawcio681
    Poziom 9  
    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
    mirekk36
    Poziom 42  
    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
    pawcio681
    Poziom 9  
    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.

  • #25
    Wersik
    Poziom 11  
    Jak projekt radzi sobie z temperaturami ujemnymi?
  • #26
    zozur
    Poziom 10  
    Fajny projekt :). Mi przydał by się jeszcze alarm po przekroczeniu pewnej temp:D
    Pozdrawiam
  • #27
    VC
    Poziom 21  
    Wersik napisał:
    Jak projekt radzi sobie z temperaturami ujemnymi?
    Zajrzyj do noty katalogowej.
  • #28
    lechoo
    Poziom 39  
    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
    Robstar
    Poziom 17  
    Code:


    $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
    mirekk36
    Poziom 42  
    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)