Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.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 20506 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! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • Computer Controls
  • #2
    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
    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
    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 :)
  • Computer Controls
  • #5
    scal12
    Poziom 19  
    Projekcik super,tez bym sobie coś takiego zrobił,mógłbyś umieścic schemat i żródło programu ?
  • #6
    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 ;)
  • #8
    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
    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
    krzycho123
    Poziom 31  
    nie wyswietla zdjęc , mogles je wrzucic na np ImageShack a nie prywatny serw , bo pewnie go wylaczyli
  • #11
    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
    DJ_DrEw
    Poziom 15  
    Świetnie przemyślana konstrukcja. Gratuluje pomysłu.
  • #13
    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
    scal12
    Poziom 19  
    to jak możesz to dodaj listing programu do procka oraz do programu w komputerze najlepiej z programikiem,dzięki.
  • #15
    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
    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
    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
    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
    koleg12345
    Poziom 10  
    Płytka faktycznie bardzo ładnie zrobiona i polutowana, ale zastanawia mnie po co tam jest ten przekaźnik?
  • #20
    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
    Vein
    Poziom 22  
    taka rzecz ciekawa, mogles softwareowo zrobić przestawianie czasu z letniego na zimowy... w koncu to 2 linijki kodu...
  • #22
    kermitpb
    Poziom 11  
    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
    sliver1
    Poziom 22  
    byrrt - jak dolutowales tasemke do wyswietlacza?? masz jakis sposob na taka operacje??
    za projekt oczywiscie 10/10:)
  • #24
    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
    Vein
    Poziom 22  
    byrt - nawet nie musisz przestawiac samego zegarka na I2C :] ale o tym sam pomysl :]
  • #26
    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
    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ć?
  • #29
    cooltygrysek
    Warunkowo odblokowany
    Ooooo to mi się podoba bez dwóch zdan 10/10 ładnie i starannie wykonana płyta główna... Pozdrawiam COOLTYGRYSEK