P O D Z E S P O A Y
Wyświetlacze VFD od podstaw,
część 2
W drugiej czści artykułu
przedstawiamy konstrukcj
przykładowego sterownika
wyświetlacza VFD
wykonanego na
mikrokontrolerze AT89S8252.
Praktyczna realizacja układu sterowania
wyświetlaczem VFD 7-LT-109 firmy Futaba
Na rys. 9 przedstawiono schemat go układu przed przepiciami. Ptla brak objawia si widmowym świe-
przykładowej aplikacji układu stero- sprzłenia zwrotnego dołączona jest do ceniem segmentw sąsiedniego znaku.
wania i zasilania wyświetlacza VFD wyjścia napicia anodowego za diodą Płytka ewaluacyjna posiada wyprowa-
firmy Futaba typu 7-LT-109GN. Układ Schottky'ego D3 (1N5819). Wartości re- dzone złącze do programowania mikro-
U1 (LM5000-3) pełni rol przetworni- zystorw R2 i R3 wpływają bezpośred- kontrolera w pracującym układzie (in-cir-
cy zasilającej VFD. Ze wzgldu na nio na wartośĘ napicia wyjściowego. cuit) przystosowane do programatora
niewielkie rozmiary oraz małą liczb W tej aplikacji wynosi ono 22 V. Na- AVT515 opisywanego w numerze 9/2003
elementw zewntrznych, układ ten picie to zostało dobrane odpowiednio Elektroniki Praktycznej. Mołna w niej
świetnie nadaje si do tego rodzaju do typu ułytego wyświetlacza. stosowaĘ zarwno mikrokontroler z serii
aplikacji. Posiada wbudowany stopie Na karkasie nawinito rwnieł '51, jak i kompatybilny pod wzgldem
wyjściowy mocy, ktrego obciąłeniem uzwojenie podające napicie łarzenia. wyprowadze z serii AVR, na przykład
mołe byĘ transformator. Mołna rw- Do środkowego odczepu dołączona zo- AT90S8515, ATMega8535 itp. Uwaga:
nieł wybraĘ jedną z dwch czstotli- stała dioda Zenera D4 (BZX C3V9) zmiana mikrokontrolera na AVR wyma-
wości pracy przetwornicy, podłączając z kondensatorem bocznikującym C12. ga wlutowania rezystora w miejsce ele-
lub odłączając wyprowadzenie FS od Elementy te słułą wypracowaniu na- mentu C7 oraz usunicia zwory JP1.
potencjału masy. Charakterystycznym picie odcicia. WartośĘ napicia ła- Program sterujący napisany został w j-
dla LM5000 jest rwnieł bardzo sze- rzenia zmierzona oscyloskopem na do- zyku C dla mikrokontrolera z rdzeniem
roki zakres napiĘ zasilających. Mołe prowadzeniach łarzenia wyświetlacza '51. Posługiwałem si wersją demonstra-
on byĘ zasilany napiciem o wartości wynosi około 5 Vpp. Ma ono kształt cyjną kompilatora firmy Raisonance.
z przedziału od 3,1 do 40 V, a mak- zbliłony do prostokątnego. Jego war-
symalna wartośĘ przełączanego napi- tośĘ nie jest kontrolowana przez układ Program sterujący
cia to ał 80 V. Zastosowana wersja przetwornicy i nie wpływa na prac Program zaczyna si od deklaracji
układu umołliwia prac przetwornicy ptli sprzłenia zwrotnego. W związ- stałych tablic mających bezpośredni
z czstotliwością 300 lub 700 kHz. ku z powyłszym naleły unikaĘ zwarĘ wpływ na wygląd znakw oraz kolej-
W przykładzie aplikacji przetwornica w obwodzie łarzenia przy pracującym nośĘ ich załączania. Przyjrzyjmy si
pracuje z napiciem wejściowym rw- układzie zasilania VFD! tablicom, ktre pokazano na list. 1.
nym 5 V. Jest ono jednocześnie wyko- Rol układu sterowania pełni mik- Patterns to deklaracja wzorcw zna-
rzystywane do zasilania mikrokontro- rokontroler AT89S8252 (U2). Pracuje kw umieszczona w obszarze pamici
lera oraz driverw napicia wyjścio- on z czstotliwością taktowania rwną programu mikrokontrolera. Umieszcza ją
wego typu UDN2981. Uwaga: układ 4 MHz. Mołna ułyĘ rezonatora o in- tam kwalifikator code. Typ char infor-
ten zasilany jest z dwch napiĘ! nej czstotliwości, jednak trzeba si muje kompilator o tym, łe pojedynczy
Obciąłeniem LM5000 jest transforma- liczyĘ z koniecznością wykonania element tablicy ma rozmiar ośmiu bi-
tor wykonany przy ułyciu karkasu zmian w aplikacji sterującej. Jako tw. Zmienna wskazująca Tpat pokazu-
i rdzenia pochodzących z oferty firmy układw dopasowujących poziom na- je poszczeglne elementy tablicy.
Schuricht. Karkas ma numer katalogo- piĘ TTL do VFD ułyto UDN2981A W dalszej czści programu jest ona uły-
wy 334180 (karkas EFD15), a rdze z oferty firmy Allegro-Micro. Port P0 wana jako wskanik początku wzorcw
334160 (rdze do EFD15). Celowo wy- mikrokontrolera steruje pracą segmen- wyświetlanych znakw, do ktrego do-
brałem rdze, ktry łatwo jest kupiĘ tw (anod), natomiast port P2 uływa- dawany jest offset w celu wyznaczenia
i ktry dostpny jest w stałej ofercie ny jest do załączania siatek znakw. wzorca znaku do pobrania z ROM. Sta-
sprzedały. Rwnolegle do uzwojenia Chciałbym zwrciĘ uwag na fakt, łe nem aktywnym, odpowiadającym za-
pierwotnego transformatora dołączone na wyjściu układu drivera U4 dołą- świeceniu segmentu, jest wartośĘ lo-
są diody D1 (dioda Zenera 16 V) oraz czona jest drabinka rezystorowa R4 (8 giczna 1 na pozycji bitu. Znaki w po-
D2 (dioda szybka np. MUR120), ktrych x 100 k&!). Jest ona odpowiedzialna za staci cyfr uwzgldniaĘ muszą sposb
celem jest ochrona stopnia wyjściowe- wstpną polaryzacj siatek znakw. Jej dołączenia mikrokontrolera do wyświet-
Elektronika Praktyczna 5/2004
85
P O D Z E S P O A Y
Rys. 9. Schemat elektryczny sterownika wyświetlacza VFD
Elektronika Praktyczna 5/2004
86
P O D Z E S P O A Y
List. 1. Zmienne tablicowe zawierające kształt wyświetlanego znaku oraz
kolejność załączenia
//tablica zawierająca definicje wzorców znaków
char code patterns[11] = {0x3F, 0x06, 0x5B, 0x4F,0x66, 0x6D, 0x7D, 0x07, 0x7F,
0x6F, 0x00};
//wskaznik do elementu tablic (wzorca znaku)
char code * Tpat = &patterns;
//tutaj kolejność załączania cyfr wyświetlacza, aktywny (załączający)
//jest stan wysoki na wyprowadzeniu portu
char code digits[6] = { 0x01,0x02,0x04,0x08,0x10,0x20 };
//wskaznik do tablicy kolejności załączeń
char code *Tdig = &digits;
List. 2. Funkcja obsługująca przerwanie Timera 1
//procedura obsługi przerwania Timera 1
//wysłanie zmiennej 2-bajtowej do wyświetlacza - 1 znak z bufora display
void Out2Vfd(void) interrupt 3
{
char temp;
TH1 = irqfreq; //odświeżenie zawartości rejestru timera
temp = *(Tbuff+irqcnt); //pobranie znaku z bufora wyświetlacza
P0 = *(Tpat+temp); //pobranie wzorca cyfry i wyprowadzenie go przez P0
P2 = *(Tdig+irqcnt); //załączenie cyfry
temp = ontime;
while (temp--); //pętla - regulacja czasu załączenia cyfry
P2 = P0 = 0x00; //wyłączenie wszystkich cyfr (pozostałe
//polecenia tworzą czas Tb)
if (++irqcnt > 5) irqcnt = 0; //jeśli to koniec cyfr do wyświetlenia
//- powrót do początku
}
Tablica digits zawiera kolejnośĘ za- Dynamiczne sterowanie wyświetla-
łączenia poszczeglnych cyfr. W tej ap- niem odbywa si z wykorzystaniem
likacji znakowi o indeksie 0 odpo- funkcji obsługi przerwania Timera 1.
wiada załączenie pierwszej cyfry z pra- Pracuje on w trybie ośmiobitowym
wej strony wyświetlacza. Znak o indek- z odświełaniem zawartości rejestru ti-
sie 5 to pierwsza cyfra z prawej stro- mera w obsłudze przerwania. Funkcja
ny VFD. Kod załączenia o indeksie 7 obsługi przerwania jest bardzo
Rys. 10. Schemat działania funkcji
odpowiada wyświetleniu symbolu oszczdna. Schemat jej działania
obsługi przerwania
strzałki (patrz zdjcie wyświetlacza Fu- przedstawiono na rys. 10.
lacza VFD. Elementy tablicy ułołone są taba 7-LT-109). Łatwo jest odwrciĘ Funkcja obsługi przerwania pobiera
w taki sposb, łe na pozycji o indeksie kolejnośĘ wyświetlania, po prostu znak z bufora w RAM, zmienia na po-
0 umieszczona jest definicja znaku zmieniając ustawienie elementw staĘ do wyświetlenia i umieszcza go
0, na pozycji 1 definicja znaku 1 w tablicy digits. Zmienna wskazując na odpowiedniej pozycji wyświetlacza.
i tak dalej. Ostatnim w kolejności (in- Tdig podobnie jak poprzednio, słuły Stała irqfreq to czstotliwośĘ, z jaką
deks numer 10) jest kod wygaszenia do wyznaczenia kodu sterującego za- wywoływane jest przerwanie. Czstot-
wszystkich segmentw znaku. łączaniem cyfry na bazie jej numeru. liwośĘ ta jest rwnowałna czstotli-
Rys. 11. Schemat montażowy płytki drukowanej
Elektronika Praktyczna 5/2004
87
P O D Z E S P O A Y
List. 3. Program wykorzystany do testowania sterownika wyświetlacza
WYKAZ ELEMENTÓW
/************************************************************************
Obsługa wyświetlacza 6 cyfr VFD. Wyświetlanie znaków ASCII
Rezystory
************************************************************************/
R1: 1k&!/SMD1206
#pragma SMALL
R2: 10k&!/SMD1206
//dołączenie definicji rejestrów mikrokontrolera
#include
R3: 620&!/SMD1206
R4: 8x47k&!
//stałe do odświeżenia zawartości timera 1
#define irqfreq0xFC
R5: 8x47k&!
#define ontime 120
#define BLANK 10
Uwaga! Drabinka R5 lutowana
pod płytką, nóżka 1 do wyprowa-
// wzorce cyfr i liter
char code patterns[11] = {
dzenia 40 (VCC) mikrokontrolera.
//0 1 2 3 4 5 6 7 8 9 wygaś
Kondensatory
0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x00};
char code *Tpat = &patterns;
C1: 100F/16V
//tutaj kolejność załączania
char code digits[6] = { 0x01,0x02,0x04,0x08,0x10,0x20 };
C2...C5, C8: 100nF/SMD1206
char code *Tdig = &digits;
C/R7: 100nF/SMD 1206 dla AT89,
//bufor wyświetlacza w RAM
char data buffer[8];
100k&!/SMD 1206 dla AVR
char data *Tbuff = &buffer;
//licznik wejść w obsługę przerwania C9: 1F/63V
char data irqcnt = 0;
C10: 33F/50V
//procedura obsługi przerwania od timera 1
C11: 100pF/SMD1206
//wysłanie zmiennej 2-bajtowej do wyświetlacza - 1 znak z bufora display
void Out2Vfd(void) interrupt 3 C12, C13: 10F/16V
{
C14, C15: 22pF/SMD1206
char temp;
Półprzewodniki
TH1 = irqfreq; //odświeżenie wartości rejestru timera 1
U1: LM5000-3 National Semicon-
temp = *(Tbuff+irqcnt); //pobranie znaku z bufora wyświetlacza
P0 = *(Tpat+temp); //pobranie wzorca cyfry i wyprowadzenie go przez P0
ductor
P2 = *(Tdig+irqcnt); //załączenie cyfry
U2: AT89S8252-24PI zaprogramowa-
temp = ontime;
ny
while (temp--); //pętla - regulacja czasu załączenia cyfry
P2 = P0 = 0x00; //wyłączenie wszystkich cyfr (pozostałe
U3, U4: UDN2981A
//polecenia tworzą czas Tb)
D1: BZX C16
if (++irqcnt > 5) irqcnt = 0; //jeśli to koniec cyfr do wyświetlenia
D2: MUR120
//- powrót do początku
} D3: 1N5819
D4: BZX C3V9
//program główny
void main(void)
Różne
{
unsigned int x, D, l; VFD1: wyświetlacz FUTABA 7-LT-
109GN
P0 = P2 = 0; //wygaszenie cyfr, ustalenie wart.pocz. portów procesora
for (x = 0; x<6; x++) buffer[x] = BLANK;
Karkas do EFD15, Schuricht numer
kat. 334180
TMOD = 0x10; //timer 1:16-bitowy, ustawiana tylko starsza połówka bajtu
TH1 = irqfreq; //wartość dla reload
Rdzeń EFD15, Schuricht numer kat.
ET1 = 1; //zezwolenie na przerwanie od timera 1
334160
TR1 = 1; //uruchomienie timera 1
EA = 1; //zezwolenie na przyjmowanie przerwań, załączenie wyświetlania
Dane do wykonania transformato-
//wyświetlanie polega na wstawianiu cyfr do zmiennej tablicowej buffer
ra:
//pozycja 0 odpowiada znakowi o najmłodszej wadze (pierwszy z prawej)
//NA PRZYKAAD - implementacja licznika
- Uzw. pierwotne: 20 zw. DNE 0,3
x = 0;
while (1) { - Uzw. wtórne 1: 50 zw. DNE 0,12
x++;
(napięcie anodowe)
D = x;
if (x > 99999) { - Uzw. wtórne 2: 2 x 5 zw. DNE 0,3
l = D/100000;
(napięcie żarzenia)
buffer[5] = l; //podstawienie do wyświetlenia:100000
D = D - 100000*l;
}
wości odświełania wyświetlacza. On-
if (x > 9999) {
time reguluje czas załączenia. Zmie-
l = D/10000;
buffer[4] = l; //podstawienie do wyświetlenia:10000
niając t wartośĘ mołna wpływaĘ na
D = D - 10000*l;
jasnośĘ świecenia znaku.
}
if (x > 999) {
Program głwny (list. 3) to przykład
l = D/1000;
aplikacji licznika, ktrego stan wy-
buffer[3] = l; //podstawienie do wyświetlenia:1000
D = D - 1000*l;
świetlany jest na VFD. Licznik pracu-
}
je w ptli nieskoczonej, zliczając ko-
if (x > 99) {
l = D/100;
lejne przebiegi ptli. Po przepełnieniu
buffer[2] = l; //podstawienie do wyświetlenia:100
jest zerowany i cykl zaczyna si od
D = D - 100*l;
}
początku. Stan zmiennej licznika pod-
if (x > 9) {
dawany jest konwersji na kod BCD,
l = D/10;
buffer[1] = l; //podstawienie do wyświetlenia:10
a poszczeglne wagi dziesitne wsta-
D = D - 10*l;
wiane są do odpowiednich komrek
}
buffer[0] = D; //podstawienie do wyświetlenia:1
bufora wyświetlacza. Stan bufora po-
if (x > 65534) { //czyszczenie wyświetlacza, powtórzenie cyklu
bierany jest przez funkcj obsługi
for (x = 0; x<6; x++) buffer[x] = BLANK;
x = 0;
przerwania i wyświetlany na VFD.
}
Jacek Bogusz
}
}
jacek.bogusz@ep.com.pl
Elektronika Praktyczna 5/2004
88
Wyszukiwarka
Podobne podstrony:
Wyświetlacze VFD od podstaw, cz 1
07 GIMP od podstaw, cz 4 Przekształcenia
T03 Arkusz kalkulacyjny od podstaw cz 3 4 godz
04 GIMP od podstaw, cz 1 Filtry
Silniki Krokowe Od Podstaw, Cz 2 (549kb)
T03 Arkusz kalkulacyjny od podstaw cz 6 3 godz
T03 Arkusz kalkulacyjny od podstaw cz 5 1 godz
05 GIMP od podstaw, cz 2 Warstwy
T03 Arkusz kalkulacyjny od podstaw cz 12 3 godz
T03 Arkusz kalkulacyjny od podstaw cz 4 1 godz
06 GIMP od podstaw, cz 3 Selekcja
Silniki krokowe od podstaw 2c cz 1
więcej podobnych podstron