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

Jak podłączyć wyświetlacze siedmiosegmentowe do mikrokontrolera?

XaFFaX 30 Mar 2008 13:27 2271 4
  • #1 4972564
    XaFFaX
    Poziom 20  
    Posty: 400
    Pomógł: 37
    Ocena: 17
    Witam ponownie! ;)
    Mam tym razem pytanie do schematu znajdujacego sie tu: https://www.elektroda.pl/rtvforum/topic448539.html
    Dosc dlugo szukalem na forum informacji jak podlaczyc wyswietlacze siedmiosegmentowe do mikrokontrolera (tak, zeby nie uzyc 1 portu na 1 wyswietlacz :) ) i w koncu udalo mi sie cos znalezc, nie wiem tylko czy dobrze rozumiem jak to dziala, wiec w razie czego prosze mnie poprawic. Nie chce budowac czegos, co nie wiem jak dziala ;).

    Jezeli dobrze rozumiem schemat, to wyswietlanie dziala nastepujaco:
    - wszystkie wyswietlacze sa podlaczone rownolegle do portu D mikrokontrolera i wystawiana jest na ten port jakas kombinacja, ktora ma byc na nim wyswietlona (mniejsza o to co ;) ), tam gdzie jest logiczne '0' segment bedzie zapalony (bo wspolne anody sa podlaczone przez klucz tranzystorowy do +5V)
    - nastepnie na porcie C mikrokontrolera jest podwane 'latajace zero' (ze tak sie wyraze), ktore podaje na baze jednego z tranzystorow sygnal (0V, o ile sie nie myle, bo to tranzystor PNP i prad plynie od bazy, ale tu wlasnie musze sie upewnic ;) ) i multipleksuje z dosc duza czestotliwoscia wyswietlacze, co daje wrazenie ze wszystkie naraz sa zapalone

    Czy to jest zasada dzialania tego ukladu, czy tu sie dzieje zupelnie cos innego :D ? I moje kolejne pytanie jest takie: jezeli dobrze pamietam tozaraz po wlaczeniu mikrokontrolera stan na portach (jak jest on niezaprogramowany) ustawiany jest na logiczne '0', w zwiazku z tym wszystkie segmenty sie zapala. Jak dobrze licze, dla diody na ktorej spadek napiecia wynosi 2V, pobor pradu na kazdej linii bedzie wynosil ok 20mA (5-2=3V, 3V/150Ω=20mA) to pomnozone przez 8 (ilosc linii) daje 160mA co juz jest dosc duzym pradem dla mikrokontrolera (maksymalny prad jaki moze przez niego plynac to chyba 200mA). Oczywiscie zdaje sobie sprawe, ze jak bedzie kilka wyswietlaczy polaczonych rownolegle to problemu nie powinno byc, bo diody 'zatkaja' te linie (przynajmniej tak mi sie wydaje ;) ), jednak jak chce uzyc to do nieco innego zastosowania (moze byc 'zmienna' ilosc wyswietlaczy w danech chwili) i chcialem sie dowiedziec, czy mozna jakos rozwiazac ten problem? Ew. czy to w ogole jest problem, bo moze w nocie podaja 'prewencyjne' :) wartosci pradu, a tak naprawde mozna 'puscic przez procesor' znacznie wieksza jego warosc (np. 300mA).
  • #2 4972698
    iwan3000
    Poziom 16  
    Posty: 209
    Pomógł: 9
    Ocena: 3
    Kolega dobrze kombinuje :-D Właśnie tak działa mechanizm multipelxowania. Wykorzystuje się tu bezwładność ludzkiego oka. Czas świecenia się jednego segmentu przyjmuje się zazwyczaj ok 20ms. Podczas resetu uC wszystkie porty zostają ustawione, więc tranzystory się zatykają, przez co wyświetlacz nie świeci. Właśnie dla tego stosuje się wyświetlacze za wspólną anodą, żeby nie wystąpiło zjawisko, które opisałeś. :-D
  • #3 4975994
    XaFFaX
    Poziom 20  
    Posty: 400
    Pomógł: 37
    Ocena: 17
    Heh, no to nie jest tak zle ze mna ;). Tylko jednej rzeczy nie rozumiem :P. Jezeli 'dobrze kombinuje' :D to w takim razie jak to jest z tym 'ustawieniem portow' po wlaczeniu? Jezeli porty sa ustawiane na stan niski po wlaczeniu, no to jednak wszystko sie powinno zapalic :). Chyba ze czegos tu nie rozumiem jednak :P. Albo na bazy tranzystorow trzeba dawac jednak stan wysoki, zeby je 'otworzyc' (musze w koncu zalapac jak tranzystory dzialaja :P do teraz jest to dla mnie zagadka :D ).
  • Pomocny post
    #4 4977278
    iwan3000
    Poziom 16  
    Posty: 209
    Pomógł: 9
    Ocena: 3
    Ustawić znaczy zmienić na stan wysoki. Raczej nie pisze się że coś jest "ustawione w stan niski" (przynajmniej ja się nie spotkałem :D). W każdym bądź razie zaraz po restarcie piny procesora są ustawiane w stan wysoki. A co do tranzystorów, to masz rację. Żeby Wysterować tranzystor pnp potenciał na bazie musi być niższy w stosunku do potenciały emitera. Wynika z tego tyle, że te tranzystory na schemacie nasycą się tylko wtedy, gdy dostaną na bazę potenciał masy. Mam nadzieję, że nie namieszałem. Pozdrawiam!
  • #5 4981800
    XaFFaX
    Poziom 20  
    Posty: 400
    Pomógł: 37
    Ocena: 17
    Hmmm, czyli porty w procku sa ustawiane na stan wysoki po wlaczeniu uP bez programu? Musze to sprawdzic, zawsze mi sie wydawalo, ze po wlaczeniu sa na masie, ale spox, moglem sie mylic :D. Tak czy inaczej chyba wiem, co i jak dziala, wiec moge sobie zbudowac :P. Dzieki za potwierdzenie moich przypuszczen ;). W razie co jeszcze bede pisal :P.
REKLAMA