Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Fibaro Fibaro
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Mikrokomputer a raczej termometr z zegarem :))

byrrt 07 Sty 2007 03:24 20092 42
  • Mikrokomputer a raczej termometr z zegarem :))
    Witam!

    Tak od jakiegoś czasu oglądam ten dział i postanowiłem opublikować swój projekcik.. W sumie jest stary (z przed 2ch laty), więc proszę aż tak bardzo się nie czepiać – są to moje początki z dziedziny uC Nie wnosi sobą nic nowego - jest to taki bajerek, ale chciałem się nim pochwalić Układzik bazuje na ATMega8, zegar czasu DS1307, konwerter napięć RS232/TTL MAX203 (układ nie potrzebuje el. zew. dlatego go wybrałem – oczywiście z sampli maxim’a :) ) i do tego wszystkiego zbędny właściwie układ resetu DS1813 oraz termometr DS18S20.. Całość współpracuje z wyświetlaczem LCD 2x16, na którym pokazuje aktualny czas, datę, dzień tygodnia, temperaturę czujnika oraz status przekaźnika którym można sterować dowolne urządzenie zewnętrzne. Wszelkich nastawów zmienia się poprzez komputer i łącze szeregowe. Najprościej np. w hyperterminal’u. Jest coś w rodzaju menu, po którym porusza się pewnymi kodami – układ wysyła tekstowe komendy do komputera tak, że użytkownik ma ułatwioną sprawę :) Można włączać/wyłączać podświetlanie, wyświetlacz, wstrzymywać czas, przestawiać czas, datę, odczytywać wszystko wraz z temperaturą, włączać cominutowe drukowanie czasu i temp – może to posłużyć jako rejestrator.. Wszelkie nastawy przechowywane są w pamięci zegara czasu.. Nie korzystałem z pamięci EEPROM procesora, bo po prostu nie widziałem sensu.. Bateria, która jest tam włożona powinna wg. producenta starczyć na dziesiątki lat zakładając, że cały czas byłby układ odłączony od sieci. Nie ma żadnego przycisku, nawet możliwości nastawienia czasu bez komputera :) Trochę to nie praktyczne, ale przez 2 lata jak pracuje przestawiałem czas tylko 4 razy i to tylko dlatego, że następowała zmiana strefy czasowej :) Sam zegarek się nie spieszy nie spóźnia.. Program pisałem w środowisku bascom AVR. Załączam kilka fotek oraz filmików – część z nich powstała w czasie pisania programu. Po jakimś roku dorobiłem jeszcze mały układzik na ATTiny2313 ze sterownikiem diody RGB.. Dioda podświetla szklaną figurkę postawioną na układzie.. Fotki postaram się wrzucić jakoś na dniach.. Piszcie co myślicie o projekcie.. :)

    Płytka od strony druku:
    Mikrokomputer a raczej termometr z zegarem :))





    Płytka od strony elementów:
    Mikrokomputer a raczej termometr z zegarem :))

    Całość w obudowie:
    Mikrokomputer a raczej termometr z zegarem :))

    Próby z termometrem:
    Mikrokomputer a raczej termometr z zegarem :))

    *** Filmiki: ***

    "Animacja startowa":

    Link


    Działanie kilku opcji 1:

    Link


    Działanie kilku opcji 2:

    Link


    Układzik z LCD podświetlonym na niebiesko 1:

    Link


    Układzik z LCD podświetlonym na niebiesko 2:

    Link


    Fajne!
  • Fibaro
  • #2 07 Sty 2007 05:02
    Duch__
    Poziom 31  

    Wszystko elegancko, naprawde nie ma się do czego przyczepić. Całość wyszła Ci super... kurcze coraz bardziej chce się w uC zagłębić jak widze takie konstrukcje ale jakoś nie mam czasu. 10/10 bez dwóch zdań!!

    PS Masz źle ustawiony rok (2008) ale to szczegół ;p

  • #3 07 Sty 2007 07:57
    janek1815
    Poziom 38  

    podoba mi sie ten zegar ladna plytka :) musze chyba zajac sie DS1307 do tej pory zawsze stosowalem PCF8583 czy przedstawisz moze schemat i wsad do procka? ew. czesc listingu odpowiedzialna za komunikacje z DS1307 i ten efekt RGB?

  • #4 07 Sty 2007 10:26
    Morpheusss
    Poziom 15  

    Muszę Cię pochwalić za jakość lutów - naprawdę dobra robota! Czym lutowałeś? transformatorówką czy stacją? Całość układu też przypadła mi do gustu - przede wszystkim za estetykę wykonania. Gratuluje :)

  • #5 07 Sty 2007 10:40
    scal12
    Poziom 19  

    Projekcik super,tez bym sobie coś takiego zrobił,mógłbyś umieścic schemat i żródło programu ?

  • #6 07 Sty 2007 11:37
    grabek_radek
    Poziom 21  

    witam! wszystko ladnie pieknie;) ale ten wyswietlany wynik nie ladny nie mozesz ustawic formatu do jednego miejsca po przecinku wynik od razu zapisujesz w zmiennej string i wyswietlasz przet wyswietleniem nalezalo by to przeformatowac. Bo jeszcze ktos pomysli ze jest on taki dokladny ;)

  • Fibaro
  • #8 07 Sty 2007 13:16
    byrrt
    Poziom 21  

    grabek_radek napisał:
    witam! wszystko ladnie pieknie;) ale ten wyswietlany wynik nie ladny nie mozesz ustawic formatu do jednego miejsca po przecinku wynik od razu zapisujesz w zmiennej string i wyswietlasz przet wyswietleniem nalezalo by to przeformatowac. Bo jeszcze ktos pomysli ze jest on taki dokladny ;)


    Tak jak napisałem wcześniej - część zdjęć jest z czasów testów i ogólnej nauki programowania dla DS18S20 :) W finalnej wersji dokładność termometru została ograniczona do jednego miejsca po przecinku.. :)

    Co do schematu.. Będzie ciężko - jedyne czym dysponuje to wzór płytki drukowanej no i oczywiście listing programu. Komunikacja z DS1307 jest naprawdę bardzo prosta - śmiem twierdzić, że dokumentacja do tego układu jest prostsza niż do PCF'a :) Oczywiście mogę zamieścić fragmenty :) Zdjęcia efektu RBG porobię dziś i wrzucę na elektrodę..
    Pozdrawiam

  • #9 07 Sty 2007 13:20
    witold16
    Poziom 13  

    Nie wiem po co kolega dołączył rezonator kwarcowy gdyż mógł ustawic na wewnętrzny oscylator RC. Ten DS1307 to pewnie coś w podobie do PCF8583 też mi się wydaje niepotrzebny gdyż ATmega8 ma wbudowany RTC. Mógłbyś programowo zrobic RTC a do projeku wykorzysyac wersje z "L" wtedy po wyłaczeniu z zasilania uC zasilałaby bateria pastylkowa. A co do tego MAX203 to nie wiem czy tyle aż zaoszczędziłeś miejsca gdyż MAX232C potrzebuje kondestaorów tylko po 100n.

  • #10 07 Sty 2007 13:22
    krzycho123
    Poziom 31  

    nie wyswietla zdjęc , mogles je wrzucic na np ImageShack a nie prywatny serw , bo pewnie go wylaczyli

  • Fibaro
  • #11 07 Sty 2007 14:08
    byrrt
    Poziom 21  

    witold16 napisał:
    Nie wiem po co kolega dołączył rezonator kwarcowy gdyż mógł ustawic na wewnętrzny oscylator RC.


    Prosta sprawa - układ komunikuje sie za pomocą UART'u - aby zniwelować błędy transmisji zastosowałem rezonator 11,059MHz

    Cytat:
    ATmega8 ma wbudowany RTC. Mógłbyś programowo zrobic RTC a do projeku wykorzysyac wersje z "L" wtedy po wyłaczeniu z zasilania uC zasilałaby bateria pastylkowa.


    Niestety ATMega8 nie ma wbudowanego zegara czasu.. jedyne co ma to rejestr który można wykożystać jako pierwszy odliczający sekundy i dający przerwanie po przepełnieniu. Cały zegar trzeba by napisać od nowa w programie. Przy takiej konfiguracji procesor musiałby działać wewnętrznym rezonatorem RC a tego chciałem uniknąć ze względu na to co napisałem wyżej.. Użycie DS'a było poprostu szybsze, milsze i bardziej niezawodne.. Czas pracy na bateri tez jest tu nie bez znaczenia..

    Cytat:
    A co do tego MAX203 to nie wiem czy tyle aż zaoszczędziłeś miejsca gdyż MAX232C potrzebuje kondestaorów tylko po 100n.


    Nie chodziło o oszczędność miejsa tylko o "frajde" z zastosowania innego - nowego elementu.. Co za filozofia robić to co wszyscy :)

    Dodano po 35 [minuty]:

    Załączam fotki układu z efektem RBG :)

    Mikrokomputer a raczej termometr z zegarem :))
    Mikrokomputer a raczej termometr z zegarem :))
    Mikrokomputer a raczej termometr z zegarem :))
    Mikrokomputer a raczej termometr z zegarem :))
    Mikrokomputer a raczej termometr z zegarem :))
    Mikrokomputer a raczej termometr z zegarem :))
    Mikrokomputer a raczej termometr z zegarem :))
    Mikrokomputer a raczej termometr z zegarem :))

    I 2 filmiki:

    Link


    Link

  • #12 07 Sty 2007 17:18
    DJ_DrEw
    Poziom 15  

    Świetnie przemyślana konstrukcja. Gratuluje pomysłu.

  • #13 07 Sty 2007 17:37
    krzycho123
    Poziom 31  

    dziękuje :) wszystkie fotki i filmy działąją jak trzeba . Teraz moge sie wypowiedzieć i powiem tak . O ile temat zegarków i termometrów jest już oklepany to Twoje rozwiązanie odbiega od wszystkiego co widziałem w tej kategorii. Pomysł 10/10 !!! Wykonanie 9/10 (za tą diodę na górze która nie się nie podoba ;) )

  • #14 07 Sty 2007 18:27
    scal12
    Poziom 19  

    to jak możesz to dodaj listing programu do procka oraz do programu w komputerze najlepiej z programikiem,dzięki.

  • #15 07 Sty 2007 20:19
    redart
    Poziom 23  

    Fajny chronometr :D.
    Najlepszy jest właśnie efekt z RGB, bo normalny zegarek z termometrem to mają wszyscy (włącznie ze mną...), a dodanie "kukułki" czy innego niekonwencjonalnego elementu pozwala wyróżnić konstrukcję z tłumu innych. Bardzo podoba mi się porządek w środku i połączenie LCD'ka taśmą. 5/5. Konstrukcja może i oklepana ale porządnie zrobiona.

  • #16 07 Sty 2007 20:38
    aschamed
    Poziom 11  

    Na zdjęciu z lodem widoczne jest wskazanie które ma 7 miejsc po przecinku. Wedługo moich danych DS18S20 mierzy z dokładnością ±0,5C, więc po co tyle tam cyferek po przecinku. Nie to żebym sie czepiał ale poprostu mnie to zainteresowało.

    Pozdrawiam!

  • #17 07 Sty 2007 21:00
    redart
    Poziom 23  

    aschamed:
    Trzeba też czytać, a nie tylko oglądać. Wyżej jest napisane przez autora:

    byrrt napisał:
    W finalnej wersji dokładność termometru została ograniczona do jednego miejsca po przecinku.. :)

  • #18 07 Sty 2007 22:16
    byrrt
    Poziom 21  

    redart - dziękuję za napisanie po raz kolejny o tym szczególe.. Niektórzy nie czytają a potem piszą.. Co do listingu programu.. Ze względu na jego długość i powiem szczerze - chaotyczność w budowie - mogę udostępnić fragmenty.. Jeżeli coś jest nie zrozumiałe proszę pisać..

    Pozdrawiam

  • #19 07 Sty 2007 23:38
    koleg12345
    Poziom 10  

    Płytka faktycznie bardzo ładnie zrobiona i polutowana, ale zastanawia mnie po co tam jest ten przekaźnik?

  • #20 08 Sty 2007 00:22
    byrrt
    Poziom 21  

    Przekaźnikiem można sterować dowolne urządzenie.. W moim przypadku nigdy tego nie wykorzystałem, ale jest taka opcja i oczywiście działa. Styki przekaźnika wyprowadzone są na płytce w postaci 2ch goldpin'ów koło niego. Zmianę/odczyt stanu przekaźnika wykonuje się z pod terminala przez rs232.. Układ po zaniku zasilania odczytuje ostatni stan przekaźnika z pamięci zegara czasu (tam zapisuje te informacje)..

    Pozdrawiam

  • #21 08 Sty 2007 02:10
    Vein
    Poziom 22  

    taka rzecz ciekawa, mogles softwareowo zrobić przestawianie czasu z letniego na zimowy... w koncu to 2 linijki kodu...

  • #22 08 Sty 2007 04:45
    kermitpb
    Poziom 10  

    Witaj Byrrcie :)

    Bardzo mi sie podoba to ustrojstwo..:) Co do wykonania to 10/10 za . jakość lutow i pożądek... Ja tez musze sie w końcu wziaść za siebie i . zmajstrować co nie co.. W końcu jesteśmy kumplami po fachu :)

    Pozdrawiam serdecznie i zycze weny oraz czasu na realizacje kolejnego urządzenia.

  • #23 08 Sty 2007 09:53
    sliver1
    Poziom 22  

    byrrt - jak dolutowales tasemke do wyswietlacza?? masz jakis sposob na taka operacje??
    za projekt oczywiscie 10/10:)

  • #24 08 Sty 2007 11:26
    byrrt
    Poziom 21  

    sliver1 napisał:
    jak dolutowales tasemke do wyswietlacza?? masz jakis sposob na taka operacje??


    Tasiemka była przylutowana niejako firmowo :) Tego typu wyświetlacze b. często pojawiają się na allegro skąd też ten był kupiony.. Z 2giej strony - na płytce przylutowałem złącze wyciągnięte z jakiegoś starego CD-ROM'u.. Na allegro można kupić takie złącza w wersji przewlekanej..

    Vein napisał:
    mogles softwareowo zrobić przestawianie czasu z letniego na zimowy... w koncu to 2 linijki kodu...


    Nie mogę się nie zgodzić i można by nad tym pomyśleć.. W czasach, kiedy pisałem program obsługa zegara czasu na szynie I2C była dla mnie nie lada sukcesem, więc najprościej w świecie - zapomniałem o takim szczególe.. :)

  • #25 08 Sty 2007 23:26
    Vein
    Poziom 22  

    byrt - nawet nie musisz przestawiac samego zegarka na I2C :] ale o tym sam pomysl :]

  • #26 09 Sty 2007 02:37
    byrrt
    Poziom 21  

    Vein napisał:
    byrt - nawet nie musisz przestawiac samego zegarka na I2C :] ale o tym sam pomysl :]


    heh też racja, ale dla porządku lepiej by było.. Wiem, że to żaden problem - to faktycznie kilka linijek kodu, jak będę miał czas wolny to może się jeszcze podepnę z programatorek i zmienię kilka szczegółów :)

    Dzięki pozdrawiam

    ps. nie byrt tylko byrrt :D

  • #27 09 Sty 2007 19:15
    luk1401
    Poziom 16  

    Jak dla mnie super. 10/10

    Bardzo zaciekawił mnie moduł sterujący diodą RGB. Możesz coś więcej o nim napisać?

  • #28 09 Sty 2007 22:35
    byrrt
    Poziom 21  

    Układ jest banalny.. Dioda RBG, 3 rezostory, ATTiny2313 oraz stabilizator 5V.. Programowo steruje wypełnieniem 3 przebiegow.. Program oczywiscie w bascomie..

  • #29 11 Sty 2007 14:20
    cooltygrysek
    Warunkowo odblokowany

    Ooooo to mi się podoba bez dwóch zdan 10/10 ładnie i starannie wykonana płyta główna... Pozdrawiam COOLTYGRYSEK

  • #30 12 Sty 2007 00:20
    tomeeh
    Poziom 23  

    Jeju, temperatura w rozdzielczości 100n°C?? Co to za herezje! Zacięła ci się '9'? No bez przesady, nie pokazujmy takiej radosnej twórczości!

TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo