Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
TermopastyTermopasty
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Kolejny zegarek LED na AtMega8, ale dokładny

Mis 08 Feb 2014 20:40 198704 344
  • #301
    Freddy
    Level 43  
    kasat wrote:
    Nie pomyliło mi się , one tam są.

    Możesz pokazać (w DS) w którym miejscu są i gdzie się je włącza, bo nie mogę znaleźć.
  • TermopastyTermopasty
  • #302
    kasat
    Level 19  
    Mis wrote:
    A więc tak. Co do kondensatorów przy kwarcu to nie dałem ich świadomie, bo programując fuse CKOPT w procku włączamy wewnętrzne kondensatory 36pF. Dla kwarcu zegarkowego to trochę za dużo, więc standardowo zegarek późni. Ale błąd zależy też od egzemplarza kwarcu i temperatury ........
    RSTDISBL = 1
    WDTON = 1
    SPIEN = 0
    CKOPT = 0
    EESAVE = 0 (lub 1)
    BOOTSZ1 = 1
    BOOTSZ0 = 1
    BOOTRST = 0

    BODLEVEL = 1
    BODEN = 1
    SUT1 = 1
    SUT0 = 0
    CKSEL3 = 0
    CKSEL2 = 0
    CKSEL1 = 1
    CKSEL0 = 0
  • #303
    Freddy
    Level 43  
    Dlatego też daje się zewnętrzne kondensatory.
    Fakt z tym CKOPT i wewnętrznymi kondensatorami 36pF, ja się oczywiście pomyliłem - przepraszam.
  • #304
    unnamed23
    Level 12  
    Spodobał mi się ten zegarek brawa dla autora.

    Bardzo chcę go zrobić. Mam obudowę, wyświetlacze ze wspólną katodą. Ktoś też miał ten problem wcześcniej i zamieścił schemat. Czy ktoś opracował może wzór PCB dla zegarka ze wspólnymi katodami 6-cio cyfrowego? Czyli z tymi driver`ami? Byłbym bardzo wdzięczny jeżeli ktoś by zamieścił.

    Jeszcze jedna sprawa: czy mogę razem z układem w obudowie umieścić transformatorek sieciowy? Odległość to jakieś 3-4cm
  • #305
    unnamed23
    Level 12  
    Jeżeli te drivery są ciężko dostępne to można to przerobić z poziomu softu?
  • #306
    oj
    Level 42  
    ULN są łatwo dostępne, UDN można kupić w AVT, TME.

    Sens stosowania UDN/ULN jest przy dużych wyświetlaczach.

    Przy małych należy zamienić tranzystory na N-P-N (emiter na masę) oraz zmienić kody cyfr w programie.

    Kody źródłowe są tylko do starszych wersji programu
  • TermopastyTermopasty
  • #307
    unnamed23
    Level 12  
    No ja mam małe wyświetlacze czyli zmienie tranzystory na npn. Mam starszą wersję programu ze źródłami bodajże wersji 6-cio cyfrowej. Jakie linijki na jakie zmienić? No i jeszcze prosiłbym schemacik jak podłączyć te tranzystory (jakoś mam trudności z nimi zawsze). Z góry dziękuję.
  • #308
    yogi009
    Level 43  
    Mam potrzebę zbudowania na szybko zegarka do kuchni, podoba mi się ten projekt, jednak wolałbym nie pomylić wersji płytki i oprogramowania. Planuję go wykonać na małych wyświetlaczach LED (ok. 0.5") z czujnikiem DS18B20. Zastanawiam się, czy nie pomyliłem miejsc podłączenia (i ilości) switch'y programujących, proszę o ew. korekty poniższego schematu.

    Kolejny zegarek LED na AtMega8, ale dokładny
  • #309
    oj
    Level 42  
    Na schemacie:
    Brak fotorezystora
    Brak rezystorów wyświetlacza na porcie PD
    Dla DSa powinien być dodany zewnętrzny rezystor 4k7
    Przy Atmegdze na pinach zasilania z 100nF
    Zasilanie DSa można by przenieś na stronę anoda D1
    Napięcie zasilania nie wyższe niż 15V



    PC4/PC5 było dla wersji 6 cyfr
    PB4/PB5 było dla wersji 4 cyfr

    To akurat to można zmienić w źródle programu
  • #310
    yogi009
    Level 43  
    Dziękuję za cenne uwagi. Oto schemat z naniesionymi poprawkami:

    1. dodałem fotorezystor (wczoraj późna pora była :-) )
    2. rezystory ograniczające prąd wyświetlaczy LED zaplanowałem na płytce wyświetlaczy,
    3. podciągnąłem +5V przez rezystor 4k7 do czujnika temperatury,
    4. dorzuciłem dwa kondensatorki odsprzęgające 100nF do pinów 7 i 20,
    5. przeniosłem switche 1 i 2 na port B,

    Pytania:

    1. czy w tym układzie switch "Reset" posiada jakąś funkcjonalność?
    2. czy przy switchach nie przydałyby się kondensatorki tłumiące drgania styków?

    Kolejny zegarek LED na AtMega8, ale dokładny
  • #311
    oj
    Level 42  
    Schemat ma błędy:
    Fotorezystor i rezystor R9 muszą być podłączone do wyjścia stabilizatora +5V; anoda D1.

    Reset jest tylko awaryjnie, teoretycznie w przypadku z zbyt niskiego napięcia na C3 w czasie podtrzymania ale i tak po powrocie napięcia zasilania się zresetuje. C1 można pominąć, R5 zostawić

    Dodał bym złącze programowania ISP

    Drganie styków jest zrobione programowo
  • #312
    yogi009
    Level 43  
    No tak, dość oczywisty (i niewyłapany) błąd z tym podłączeniem FR i R9. Reset i C1 wyrzuciłem, drgania styków wyjaśnione, M8 programuję zewnętrznie, organicznie nie lubię wiercić otworów pod złącze Kanda-10 :-) Dzięki za cenne korekty, poniżej poprawiony schemat, mam nadzieję, że tym razem bez błędów.

    Kolejny zegarek LED na AtMega8, ale dokładny
  • #313
    oj
    Level 42  
    Teraz jest dobrze.

    W pierwszej wersji, diody dwukropka nie były podłączone pod multipleksowane anody wyświetlacza tylko zasilane bezpośrednio z napięcia zasilania + rezystor; można taka opcję dodać
  • #314
    yogi009
    Level 43  
  • #315
    yogi009
    Level 43  
    No więc jednak mam pytanie o zaprogramowanie tej Atmegi. Z ustawianiem fusebitów nie mam zbyt dużego doświadczenia, dodatkowo programuję w konsoli linuksowej (programator USB Prog II kompatybilny z STK-500). W konsoli ustawienie fusebitów proste jednak nie jest, więc spróbowałem instalacji AVR Studio (tym razem pod XP). Wersja Atmel Studio 6 Full nie widziała programatora (mimo, że system go kulturalnie ustawił jako COM3), podobnie wersja 5, natomiast wersja 4 jak najbardziej (i takie niespodzianki lubię najbardziej), mogłem odczytać sygnaturę kontrolera, a także wpisać hex. Niestety w wersji 4 nie ma kompletu tych wszystkich fusebitów, w związku z czym jeden kontroler już zablokowałem (trzeba będzie zrobić programator HV).

    Moje pytanko jest proste: czy ktoś się orientuje jak (najlepiej w konsoli linuksowej z poziomu komend AVR Dude zaprogramować ten wsad i jednocześnie elegancko ustawić polecany rządek fusebitów?

    Drugie pytanko: jak w linii polecenia AVR Dude ustalić prędkość komunikacji na zalecane dla mojego programatora? W AVR STudio 4 można to wybrać z listy.

    Pytanko 3: pod linuksem doinstalowałem nakładkę burn-o-mat, jednak są jakieś kłopoty z dostępem do urządzenia USB, więc też nie ma możliwości graficznego ustawienia "fusów" - chętnie przyjmę wszelkie praktyczne wiadomości.

    W obecnym ustawieniu (standardowe dla M8) zegareczek zasuwa jak ruski czołg w kierunku Sewastopola :-)
  • #316
    bb84
    Level 21  
    Wyrzeźbiłem zegarek na kawałku uniwersalnej według poniższego schematu. Używam zmodyfikowanego softu z postu #46 (Zeg_v2a_zrodla.zip). Wkleiłem kawałek kodu dotyczący czujnika temperatury (DS18B20) i przerzuciłem wyjścia uC. Są dwa problemy. Po włączeniu zasilania przez jakiś czas świecą też nieaktywne segmenty, wskazań na wyświetlaczu praktycznie nie widać. Po pewnym czasie się to normuje. Druga rzecz to 4 kropki, które połączone są katodami. Świecić powinna kropka po 2 cyfrze. Czy autor byłby tak miły i wrzucił fragment kodu dla źródła z drugiej strony wątku, który wyeliminuje ten problem ?

    Kolejny zegarek LED na AtMega8, ale dokładnyzegarek_un...na_sch.png Download (134.66 kB)

    Kolejny zegarek LED na AtMega8, ale dokładnyIMG_201707...912558.jpg Download (2.04 MB)

    Kolejny zegarek LED na AtMega8, ale dokładnyIMG_201707...954490.jpg Download (2.56 MB)

    Kolejny zegarek LED na AtMega8, ale dokładnyIMG_201707...025383.jpg Download (2.76 MB)

    Powstaje też wersja w SMD dla standardowych wyświetlaczy WA 14.2mm. Schemat poniżej, dwa pytania:

    1. Można sobie odpuścić stabilizator 5V i zasilać układ z ładowarki/zasilacza/portu USB komputera czy ma on jakiś wpływ na dzielnik i wykrywanie zaniku napięcia ? jakie wartości powinny mieć w tym wypadku rezystory dzielnika R33/R34 ?
    2. Czy podłączenie DS18B20 jak na poniższym schemacie jest w tym układzie poprawne ? mam takowe w wersji na uniwersalnej i działa.

    Kolejny zegarek LED na AtMega8, ale dokładnyzegarek_do...md_sch.png Download (212 kB)

    Kolejny zegarek LED na AtMega8, ale dokładnyzegarek_do...ny_smd.png Download (97.45 kB)
  • #317
    Mis
    Level 14  
    Dioda D1 to Schotky 1N5817 czy pierwsza z brzegu dioda ? Bo podświetlanie innych segmentów, szczególnie takie co zanika po czasie wskazuje na byle jaką D1 albo uszkodzony goldcap.
    Co do reszty problemów, to pewnie problemy z softem. Użyj najnowszej wersji softu, czyli 3.4 i wszystko powinno hulać jak powinno.
    Tu nie da się przekleić fragmentu z najnowszego kodu do jakiegoś archaicznego. Po drodze było baaaardzo dużo zmian.

    Edit:
    Dobra, projekt stary jak węgiel, więc daję najnowsze źródła v 3.4 (sprzed 6 lat :-) )
  • #318
    bb84
    Level 21  
    Dioda to jakaś pierwsza lepsza schottky barrier 1A, nie pamiętam symbolu. W HEXie nie zamienię wyjść uC ...

    Jak rozumiem stabilizator nie ma wpływu na detekcję zaniku napięcia i można zasilać bezpośrednio z zasilacza 5V ? podłączenie DSa też obojętne ?

    EDIT: Wielkie dzięki ! ;)

    Dodano po 6 [godziny] 21 [minuty]:

    Niestety wersja 3.4 u mnie nie działa. Po podłączeniu zasilania świecą wszystkie segmenty, stabilizator się grzeje i brak reakcji na klawisze, resetowanie też nie pomaga. Wgrywałem HEXa i skompilowane źródła.
  • #319
    Mis
    Level 14  
    Co do stabilizatora, to ma niewielki wpływ, bo testowanie napięcia przed stabilizatorem powoduje że zegarek przechodzi w uśpienie zanim napięcie za stabilizatorem spadnie poniżej napięcia na goldcapie. Czyli krótko mówiąc procesor nie wychłepce goldcapa zanim pójdzie spać. Pomiar głównego napięcia 5V będzie wymagał przeliczenia wartości rezystorów dzielnika, oraz spowoduje skrócenie czasu działania na podtrzymaniu, bo procesor będzie działał pełną parą dopóki nie stwierdzi braku prądu (co stanie się później niż normalnie) czerpiąc przy tym trochę prądu z goldcapa.
    Co do niedziałania to nie wiem. Masz źródła, więc szukaj co masz inaczej w stosunku do oryginału. Być może że zawartość eeprom po starszym sofcie coś kaszani, więc może zacznij od wykasowania eeprom'a w procku.
  • #320
    Mis
    Level 14  
    Heh, wydawało się że ten projekt trafił na dobre do zamrażarki, bo działa i nic więcej mu nie trzeba...
    Ale nie, zachciało mi się samoustawialnego zegarka :D
    Wziąłem więc walający się po szufladzie moduł ESP-01 (na ESP8266), środowisko arduino i... wymodziłem dodatek pobierający czas z internetu przez WiFi 8-)
    Podłączony jest do zegarka przez onewire, czyli tak jak czujnik temperatury, emulując unikalne urządzenie onewire slave (oczywiście może działać razem z czujnikiem temperatury), i periodycznie (co około 12h) łączy się z internetem przez WiFi i pobiera czas z serwera NTP :)
    Sieć i hasło do której ma się podłączyć można konfigurować z poziomu smartfona albo jakiegokolwiek innego ustroistwa wyposażonego w wifi i przeglądarkę (potrafi stworzyć accespoint ze stroną konfiguracyjną).
    Program jest tak zrobiony aby zminimalizować pobór prądu przez ESP8266. I tak podczas łączenia do routera i pobierania czasu bierze około 70-80mA, a potem się rozłącza pobierając w czuwaniu około 16mA. Nie użyłem trybu deep-sleep bo w czuwaniu sprawdzane jest ewentualne nowe żądanie pobrania czasu przez zegarek. Po za tym aby użyć deep-sleep w ESP-01 trzeba lutować drutki wprost do padów ESP8266, a tego mi się nie chciało :roll:
    Na razie jeszcze nie publikuję softów, bo jeszcze ewoluują. Ale jak będą chętni do zabawy to coś przygotuję.
    W jednym moim zegarku już działa, drugi czeka na kolejny ESP-01 od naszych żółtych braci.
    Sprzętowo to prymityw. ESP + stabilizator 3.3V + 2 kondensatory i 2-3 rezystory.
    Programowo jest trochę więcej zabawy, bo nowy soft do zegarka, oraz zaprogramowanie ESP8266 w arduino.

    Heh, projekt po 6 latach wyjęty z zamrażalnika...
  • #321
    Ventran
    Level 12  
    Pełna deweloperka długoterminowa. Bardzo dobrze, że projekt po tylu latach, wciąż jest modyfikowany i ulepszany. Projekt ten było podstawą do wykonania mojego zegara, kiedy to wchodziłem w świat procków. Dziękuję autorowi.
  • #322
    nexia
    Level 18  
    Kolejny zegarek LED na AtMega8, ale dokładnyKolejny zegarek LED na AtMega8, ale dokładny

    Witam kolegów. Zbudowałem już parę zegarów LED na Atmega8 z tego tematu na większych wyświetlaczach ale czerwonych, pierwszy raz mam dziwny objaw na kolorze ultra-blue, a mianowicie segmenty w dużych wyświetlaczach palą się nierównomiernie- jak na foto.
    Ale od początku; zegar 6 cyfr z tego tematu, cztery typu AS-23011BMG-B (CYFRA 56,8mm CYFRA (2,3") Ultra-GREEN (WA)) plus dwa mniejsze. Z tymi dużymi jest problem, bo na mniejszych tego nie widać . Zasilane segmentów od katod przez ULN2803 + rezystory 10 ohm, anody poprzez układ dwóch tranzystorów (BC556+BC546) z postu Mis (str. 6). Zasilanie zegara z 12V/2A stabilizowanego zasilacza. Przy wyświetlaniu pełnej ósemki segmenty "a","b" ,"d","e" świecą wyraźnie jaśniej od pozostałych. Najsłabiej świeci segment "g", i on na foto ma już zmieniony rezystor na 5 ohm- dalej słabo . Przy wyświetlaniu jedynki (jak na foto) wyraźnie to widać. Wyświetlacze przy pracy statycznej sprawdzone, wtedy wszystkie segmenty świecą jednakowo, pobierają ten sam prąd. Wygląda że wyświetlacze jest ok. Przy słabym oświetleniu, kiedy zegar nie pobiera takiego prądu i świeci słabiej sytuacja się nie zmienia, dalej występuje nierównomierne świecenie. Próbowałem zrobić darlingtona z 2x BC556+1xBC546, bez zmian. Zasilałem z innego zasilacza, mocniejszego monitorowego zasilacza 12V/5A, próbowałem z 9V, ale różnica jest nadal. Czym mniej segmentów jest włączonych tym bardziej świecą te włączone.
    Ma ktoś jakiś pomysł, jakieś wytłumaczenie.
    Zapomniałem dodać, wymieniałem również ULN2803 na inne egzemplarze, nie pomogło. Jeszcze parę fotek.
    Kolejny zegarek LED na AtMega8, ale dokładny
  • #323
    Mis
    Level 14  
    BC556 jest za słaby do napędzania anod dużych wyświetlaczy. Ma tylko 100mA prądu. Tak więc sugeruję zmianę ich na BC327 (0.8A) lub BC640 (1A).

    Do tego wydaje mi się że 10 ohm w katodach to trochę za mało. Wyświetlacze mają po 4 diody na segment, a więc spadek napięcia na nich będzie około 9V. Zasilasz to z 12V. Dla tych wyświetlaczy prąd w impulsie nie powinien raczej przekraczać 150mA, więc 22omy powinny być OK.

    Trzecia rzecz, to jeśli użyte tranzystory PNP (BC327, BC640) będą miały małe wzmocnienie to konieczne może się okazać zmniejszenie rezystora między kolektorem NPN a bazą PNP z 2.2k na 1k.
  • #324
    nexia
    Level 18  
    Też się zastanawiałem nad tymi tranzystorami, czy dają radę, ale są zimne. Jednak przy słabym oświetleniu kiedy zegar słabo świeci powinno być ok, a nie jest. Przecież wtedy tranzystory nie są tak obciążone. Próbowałem zrobić z tranzystorów pnp układ darlingtona, czyli zwiększyć wzmocnienie ale nic to nie dało. Identyczny układ sterowania ( ULN2803+ 10ohm, te same tranzystory + zas.12V) jak dotychczas stosowałem do wyświetlaczy tej samej wielkości czerwonych w trzech zegarach i tam tego efektu nie zauważyłem. Zwiększenie rezystorów do 22ohm może pomóc, bo przecinek przy wyświetlaniu temperatury jest raczej żółty niż zielony. Zastosuję Twoje rady, zobaczymy.
  • #326
    nexia
    Level 18  
    Faktycznie. Masz całkowitą rację , przecież to pwm steruje jasnością. Dziękuję za naprowadzenie na właściwą drogę, cały czas myślałem że spada prąd, stąd słabsze świecenie i tranzystor powinien dać radę. Zupełnie nie wiem dlaczego nie wziąłem tego pod uwagę. Człowiek się całe życie uczy.
  • #327
    matuch
    Level 11  
    Mam pytanie jaki fotorezystor zastosować
    Lub może przy jakim napięciu na procesor ( dzielnik rezystancyjny) działa ściemnianie
    Proszę o radę
  • #329
    matuch
    Level 11  
    Dziękuje za odpowiedz
    Mama fotorezysory 10k i musiałem poeksperumentować zamiast rezystora 22k dałem 5.6k i ściemnianie zaczęło działać
    Bardzo fajny projekt,
    Robię teraz trzy takie zegarki na gwiazdora a w domu działają już dwa w starszej wersji.
  • #330
    milek22
    Level 13  
    Witam serdecznie.

    Bardzo spodobał mi się zegarek autora postu i wszelkie cenne uwagi forumowiczów.

    Mam pytanie czy ten kod źródłowy mogę kompilować w eclipse? czy też muszę szukać innego środowiska. Mam windows 10.


    Z góry dziękuję i pozdrawiam