ATNEL tech-forum
https://forum.atnel.pl/

Problem z wyświtlaniem LED 7-seg 12V multiplex
https://forum.atnel.pl/topic24033.html
Strona 1 z 2

Autor:  mario2015 [ 18 lis 2021, o 17:45 ]
Tytuł:  Problem z wyświtlaniem LED 7-seg 12V multiplex

Witam wszystkich na forum.
Najpierw opiszę co zrobiłem a potem opiszę problem a zatem.
Napisałem sobie program do zegara na wyświetlaczach 7-mio segmentowych LED. Na zestawie ATB, wszystko pięknie działa i żadnych problemów do momentu
kiedy chcę podłączyć się do wyświetlacza zasilanego napięciem 12V.
Wyświetlacz podłączam katodami bezpośrednio do procka a anody przez układ UDN.
Na wyświetlaczu mam wtedy wyświetlane odpowiednie cyfry ale segmenty, które powinny być zgaszone, świecą się ale jakby trochę słabiej.
Jeżeli teraz zmieniłem w programie a dokładniej w przerwaniu od multiplexu, żeby na każdej pozycji wyświetlała się ta sama cyfra np: CY3 na wszystkich pozycjach,
wtedy wyświetlacz działa prawidłowo. Jeśli jednak zmienię chociażby jedną cyfrę na inną np: wyświetlam na jednej pozycji CY3 a na drugiej CY6, to wyświetlacz
zachowuje się tak jak opisałem wyżej. Nawet jak dałem rezystory na katody, to nic nie pomogło, tyle że wyświetlacz słabiej świecił.
Jak już pisałem, na zestawie ATB, program działa prawidłowo. Biblioteka do multiplexu jest od Mirka. Wyświetlacz zrobiony z kawałków taśmy LED 12V (po 3 diody na segment).
Całość oprócz wyświetlacza jest na zestawie ATB ATmega32. Zasilanie 12V z osobnego zasilacza ale wszystkie masy podłączone.
Poniżej część schematu dotycząca problemu. Jeśli podałem za mało informacji to proszę napisać co jeszcze podać.
Może ktoś już spotkał się z tym problemem.
Będę bardzo wdzięczny za wszystkie wskazówki.

Obrazek

