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

AVR - sterowanie wspólną anodą LED 7-segm.?

robiw 24 Gru 2008 08:32 7722 12
REKLAMA
  • #1 5897627
    robiw
    Poziom 26  
    Witam,
    Wiem problem banalny tyle że ciemnota zupełna mnie naszła i pomimo dobrego jak się wydaje układu tranzystory nie chcą się nasycać.
    Wyświetlacz 7-segm. ze wspólną anodą. Katody przez rezystory 220ohm bezpośrednio do portu PORTB (aktywne "0") a wspólne anody sterowane przez tranzystory SMD BC807-40 (PNP 45V 500mA hfe>250) - typowy układ: emiter do +5V, baza przez rezystor 2.2kohm do portu PORTC (aktywne "0") a kolektor do wspólnej anody. Wyświetlacz w kolorze NIEBIESKIM. Sterowanie na każdy wyświetlacz po 5ms. Wyświetlacz nie chce świecić.

    Już mi zabrakło pomysłów co może nie być tak. Fakt w Atmedze8 nie podłączyłem nóżki AGND do masy (ponoć i tak w strukturze jest podłączona) a AVCC do +5V (w dokumentacji piszą, że to zasilanie portu PORTC nawet ja się nie korzysta z ADC) ale po podłączeniu tego ostatniego do +5V i tak nie działa.

    Coś przeoczyłem? robiw
  • REKLAMA
  • #3 5897670
    robiw
    Poziom 26  
    Kod. Nawet testowy nie działa.
    Port B i C jako wyjścia,
    Na port B daję cyfrę (steruje katodami)
    Pin portu C sterujący 1-sza cyfrą na "0" (steruje bazami BC807-40)
    czekam 5ms
    ten port na "1"
    ....
    i tak dla kolejnych cyfr
    Totalna podstawa a nie działa - tranzystory nie kluczują... robiw
  • REKLAMA
  • #5 5897716
    Limonit
    Poziom 13  
    ZbeeGin napisał:
    Chcielibyśmy jednak ten kod zobaczyć... Chyba, że to tajemnica.


    Kod się przyda. Ale niech kolega spróbuje kawałkiem drutu pozwierać bazy i katody do masy i zasilania. Może okazać się, że coś jest nie tak z wyświetlaczem, albo tranzystorami, albo coś zwyczajnie nie łączy.
    Może też być taka sytuacja, że spadek napięcia na tranzystorach jest za duży i wyświetlacz nie zacznie przewodzić. Nie powinno być to problemem, ale może.
    Wtedy może pomóc użycie jakichś tranzystorów NPN w układzie wspólnego kolektora, oszczędzisz rezystor na stopień (bazy prosto do ATmegi), a tranzystor na pewno się nasyci.
    Zasilanie przetwornika AC zawsze należy podłączyć. Bez tego port, na którym przetwornik działa, w tym wypadku PORTC, zachowuje się jak z otwartym drenem na stopniu wyjściowym.
    No a jak to nie zadziała, sprawdź czy sam wyświetlacz pali się podłączony do zasilania. Popróbuj pracy statycznej (uważaj, żeby nie przepalić - w impulsie zniesie więcej). Sprawdź stany wyjściowe na portach.
    I w końcu daj kod, może coś tam znajdziemy.
    Pozdr.
  • #6 5897718
    robiw
    Poziom 26  
    
    'Multipleksujemy
      Portb = Lookup(btemp1 , Digits)
      Reset Portc.7       'Anoda dziesiątek
      Waitms 5
      Set Portc.7
    
      Portb = Lookup(btemp2 , Digits)
      Reset Portc.6       'Anoda jedności
      Waitms 5
      Set Portc.6
    


    Myślę, że problem jest w rezystorach ograniczających prąd katod wyświetlaczy. Przy napięciu stanu "0" rzędu 0.6V, spadku napięcia na złączu CE tranzystora i napięciu przewodzenia niebieskich diod segmentów rzędu nawet 3.5V (nie mam danych tego LED) te rezystory są za duże i efekt jest taki jaki jest...robiw
  • REKLAMA
  • #7 5897792
    Limonit
    Poziom 13  
    Kod wygląda dobrze.
    Sam sobie chyba odpowiedziałeś.
    Spróbuj ustalić punkt pracy wyświetlacza.
    Eksperymantalnie z różnymi opornikami.
    Kiedy będziesz znał prąd, możesz określić w przyblizeniu
    spadek napięcia na tranzystorze oraz wartość stanu niskiego na porcie,
    z eleganckich wykresów w karcie katalogowej.
    Wszystko to jest obarczone błędem, ale pomylisz się dwukrotnie a nie dziesięciokrotnie :)
    Sam własnie zrobilem podobny projekt, tylko, ze wyświetlacz był żółty.
    Dalem rezystory 560R i tranzystory BC547. Świeci całkiem jasno. Segmenty zaczynały świecić już od około 1,9V.
  • REKLAMA
  • #8 5897830
    ZbeeGin
    Poziom 39  
    Nie zapominaj, że jest to sterowanie dynamiczne, zatem prąd wyliczony w stanie statycznym nie jest dobrym wykładnikiem dla wyświetlacza dynamicznego - gdzie liczy się prąd średni.
  • #9 5897873
    robiw
    Poziom 26  
    Pamiętam. Tak jak myślałem problem tkwił w rezystorach ograniczających prąd katod - to dotyczy zwłaszcza wyświetlaczy niebieskich, które mają wysokie napięcie przewodzenia. Rezystor sterujący bazą tranzystora PNP pozostał 2.2K zaś te na katodach powinny być w granicach 150Ω. W stanie statycznym przy takim rezystorze prąd katody wynosi 10mA; w stanie dynamicznym jako, że współczynnik wypełnienia wynosi 1/2 (po 5ms na każdy segment) prąd ten jest rzędu 5mA (średni na każda z katod). Dla 7 zapalonych segmentów chwilowy prąd wyniesie około 70mA i generalnie nie zwiększałbym go, gdyż obciążalność portu jeśli dobrze pamiętam nie może przekraczać 100mA. To chyba tyle w temacie. Kod jest banalnie prosty więc jego przytaczanie miało niewielki sens ale rozumiem, że czasami trudno jest dostrzec banalny błąd...pozdrawiam... robiw
  • #10 5902387
    asembler
    Poziom 32  
    tak jak napisał poprzednik z tym ze w zaleznosci jaki to wyswietlacz tam może byc kilka diod połaczonyc szeregowo, wiec najbezpieczniej jest zmierzyc spadek napiecia na jednym segmencie wyswietlacza i ewentualnie zasilic wyswietlacz z wyższego napiecia. Ja zasilam wyswietlacze niebieskie i biale z 12V.
  • #11 5988738
    koraspl
    Poziom 2  
    Siemka mam taki problem Mam 6 wyswietlaczy 7 segmentowych sa zrobione multiplexowo ale swieca tylko 2 pierwsze i nie mam pojecia czemu . Mozliwe ze warosci rezystorow lub czegos innego sa zle dobrane.
    Schemat ogolnie wyglada tak http://www.imagic.pl/public/pview/235019/wyswietlacze.JPG a tu z procem schem,acik http://www.imagic.pl/public/pview/235020/procesor.JPG Jak juz pisalem swieca tylko 2 pierwsze
    Z nozek proca ida przez rezystory 510R pozniej do tranzystorkow BC557C http://www.nxp.com/acrobat_download/datasheets/BC556_557_4.pdf no i do wsplolnych anod wyswietlaczy
    Z drugich portow steruje segmentami Sygnal idzie poprzez bufor 74ls07 http://www.seguro.pl/sklep/?zobacz=2615&producent= . Wczesniej mialem inne wartosci rezystorow byly one wieksze i przez chwiloe wszystko dzialalo
    Nie wiem czeme ale dzialalo Jakby ktos mial jakis pomysl to prosze o pomoc Gdzies na elektrodzie sie doczytalem ze to wlasnie te wartosci rezystorow moga cos mieszac a moze przepalilem tranzystory tylko ze je juz wymienialem i dalej to samo ...
  • #13 5989667
    koraspl
    Poziom 2  
    Dziekuje Ci bardzo :) dziala
REKLAMA