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

Prosty i fajny termometr pokojowy

Elektrooonik 29 Lip 2005 18:01 48099 55
  • Urządzenie to zaprojektowane i zbudowane przeze mnie nie wyróżnia sie zasadniczo orginalnością z pośród wielu innych konstrukcji jednak warto go opublikować ze względu na kompletną dokumentację i prostotę budowy, która umożliwi zbudowanie go nawet przez początkujących elektroników.

    Urządzenie mierzy temperaturę w zakresie 0-99 z rozdzielczością 1*C co jest wystraczające do zastosowania go jako termometru pokojowego :)

    Termometr składa się z niewielkiej ilości łatwo dostępnych i popularnych elementów elektronicznych.

    Płytki drukowane zostały zaprojektowane z myślą o umieszczeniu ich w konkretnej obudowie (Z6).

    Płytki drukowane (płytka z wyświetlaczami oraz płytka główna) zostały połączone za pomocą wyszczerbionej listwy goldpin przylutowanej do obu płytek - 11 szpilek połączeniowych. Sposób połączenia i przylutowania przedstawiony jest na fotografiach dostępnych w załączniku.
    Listwę goldpin lutujemy na samym końcu - po przylutowaniu wszystkich elementów.
    Najpierw lutujemy goldpiny prostopadle do płytki z wyświetlaczami, a potem do płytki głównej.

    Czujnik temperatury umieściłem we wtyku minijack mono, a w obudowie umieściłem gniazdo do którego podłącza się wyżej wspomniany czujnik co umożliwia podłączanie czujnika na dłuższym przewodzie by mierzyć temperaturę w miejscu innym niż miejsce umieszczenia termometru.

    W załączniku znajdują się:
    -schemat ideowy
    -spis elementów
    -wzory płytek drukowanych w formacie PCB oraz PDF
    -plik HEX oraz kod źródłowy programu na mikrokontroler
    -fotografie przedstawiające poszczególne etapy montażu i sposób połączenia płytek oraz fotografie zmontwoanych płytek


    :!: Wzory płytek drukowanych w załączniku są troszeczke inne niż te widoczne na fotografiach :arrow: poprawione i ulepszone ;)

    Pozdrawiam i życze udanych pomiarów temperatury ! ;)

    :!: Aktualizacje: :arrow:

    5 Sierpnia 2005 18:45
    Zmodyfikowałem załącznik, zmniejszony rozmiar zdjęć oraz została zredukowana prowizja za załącznik z dokumentacją urządzenia.

    5 Sierpnia 2005 17:44
    Dodany opis połączenia płytek.


    3 Sierpnia 2005 1:24
    Dodane wzory płytek w formacie PDF.


    Fajne!
  • #2 30 Lip 2005 21:13
    dgajew
    Poziom 18  

    Jeśli kogoś kto jeszcze nie ściągnął całości to interesuje - wykorzystano czujnik Dallas'a DS18B20 i mikrokontroler AT90S2313 z kwarcem 4 MHz (autor nie podał najważniejszej infomacji :)

  • #3 31 Lip 2005 00:42
    Elektrooonik
    Poziom 29  

    dgajew napisał:
    Jeśli kogoś kto jeszcze nie ściągnął całości to interesuje - wykorzystano czujnik Dallas'a DS18B20 i mikrokontroler AT90S2313 z kwarcem 4 MHz (autor nie podał najważniejszej infomacji :)


    Mikroklocek i kwarc widać na zdjęciu ;) z rozpoznaniem czujnika było by troszeczkę gorzej ;)

    W zasadzie wartości wszystkich elementów zastosowanych w tym układzie nie są krytyczne i można zastoswać inne np rezystory czy tranzystory.

    Zastosowałem mikrokontroler AT90S2313 oraz współpracujący z nim rezonator kwarcowy 4Mhz ale jeśli ktoś posiada inny kwarc mogę na życzenie przerobić program pod żądaną wartość. Zmieniając kwarc należy również zmienić współpracujące z nim kondensatory. Można spróbować uruchomić układ z kwarcem 10Mhz, termometr powinien działać prawidłowo, tylko częściej będzie odświezany wynik pomiaru (2,5raza). Ale jednak przy zmianie kwarcu radziłbym modyfikację programu.

    Mikrokontroler też można zastąpić innym 20pinowym AVRem ale wtedy konieczne bedą pewnie drobne modyfikacje programu, bez problemu powinno dać sie łatwo zastąpić go układem ATTiny2313. (po drobniutkiej zmianie programu).

    Po gruntownej modyfikacji programu na mikrokontroler oraz przeróbce płytki drukowanej (układ resetu) można zastąpić mikrokontroler układem AT89C1051 lub AT89C2051 lub AT89C4051.

    Czujnik temperatury również można wykorzystać inny niż DS18B20 (na czujnik z transmisją 1wire)- co wiąże się z modyfikacją programu.

    Wyświetlacze powinny zostać tego typu jakie ja zastosowałem - wspólna anoda, zastosowanie wyświetlaczy ze wspólną katodą wiązało by się z dużym problemem przerobienia płytki drukowanej.

    Chętnie odpowiem na wszystkie pytania dotyczące wyżej opisanego układu :) .
    Pozdrawiam :!: :)

  • #4 31 Lip 2005 12:29
    rastu
    Poziom 12  

    Fajny układzik przyda sie na upały szkoda tylko ze w Bascom:(

  • #5 31 Lip 2005 12:37
    Elektrooonik
    Poziom 29  

    rastu napisał:
    Fajny układzik przyda się na upały szkoda tylko ze w Bascom:(

    Dlaczego szkoda? ;) bascom dlatego ze napisanie tego programu zajęło mi ok 7 minut ;) w asemblerze poszło by dużo wolniej, ale może w przyszłości powstanie asemblerowy program.

    Układ działa prawidłowo więc nie widze żadnych przeciwskazań, by program na mikrokontroler był napisany w innym języku niż ten, którego użyłem obecnie :)

  • #6 01 Sie 2005 04:26
    Jarema
    Użytkownik obserwowany

    Owszem fajny układ, ale skoro masz 4 wyświetlacze, to może jeszcze przydałoby się dorobić zegar ( I2C :P) i np. czujnik zewnętrzny (za oknem) ?
    Skoro piszesz w bascomie, to żaden problem (w asm też żaden ale nieco więcej czasu trzeba poswięcić - ale za to jakie efekty :D )

    rastu napisał:
    [...] szkoda tylko ze w Bascom:(

    Może i szkoda, bo bascom nie wiele uczy jeśli chodzi o działanie proca (wiem, bo sam w nim zaczynałem ale to już historia i nawet programator gdzieś zgubiłem :D )

  • #8 01 Sie 2005 19:34
    Elektrooonik
    Poziom 29  

    p4v3u napisał:
    a jaki koszt ukladu?
    pzdrr

    Ciężko oszacować - zależy gdzie kupisz elementy, ale szacuje koszt elementów na 20-25zł (bez obudowy).

  • #9 01 Sie 2005 20:09
    krzycho123
    Poziom 31  

    20-25zł ?? Troche ciężko za tyle to wykonać . Sam dallas 1820 kosztuje 19zł , a w wersji okrojonej 18b20 około 9-12zł. Procek 7-10zł , do tego wszystkiego wyświetlacze LED w najtańszej wersji 1,80zł / szt.
    Razem jakieś 35zł bez obudowy ale i tak warto to zbudować dla własnej satysfakcji. Pozdro

  • #10 01 Sie 2005 21:08
    dgajew
    Poziom 18  

    tyle kosztuje ten procek ? hm nie używałem ale w Poznaniu u Gembary taka "wypasiona" atmega16 kosztuje 12 zł... w sumie można ten termometr zrobić na 89c2051 (4 zł) ale wymaga to zmiany softu

    zrobiłem kiedyś termometr na DS1822 i o ile pamiętam jest on programowo kompatybilny z 18b20.. do tego 89c2051 i gotowy moduł wyświetlacza z 9 segmentami i tranzystorkami anod :) wyświetlanie oparte jest na dekoderze adresowym ale bez problemu można go sobie darować i wyświetlać tylko temperaturę - kto zna C ten sobie poradzi

    wzorowałem się na projekcie pewnego użytkownika elektrody ale nie pamiętam nicka.. oryginalne pliki i opis mojej przeróbki wraz z kodem źródłowym w C leżą na www.anoda.end.pl.. przy okazji zająłem kolejną elektroniczną domenę ;]

    nie wiem czy to tak wypada podawać alternatywne rozwiązania pod danym tematem jeśli budzi to zgorszenie proszę o sygnały ; ]

  • #11 01 Sie 2005 21:16
    krzycho123
    Poziom 31  

    ja zaopatruje się w moim mieście czyli w Poznaniu :) , w Mitroniku zapłaciłem 11zł za tego Atmela . W TME są za 7.99zł /szt. Szukałem , nigdzie taniej nie ma niestety :( Ale dobrze że mówisz ! że w Gemabara są takie tanie atmegi. Może skorzystam z ich oferty. Pozdrawiam

  • #12 01 Sie 2005 21:22
    dgajew
    Poziom 18  

    wszedłem na stronę sklepu pana Gemabary - podniósł ceny:

    AT90s2313 - 10 zł
    89c2051 - 5 zł

    atmega16 też droższa (14 zł :/)

  • #13 01 Sie 2005 21:35
    krzycho123
    Poziom 31  

    atmega 16 za 14zł to i tak bardzo dobra cena , w TME ( który jest zresztą dla mnie i nie tylko , wyznacznikiem cen ) kosztuje 19zł . Tak to już jest w jednym sklepie jest coś takiej a coś drożej niż w innym . Oni muszą wyjść na swoje za wszelką cenę :D Pozdrawiam.

  • #14 01 Sie 2005 22:36
    Elektrooonik
    Poziom 29  

    krzycho123 napisał:
    20-25zł ?? Troche ciężko za tyle to wykonać . Sam dallas 1820 kosztuje 19zł , a w wersji okrojonej 18b20 około 9-12zł. Procek 7-10zł , do tego wszystkiego wyświetlacze LED w najtańszej wersji 1,80zł / szt.
    Razem jakieś 35zł bez obudowy ale i tak warto to zbudować dla własnej satysfakcji. Pozdro


    Napisałem przecież:
    Elektrooonik napisał:

    Ciężko oszacować - zależy gdzie kupisz elementy


    Weźmy pod uwagę pierwszy lepszy sklep internetowy np Lispol w którym często się zaopatruję www.lispol.com

    mikrokontroler - 9.49zł
    czujnik ds18b20 - 9zł
    wyświetlacze - 4*1,6zł = 6.4zł lub 2*2x7seg = 2*2,6zł = 5,2zł
    stabilizator, kwarc, tranzystory, rezystory i kondensatory - max 3zł

    więc wyszło 27-28zł, wcześniejszy koszt podany przeze mnie był szacowany na "oko", naturalnie niektóre elementy można spotkać taniej, niektóre drożej :) na allegrp DS18B20 można trafić za 7,5zł (nie liczac kosztów wysyłki które nie są odczuwalne przy większych zakupach) :)


    dgajew napisał:

    nie wiem czy to tak wypada podawać alternatywne rozwiązania pod danym tematem jeśli budzi to zgorszenie proszę o sygnały ; ]

    Raczej sie za to nie pogniewam ale jednak prosiłbym wypowiadać się na temat :)

  • #15 02 Sie 2005 14:39
    Misian@
    Poziom 27  

    A miałbyś może schematy tych płytek przed przeniesieniem ich na laminat?? Przydały by się bo ja właśnie chciałbym taki układnik sobie wykonać.
    A miałby to być taki bajer co miezył by temp. radiatorów we wzmaku :D:D tylko że musiałby mieć większą rozpiętość pomiaru temp. tak gdzieś do 150C?? można to zmodyfikowac??

    Pozdrawiam

  • #16 02 Sie 2005 14:54
    Elektrooonik
    Poziom 29  

    Misian@ napisał:
    A miałbyś może schematy tych płytek przed przeniesieniem ich na laminat?? Przydały by się bo ja właśnie chciałbym taki układnik sobie wykonać.

    Czytaj uważnie :) napisałem w pierwszym poście tego tematu, że cała dokumentacja łącznie z wzorami płytek drukowanych, schematem ideowym i fotografiami przydatnymi w montażu jest dostępna w załączniku w pierwszym poście.

    Misian@ napisał:
    tylko że musiałby mieć większą rozpiętość pomiaru temp. tak gdzieś do 150C?? można to zmodyfikowac??

    Zastosowany czujnik umożliwia pomiar temperatury maxymalnej 125*C, jednak żeby wyświeltać temperature powyżej 99*C trzeba by dołozyc jedną cyferke wyświetlacza, co wiazało by sie z koniecznoscia zaprojektowania nowych płytek i napisania nowego programu czyli zrobienie całego projektu od początku.

  • #18 02 Sie 2005 17:32
    Elektrooonik
    Poziom 29  

    To jest jedna z fotografii wykonanych płytek.
    Wzór płytek (ścieżek) jest w jednym z najpopularniejszych formatów w plikach PCB w załączniku, można to otworzyć Protelem oraz TraxMakerem i pewnie jeszcze wieloma innymi popularnymi programami do projektowania płytek drukowanych, jak znajde wieczorkiem czas postaram sie wyeksportować wzór ścieżek do PDFa :) ten format pliku chyba nikomu nie powinien już sprawić problemu :)

  • #19 03 Sie 2005 01:24
    Elektrooonik
    Poziom 29  

    Wrzuciłem do załącznika również wzory płytek w PDF. :) Teraz nie powinno być już żadnych wątpliwości i problemów w tej kwestii. Dobranoc :)

  • #20 05 Sie 2005 07:19
    jacol11
    Poziom 12  

    A ja zapytam za ile sprzedalbys taki termometr? Jestem w tych sprawach kompletny laik i napewno nie dam rady wykonac tego samemu a bardzo mi sie to spodobalo :)

  • #21 05 Sie 2005 11:39
    Elektrooonik
    Poziom 29  

    jacol11 napisał:
    A ja zapytam za ile sprzedalbys taki termometr? Jestem w tych sprawach kompletny laik i napewno nie dam rady wykonac tego samemu a bardzo mi się to spodobalo :)


    Koszt elementów z obudową to prawie 40zł + koszt wykonania płytek drukowanych, calość za ok 50-55zł. Niestety koszt wykonania 1 sztuki urządzenia jest wysoki.

    Szczegóły na PW - żeby nie zaśmiecać forum i tego tematu, który ma rozwiązywać problemy techniczne związane z tym termometrem. :)

  • #22 05 Sie 2005 16:14
    djsimo
    Poziom 13  

    Witam, ja właśnie dzisiaj pokupiłem części do zmontowania tego układu :-) Wyniosło mnie to ok.30zł z obudową, wyświetlaczami, jednak bez DS18B20 [ koszt ok. 15-20zł]. Programator -> za który też się właśnie biore do złożenia ok. 10zł [z podstawka precyzyjna]. Całość bardzo ciekawa! Gratuluje pomysłu autorowi. Pozdrawiam i życze miłęgo mierzenia temperatury :D

  • #23 05 Sie 2005 17:44
    Elektrooonik
    Poziom 29  

    djsimo napisał:
    Witam, ja właśnie dzisiaj pokupiłem części do zmontowania tego układu :-) Wyniosło mnie to ok.30zł z obudową, wyświetlaczami, jednak bez DS18B20 [ koszt ok. 15-20zł]. Programator -> za który też się właśnie biore do złożenia ok. 10zł [z podstawka precyzyjna]. Całość bardzo ciekawa! Gratuluje pomysłu autorowi. Pozdrawiam i życze miłęgo mierzenia temperatury :D

    Pierwszy odważny! ;) W razie ewentualnych wątpliwości czy problemów z uruchomieniem termometru proszę pytać w tym temacie na forum - postaram się pomóc :)

    Przy okazji mała aktualizacja opisu dotycząca sposobu połączenia płytek (zapomniałem napisać o tym wcześniej) :

    Płytki drukowane (płytka z wyświetlaczami oraz płytka główna) zostały połączone za pomocą wyszczerbionej listwy goldpin przylutowanej do obu płytek - 11 szpilek połączeniowych. Sposób połączenia i przylutowania przedstawiony jest na fotografiach dostępnych w załączniku.
    Listwę goldpin lutujemy na samym końcu - po przylutowaniu wszystkich elementów.
    Najpierw lutujemy goldpiny prostopadle do płytki z wyświetlaczami, a potem do płytki głównej.

  • #24 06 Sie 2005 14:04
    djsimo
    Poziom 13  

    Wiem, ze wypale troche nie w temat... ale nie znalazlem tego nigdzie... :/ Czy wie ktos moze jak ustawic w EAGLE 4.13 żeby automatyczne rozmieszczenie ścieżek bylo tylko jednostronne? Bo zawsze wyskakują mi po imporcie ze schematu 2 lub więcej warstw... Jeśli ktoś wie jak to ustawic, to prosze o pomoc. Z góry dzięki. Pozdrawiam.

  • #25 07 Sie 2005 00:47
    kubagert
    Poziom 14  

    Cytat:
    Czy wie ktos moze jak ustawic w EAGLE 4.13 żeby automatyczne rozmieszczenie ścieżek bylo tylko jednostronne?


    Jak otworzysz okno autoroutera to w zakladce General, Opcja Preffered Directions wszystkie warstwy ustawiasz na N/A a tylko bottom ustawiasz na inna niz N/A. Wtedy autorouter bedzie ukladal sciezki tylko pod spodem.
    Chyba ze chcesz miec tylko gorne sciezki, to wtedy Top na rozne niz N/A, a reszta na N/A

    Pozdrawiam
    kubagert

    P.S.
    Nastepnym razem zaloz nowy temat, bedzie wiekszy porzadek ;)

  • #26 09 Sie 2005 18:13
    Elektrooonik
    Poziom 29  

    Tak przy okazji tego topicu. Gdyby ktos chciał pobawic sie 1wire na AVR w asm to pod tym adresem jest przykład takiego programu (termometr na ds18b20 na at90s2313 w asm) :!: :arrow: http://mikrokontrolery.net/avr_asm_10.htm
    Jesli ktos bedzie chciał napisac swój soft w asemblerze do urzadzenia przedstawionego wyżej to z pewnością podany wyżej link będzie przydatny

  • #27 09 Sie 2005 21:26
    djsimo
    Poziom 13  

    Witam, ja juz płytki wytrawiłem :-) wyszły znakomicie [papier kredowy + żelazko :D] teraz zaczynam skłądać, jednak nie mam jeszcze zaprogramowanego atmela... i pytanie do elektooonika, jakim programem wrzucic to do atmela, i którre pliki?? proszę o odpowiedz :-) pozdrawiam.

  • #28 09 Sie 2005 22:40
    krzycho123
    Poziom 31  

    wszystko zależy jakim prrogramatorem chcesz go zaprogramowac . Nie ma nic uniwerslnego , soft jest zależny od programatora. Jeśli jest to zwykłe ISP to program otwierasz w Bascomie AVR i wrzucasz do procka. Jeśli inny to masz napewno oprogramowanie do niego. Każdy program czy ta biny i hexy w jakich jest wsad.

  • #30 09 Sie 2005 23:59
    Elektrooonik
    Poziom 29  

    W zasadzie koledzy już sie wypowiedzieli, jesli bedziesz miał jakiekolwiek watpliwosci to pytaj.
    Sposób programowania proponuje taki jak opsiany wyzej w linku przez kolege dgajew , schemat programatora do AT90S2313: :arrow:

    https://www.elektroda.pl/rtvforum/download.php?id=55458

    I zaprogramuj bascomem, mozna to również zrobic np PonyProgiem który opisałem dokładnie tutaj :arrow: http://forum.mikrokontrolery.net/viewtopic.php?t=123

    ew STK200 i wiele wiele innych. Wsad do procka to plik program.hex dostepny w załączniku z dokumentacją.

    Pozdrawiam! :)