Autor:  tonygryps [ 18 lis 2021, o 19:08 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Z tego co piszesz wynika że scalak UDN za wolno się przełącza sprawdź to oscyloskopem.

Autor:  43kuku [ 18 lis 2021, o 22:30 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Sprawdź czy poprawnie są kasowane segmenty.

Autor:  Jarecki [ 19 lis 2021, o 08:29 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

mario2015 napisał(a):
Na zestawie ATB, wszystko pięknie działa i żadnych problemów do momentu
kiedy chcę podłączyć się do wyświetlacza zasilanego napięciem 12V.
Wyświetlacz podłączam katodami bezpośrednio do procka a anody przez układ UDN.


W zestawie atb anody wyświetlaczy zasilane są przez tranzystory PNP więc załączenie następuje stanem niskim, z układem UDN załąaczenie anody będzie stanem wysokim, zrobiłeś korekte w programie? Pokaż przerwanie od multiplexera

Autor:  jerrylu [ 19 lis 2021, o 09:38 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

+12 >| (+5V or 0V) niestety prąd będzie płynął zawsze.
Przypuszczalnie dopiero przy ok 8V (albo mniej) na anodzie,
spadek napięcia na diodzie skompensuje różnicę napięć i odcinanie prądu.

Autor:  mario2015 [ 19 lis 2021, o 18:29 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Cytuj:
Z tego co piszesz wynika że scalak UDN za wolno się przełącza sprawdź to oscyloskopem.

Też tak myślę ale pytanie co z tym zrobić?

Cytuj:
W zestawie atb anody wyświetlaczy zasilane są przez tranzystory PNP więc załączenie następuje stanem niskim, z układem UDN załąaczenie anody będzie stanem wysokim, zrobiłeś korekte w programie? Pokaż przerwanie od multiplexera

Układ UDN nie neguje sygnału na wyjściu. Robi to układ ULN2803 lub podobne, wtedy trzeba odnegować tablicę w bibliotece.

Cytuj:
+12 >| (+5V or 0V) niestety prąd będzie płynął zawsze.
Przypuszczalnie dopiero przy ok 8V (albo mniej) na anodzie,
spadek napięcia na diodzie skompensuje różnicę napięć i odcinanie prądu.


Jeśli tak, to jak sobie z tym poradzić?

Autor:  jerrylu [ 19 lis 2021, o 19:30 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Czas włączania 2 mikrosekund, czas wyłączania 10 us i to ma za wolno przełączać 200, czy nawet 1000 razy na sekundę?
Najprostsze rozwiązanie to jak napisałem zmniejszenie napięcia. Dlaczego nie może być <8V, np standardowe 5V,
które i tak musisz doprowadzić do układu?
A propos szybkości przełączania. Nie znam współczesnego elementu elektronicznego (nie licząc elektryczno-mechanicznych, jak np. przekaźnik),
który nie sprostałby przełączaniu/multipleksowaniu jakiegokolwiek wyświetlacza 7seg.

Autor:  mario2015 [ 19 lis 2021, o 20:02 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Cytuj:
Czas włączania 2 mikrosekund, czas wyłączania 10 us i to ma za wolno przełączać 200, czy nawet 1000 razy na sekundę?
Najprostsze rozwiązanie to jak napisałem zmniejszenie napięcia. Dlaczego nie może być <8V, np standardowe 5V,
które i tak musisz doprowadzić do układu?
A propos szybkości przełączania. Nie znam współczesnego elementu elektronicznego (nie licząc elektryczno-mechanicznych, jak np. przekaźnik),
który nie sprostałby przełączaniu/multipleksowaniu jakiegokolwiek wyświetlacza 7seg.

Mniej niż 8V nie może być dlatego, że wtedy wyświetlacz ledwo świeci. A przy 5V nie świeci no i to jest poprawne.

------------------------ [ Dodano po: 11 minutach ]

Podejrzewam, że tonygryps ma rację:
Cytuj:
Z tego co piszesz wynika że scalak UDN za wolno się przełącza sprawdź to oscyloskopem.

Problem polega na tym, że nie wiem co z tym zrobić.

Autor:  jerrylu [ 19 lis 2021, o 20:15 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Do regulacji jasności świecenia używamy rezystorów. 5V (wystarczająco wydajne prądowo np. > 50mA)
jest zabójcze dla każdej zwykłej diody diody świecącej, jakie są w normalnych wyświetlaczach 7seg.
Zmniejszając rezystor jesteśmy w stanie doprowadzić do maksymalnego świecenia diody nawet przy 3.3V zasilania.
Jeśli przy niskiej wartości rezystancji masz słabe świecenie, to jest wynikiem tego, że czas zaświecania
do czasu zgaszenia jest nieproporcjonalnie niski, ale to jest już wynikiem algorytmu przełączania.
Przy sześciu cyfrach czas świecenia do czasu zgaszenia powinien być jak 1 do 6.
Pozostaje jeszcze pytanie jaki masz wyświetlacz? Bo to może coś nietypowego?

Autor:  mario2015 [ 19 lis 2021, o 20:20 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Cytuj:
Do regulacji jasności świecenia używamy rezystorów. 5V (wystarczająco wydajne prądowo np. > 50mA)
jest zabójcze dla każdej zwykłej diody diody świecącej, jakie są w normalnych wyświetlaczach 7seg.
Zmniejszając rezystor jesteśmy w stanie doprowadzić do maksymalnego świecenia diody nawet przy 3.3V zasilania.
Jeśli przy niskiej wartości rezystancji masz słabe świecenie, to jest wynikiem tego, że czas zaświecania
do czasu zgaszenia jest nieproporcjonalnie niski, ale to jest już wynikiem algorytmu przełączania.
Przy sześciu cyfrach czas świecenia do czasu zgaszenia powinien być jak 1 do 6.

Tu nie chodzi o żadne "jasności świecenia". Przeczytaj pierwszy mój wątek.(ze zrozumieniem).

Autor:  fofex [ 19 lis 2021, o 20:22 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

10us przy częstotliwości przełączania 600Hz (6 wyświetlaczy po 100Hz) skutkuje wypełnieniem 0.6%. Odnosząc to do 8 bitowego PWM jest to 1,5 tika timera. Dla minimalnej częstotliwości multipleksowania 360Hz będzie trochę lepiej bo 0,36% (0.9 tika). Chyba wszyscy znamy problem z nie do końca wygaszajacą się diodą zasilaną timerem w trybie FastPWM? Tak więc IMHO to _może_ być przyczyną. Na szczęście dosyć łatwą do zwalczenia (dwa przerwania ze spreadem: OVF włączające segmenty, COMPA/B wyłączające, lub na odwrót).
Trudniejsza, jeśli nie niemożliwa do zwalczenia może być inna potencjalna przyczyna: Output Leakage Current. Datasheet podaje 200uA ale przy dosyć ekstremalnych warunkach. Nie wiadomo jaki OLC będzie w warunkach tego obwodu, przypuszczam, ze mniej ale ile? Warto to sprawdzić multimetrem. 200uA wydaje się niewielką wartością ale jest to odpowiednik 1% PWM dla 20mA prądu.

Autor:  mario2015 [ 19 lis 2021, o 20:28 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

dla fofex - częstotliwość odświeżania wyświetlaczy to 6x50Hz czyli 300Hz.

Autor:  jerrylu [ 19 lis 2021, o 20:31 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Ok, zafiksowałem się na "Mniej niż 8V nie może być dlatego, że wtedy wyświetlacz ledwo świeci". Sorry.
Jeśli uważacie, że to niewystarczająca szybkość przełączania (bo zużywa ułamek procenta czasu cyklu świecenia), to ja już nie mam nic więcej dodania.
Szkoda mojego czasu.
W uzupełnieniu - szpilek nie ma, jeśli przy 5V wyświetlacz się wygasza.

Autor:  mario2015 [ 19 lis 2021, o 20:39 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Cytuj:
Ok, zafiksowałem się na "Mniej niż 8V nie może być dlatego, że wtedy wyświetlacz ledwo świeci". Sorry.
Jeśli uważacie, że to niewystarczająca szybkość przełączania (bo zużywa ułamek procenta czasu cyklu świecenia), to ja już nie mam nic więcej dodania.
Szkoda mojego czasu.

Chodzi mi o to, że sprawdzałem na niższym napięciu. Jeśli chodzi ci o coś innego, to proszę wytłumacz mi to. Jestem laikiem i może dlatego nie wszyscy mnie zrozumieli.

Autor:  jerrylu [ 19 lis 2021, o 20:46 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Skoro prąd płynie od wyższego potencjału do niższego, to będzie płynął od +12 do 0 (zerowego potencjału), jak i do potencjału 5V.
Wystawienie stanu wysokiego nie jest tu rozwiązaniem - płynie tylko mniejszy prąd ze względu na niższą różnicę potencjałów.
Pamiętaj też, że na diodzie odkłada się ok 3V. Możesz testowo sprawdzić podnosząc napięcie, że dioda zaświeci się dopiero po podaniu
zbliżonego do 3V napięcia.
Szybkość przełączania dawałaby też zły efekt przy zasilaniu 5V. Przypuszczalnie efekt smużenia.
Jeszcze mnie natchnęło ;) - "Mniej niż 8V nie może być dlatego, że wtedy wyświetlacz ledwo świeci. A przy 5V nie świeci no i to jest poprawne."
5V to mniej niż 8 ;)

Autor:  jony15 [ 19 lis 2021, o 21:01 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Zastosuj ULN2803 od strony katod ( COM - ULN-a do 12v ), UDN-a pozostaw, nie zapomnij o rezystorach ograniczających prąd od strony wyświetlacza. Ewentualnie "pospinaj na krótko " całość i sprawdź sztucznie/statycznie czy jak odpowiednio wysterujesz ULN-a i UDN-a to zapalają się segmenty wyświetlacza.


Program to już małe "hmm" ( do zmiany sterowanie katodami )

( dodano kilka minut później :-) )

Na sam start odłącz wyświetlacz i UDN-a i spróbuj statycznie nim sterować czy zaświecają się poszczególne segmenty - uwaga na UDN-a 5V do sterowania, a katody raz do GND a przy wyłączeniu do 5V, ( na próbę i kilka innych katod też podłącz do 5V ). Nie zapomnij o rezystorach ograniczających prąd na segmentach.
Według mnie pojawiające się "duchy" na wyświetlaczu masz dlatego że po wyłączeniu segmentu pin nie wisi w powietrzu tylko jest na potencjale 5V.

Autor:  jerrylu [ 19 lis 2021, o 21:15 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

No tak, jak pisze jonny15, podwójne elementy kluczujące na anodzie i katodzie rozwiązałyby kwestię zasilania +12.
Osobiście jednak uważam, że to niepotrzebna rozbudowa układu, skoro i tak musimy dostarczyć do zasilania 5V
i zastosować to napięcie także do wyświetlacza.

Autor:  fofex [ 19 lis 2021, o 22:20 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

No tak, słusznie. Brakuje klucza na dole

Autor:  mario2015 [ 20 lis 2021, o 13:56 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Do jony15
Cytuj:
Na sam start odłącz wyświetlacz i UDN-a i spróbuj statycznie nim sterować czy zaświecają się poszczególne segmenty - uwaga na UDN-a 5V do sterowania, a katody raz do GND a przy wyłączeniu do 5V, ( na próbę i kilka innych katod też podłącz do 5V ). Nie zapomnij o rezystorach ograniczających prąd na segmentach.


Statycznie w celu sprawdzenia jak podłączyłem jeden wyświetlacz i jeden segment, to zapala się tylko ten segment, który podłączyłem.
Problemy się zaczynają jak wyświetlacz podłączę do zestawu ATB i obojętnie czy wyświetlacz wbudowany w zestawie jest podłączony czy też nie. Oczywiście masa zestawu i UDN-a są połączone.
Niestety efekt dalej ten sam. Co do rezystorów na wyświetlacz (jak ktoś tam wyżej pisał) to nie są one konieczne, ponieważ każdy segment ma wbudowany rezystor. Pisałem wcześniej,
że wyświetlacz jest zrobiony z pociętej taśmy led 12V.

Autor:  jerrylu [ 20 lis 2021, o 15:53 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Mario, wczoraj byłem zakręcony w pracy i oczywiście nie doczytałem o pasku ledowym, jako segment wyświetlacza. SORRY!
Moje propozycje zasilania 5V o kant .. potłuc. Co nie zmienia faktu, że przyczyna świecenia jest taka, jak podałem.
Zrobiłem przed chwilą test na zasilaczu laboratoryjnym i takim pasku.
Diody gasną mi dopiero przy ok. 7,2V. U Ciebie może być trochę inaczej - zależy od diód najwyraźniej.
U mnie wygasiłyby się przy różnicy potencjałów 12-5V = 7V, przy podaniu stanu wysokiego na porty uC.
Możesz zrobić prosty eksperyment na szybko, jak zadziała można zostawić taką opcję - trochę "druciarstwo" ;)
Daj proszę szeregowo katodą (paskiem na diodzie) dowolną diodę impulsową/prostowniczą do pinu procesora od katody wyświetlacza.
Może taki półśrodek zadziała. Na diodzie będzie spadek ok. 0.6 /0.7V tylko nie dawaj Shotkiego one mają ok.0.2V spadku.
To spowoduje spadek napięcia zasilania o taką wartość. Może już odetnie prąd. Wtedy dajesz 8 takich diód szeregowo z segmentami i nic nie zmieniasz w programie.
W innym przypadku tylko dodatkowy element kluczujący na katodzie. Może być tranzystor npn lub scalak.
Wymagać to będzie odwrócenia (zanegowania) sygnałów załączających segmenty.

Autor:  xentis [ 20 lis 2021, o 19:25 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

mario2015 napisał(a):
Problemy się zaczynają jak wyświetlacz podłączę do zestawu ATB i obojętnie czy wyświetlacz wbudowany w zestawie jest podłączony czy też nie. Oczywiście masa zestawu i UDN-a są połączone.
Widzisz, zacząć trzeba od początku. Paski led mają segmentowo połączone diody w szereg i dodatkowo jeszcze w każdym szeregu wstawiony jest jeszcze rezystor. Ów rezystor to taki najprostszy z prostych stabilizator prądu, dopierany tak by przy nominalnym napięciu (w tym wypadku 12V), przez diody płynął ich nominalny prąd.
I teraz clou problemu. Diody świecące zaczynają świecić przy napięciu w przybliżeniu 1,5~2V, zależy to od ich technologi wykonania i barwy światła, ale dla uproszczenia przyjmijmy że będzie to 2V.
I teraz Twoje paski led w wyświetlaczu mają po 3 diody, to po szybkich przeliczeniach 3diody x 2V = 6V, czyli diody zaczynają świecić przy ok 6V, oczywiście nie pełnym światłem tylko będą się jarzyć i w miarę zwiększania napięcia będą świecić mocniej. Rezystor pominiemy w rozważaniach, ponieważ w momencie gdy diody się ledwo świecą, prąd przez nie płynący jest bardzo mały, więc i spadek napięcia na rezystorze będzie pomijalnie mały.
I teraz Twój układ, załóżmy że zatrzymujemy czas i w chwili obecnej załączony jest pierwszy wyświetlacz i powinna się wyświetlać cyfra "1" czyli zapalone segmenty B i C: układ UDN wystawia 12V na anody diod. Procek wystawia na piny dla segmentów A, D, E, F, G stan wysoki, czyli 5V, żeby zgasić te segmenty, natomiast na segmenty B i C stan niski czyli ~0V żeby się zaświeciły.
I teraz znów matematyka, dla segmentów które powinny być zgaszone:
12V z układu UDN - 5V jakie wystawia procek = 7V, i to jest napięcie jakie występuje na pasku który powinien być zgaszony. Dzieląc to na 3 diody 7/3=2,333...V - więc nie dziwota że diody zaczynają świecić.
Już pominę fakt, iż w razie przypadkowego zwarcia na pasku, na procek może polecieć 12V które w najlepszym wypadku uszkodzi diodę zabezpieczającą wbudowaną w każdy pin procka, powodując prawdopodobnie trwałe zwarcie na tym pinie do 5V.
Generalnie to co podpowiada kolega jerrylu może pomoże w pewnym stopniu, choć obniży również jasność świecenia całego wyświetlacza no i jak sam napisał jest to mało elegancki sposób.
Tutaj najsłuszniejszym rozwiązaniem były by tranzystorki npn lub jakiś układ załączający masą, wpięte pomiędzy wyświetlacze a piny uC.

Autor:  jerrylu [ 20 lis 2021, o 19:57 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

No i to jest pięknie wytłumaczenie tego zagadnienia.
Zawsze twierdziłem, że nie mam daru tłumaczenia (w odróżnieniu od Xentisa ).
Zbytnio uciekam w skróty myślowe, zakładając, że odbiorca "odbiera na tych samych falach" ;)
Mam nadzieję, że Mario teraz już ma pełny obraz sytuacji.

Autor:  mario2015 [ 21 lis 2021, o 13:55 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

xentis napisał(a):
mario2015 napisał(a):
Problemy się zaczynają jak wyświetlacz podłączę do zestawu ATB i obojętnie czy wyświetlacz wbudowany w zestawie jest podłączony czy też nie. Oczywiście masa zestawu i UDN-a są połączone.
Widzisz, zacząć trzeba od początku. Paski led mają segmentowo połączone diody w szereg i dodatkowo jeszcze w każdym szeregu wstawiony jest jeszcze rezystor. Ów rezystor to taki najprostszy z prostych stabilizator prądu, dopierany tak by przy nominalnym napięciu (w tym wypadku 12V), przez diody płynął ich nominalny prąd.
I teraz clou problemu. Diody świecące zaczynają świecić przy napięciu w przybliżeniu 1,5~2V, zależy to od ich technologi wykonania i barwy światła, ale dla uproszczenia przyjmijmy że będzie to 2V.
I teraz Twoje paski led w wyświetlaczu mają po 3 diody, to po szybkich przeliczeniach 3diody x 2V = 6V, czyli diody zaczynają świecić przy ok 6V, oczywiście nie pełnym światłem tylko będą się jarzyć i w miarę zwiększania napięcia będą świecić mocniej. Rezystor pominiemy w rozważaniach, ponieważ w momencie gdy diody się ledwo świecą, prąd przez nie płynący jest bardzo mały, więc i spadek napięcia na rezystorze będzie pomijalnie mały.
I teraz Twój układ, załóżmy że zatrzymujemy czas i w chwili obecnej załączony jest pierwszy wyświetlacz i powinna się wyświetlać cyfra "1" czyli zapalone segmenty B i C: układ UDN wystawia 12V na anody diod. Procek wystawia na piny dla segmentów A, D, E, F, G stan wysoki, czyli 5V, żeby zgasić te segmenty, natomiast na segmenty B i C stan niski czyli ~0V żeby się zaświeciły.
I teraz znów matematyka, dla segmentów które powinny być zgaszone:
12V z układu UDN - 5V jakie wystawia procek = 7V, i to jest napięcie jakie występuje na pasku który powinien być zgaszony. Dzieląc to na 3 diody 7/3=2,333...V - więc nie dziwota że diody zaczynają świecić.
Już pominę fakt, iż w razie przypadkowego zwarcia na pasku, na procek może polecieć 12V które w najlepszym wypadku uszkodzi diodę zabezpieczającą wbudowaną w każdy pin procka, powodując prawdopodobnie trwałe zwarcie na tym pinie do 5V.
Generalnie to co podpowiada kolega jerrylu może pomoże w pewnym stopniu, choć obniży również jasność świecenia całego wyświetlacza no i jak sam napisał jest to mało elegancki sposób.
Tutaj najsłuszniejszym rozwiązaniem były by tranzystorki npn lub jakiś układ załączający masą, wpięte pomiędzy wyświetlacze a piny uC.


Czy Tobie chodzi o takie sterowanie tranzystorem jak na poniższym obrazku?

Obrazek

Autor:  xentis [ 21 lis 2021, o 14:12 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Dokładnie tak.

Autor:  mario2015 [ 24 lis 2021, o 14:49 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

xentis napisał(a):
Dokładnie tak.

No i po kilku dniach odpoczynku dalej walczę z tym wyświetlaczem i lipa.
To znaczy, klucz tranzystorowy (rezystor 10k na bazie bo poniżej 10k żadnych zmian) zadziałał ale tylko wtedy gdy jest podłączony jeden wyświetlacz.
Jak dołączę drugi, to już pojawiają się duszki a jak trzeci to już same 8-ki świecą.
Biblioteka oczywiście przerobiona na sterowanie tranzystorów stanem wysokim.
Wymieniłem UDN-a i dalej to samo.
Nie wiem co dalej, nie mam żadnego pomysłu.

Autor:  xentis [ 24 lis 2021, o 18:03 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Ok, a jak masz wszystkie wyświetlacze podłączone i ustawisz by się na wszystkich zaświeciła cyfra "1", to się wyświetlają prawidłowo same segmenty B i C, czy świecą wszystkie segmenty na wszystkich wyświetlaczach?

Autor:  mario2015 [ 24 lis 2021, o 18:42 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

xentis napisał(a):
Ok, a jak masz wszystkie wyświetlacze podłączone i ustawisz by się na wszystkich zaświeciła cyfra "1", to się wyświetlają prawidłowo same segmenty B i C, czy świecą wszystkie segmenty na wszystkich wyświetlaczach?

Jak ustawię wszystkie wyświetlacze na wyświetlanie tej samej cyfry np: same 1-nki albo same 4-ki itp., wtedy na każdej pozycji dana cyfra jest wyświetlana prawidłowo.
Jeśli tylko zmienię choćby jedną cyfrę na inną np: ustawię same 1-nki a na jednej pozycji ustawię 2, to na wszystkich pozycjach te cyfry nakładają się na siebie,
tyle tylko, że segmenty od 2-ki świecą trochę słabiej.

Autor:  xentis [ 24 lis 2021, o 18:44 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Ok, mnie to wygląda na nie do końca prawidłową procedurę obsługi multipleksowania.
Bazujesz na kodzie z bluebooka?

------------------------ [ Dodano po: 15 minutach ]

Podejrzewam, że kod przepisywałeś z książki, a jest tam mały chochlik. Dam Ci podpowiedź: porównaj kod z książki z kodem przykładu z kodów źródłowych dołączonych do książki, zwróć uwagę na zawartość procedury obsługi przerwania...

Autor:  mario2015 [ 24 lis 2021, o 19:05 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Cytuj:
Podejrzewam, że kod przepisywałeś z książki, a jest tam mały chochlik. Dam Ci podpowiedź: porównaj kod z książki z kodem przykładu z kodów źródłowych dołączonych do książki, zwróć uwagę na zawartość procedury obsługi przerwania...


Procedura przerwania wygląda tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


No i jak pisałem wcześniej, na zwykłym wyświetlaczu LED 5V, biblioteka działa prawidłowo.
Kodu nie przepisywałem, tylko skopiowałem z CD dołączonego do książki z II edycji.

Autor:  xentis [ 24 lis 2021, o 19:09 ]
Tytuł:  Re: Problem z wyświtlaniem LED 7-seg 12V multiplex

Chym, no to nie trafiłem :lol:.
Wygląda dobrze.

Ale kod lepiej usuń bo nie wolno na forum wrzucać...

------------------------ [ Dodano po: 9 minutach ]

co u Ciebie zawiera makro MASKA_ANODY?

------------------------ [ Dodano po: 21 minutach ]

Wydaje mi się że masz błąd tu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

a powinno być:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Oczywiście jeśli makro MASKA_ANODY ma poprawną wartość 0xC0.
Nie wiem też czemu zmienna licznik jest 16bitowa, wystarczyła by 8bitowa, ale to już nie wpływa na działanie, ale bardziej kwestia optymalizacyjna...

------------------------ [ Dodano po: 37 minutach ]

no i końcówka przerwania też do poprawy, zamiast:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

powinno być:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Strona 1 z 2 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/