VFD alebo inak Vacuum Fluorescent Display je fakticky elektrónka v placatej forme. Potrebuje žhavenie a pomerne vysoké napätie pre správnu funkčnosť. Keďže sa mi jeden váľal doma, rozhodol som sa že pre neho navrhnem radič. Účel radiča je zjednodušiť ovládanie displeja až na digitálnu úroveň a štandardné napájanie 5V.
Žhavenie displeja je možné riešiť jednosmerným ale aj striedavým napätím. Striedavé napätie zaisťuje rovnomerný jas displeja na hociktorom mieste, bohužiaľ takéto žhavenie pridáva značne na zložitosti zapojenia. Na druhú stranu daň za jednosmerné žhavenie je viditeľne slabší jas na strane kladného pólu, ale na celkovú funkčnosť displeja to nemá vplyv. Ja som sa rozhodol pre žhavenie striedavým napätím o frekvencii 33,6kHz (merané), ktoré zaisťuje šváb LM9022. Podľa datasheetov rôznych displejov sa žhaviace napätie pohybuje v rozmedzí 2,5 až 5V. Na mnou použitom displeji je v tme pri piatich voltoch trošičku pozorovateľné žhavenie. Nieje to nič čo by mi vadilo alebo skracovalo životnosť displeja, ale niekomu to môže prekážať. Preto som do cesty napájania LM9022, pridal diódu ktorá sa postará o úbytok 0,6V. Nieje to veľa, ale na "schovanie" žhavenia to stačí a pritom neubudne na jase.
Anódové napätie pre segmenty a mriežku vyrába DC/DC menič. 27V je hraničné napätie kedy má displej dostatočný jas a zároveň to nemusím komplikovane riešiť. Kto by sa vŕtal v datasheete od LM9022 prišiel by na to, že ponúka možnosť anódového napätia cez násobič, ale regulácia jasu by bola zložitá a kondenzátory by zaberali značné miesto. Preto som volil cestu DC/DC meniča, kde na (neosadený) konektor J1 je možné pripojiť "digitálny potenciometer" a tým ovládať pohodlne jas displeja.
VAROVANIE Ak bežec trimru stratí kontakt z odporovou dráhou, MT3608 faktický uhori na doske. Na to veľké bacha.
Súčiastky som fakticky preletoval z čínskeho MENIČA, len som použil menšiu cievku a pridal som umelú záťaž v podobe R3 1,2k (nejaká ta "väčšia" záťaž je nutná pre správnu funkčnosť meniča).
Kód: Vybrať všetko
#define clk 4
#define load 3
#define din 2
// g|f|e|d|c|b|a|-|-|-|-|-|-|T|B|1|2|3|4|5|
long character[5] = {0b00001100000001010000,
0b10110110000001001000,
0b00000000000001100100,
0b10011110000000100010,
0b11001100000000100001};
void setup() {
pinMode(din, OUTPUT);
pinMode(load, OUTPUT);
pinMode(clk, OUTPUT);
}
void send(long data){
for(byte j = 0; j < 3; j++) {
for(byte maska = 1; maska > 0; maska <<= 1) {
if(data & maska) digitalWrite(din, HIGH);
digitalWrite(clk, HIGH);
digitalWrite(clk, LOW);
digitalWrite(din, LOW);
if(j == 2 && maska == 8) break;
}
data >>= 8;
}
digitalWrite(load, HIGH);
digitalWrite(load, LOW);
}
void loop() {
for(byte i = 0; i <= 4; i++){
send(character[i]);
}
}
Komunikácia z MCU je veľmi jednoduchá a pekne popísaná v datasheete od MAX6921. Nebudem to teda podrobne rozpisovať. Na nejasnosti odpoviem v komentároch.
Na záver:
Aj keď nie som úplne spokojný z vyhotovením, tento projekt ma potrápil a naučil viac než som očakával. Po prvý krát som si vyskúšal obojstrannú dosku a problémy s tým spojené. Ako ste si určite všimli, hotová doska nieje zhodná z tou v návrhu. Ako som to skladal, začal som si uvedomovať nedostatky návrhu ako napríklad: Nedostatočný prechod zeme v oblasti konektora, alebo spomenutá diódka žhavenia. Hotový displej už upravovať nebudem, ale je vhodné aspoň na to upozorniť.
Aj keď to nieje nič veľkého, tento projekt mi zabral celkom dosť času. Preto dúfam že to aspoň niekomu pomôže objasniť teóriu okolo VFD displejov. Ako vždy, všetky použité podklady prikladám na konci článku.
Za každý komentár budem rád, či už kritický alebo pochvalný.
Ostatné fotky v galérii TU
Obdivujem toho čo dočítal ten referát až sam a nekleplo ho z chýb.