Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jak wysterować trójkolorowy bargraf poprzez układ ATMEGA32?

szachu-cad1 18 Mar 2009 18:35 3702 15
  • #1 18 Mar 2009 18:35
    szachu-cad1
    Poziom 12  

    Jestem w posiadaniu trójkolorowego bargrafu:

    Jak wysterować trójkolorowy bargraf poprzez układ ATMEGA32?

    Chciałbym płynnie regulować jego wyświetlanie (liczbę poziomów i kolor) za pomocą ATMEGI32. Domyślam się, że trzeba użyć jakiegoś scalaka, tylko jakiego.

    Nie skupiam się w tej chwili na programie, będzie on powstawał jak tylko skompletuję odpowiednie podzespoły. I na koniec ostatnie pytanie - czy da się ATMEGĄ32 wysterować 9 takich wyświetlaczy (3 słupki po 3 bargrafy, coś w rodzaju miernika trójfazowego napięcia lub prądu na bargrafach)?

    Z góry dziękuję za odpowiedzi.

    0 15
  • #2 18 Mar 2009 18:46
    atom1477
    Poziom 43  

    Da się i to bardzo łatwo.
    Ale chcesz tylko 3 kolory (Red, Gleen Yellow) czy więcej?

    0
  • #3 18 Mar 2009 18:51
    szachu-cad1
    Poziom 12  

    Potrzebuję tylko trzy, podstawowe kolory. Rozumiem, że inne kolory to coś pośredniego między tymi trzema podstawowymi...

    0
  • #4 18 Mar 2009 18:54
    ZbeeGin
    Poziom 38  

    Najlepiej skorzystać z rejestrów przesuwnych. Np CD4094. Będziesz miał tyle bitów ile w sumie chcesz. A do sterowania tych bargrafów potrzeba ok. 50 bitów, czyli 7 takich rejestrów.
    Jak wysterować trójkolorowy bargraf poprzez układ ATMEGA32?

    Bargraf ma tylko 2 natywne kolory. Trzeci (pomarańczowy) robi się z czerwonego i zielonego. Zatem nie zmieszasz więcej niż 2 kolorów. To nie jest RGB.

    0
  • #5 18 Mar 2009 19:08
    szachu-cad1
    Poziom 12  

    50 bitów do 1 czy 9 bargrafów? I ile portów mikrokontrolera będę musiał wykorzystać do wysterowania 9 bargrafów? Pytam, bo chciałbym jeszcze oprócz tych 9 bargrafów dorzucić multipleksowany wyświetlacz 7-segmentowy na 4 cyfry... no i jeszcze jakaś klawiaturka na 4 przyciski... da radę zmieścić to wszystko w ATMedze32?

    0
  • Pomocny post
    #6 18 Mar 2009 19:14
    ZbeeGin
    Poziom 38  

    Przecież masz 32KB Flash i 32 bity z portów! Jak widać na rysunku złożyłem matrycę z 9 bargrafów. A do sterowania rejestrami potrzebujesz... 4 bitów zatem tylko pół portu. Z czego jeden można nawet pominąć (OE).

    4 bity na bargraf.
    12 bitów na wyświetlacz
    4 bity na klawiaturę
    ----------------
    20 bitów (3,5 portu)

    0
  • #7 18 Mar 2009 19:28
    szachu-cad1
    Poziom 12  

    No dobra, skoro wiem, że będę potrzebował 7 rejestrów, to czy znajdę je wszystkie w jednym układzie np. w obudowie MQFP44? Miernik będzie musiał być jak najmniejszy, a 7 scalaków to trochę dużo miejsca nawet w SMD - cena nie gra roli, chcę tylko wiedzieć czy są tak pojemne rejestry dostępne na rynku.

    0
  • Pomocny post
    #8 18 Mar 2009 19:39
    atom1477
    Poziom 43  

    Przecież to można podłączyć inaczej.
    3x3 bagrafy. Wtedy potrzeba 15x12 linii. Do tego niektóre można podciągnąć prosto z uP. Np te 12. Do tego trzeba wtedy tylko 2x4094.

    To już bardziej przypomina kwadrat a więc będzie mniej pinów. Ale wypełnienie multipleksowania tylko 1/12.

    Nikt nie mówi o RGB. Pomiędzy np. czerwonym a żółtym też jest dużo kolorów.

    Dodano po 2 [minuty]:

    Ale wtedy to pinów będziesz miał na styk. No chyba że sterowanie wyświetlaczem LCD podłączysz do tych samych linii co sterowanie bagrafów. Ja bym tak zrobił.
    Przyciski też można podpiąć do tych samych pinów (poza jednym do odczytu).

    0
  • #9 18 Mar 2009 19:54
    szachu-cad1
    Poziom 12  

    ...och tyle teorii że pogubić się idzie...

    Rozumiem, że na 4094 będzie to najłatwiejsze rozwiązanie (czy zrobię to na 2x4094 czy na 7x4094), pytam, bo widziałem kiedyś dokładnie podobny miernik (ale tylko 3 bargrafy 3-kolorowe) podpięte do dwóch MM74595 i jednego ULN2803 (a to wszystko na PIC18F4620)...

    Atom1477, czy wobec tego zmieszczę jeszcze 4 przyciski i wyświetlacz? Muszę to wiedzieć już na tym poziomie, mam już wsystko oprócz scalaków do sterowania bargrafami, a dzieki wam jestem już prawie w domu...

    Dodano po 3 [minuty]:

    OK, widzę, że rzeczywiście jest to najlepszy sposób. To nie zostaje mi nic innego jak tylko zamawiać te kostki.

    0
  • #10 18 Mar 2009 20:08
    atom1477
    Poziom 43  

    Jeszcze 4 przyciski i wyświetlacz poza tymi które już są?
    Na ATMega32 zmieścisz się spokojnie.
    Problemem może być co najwyżej upchanie tego na 2 układach 4094, ale przecież ostatecznie możesz wstawić 7 (albo jakąś liczbę pośrednią).

    0
  • Pomocny post
    #11 18 Mar 2009 22:27
    bolcio
    Poziom 11  

    Witam!
    Aktualnie projektuję podobne urządzenie. W moim przypadku jest to 10 takich wyświetlaczy. Wyprowadzenia Bank1-5 wszystkich wyświetlaczy multipleksuje (poprzez bufory) z wyprowadzeń mikrokontrolera. Pozostałe 4 wyprowadzenia każdego wyświetlacza (czyli w sumie 10 x 4 = 40) podłączam bezpośrednio do 5 układów 4094 połączonych szeregowo. Układy te zajmują 4 wyprowadzenia mikrokontrolera (dane, zegar, strobowanie oraz włączenie wyjść). Mikrokontroler sterujący to ATmega8. Przepraszam, że tak wszystko opisowo ale nie mam jeszcze schematu.

    A tak wygląda efekt na pająku. Kolory są trochę przekłamane:
    Jak wysterować trójkolorowy bargraf poprzez układ ATMEGA32?

    0
  • #12 19 Mar 2009 06:21
    szachu-cad1
    Poziom 12  

    Bolcio, a mógłbyś podrzucić w wolnej chwili mały schemacik jak podłączyć bargraf do 4094? Może być jakiś najmniejszy, byle wysterować chociaż jeden bargraf, tak żebym wiedział od czego zaczynać.

    Pozdro!

    0
  • #13 19 Mar 2009 07:51
    bolcio
    Poziom 11  

    Jak wysterować trójkolorowy bargraf poprzez układ ATMEGA32?

    Do wejścia DATA pierwszego układu 4094 podłączasz jedno z wyprowadzeń mikrokontrolera. Wyjście QS1 pierwszego układu podłączasz do DATA kolejnego i tak dalej dokładasz kolejne układy ile Ci potrzeba. Wszystkie wejścia OE, STR i CP łączysz odpowiednio z sobą i podłączasz do mikrokontrolera. Wszystkie wyprowadzenia od 1-5 wyświetlaczy łączysz odpowiednio ze sobą i multipleksujesz z mikrokontrolera poprzez jakieś bufory. Tyle...

    0
  • #14 15 Cze 2009 22:09
    wlw_wl
    Poziom 38  

    Witam,

    dołączam się do tematu żeby nie tworzyć nowego:
    steruję dwoma takimi bargrafami dwukolorowymi z Atmegi8 przez 4094 (74HC7094 konkretnie).
    Na jeden bargraf przypada jeden rejestr, żeby prądowo dały radę.
    Mam problem z wyświetlaniem koloru żółtego.

    Otóż wyświetlam słupek pokazujący wartość (jak w termometrze rtęciowym) i wszystko jest ok dopóki nie przekroczę 10 kresek i nie wyjdę z pierwszego wyświetlacza.
    Kreska 11, czyli pierwsza na drugim wyświetlaczu, zapala się na żółto jak trzeba. Niestety, w momencie zapalenia kreski numer 12, zarówno kreska 11 jak i 12 świecą na czerwono. Pierwszy bargraf świeci na żółto, drugi zaczyna na czerwono.
    Oba są połączone identycznie. Za bargrafami są tranzystory kluczujące do wybierania koloru. Przed bargrafami są rezystory 510Ohm, za bargrafami na diodach czerwonych jeszcze po jednym 510Ohm.
    Kolory pojedyncze wyświetlają się prawidłowo (zielony i czerwony). Przy żółtym taki krzak. Zmieniałem już tranzystory kluczujące, nie pomogło, zmieniałem sposób łączenia bargrafów z rejestrami i program, nic to nie zmieniło.

    Przy zapalaniu kresek 13 i dalej ta czerwień blednie i gdy świecą się wszystkie 20 to wszystkie 20 są jednakowo żółte (prawie, drugi bargraf jest lekko czerwonawy).
    Skąd takie zjawisko?

    ed:
    wygląda to tak:
    12:
    Jak wysterować trójkolorowy bargraf poprzez układ ATMEGA32?

    20:
    Jak wysterować trójkolorowy bargraf poprzez układ ATMEGA32?
    (jakość komórkowa ;) )

    0
  • #15 16 Cze 2009 11:11
    bolcio
    Poziom 11  

    wlw_wl napisał:
    Na jeden bargraf przypada jeden rejestr, żeby prądowo dały radę.


    Ale że jak? Łączysz jakoś wyjścia rejestru czy co? Narysuj schemat podłączenia bo jakoś trudno mi to sobie wyobrazić. Co do wydolności prądowej to zapewniam że jeden rejestr "uciągnie" dwa moduły bargrafów wg schematu jaki zamieściłem wyżej.

    0
  • #16 16 Cze 2009 22:06
    wlw_wl
    Poziom 38  

    Ano tak:
    Jak wysterować trójkolorowy bargraf poprzez układ ATMEGA32?
    Schemat nie za piękny, ale teraz go rysowałem "na szybko".
    U góry połączenie diod, o którym wspominałem.
    Na bazach tranzystorów są oporniki 1k.

    Do jednego rejestru są podłączone nóżki 1-5 bargrafu i na najstarszych bitach dwa tranzystory kluczujące do wyboru koloru (pierwszy rejestr ma czerwone, drugi zielone).
    Dzięki temu mogę wyświetlać multipleksując tylko parzyste i nieparzyste więc mam wypełnienie 1/2.

    Zaznaczam, że jak zapalam 2 kreski na pierwszym bargrafie to są żółte, tylko z drugim jest problem.

    W całej okazałości wygląda to tak:

    Link

    kamera z komórki więc przekłamała kolory, w rzeczywistości świecą soczyście czerowno jakby zielone tam w ogóle nie świeciły.

    Może to kwestia cyrku z prądem i doboru odpowiednich oporników?

    Dodano po 5 [godziny] 22 [minuty]:

    Jeszcze kwestia obliczeń prądu. Oporniki za diodami czerwonymi wymieniłem na 1k, ale nic to nie pomogło. Czy dobrze liczę prądy na diodzie:

    czerwonej: 2mA
    zielonej: 6mA?

    Jakieś czary tu się dzieją!

    Dodano po 2 [godziny] 40 [minuty]:

    Sam sobie pomogłem.

    Dla potomnych: rezystory na zielonych też trzeba dać osobno bo inaczej cuda nieprzewidziane się dzieją.

    510R na każdej z nóg 1-5 i tak z 240R na 6-9, można regulować kolor żółci zmieniając wartość na czerwonych.

    0