Skocz do zawartości

Wyświetlacz 8 cyfr 12V i PCF8574


Pomocna odpowiedź

Napisano

Dzień dobry,
Planuję budowę wyświetlacza 7 segmentowego o pojemności 8 cyfr i chciałbym zasięgnąć waszej opinii.

Do budowy wyświetlacza wykorzystam standardową taśmę LED (120 LED na 1m / 9,6W). Wyświetlacz ten będzie elementem urządzenia sterowanego przez Arduino UNO (ew. ESP8266 NodeMCU v2). Mam pewne obawy co do sterowania wyświetlaczem i tu liczę na Wasze wskazówki.

Na przykładzie jednego wyświetlacza (cyfry) chciałbym przedstawić swoją koncepcję układu.

Sterowanie chciałbym zrealizować przez multipleksowanie wyświetlaczy. Portów oczywiście braknie więc chcę wykorzystać ekspandery PCF8574 2 szt (jeden do obsługi wspólnej anody wyświetlaczy, a drugi do obsługi segmentów A-G i DP). Ponieważ wydajność prądowa PCF8574 jest za niska planuję zastosować dodatkowe tranzystory kluczujące BC328 (T2) / BC338 (T1).

Wspólne anody wyświetlaczy przez klucze tranzystorowe zasilane będą z modułu wykonawczego MOD-30 z tranzystorem MOSFET. Moduł ten będzie sterowany sygnałem PWM z Arduino (wspólna dla wszystkich cyfr regulacja jasności).

Na załączonym rysunku przedstawiam schemat poglądowy sterowania pojedynczym wyświetlaczem 7 segmentowym (pojedynczą cyfrą). Takich układów oczywiście będzie 8 (pojemność wyświetlacza 8 cyfr).

