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.

Wyświetlacz VFD na I2C. Sterowanie multipleksowe. Da się?

gbr3 25 Gru 2007 21:37 2478 3
  • #1 25 Gru 2007 21:37
    gbr3
    Poziom 15  

    Witam!
    Czy próbował ktoś sterować multipleksowo wyświetlacz przez i2c(siatki i anody sa sterowane przez 2x PCF8574).Czy to da sie zrobić tak aby nie było efektu duchów itp?
    Pozdrawiam :D

    0 3
  • #2 26 Gru 2007 21:50
    szeri88
    Poziom 14  

    Witaj,

    Kiedyś robiłem zegar na lampie IW-18. Do sterowania użyłem dwóch układów MAX6920. Naprawdę fajne układy, co prawda nie komunikują się przez I²C ale to nie stanowi problemu. Przy okazji bardzo łatwo zrobić regulację jasności świecenia segmentów.

    0
  • #3 27 Gru 2007 14:01
    gbr3
    Poziom 15  

    Tylko tego maxa cieżko dostac ja mam właśnie 2 te układy na i2c plytke już zrobiłem narazie z atmega 16 tylko nie wiem czy i2c sie wyrobi... , jak uzyskałeś napięcie do sterowania lampą powielacz czy inne cos?
    Pozdrawiam :D

    0
  • #4 27 Gru 2007 14:24
    szeri88
    Poziom 14  

    Tutaj jest opis całego zegara:

    Sercem urządzenia jest mikrokontroler ATMEGA8 pracujący na wewnętrznym rezonatorze kwarcowym o częstotliwości 8MHz. Układ zasilania składa się z transformatora sieciowego TS4/023, mostka Gretza, układu stabilizatora LM7805, oraz kondensatorów filtrujących. Układ DS1307, wraz z rezonatorem kwarcowym 32.768kHz oraz trymerem odpowiedzialny jest za odmierzanie czasu. Bateria zegarowa podtrzymuje pracę układu przy wystąpieniu zaniku napięcia sieciowego. Układ komunikuje się z mikrokontrolerem za pomocą transmisji dwu-żyłowej – I2C. Dodatkowo linie transmisyjne stabilizowane są przez rezystory połączone z napięciem +5V. Układ DS1307 posiada również wewnętrzną pamięć EEPROM w której przechowywane są adresy oraz komendy wykorzystywane przy sterowaniu za pomocą pilota RC5. Odbiornikiem podczerwieni jest scalony układ TSOP1736. Aby wprowadzić kody pilota do pamięci EEPROM, należy aktywować funkcję „Ustawienia”. Do pomiaru temperatury wykorzystałem układy DS18B20 komunikujące się z mikrokontrolerem za pomocą transmisji 1-wire. Zgodnie z zaleceniami producenta linia transmisyjna podciągnięta została do plusa zasilania przez rezystor. Ponieważ układy te posiadają unikalny 64-bitowy identyfikator, to do urządzenia możemy dołączyć dwa układy pomiarowe, korzystając z jednej linii. Lampka zrealizowana jest na trójkolorowej diodzie LED (RGB), która jest sterowana przez timer T1 pracujący w konfiguracji regulatora PWM. Funkcja lampki uruchamiana jest o określonej godzinie i polega na płynnym przejściu przez wszystkie kolory tęczy. Rolę wyświetlacza pełni radzieckiej produkcji lampa VFD typu IW-18. Żarzenie zasilane jest zza stabilizatora LM7805 w obwodzie z diodą 1N4007, która wprowadza spadek napięcia do wymaganego przez lampę. Segmenty oraz siatki zasilane są napięciem +60V. Do wytworzenia tego napięcia wykorzystałem przetwornicę step-up zbudowaną na prostym układzie MC34063. Układ ten dopuszcza maksymalne napięcie wyjściowe 45V, więc niezbędne było zastosowanie zewnętrznego tranzystora wysokonapięciowego. Wartości elementów zewnętrznych przetwornicy wyliczyłem na podstawie wzorów przedstawionych w nocie katalogowej układu. Ze względu na budowę lampy oraz ograniczoną liczbę portów mikrokontrolera zastosowałem sterowanie multipleksowe, czyli w jednej chwili czasu zapalona jest jedna siatka. Do separacji napięć 5V i 60V użyty został układ MAX6920, który zawiera w swojej budowie bufor, 12-bitowy rejestr szeregowy, zatrzask, oraz zestaw bramek logicznych typu NAND. Wyjścia tego układu zawierają parę komplementarną, więc w przypadku wystąpienia stanu niskiego – wyjście zostaje zwierane do masy w przeciwnym razie wyjście zostaje podciągane do napięcia 60V . Układ ten posiada 4 wejścia sterujące: DIN, CLOCK, LOAD, BLANK. Informacja wprowadzana jest do rejestru szeregowego, następnie podawana jest na wyjście układu przez aktywację wejścia LOAD (Latch - zatrzask). Wejście BLANK wykorzystałem do sterowania jasności wyświetlacza. Funkcję budzika pełni piezo-generator dołączony przez tranzystor do jednego z pinów mikrokontrolera. Do sterowania urządzenia używamy 4 przycisków lub pilota pracującego w kodzie RC5.

    Pozdrawiam

    Dodano po 57 [sekundy]:

    Jeżeli chodzi o układ MAX6920 to dostałem go za darmo.

    0