Sterowanie wieloma 7-segmentowymi wyswietlaczami

Nov 08, 2004 28 Replies

Witam,



Mam procesor Atmel AVR ATmega16. Chcialbym za pomoca tego procesora sterowac kilkoma (np. szescioma) 7-segmentowymi wyswietlaczami. Nie chcialbym wykorzystac wiecej niz 8 wyjsc procesora w tym celu. Mozna zrobic uklad, ktory bedzie 4 linie wyjsciowe procesora (cyfry od 0 do 9 w BCD) podlaczal do ukladu scalonego, ktory z kolei bedzie sterowac siedmioma segmentami wyswietlacza. Procesor przelaczalby sie szybko pomiedzy wyswietlaczami i odswiezal cyfry na nich wyswietlane. Nie jest to rozwiazanie dobre, gdyz pewnie wystepowaloby migotanie, a sam procesor bylby zajety w duzej mierze odswiezaniem wyswietlaczy. Mozna by wprowadzic cos jakby pamieci, aby procesor musial odwolywac sie do wyswietlaczy wowczas, gdy zmieni sie wyswietlana cyfra. Bede wdzieczny za propozycje jakiegos rozwiazanie mojego problemu.



Z gory dziekuje.



Vicky.



Taaaa... Słyszałem o przypadku pewnego Gruzina, który połączył dwa koła poprzeczną deseczką i jeździł na czymś takim, nie widząc, że odkrył rower ;-)

Tak się naprawdę robi. Nazywa się to multipleksowaniem. A to, czy nie będzie mrugać, zależy od częstotliwości odświeżania. Sam popełniłem taki układ na Tiny26: oprócz wyświetlania na 6 segmentach LED przetwarza 2 kanały A/C i robi parę innych rzeczy.

Pozdrawiam

Zastosuj rejestr z szeregowym wejscie i wyjsciem oraz dodatkowo z wyjsciem rownoleglym i najlepiej z wewnetrznym rejestrem podtrzymujacym dane, majac cos takiego mozesz wlasciwe zrealizowac dowolny sposob wyswietlania - wydaje mi sie ze idealny bylby np 74595 ale sprawdz sam

U¿ytkownik "Vicky" snipped-for-privacy@hotmail.com napisa³ w wiadomo¶ci news:cmoma7$oh$ snipped-for-privacy@atlantis.news.tpi.pl...

Tak nawet lepiej widaæ - mniej pr±du potrzeba ze wzglêdu na w³a¶ciwo¶ci oka. Zamiast 10mA DC wystarczy 50mA z wype³nieniem 1/10 - czyli ¶rednio

5mA. Jak przyjmiesz 100Hz i 10 cyfr to co 1ms musisz zaj±æ siê wy¶wietlaniem. Ile to mo¿e zaj±æ rozkazów i ile to bêdzie procent czasu procesora - my¶lê, ¿e góra kilka procent.

P.G.

Dzieki wszystkim za odpowiedzi. Byc moze rozwiazanie z ciaglym odswiezaniem sprawdza sie w praktyce, ale jakos nie jestem do niego przekonany. Gdybym robil np. woltomierz, ktory mierzy napiecie i caly czas wyswietla jego wartosc, to ciagle odswierzanie byloby OK. W mojej aplikacji, z komputera przychodza RSem dane, ktore maja byc wyswietlone na wyswietlaczach, a potem te dane sie juz nie zmienia przez godziny/dni/tygodnie i procesor bedzie robil co innego -- dlatego wlasnie bronie sie przed ciaglym odswierzaniem wyswietlaczy (najlepiej wpisac do nich cyfry raz i zapomniec). Marzy mi sie scalak (ew. prosty uklad), do ktorego wpisuje liczbe w kodzie BCD, a on steruje siedmioma segmentami wyswietlacza, i co najwazniejsze: zatrzaskuje swoj stan do kolejnej zmiany liczby na wyswietlaczu. Byc moze, jak ktos pisal w odpowiedzi na moje pytanie, zastosuje rejestr z szeregowym wejscie i wyjsciem oraz dodatkowo z wyjsciem rownoleglym i najlepiej z wewnetrznym rejestrem podtrzymujacym dane. To by bylo chyba najlepsze rozwiazanie, jak dotad. Oczywiscie do tego multiplekser, ktory przelacza linie danych procesora do poszczegolnych wyswietlaczy.

Pozdrawiam, Vicky.

U¿ytkownik "Vicky" snipped-for-privacy@hotmail.com napisa³:

Wiêc w³a¶nie tak to dzia³a - wpisujesz warto¶æ raz w jak±¶ zmienn±, a procedura przerwania zegara dba o wy¶wietlanie.

Darek ¯o³na

E tam. Jeśli tylko ci wyjść starcza, to powinieneś unikać hardwarowego robienia tego co może zrobić procek. Jakoś mi to nieelegancko wygląda, te dodatkowe rejestry czy multipleksy.

U¿ytkownik "Vicky" snipped-for-privacy@hotmail.com napisa³ w wiadomo¶ci news:cmq1vs$bk7$ snipped-for-privacy@nemesis.news.tpi.pl...

Gdy mam do wyboru dobudowaæ trochê hardwaru czy dodaæ trochê roboty procesorowi to taniej wychodzi to drugie.

Wydaje mi sie, ¿e co¶ takiego robi Motorola (wpis po SPI), ale dok³adnie nie pamiêtam.

P.G.

A ja w to jakos nie wierze :-)

J.

Niestety - pinow troche trzeba, wiec procek drozszy. A 4094 bardzo tanie sa.

W sumie rozwiazania sa niemal rownowazne

Poszukaj w archiwach - bylo mielone.

J.

