logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Atmega8][C] Zegar binarny, bez użycia tranzystorów

mxmx 15 Wrz 2008 19:40 6105 12
REKLAMA
  • #1 5538288
    mxmx
    Poziom 2  
    Witam!

    Dopiero zaczynam przygodę z avr i niestety jestem programistą, a nie elektronikiem, więc staram się nauczyć niezbędnej wiedzy.

    Chcę wykonać mały zegar binarny i czytając dokumentację Atmegi8 natrafiłem na:
    Cytat:
    1] The sum of all IOH, for all ports, should not exceed 300 mA.
    2] The sum of all IOH, for port C0 - C5, should not exceed 100 mA.
    3] The sum of all IOH, for ports B0 - B7, C6, D0 - D7 and XTAL2, should not exceed 200 mA


    Z moich wyliczeń wynika, że mając diody pracujące na prądzie 20mA, pomijając wyświetlanie sekund (zamiast tego migająca jedna dioda) i odpowiednio rozdzielając je między portami mogę pominąć wykorzystanie tranzystorów, bo atmega8 powinna wytrzymać obciążenie.

    Doszedłem, że maksymalnie jednocześnie będzie się świeciło 10 diod (w godzinach 17:37, 17:57, 23:57 i 23:37). Tak więc całkowite obciążenie wyniesie maksymalnie 10 x ~20 mA = ~220mA, tzn 80mA zapasu :)

    Dalej do portu C przydzielając 4 ostatnie diody, gdzie maksymalnie jednocześnie zaświecą się 3 diody (gdy będą miały wartość 7). To da na port C jakieś 3 x ~20mA = ~60mA, czyli mam zapasu ok. 40mA

    Resztę diod rozdzielając na porty B i D, gdzie maksymalnie zaświeci się 5 diod + jedna migająca sekundowa. To da maksymalnie 6 x ~20 mA = ~120 mA, wiec zapas = ~80 mA.

    Aby ograniczyć prąd do 20mA dam oporniki o wartości 147 Ohm, co przy spadku napięciu na diodzie ok 2V da właśnie mniej/więcej 20mA.

    Zamieszczam poglądowy schemat, i chciałbym zapytać, czy coś takiego ma szanse istnieć :P .. i czy coś warto by było w tym zmienić.
    [Atmega8][C] Zegar binarny, bez użycia tranzystorów

    Aha, RTC będę realizował za pomocą timera asynchronicznego z kwarcem 32,768 kHz (z noty AVR134).

    Pozdrawiam, i będę wdzięczny za odpowiedzi!
  • REKLAMA
  • Pomocny post
    #3 5538827
    Dr.Vee
    VIP Zasłużony dla elektroda
    Wygląda OK.

    Kup diody o podwyższonej jasności, w zależności od oświetlenia zewnętrznego kilka miliamperów spokojnie wystarczy.

    Zakładasz 2V spadku na LED - ale tylko na czerwonych, inne kolory mają wyższe spadki.

    Zastanów się, w jaki sposób wykonać programową kalibrację częstotliwości kwarcu, bo idealnych 32,768Hz na pewno nie uzyskasz.

    Pozdrawiam,
    Dr.Vee
  • #4 5538915
    mxmx
    Poziom 2  
    Fakt, pobór prądu jest nieco nad wyrost, ale poprostu obawiałem się o wytrzymałość atmegi :) .. (np mogłem coś pomylić w dokumentacji :P)

    Hmm, co do kalibracji, to postaram się zrobić jakąś poprawkę programową, narazie układ zlutuje :), i napisze program jak najprosciej, później zastanowię się nad dokładnością pomiaru czasu.

    To tylko pierwsze podejście, jak się uda, zaprojektuję coś, co będzie ładnie wyglądało (jaśniejsze diody, jakies opakowanie).

    Dzięki wielkie :)
  • REKLAMA
  • #5 5538986
    Konto nie istnieje
    Konto nie istnieje  
  • #6 5539575
    skynet_2
    Poziom 26  
    kazaaski napisał:
    Lepiej gdybyś rezystory dał pod vcc - diody będą się wtedy zapalac stanem niskim na porcie. Tak jest kozystniej jeśli chodzi o obciązenia portu.


    właściwie to nie ma znaczenie ponieważ atmega ma wydajność prądową równą +/-20mA. Wyjście jest załączane przez tranzystor unipolarny z rezystorem[prawdopodobnie w drenie] ograniczającym prąd[50 strona datasheeta]. Oczywiście są 2 tranzystory zamykające jeden do Vcc i drugi do masy.
  • #7 5539969
    mxmx
    Poziom 2  
    skynet_2 napisał:

    właściwie to nie ma znaczenie ponieważ atmega ma wydajność prądową równą +/-20mA. Wyjście jest załączane przez tranzystor unipolarny z rezystorem[prawdopodobnie w drenie] ograniczającym prąd[50 strona datasheeta]. Oczywiście są 2 tranzystory zamykające jeden do Vcc i drugi do masy.


    Z tego jak ja zrozumiałem, to maja wydajność większą, niż 20 mA, ale po prostu nie można przekroczyć wartości ograniczonej na dany port/porty, tak dokładnie pisze w dokumentacji.

    Oryginalny tekst:
    Cytat:
    Although each I/O port can source more than the test conditions (20mA at Vcc = 5V, 10mA at Vcc = 3V) under steady state
    conditions (non-transient), the following must be observed:
    PDIP, TQFP, and QFN/MLF Package:
    1] The sum of all IOH, for all ports, should not exceed 300 mA.
    2] The sum of all IOH, for port C0 - C5, should not exceed 100 mA.
    3] The sum of all IOH, for ports B0 - B7, C6, D0 - D7 and XTAL2, should not exceed 200 mA.



    --- Edit ---
    Chociaż mogę się mylić.

    Cytat:
    Pins are not guaranteed to source current
    greater than the listed test condition.


    No dobra mamy gwarantowany 20mA ;) Tylko dlaczego pisza, najpierw, ze mozna przekroczyc, a potem, ze gwarantuja tylko 20 mA ;P
  • REKLAMA
  • #8 5542614
    skynet_2
    Poziom 26  
    mxmx napisał:

    Cytat:
    Pins are not guaranteed to source current
    greater than the listed test condition.


    No dobra mamy gwarantowany 20mA ;) Tylko dlaczego pisza, najpierw, ze mozna przekroczyc, a potem, ze gwarantuja tylko 20 mA ;P


    Porty razem pociągną 400mA ale z osobna np. jak używasz tylko PINA,0 mogą dać więcej niż 20mA, proste.

    Właściewie chyba chodzi o moc wydzielaną na atmedze ponieważ przy zbyt dużym prądzie mogła by się zacząć grzać.
    (20mA * 24 piny = 480mA) * 5V = 2,4 W a to juz trochę ciepła jest.
  • #9 5542750
    marek-c
    Poziom 19  
    A może podłącz wyświetlacz LCD... Wystarczy podłączyć 6 pinów do Atmegi, zasilanie masę, są gotowe biblioteki, a i do pisania programów się przydaje.

    Marek
  • REKLAMA
  • #10 5542808
    Dr_DEAD
    Poziom 28  
    skynet_2 napisał:

    Właściewie chyba chodzi o moc wydzielaną na atmedze ponieważ przy zbyt dużym prądzie mogła by się zacząć grzać.
    (20mA * 24 piny = 480mA) * 5V = 2,4 W a to juz trochę ciepła jest.

    Hehe, przy 2.4W to struktura osiągneła by 200stC pewnie w kilkanaście sekund pracy. Powinno raczej być prąd*spadek_napięcia_na_pinach = 480mA * 0.2V = 0.1W
  • #11 5544006
    skynet_2
    Poziom 26  
    Dr_DEAD napisał:

    Hehe, przy 2.4W to struktura osiągneła by 200stC pewnie w kilkanaście sekund pracy. Powinno raczej być prąd*spadek_napięcia_na_pinach = 480mA * 0.2V = 0.1W


    spadek napięcia na pinach będzie się różnił w zależności od obciążenia.
    jeżeli PINA,0 ma stan wysoki a zewrzemy do z masą to popłynie maxymalny prąd czyli te 20mA, spadek napięcia będzie więc w kontrolerze na ograniczającym prąd rezystorze i na nim będzie nadal 5V.
    przy 2.4 W atmega w obudowie DIL powinna się rozgrzać do jakiś 60-80*C.

    Trochę mnie to zaciekawiło więc jak będę miał chwilę to ustawie na wszystkich portach stan wysoki[również jakoś je obciążę] i pomierzę ile cała atmega pobiera
  • #12 5546024
    Dr_DEAD
    Poziom 28  
    skynet_2 napisał:

    ....
    jeżeli PINA,0 ma stan wysoki a zewrzemy do z masą to popłynie maxymalny prąd czyli te 20mA, spadek napięcia będzie więc w kontrolerze na ograniczającym prąd rezystorze i na nim będzie nadal 5V.
    przy 2.4....

    Hehe, jak zrobisz zwarcie atmedze na jednym pinie, przy zasilaniu jej z 5V to przez ten pin popłynie od 80 do 110mA. Powodzenia w eksperymentowaniu. :-]
  • #13 5547879
    skynet_2
    Poziom 26  
    Dr_DEAD napisał:

    Hehe, jak zrobisz zwarcie atmedze na jednym pinie, przy zasilaniu jej z 5V to przez ten pin popłynie od 80 do 110mA. Powodzenia w eksperymentowaniu. :-]


    to był tylko przykład teoretyczny, nie mam zamiaru smarzyć mojej atmegi :D
REKLAMA