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

atmega8 - Schemat termometr

shady79 12 Sty 2014 12:53 2184 19
  • #1 12 Sty 2014 12:53
    shady79
    Poziom 13  

    Witam,

    Mógłby ktoś zerknąć na schemat i podpowiedzieć czy zrobiłem to tak jak trzeba czy może należy coś zmienić??

    atmega8 - Schemat termometr

    Pozdr.
    Kuba

    0 19
  • Arrow Multisolution Day
  • #2 12 Sty 2014 13:30
    BlueDraco
    Specjalista - Mikrokontrolery

    Na tym schemacie praktyczne nic nie jest podłączone do mikrokontrolera, więc nie ma co sprawdzać.

    0
  • Arrow Multisolution Day
  • #3 12 Sty 2014 13:42
    shady79
    Poziom 13  

    BlueDraco napisał:
    Na tym schemacie praktyczne nic nie jest podłączone do mikrokontrolera, więc nie ma co sprawdzać.


    wszystko jest podłączone.

    0
  • #5 12 Sty 2014 17:16
    shady79
    Poziom 13  

    wyświetlacz mam z odzysku, niestety nie mogę nic na jego temat znaleźć konkretnego w necie, założyłem wstępnie, że wyprowadzenia ma takie jak na schemacie. Będzie to chyba łatwo sprawdzić podłączając zasilanie na odpowiednie nóżki.

    atmega8 - Schemat termometr

    0
  • #6 12 Sty 2014 18:02
    emarcus
    Poziom 35  

    shady79 napisał:
    Witam,

    Mógłby ktoś zerknąć na schemat i podpowiedzieć czy zrobiłem to tak jak trzeba czy może należy coś zmienić??

    O ile pod względem ERC ('Electrical Rule Check' - kompletności połączeń) możnaby ten schemat zaakceptowac, to pod względem projektowym zostały pominięte zasady doboru elementów zgdnie z ich datasheet. Tak jakby te elementy nie miały ograniczeń.
    W praktyce tak nie jest (!).
    Przy projektowaniu układu należy przyjmowac najgorsze możliwe warunki pracy.
    W tym wypadku będzie to wyświetlanie cyfry '8' na wszystkich czterech pozycjach.
    Multiplexing w obwodzie anod odciąża jedynie tranzystory kluczujące, które i tak mają dostateczną nadwyżkę mocy.
    Zwróc uwagę na drugą stronę (zasilanie cathod).
    Niezależnie która cyfra w danym momencie wyświetla '8' , wszyskie piny portu są obciążone; inaczej mówiąc zawsze są pod obciążeniem.
    Obliczmy jego faktyczną wartośc.
    W każdym obwodzie masz: Zasilanie (5V)- tranzystor BJT (spadek napęcia generalnie przyjmuj 0.7V)- dioda LED/segment (spadek napięcia przyjmijmy średnio 2V) - rezystor 100 ohms (pozostały spadek napięcia 2.3V).
    Z prostego rachunku otrzymujesz rzeczywiste obciążenie 23mA na każdy pin portu C; oraz 23mA * 6 = 138 mA dla całego portu.
    Tymczasem, datasheet dla MEGA8 podaje:
    "3. Although each I/O port can sink more than the test conditions (20mA at Vcc = 5V, 10mA at Vcc = 3V) under steady state
    conditions (non-transient), the following must be observed:
    ..........
    2] The sum of all IOL, for ports C0 - C5 should not exceed 100 mA.
    "

    Jak widac w obydwu przypadkach masz przekroczone dopuszczalne wartości obciążeń, zarówno na każdy pin jak i dla całego portu C.

    e marcus

    0
  • #7 12 Sty 2014 18:02
    dondu
    Moderator Mikrokontrolery Projektowanie

    Nie ustaliłeś jeszcze pinów?
    Skąd w takim razie wiesz, że to wyświetlacz ze wspólną anodą?

    O wyświetlacz pytałem by ustalić jego napięcie przewodzenia (Vf) pojedynczej diody (segmentu).
    Skoro nie wiemy jaki to typ, to sprawdź amperomierzem wybraną diodę pod kątem wartości prądu jaki płynie przez pin mikrokontrolera w momencie gdy dioda się świeci (bez multipleksowania na razie). Oczywiście w takim układzie jaki masz na schemacie, czyli tranzystor wyświetlacz i rezystor.

    EDIT:
    Emarcus wyjaśnił Ci już coś, do czego chciałem byś sam doszedł :)
    Na wszelki wypadek dodam więc o prądach pinów: http://mikrokontrolery.blogspot.com/2011/03/datasheet-mikrokontroler-prady-pinow.html

    A to dopiero początek, bo przy multipleksowaniu jasność może okazać się zbyt niska i być może powinieneś zastosować bufor np ULN2803.

    0
  • #8 12 Sty 2014 18:27
    shady79
    Poziom 13  

    no dobra to muszę chyba zacząć od sprawdzenia tego wyświetlacza. Jak mogę ustalić czy jest on ze wspólną katodą czy anodą? Następnie zbadam jego pobór prądu ale nie mam jeszcze takich tranzystorów jak na schemacie, może uda mi się jakieś wylutować pnp z jakiejś płytki niepotrzebnej a następnie złożyć jakiś układzik razem na płytce stykowej.

    Odnośnie mikrokontrolera Atmega8 czy w związku z tym, że obciążenie może być za duże dla niego to go dyskwalifikuje czy można sobie z tym poradzić dokładając kolejne tranzystory??
    Sorry za takie pytania ale raczkuje dopiero w temacie elektroniki.

    0
  • #9 12 Sty 2014 18:42
    dondu
    Moderator Mikrokontrolery Projektowanie

    shady79 napisał:
    no dobra to muszę chyba zacząć od sprawdzenia tego wyświetlacza. Jak mogę ustalić czy jest on ze wspólną katodą czy anodą?

    Multimetrem.

    shady79 napisał:
    Następnie zbadam jego pobór prądu ale nie mam jeszcze takich tranzystorów jak na schemacie, może uda mi się jakieś wylutować pnp ...

    To się jeszcze okaże, bo może być to wyświetlacz ze wspólną katodą :)

    shady79 napisał:
    Odnośnie mikrokontrolera Atmega8 czy w związku z tym, że obciążenie może być za duże dla niego to go dyskwalifikuje czy można sobie z tym poradzić dokładając kolejne tranzystory??

    Podałem Ci rozwiązanie w poprzednim poście.

    shady79 napisał:
    Sorry za takie pytania ale raczkuje dopiero w temacie elektroniki.

    Nie masz za co przepraszać - każdy kiedyś zaczyna :)

    0
  • #10 12 Sty 2014 20:00
    shady79
    Poziom 13  

    Ustaliłem, że wyświetlacz jest ze wspólną katodą. Więc inny niż mam na schemacie. Zatem powinienem użyć tranzystorów npn gdzie emiter będzie podłączony do masy?

    0
  • #12 12 Sty 2014 22:19
    shady79
    Poziom 13  

    A gdyby zrobić tak:

    atmega8 - Schemat termometr

    Na razie bez wnikania w wartości konkretnych rezystorów, zastanawiam się czy dobra jest idea z zastosowaniem konkretnych tranzystorów wraz z ich podłączeniem.

    0
  • #13 13 Sty 2014 17:46
    shady79
    Poziom 13  

    no i co, może tak być?

    0
  • #14 13 Sty 2014 18:35
    emarcus
    Poziom 35  

    shady79 napisał:
    no i co, może tak być?

    Częściowo......
    To znaczy: sterowanie multiplexowania cyfr, możesz dac jak narysowałeś (tanzystory NPN), ale pozostaje ci ewentualna potrzeba zasilania anod (segmentów).
    Jeżeli ich prąd przekracza dopuszczalną obciążalnośc portu, wymagany jest tam wzmacniacz. Proponowany (jak na rysynku NPN) nie może byc stosowany; daj raczej PNP, lub możesz użyc zespolonego układu UDNxxxx (np. UDN2981 lub UDN2982), - analogicznie tak jak w przypadku wyswietlaczy typu CA (Common Anode) stosowałbyś dla segmentów układ ULNxxxx.

    Hint: Skoro ten wyświetlacz pochodzi z 'odzysku' to odszukaj jego org. źródło i tam znajdziesz czym był zasilany. Możesz te same elementy też odzyskac i utylizowac w swoim projekcie.

    e marcus

    0
  • #16 13 Sty 2014 21:47
    emarcus
    Poziom 35  

    shady79 napisał:


    Nie najlepiej to kombinujesz...
    Problemem jest ze: NIE CZYTYASZ Datasheet....(!)
    Powróc do rozdziału "Electrical Characteristics" - Atmel ATMega8, str. 243 - uwagi pod tabelą 'Notes:' - to miejsce z którego cytowałem poprzedni fragment.
    Bardzo niefortunnie wybrałeś zasilane segmentów z najsłabszego portu C0 - C6, które pozwala na sumaryczne jego obciążenie w granicach 100 mA.(!)
    Wybrałbyś inny port i mógłbyś miec do dyspozycji z grubsza 200 mA (punkt 3.3] )
    Bardziej sensowne byłoby sterowac multiplexing z protu C (dajesz tam tranzystory więc nie dbasz wiele o obciążenia) a dla segmentów wyznacz cały Port D bez dodatkowych wzmacniaczy zwracając jednak uwagę na bilans prądowy aby zmieścic sie w tych 200 mA. Na początek dałbym w obwodach segmentów po 150 do 200 ohms zamiast 100 co daje prąd rzędu If=~12-15mA dla LED co z kolei daje dośc jasne świecenie diod nawet przy multiplexing. U ciebie te liczby mogą se troche różnic, (brak dokumentacji, - pomocne byłyby pomiary sugerowane przez Dondu).
    Dalsze usprawnienie, możesz próbowac podmienic te kluczujące trazystory; w miejsce BJT daj 'Logic Level' N-MOSFET z ok. 100 ohms resistorem dla bramki.

    e marcus

    0
  • #17 13 Sty 2014 23:31
    shady79
    Poziom 13  

    Cytat:
    Nie najlepiej to kombinujesz...
    Problemem jest ze: NIE CZYTYASZ Datasheet....(!)
    Powróc do rozdziału "Electrical Characteristics" - Atmel ATMega8, str. 243 - uwagi pod tabelą 'Notes:' - to miejsce z którego cytowałem poprzedni fragment.
    Bardzo niefortunnie wybrałeś zasilane segmentów z najsłabszego portu C0 - C6, które pozwala na sumaryczne jego obciążenie w granicach 100 mA.(!)
    Wybrałbyś inny port i mógłbyś miec do dyspozycji z grubsza 200 mA (punkt 3.3] )


    Właściwie cytując fragment dokładnie co prawda ze strony 236:
    "The sum of all IOL, for ports B0 - B7, C6, D0 - D7 and XTAL2, should not exceed 200mA."
    to suma dla portów wyżej wymienionych nie może przekraczać 200 mA - więc i tak to za mało. Z tego wynika że cały port D wcale nie ma wydajności na poziomie 200mA jak piszesz poniżej. Zastanowię się chyba nad układem ULN2803 ewentualnie popatrzę jak to było zrobione na płytce z której pozyskałem ten wyświetlacz.


    Cytat:
    Bardziej sensowne byłoby sterowac multiplexing z protu C (dajesz tam tranzystory więc nie dbasz wiele o obciążenia) a dla segmentów wyznacz cały Port D bez dodatkowych wzmacniaczy zwracając jednak uwagę na bilans prądowy aby zmieścic sie w tych 200 mA. Na początek dałbym w obwodach segmentów po 150 do 200 ohms zamiast 100 co daje prąd rzędu If=~12-15mA dla LED co z kolei daje dośc jasne świecenie diod nawet przy multiplexing. U ciebie te liczby mogą se troche różnic, (brak dokumentacji, - pomocne byłyby pomiary sugerowane przez Dondu).
    Dalsze usprawnienie, możesz próbowac podmienic te kluczujące trazystory; w miejsce BJT daj 'Logic Level' N-MOSFET z ok. 100 ohms resistorem dla bramki.

    e marcus

    0
  • #18 14 Sty 2014 15:38
    emarcus
    Poziom 35  

    shady79 napisał:

    ....to suma dla portów wyżej wymienionych nie może przekraczać 200 mA - więc i tak to za mało.

    Wystarczy.., -bez obawy; dla pewności na początek zwiększ rezystory dla segmentów, powiedzmy daj ok. 350 ohms. W trakcie prób znajdziesz optymalną wartośc.

    e marcus

    0
  • #19 14 Sty 2014 16:12
    shady79
    Poziom 13  

    A czy pod względem merytorycznym taki schemat jest poprawny?
    atmega8 - Schemat termometr

    0