U¿ytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news: snipped-for-privacy@4ax.com...

Je¶li siê przyjmie sterowanie z przegl±daniem, to 4094 nie za³atwia zapamiêtania tego co ma byæ ¶wiecone. Dlatego ja zastosowanie 4094 wliczam do wariantu "trochê wiêcej roboty dla mikroprocesora".

Przez dobudowanie hardwaru rozumia³em jak±¶ pamiêæ + przegl±danie na zewn±trz (s± pewnie gotowce, ale to nie 4094).

P.G.

U¿ytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news: snipped-for-privacy@4ax.com...

W³a¶nie przeprojektowujê nasz± DSM-51, aby by³a CE - zgodna. Muszê dobraæ pr±d do sterowania wy¶wietlacza 7-segment z przegl±daniem tak aby:

- jak wszystko dzia³a to widaæ wy¶wietlacz co najmniej 'dostatecznie'.

- jak kto¶ siê pomyli i zapali 1 segment na sta³e to go nie spali.

- moc wydzielana w rezystorach by³a do przyjêcia (poprzednio na segment by³y 2x 1206), teraz wszystko robimy na 0603. Do³o¿ê jeszcze do tego porównanie ¶wiecenia DC i impulsowego.

Zaraz to zrobiê.

P.G.

U¿ytkownik "Piotr Ga³ka" snipped-for-privacy@CUTTHISmicromade.pl napisa³ w wiadomo¶ci news:4190e648$ snipped-for-privacy@news.home.net.pl...

¶rednio

'dostatecznie'.

Uzupe³niam:

Zrobi³em - moje wyniki s± takie: Wy¶wietlacz Kingbright SC52-11EWA grupa jasno¶ci M Jeden segment sterowa³em impulsowo 100Hz z wype³nieniem 1/8, a drugi DC tak aby uzyskaæ tê sam± jasno¶æ pozorn± (patrzy³y 2 osoby).

20mA *1/8 (=2,5mA) odpowiada DC=3,8mA 30mA *1/8 (=3,75mA) odpowiada DC=5,5mA 40mA *1/8 (=5mA) odpowiada DC=7mA

Czyli impulsowo mo¿na uzyskaæ tê sam± jasno¶æ pozorn± oszczêdzaj±c oko³o 30% mocy. Co by³o do udowodnienia.

P.G.

Rzecz w tym, ze ja chce sterowac z procka minimum szescioma wyswietlaczami, a moze bede musial sterowac osiemnastoma. Tak czy inaczej multipleksery by byly, a do tego moze konwertery z BCD na 7 segmentow. A juz lepiej byloby dac szeregowo kilka rejestrow szeregowych z wyjsciami rownoleglymi jeden za drugim -- procesor mial by wykorzystanych minimum wyjsc do sterowania, a poza rejestrami, nie byloby dodatkowej elektroniki. A tak poza tym, to postanowilem wsadzic wyswietlacz LCD, a nie bawic sie z wyswietlaczami 7-segmentowymi.

Vicky.

Ba, podobno są nawet wyświetlacze multipleksowane z wpisem po i2c. Maxim robi takie kości też.

Pozdrawiam

Marcin Stanisz

Piotr Gałka napisal(a):

O, jaki ladny dowod a la audiofile.

A drogie kable lepiej graja.

U¿ytkownik "Marcin E. Hamerla" snipped-for-privacy@Xpoczta.Xonet.Xpl.removeX>

napisa³ w wiadomo¶ci news: snipped-for-privacy@4ax.com

Hmm... a co _konkretnie_ masz do zarzucenia? IMHO ca³kiem uczciwe zrobiony eksperyment:

- udokumentowane warunki (typ, warunki zasilania)

- dzia³anie _porównawcze_ na dwóch segmentach tego samego wy¶wietlacza, czyli ten sam k±t obserwacji, to samo o¶wietlenie zewnêtrzne. A ró¿nice jasno¶ci oko rejestruje ca³kiem nie¼le (patrz np. pirometry z grzanym w³oknem). No.. chc±c byæ zupe³nie w porz±dku mozna by³o jeszcze zamieniæ segmenty. ;-)

- obserwacja przez dwie osoby. To wprawdzie nie jest reprezentatywna próba losowo wybranego 1000 trze¼wych polaków, ale te¿ i badanie nie ma s³u¿yæ ¿adnej kampanii.

Gdzie tu widzisz audiofilizm?

Można urządzić ślepą próbę...

Ale to już zależy od tego, jaki ułamek do prędkości światła im brakuje ;-D Jarek F. powinien pamiętać linka do tych kabli.

A tak poważniej: diody małej mocy sprawniej pracują przy zasilaniu impulsowym. Choć bywają wyjątki, niestety.

U¿ytkownik "Marek Dzwonnik" <mdz@WIADOMO_PO_CO_TO.message.pl> napisa³ w wiadomo¶ci news:41921bd4$ snipped-for-privacy@news.home.net.pl...

My¶la³m o tym, ale nie mia³em ju¿ czasu na kolejn± seriê pomiarów.

P.G.

U¿ytkownik "Marcin E. Hamerla" snipped-for-privacy@Xpoczta.Xonet.Xpl.removeX>

napisa³ w wiadomo¶ci news: snipped-for-privacy@4ax.com...

O co biega ? Co¶ nie tak napisa³em ? Poda³em te wyniki, tylko dlatego, ¿e ju¿ drugi raz kto¶ pisa³, ¿e nie wierzy, ¿e impulsowo wychodzi mniej I ¶rednie.

Mo¿e takie dane powinny byæ tajne i tylko prywatnie przesy³aæ ?

To musi byæ jaka¶ aluzja, ale przyznam, ¿e nie rozumiem.

P.G.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required