Co sądzicie o takim rozwiązaniu? Co można poprawić (i jak 🙂?

Gdyby zastąpić PCF8574 układem MAX7219 czy proponowane rozwiązanie kluczy tranzystorowych będzie właściwe?

Będę wdzięczny za wszelkie sugestie.

Pozdrawiam,

Straszną rzeźbę sobie wymyśliłeś. A nie łatwiej by było po prostu wziąć na przykład taki HT16K33 i mieć wszystko od razu w jednym czipie sterowanym po I2C? Do tego jeszcze ci klawiaturę obsłuży.

[ Dodano: 12-12-2017, 00:40 ]

Ach, przepraszam, nie zwróciłem uwagi na moc.

No właśnie moc. To będzie wyświetlacz gdzieś 130 x 25 cm 🙂. Sam układ HTK jaki wskazałeś wygląda ciekawie - nie znałem go. Pewnie też wymagałby kluczy tranzystorowych. Tylko czy moja propozycja kluczy jest właściwa?

Zarówno HT16K33 jak i MAX7219 to są dedykowane układy do ledów, które mają w sobie wbudowane na wyjściach układy utrzymujące stały prąd — dlatego nie trzeba dodawać oporników do LED-ów nimi sterowanych. Nie mam pojęcia jak się zachowają gdy zamiast obciążenia dostaną na wyjściu taki tranzystor — podejrzewam, że pewnie nie najlepiej, ale brakuje mi wiedzy żeby taką sytuację przewidzieć — być może kto inny podpowie.

Niestety brak mi w tej materii doświadczenia, więc nic nie poradzę. Wydawało mi się, że mogę polecić układ który znam, więc się odezwałem, ale jak widać się myliłem. Być może kto inny odpowie.

  • Pomogłeś! 1

Nie tylko z T2 będą problemy. Jeśli ten MOD-30 to: https://botland.com.pl/przelaczniki-cyfrowe/3385-modul-wykonawczy-z-tranzystorem-n-mosfet-irfr4105z-mod-30.html użycie NMOS-a to raczej zły pomysł. Będzie miał ciężkie życie w układzie wtórnika źródłowego - ale pewnie uratują go diody i niskie napięcie na bramce (z arduino), więc po prostu nic nie zadziała (to ta lepsza opcja).

Więc pierwsze pytanie to ten nieszczęsny MOD-30, chodzi o podlinkowany moduł?

Kolejna sprawa to diody: jak listwa 120 diod ma się do wyświetlacza 8 cyfr? Może tylko ja nie rozumiem, ale 8 cyfr razy 7 segmentów to 56 diod. Więc to ma być 56 listw po 120 diodek, czy listwa pocięta na 56 fragmentów (dwie diody na segment), a może coś innego?

To ważne pytanie, bo od niego zależy pobór prądu oraz ewentualne napięcia.

To w ogóle nie zdziała. Jeżeli taśma ma już w sobie oporniki dopasowujące zespoły LEDów do 12V, to multipleksowanie 1:8 obniży jasność wszystkiego w stosunku 1:8. To będzie ledwo widać. Musisz tu albo:

- użyć LEDów bez oporników,
- zostawiając multipleksowanie sterować to z zasilania 8 razy wyższego,
- zrobić wyświetlacz statyczny na 12V, czyli 64 wyjścia z 8 ekspanderów (lub 4 sztuk 16-bitowych) i 64 tranzystorki npn lub NMOS.

Pomijam fakty:

- Bezsensownego układu regulacji jasności. Ani to nie zdziała w tej konfiguracji ani nie jest potrzebne. Przecież mając multipleksowanie możesz modulować czas włączania poszczególnych cyfr synchronicznie z samym procesem wyświetlania. Wystarczy, że jeden timer będzie regularnie, np. co 2ms zgłaszał przerwanie i w nim będziesz zapalał kolejną cyfrę. Jednocześnie odpalasz inny timer (w trybie one-shot) zawsze na czas 0..1.9ms, który po odliczeniu wyłączy wszystko. Regulując czas tego drugiego timera masz zmiany jasności.

- Sterowania górnych tranzystorów. Oba nie zadziałają. NMOS nigdy się nie włączy a pnp nigdy nie wyłączy.

EDIT: Oczywiście da się skorzystać np. z MAX7219 i podłączyć mu drivery zamiast małych LEDów, ale nie widzę istotnej przewagi nad bezpośrednim sterowaniem pola wyświetlacza z procesora no może poza tym, że błąd w programie i zwis systemu objawiający się zatrzymaniem procesu multipleksowania zwykle niszczy lub bardzo przeciąża LEDy (bo dostają 8x większy prąd niż znamionowy). Zwykle w takich przypadkach dostawia się albo sprzętowy układ wykrywający zatrzymanie (jakiś podtrzymywany impulsami anod przerzutnik monostabilny) albo testuje się system na czymś małym i dorabia dobrze przetestowany watchdog w procku.

  • Pomogłeś! 1

Dziękuję za konstruktywne uwagi - nie pomyślałem (za dużo pomysłów na raz i późna pora).

Kilka dodatkowych wyjaśnień.

Do budowy wyświetlacza planuję użyć pociętej na kawałki taśmy LED 5m (120 led/m 9,6W/m). Taśma ta umożliwia podział co 2,5cm i dla zbudowania pojedynczego segmentu wyświetlacza chcę użyć odcinka 7,5 cm taśmy czyli 9 LED. Taki odcinek (segment) z dokonanych przeliczeń będzie w stanie pobrać max. ok 60mA czyli pojedyncza cyfra max. ok. 420mA.

To ma być duuuży wyświetlacz.

Na module z MOSFETem chciałem zrealizować wspólną dla wszystkich 8 cyfr regulację jasności (taka jest wstępna koncepcja), ale to muszę jeszcze przemyśleć więc na razie o tym zapomnijmy.

Pozostaje kwestia kluczy tranzystorowych - czy proponowane rozwiązanie będzie właściwe?

Dołączam zaktualizowany schemat poglądowy.

Pozdrawiam,

Nie - nie jest właściwe. Zabierasz się za zbyt skomplikowany projekt, zacznij od czegoś łatwiejszego. Albo chociaż podłącz tych kilka elementów do płytki stykowej i zobacz co się stanie.

Nie, niczego nie podłączaj! Ten górny pnp będzie zawsze włączony a jego złącze BE będzie przez 1k pompować 12V do wyjścia ekspandera. Tego tak się nie robi. Pomyśl samodzielnie i nie dołączaj się do głupiego trendu "najwyżej coś spalę". Musisz dodać npn który przełoży sygnał ekspandera na prąd "zasysany" z plusa.

Marku, daj się człowiekowi nauczyć na błędach - raz napisałeś, nie dotarło. Lepiej się zapamiętuje jak się najpierw trochę pomęczy. Na szczęście to raptem kilka elementów, a zdobyta wiedza bezcenna 🙂

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...