Skocz do zawartości
hit02

Wyświetlacz siedmiosegmentowy delikatnie świeci gdy nie powinien

Pomocna odpowiedź

Napisano (edytowany)

Hej,

Zaprojektowałem licznik dla wyświetlacza siedmiosegmentowego, zestwu Elbert v2 - Spartan 3A.

Wg. symulacji wszystko chyba jest poprawnie - anoda i katoda zmienia się w tym samym momencie, ale na płytce delikatnie świecą się segmenty, które powinny być w danej chwil kompletnie wygaszone.

Moje pytanie jest o to, czy może być to błąd po mojej stronie, czy pomimo wyłączonej anody, może płynąć prąd wystarczający, aby delikatnie rozświetlić wyświetlacz?

Na video, świecące części wyświetlacza zasłaniam palcem, bo kamera dostosowywała się do dużo większego światła 😉

ezgif-4-2119c1436969.thumb.gif.5e3ea232082e6e2720cd135504e94903.gifUntitled.thumb.png.c18fd23e7ed53193eaf16901576edc7b.png

Edytowano przez hit02

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
Dnia 27.03.2020 o 20:16, hit02 napisał:

Wg. symulacji wszystko chyba jest poprawnie - anoda i katoda zmienia się w tym samym momencie

To jest własnie ten błąd. O ile segmenty są tu (jeśli dobrze pamiętam) sterowane wprost z pinów FPGA, o tyle anody mają tranzystory. Ich prąd nie narasta do 100% i nie opada do zera w czasie zerowym więc musisz wstawić przerwy. Poprawna sekwencja przełączenia wyświetlacza na kolejną cyfrę powinna wyglądać jakoś tak:

  1. Wystawiasz stany nieaktywne na wszystkie segmenty
  2. Wyłączasz driver cyfry N.
  3. Czekasz kilka µs (5-10)
  4. Wystawiasz nowy stan na segmenty kolejnego znaku
  5. Włączasz driver cyfry N+1

Przy czym ponieważ operacje 1 i 4 są szybkie, możesz je robić jednocześnie z odpowiednio 2 i 5. Kluczowy jest natomiast okres gdy jeden driver cyfry jest wyłączony a drugi jeszcze nie włączony. W tym czasie nie wolno włączyć żadnego segmentu bo nie wiesz który tranzystor już się włączył a który jeszcze nie wyłączył. Przy jednoczesnej zmianie, ich narastające/zanikające przewodzenia zachodzą na siebie i masz "duchy" na segmentach. Zauważ, że jest to zwykle powtórzenie poprzedniej cyfry na kolejnym wyświetlaczu albo następnej na poprzednim (w sensie koleności multipleksowania a nie fizycznego położenia). To typowe gdy układ nie przewiduje niezerowych czasów przełączania kluczy.

Edytowano przez marek1707
  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...