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

Sterowanie wyświetlaczem LED ze wspólną katodą na ATtiny2313 bez zmiany kodu

michal2666 15 Sty 2007 13:53 6668 31
REKLAMA
  • #1 3448909
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Witam !
    Mam pytanie, robię zegar na mikrokontrolerze ATtiny2313 ładnie wszystko działa na płytce testowej. Ale zorientowałem się że do właściwego urządzenia kupiłem wyświetlacze ze wspólną katodą. I tu pojawia się moje pytanie o sterowanie anodami. Mikrokontroler załącza segnemt stanem niskim, a w takim przypadku na tranzystor muszę podać stan wysoki, czy mogę zastosować jakiś inwerter ?? nie chciał bym ingerować w program bo trochę się nad nim nagłowiłem.
  • REKLAMA
  • #2 3449015
    Dar.El
    Poziom 41  
    Posty: 5450
    Pomógł: 750
    Ocena: 888
    Witam
    To nie będzie takie proste. Sterowanie wspólnymi katodami musi być z masy układu i tu musisz przerobić układ i zmienić tranzystory na NPN, następnie to samo z tranzystorami do segmentów. Odwrócić sygnał możesz za pomocą bramek 74HC04, choć zmiana programu nie powinna być trudna, zważywszy że to twój program. Jednak najłatwiej jest kupić prawidłowe wyświetlacze.
  • #3 3452154
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Wyświetlaczy niestety zmienić nie mogę bo są to wielkie 100mm segmenty, kupiłem 6 szt. za 20 PLN z demobilu ale całkowicie sprawne, jedyną ich wadą jest wspólna katoda.

    Czyli układ 74HC04 mogę zastosować wg schematu poniżej ??
    Załączniki:
    • Sterowanie wyświetlaczem LED ze wspólną katodą na ATtiny2313 bez zmiany kodu 0000001.jpg (46.67 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #4 3452231
    twazny
    Poziom 26  
    Posty: 682
    Pomógł: 91
    Ocena: 56
    Jeśli górny tranzystor będzie PNP (emiter na +) nie potrzeba inwertera.Nie zapomnij o rezystorach ograniaczających prąd włączonych szeregowo z segmentami i bazami.
  • #5 3453173
    oj
    Poziom 42  
    Posty: 6632
    Pomógł: 788
    Ocena: 480
    twazny napisał:
    Jeśli górny tranzystor będzie PNP (emiter na +) nie potrzeba inwertera.Nie zapomnij o rezystorach ograniaczających prąd włączonych szeregowo z segmentami i bazami.


    Niestety musi dać; taki wyświetlacz ma w środku połączone diody szeregowo na segmentach , co daje duże napięcie przewodzenia a do dyspozycji ma 5V.

    Sprawdź najpierw przy jakim napięciu /prądzie wyświetlacz świeci wystarczająco jasno.
  • #6 3462222
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Pojawił się kolejny problem z tym wyświetlaczem. Cały układ zasilany jest napięciem 5V w wyświetlacz świeci bardzo ładnie dopiero przy 12 V. Czy mogę na mikrokontroler podać 5V a na emitery tranzystorów 12 ?? kiedy ich bazy są sterowane tylko przez rezystory z mikrokontrolera?? Czy może zastosować jakieś transoptory??
    Podstaw elektroniki dobrze nie znam bo nigdy się jej nie uczyłem, uczę się jej dopiero teraz na "żywych organizmach"
  • #7 3463225
    twazny
    Poziom 26  
    Posty: 682
    Pomógł: 91
    Ocena: 56
    Wyświetlacz zaświeci również przy 5V, zależy to od wspomnianych rezystorów. Jakie wartości są teraz? Szeregowe z segmentami powinny być poniżej 150 ohm.
    Nie można podać na emitery 12v ponieważ można uszkodzić porty mikrokontrolera.
  • REKLAMA
  • #8 3463300
    Dar.El
    Poziom 41  
    Posty: 5450
    Pomógł: 750
    Ocena: 888
    Witam
    Wyświetlacze o wysokości 10cm na pewno nie będą świecić przy 5V, potrzebne jest co najmniej 12V. Gdzieś na forum umieściłem schemat jak to zrobić, gdy znajdę to dam linka.
  • #9 3464073
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Oczywiście że nie będą świecić - zasilałem je bezpośrednio na próbę z 5V bez rezystorów i nic. Dopiero jak podkręciłem na 12 zaczęła się emisja światła. Będę bardzo wdzięczny za rozwiązanie.
  • #10 3469239
    twazny
    Poziom 26  
    Posty: 682
    Pomógł: 91
    Ocena: 56
    Przepraszam, nie zwróciłem uwagi, że jeden segment składa się z kilku diód szeregowo. To naturalnie wymusza wyższe napięcia.
    Rozwiązań może byc wiele różnych. Scalone konwertery poziomów lub na samych tranzystorach . Dolny tranzystor musi przenieść prąd wszystkich segmentów (w najgorszym przypadku) i być może wymagany będzie Darl. Naprzykład tak.
    Załączniki:
    • Sterowanie wyświetlaczem LED ze wspólną katodą na ATtiny2313 bez zmiany kodu 0000001_7513-1.JPG (39.13 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #11 3471545
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Jak najbardziej ciekawe rozwiązanie ale trochę za bardzo skomplikowane biorąc pod uwagę, że trzeba by je powielić aż 12 razy (7 segmentów+kropka+sterowanie załączeniem 4 wyśw). Dziś na zajęciach z informatyki nudziłem się trochę i w naszej kochanej Sieci wyszperałem Transoptor - Darlington PC 845. Wydaje mi się że z jednej strony mogę podpiąć to pod mikrokontroler a z drugiej przez jakiś tam rezystor ograniczający do segmentów?? Nigdy się z tym nie bawiłem ale piszą że na wyjście mogę podać nap. do 35 V i przepuścić prąd do 80 mA, muszę jeszcze sprawdziś ile segment ciągnie. Co o tym myślicie??
  • #12 3472106
    Dar.El
    Poziom 41  
    Posty: 5450
    Pomógł: 750
    Ocena: 888
    Witam
    Potrzebujesz 4x tranzystor NPN i 8x część górną. Przy wyświetlaniu multipleksowym trzeba zwiększyć prąd na segment, bo nie świeci cały czas. Jeśli znalazłeś transoptor o prądzie wyjściowym 80mA, to się nadaje, ale pod jednym warunkiem, da te 80mA gdy na wejściu będzie kilka mA. Koszt zrobienia tego na transoptorach będzie dużo większy.
  • REKLAMA
  • #13 3472585
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Mikrokontroler chyba wyrobi te kilka mA? Jakim prądem można obciążyć jedno z wyjść przy zasilaniu 5 V i taktowaniu 4 MHz? Co do ceny to nie będzie aż tak źle PC 845 można kupić za 6 zł ma 4 niezależne kanały czyli muszę kupić 3 szt za 18 zł. Cena do przyjęcia biorąc pod uwagę uproszczenie układu - cały zegar muszę zmieścić w możliwie najmniejszej obudowie.
    Załączniki:
    • Sterowanie wyświetlaczem LED ze wspólną katodą na ATtiny2313 bez zmiany kodu PC 845.jpg (23.17 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #14 3472850
    Dar.El
    Poziom 41  
    Posty: 5450
    Pomógł: 750
    Ocena: 888
    Witam
    Obawiam się że mogą wyjść jakieś kłopoty, stosując ten transoptor, ale zanim nie spróbujesz to się nie dowiesz. Ja zrobił bym na tranzystorach SMD, koszt takich elementów jest bardzo mały i zajmuje mało miejsca. Na tym schemacie powyżej jest parę błędów, rezystory sterujące bazy tranzystorów mocy mają za dużą wartość.
  • #15 3476612
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Niestety w moim sklepie nie było PC 845 dlatego postanowiłem kupić zwykły transoptor CNY17, i połączyłem wszystko tak jak na schemacie poniżej - działa bez zarzutu, anodami steruje się pięknie. Ale teraz powiedzcie mi jak wysterować katodę ??? Bezpośrednio z mikrokontrolera jedynką logiczną nie da rady ! nawet udało mi się zawiesić MK.
    Załączniki:
    • Sterowanie wyświetlaczem LED ze wspólną katodą na ATtiny2313 bez zmiany kodu 0000001-1.jpg (27.03 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #16 3476795
    Dar.El
    Poziom 41  
    Posty: 5450
    Pomógł: 750
    Ocena: 888
    Witam
    Za dużo prądu chciałbyś wyciągnąć z procesora. Zmień rezystor do LED w transoptorze na 300Ω, dodaj rezystor między transoptorem a bazą tranzystora 1kΩ i steruj bazę tranzystora wspólnych katod przez rezystor 470Ω. Nie potrzeba stosować transoptorów, wystarczy tranzystor.
  • #17 3568747
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Witam ponownie !
    Zrobiłem układ wg. waszych wskazówek i niestety nie działa. Świecą się wszystkie segmenty. Nie mam już siły do tego :cry:, czy ktoś miał może doświadczenie ze sterowaniem dużych wyświetlaczy LED ze wspólną katodą?? Możecie zaproponować jakiś układ, Za sprawny działający projekt w prezencie mogę wysłać dwa wyświetlacze LED o wysokości 70 mm. Jeżeli ktoś chce się podjąć kontakt e-mail: michal(_at_)jastrzebia.pl
  • #18 3568978
    Dar.El
    Poziom 41  
    Posty: 5450
    Pomógł: 750
    Ocena: 888
    Witam
    Może na początek umieść tu schemat. Jest szansa uruchomienia tego co zrobiłeś, może jest tylko mały błąd.
  • #19 3569088
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Zamieszczam schemat i obraz płytki w eagle.
    Będę bardzo wdzięczny za pomoc, oczywiście możliwe że zrobiłem bład, nie mam czasu za bardzo i wszystko robię w wolnych chwilach wieczorami - zmęczenie daje się już we znaki.
    Załączniki:
    • Sterowanie wyświetlaczem LED ze wspólną katodą na ATtiny2313 bez zmiany kodu LED2.jpg (30.02 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Sterowanie wyświetlaczem LED ze wspólną katodą na ATtiny2313 bez zmiany kodu led.jpg (89.78 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #20 3569106
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    w projekcie płytki nie ma rezystorów podciągających, dolutowałem drabinkę z drugiej strony PCB
  • #21 3569321
    Dar.El
    Poziom 41  
    Posty: 5450
    Pomógł: 750
    Ocena: 888
    Raczej powinien być problem z zaświeceniem wyświetlaczy. Po diabła stosujesz transoptory? masz ich całe wiadro czy co? Wzmocnienie prądowe na dodatkowym tranzystorze jest potrzebne przy wspólnych katodach a nie przy segmentach. Schematy na forum są, niektóre nawet narysowałem osobiście, jak uda mi się znaleźć, to wrzucę tutaj.
  • #22 3569529
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Nie chciałem ich stosować, ale jak podłaczałem bezpośrednio uwalałem mikrokontroler. Na nim jest 5 V a na segmenty 12.
  • #23 3569676
    max_gg
    Poziom 26  
    Posty: 631
    Pomógł: 83
    Ocena: 26
    Jest prosty sposób... wg załączonego rysunku.

    Rysunek robiłem na szybko... więc przepraszam za zbyt małą dokładność,
    Załączniki:
    • Sterowanie wyświetlaczem LED ze wspólną katodą na ATtiny2313 bez zmiany kodu podl_uP_PNP.gif (4.09 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #24 3569840
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    A co z katodami ? wystarczy tranzystor NPN ?? Mogę bazę bezpośrednio podłączyć do uP i sterować jedynkami?? Gdy tak zrobiłem w poprzednim układzie uwaliłem uP.
  • #25 3569918
    max_gg
    Poziom 26  
    Posty: 631
    Pomógł: 83
    Ocena: 26
    Wg podanego rysunku, bazę tranzystora NPN podłączasz do +5V (zasilanie procka), z kolei emiter do wyprowadzenia odpowiedzialnego za wysterowanie wyświetlacza.
    Pojawienie się stanu wysokiego na pinie zatka tranzystor, stan niski go otworzy. Nie ma problemu jeśli chodzi o uszkodzenie procka - sposób wypróbowany.

    Zapomniałem dopisać na rysunku, że kolektor tranzystora NPN też idzie do napięcia +12V...
  • #26 3570005
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Tak wiem, ale mi chodzi o multipleksowe sterowanie 4 wyświetlaczy więc oprócz segmentów muszę wysterować wspólną katodę każdego wyświetlacza. Czy mogę zastosować tranzystor jak poniżej??
    Sterowanie wyświetlaczem LED ze wspólną katodą na ATtiny2313 bez zmiany kodu
  • #27 3570029
    max_gg
    Poziom 26  
    Posty: 631
    Pomógł: 83
    Ocena: 26
    Tak, ale wtedy załączenie odpowiedniego wyświetlacza odbywać się będzie stanem wysokim.

    Nie zapomnij o rezystorach... ja na rysunku nie dałem pomiędzy bazą tranzystora NPN a wyprowadzeniem zasilania procesora, oraz pomiędzy emiterem tegoż tranzystora i pinem sterującym...
  • REKLAMA
  • #28 3570142
    Dar.El
    Poziom 41  
    Posty: 5450
    Pomógł: 750
    Ocena: 888
    Witam
    Czy odwrócenie fazy sygnału chcesz robić na tranzystorach, czy na scalakach? Przypomniałem sobie że program w µK jest dla wyświetlaczy ze wspólną anodą. Można też zostać przy transoptorach, ale trochę trzeba będzie jeszcze rozbudować i transoptory są dość wolne, przez co mogą powstać duchy na wyświetlaczu.
  • #29 3570146
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    A czy mógł byś dobrać odpowiednie wartości wszystkich rezystorów ? jestem samoukiem i robię to eksperymentalnie, więc wiąże się to ze stratami. Wyświetlacz świeci optymalnie przy rezystorze kolektora ok 80 ohm.

    Dodano po 6 [minuty]:

    W takiej aplikacji jak powyżej nie trzeba odwracać już fazy. "0" na pinie uP zapala segment. W aplikacji ze wspólnymi anodami po prostu piny sterujące segmentami szły bezpośrednio na wyświetlacz do katod. a wspólne anody sterowane były przez tranzystor.
  • #30 3570268
    Dar.El
    Poziom 41  
    Posty: 5450
    Pomógł: 750
    Ocena: 888
    Ostrzegałem Cię że na transoptorach będą "duchy", ale czas pokarze. Praktycznie to już twój układ powinien działać, bo prawie w ogóle nie różni się od mojego schematu.
    Sterowanie wyświetlaczem LED ze wspólną katodą na ATtiny2313 bez zmiany kodu

    Praktycznie, zamiast transoptora można dać tranzystor.

Podsumowanie tematu

✨ Dyskusja dotyczy sterowania dużymi wyświetlaczami LED ze wspólną katodą za pomocą mikrokontrolera ATtiny2313, przy zachowaniu istniejącego kodu. Problemem jest konieczność odwrócenia sygnału sterującego anodami, gdyż mikrokontroler załącza segmenty stanem niskim, a tranzystory sterujące wymagają sygnału wysokiego. Proponowano zastosowanie inwerterów (np. bramek 74HC04) lub zmiany tranzystorów na NPN dla wspólnych katod. Wskazano, że wyświetlacze o dużych rozmiarach (ok. 100 mm) wymagają zasilania napięciem około 12 V ze względu na szeregowe połączenie diod w segmentach, co przekracza możliwości bezpośredniego zasilania z 5 V mikrokontrolera. Dyskutowano o użyciu transoptorów (np. PC 845, CNY17) do separacji i wzmocnienia sygnału, jednak pojawiły się problemy z tzw. "duchami" (artefaktami świetlnymi) przy niewłaściwym doborze rezystorów. Ostatecznie zalecano stosowanie tranzystorów SMD z odpowiednio dobranymi rezystorami bazowymi i kolektorowymi, aby uniknąć przeciążenia portów mikrokontrolera i zapewnić stabilne sterowanie segmentami i katodami. W przypadku multipleksowania czterech wyświetlaczy, konieczne jest sterowanie wspólnymi katodami przez tranzystory NPN z rezystorami ograniczającymi prąd. Autor ostatecznie dobrał wartości rezystorów i uzyskał poprawne działanie układu przy częstotliwości przemiatania około 50 Hz. W dyskusji pojawiły się także sugestie dotyczące schematów i kodu dla sterownika MC14489 oraz uwagi o konieczności dostosowania napięć i prądów do specyfiki dużych wyświetlaczy LED.
Wygenerowane przez model językowy.
REKLAMA