Konsten att tämja en grafisk VFD...

Berätta om dina pågående projekt.

Skulle du vilja ha ett litet experimentsystem baserat på ATmega128?

Självklart vill jag det - jag har längtat så...
11
13%
Kan tänka mig ett om det blir lite cash över...
33
38%
Låter kul men tyvärr, det är inte min grej...
16
19%
Nej, fy farao! Jag kör hellre PIC (eller annan MCU)...
18
21%
Jag vet inte vad du snackar om. ATmega128???
8
9%
 
Antal röster: 86
Användarvisningsbild
Illuwatar
Inlägg: 2256
Blev medlem: 10 november 2003, 14:44:27
Skype: illuwatar70
Ort: Haninge
Kontakt:

Konsten att tämja en grafisk VFD...

Inlägg av Illuwatar »

Har nu lekt lite med den grafiska VFD'n jag köpte av sodjan. Resultatet kan beskådas nedan (kameran har lite svårt för VFN'n - den är grönare i verkligheten):

Bild

För tillfället är det inte mycket egenbyggd elektronik inblandad då det hittills har handlat om programmering. Riggen jag använder består av en STK500, en kabeladapter samt en 5V-regulator av switchad typ (som blev över från u-Machine):

Bild

Processorn är för tillfället en ATmega16 som körs i 8 MHz. Det slutliga målet är att skapa en kontroller för denna VFD baserad på ATmega128. Denna skall kombineras med ett USB-interface så displayen kan anslutat på en enkelt sätt till en PC.

Koden är helt skriven i C (WinAVR), vilket gör den relativt enkel att porta till andra kontrollers (även PIC om man så vill). Det jag har fått till är rutiner för linjeritning, cirklar samt text i valfri storlek (bygger på fontdatatabeller i flash, därav en av orsakerna till att välja ATmega128).

En sak som jag undrar över lite är det horisontella ljusläckage som uppstår i displayen. Jag har aldrig använt grafiska VFD'er förut, men jag hade för mig att en tänd pixel innebär just detta. Bilden nedan visar detta fenomen hyfast bra (speglingen är i glaset, det är inget fel):

Bild

PS. Hur många skulle vara intresserade av en ATmega128-baserad kontroller/exeprimentmodul (den kommer kunna användas till annat om man så vill)? Den kommer ha en USB->RS232, separat klockkristall för 8-bitstimern (för klockändamål), anslutning till 64k expansions-RAM (SRAM) samt nästan alla portar tillgängliga.
Senast redigerad av Illuwatar 22 september 2007, 23:51:25, redigerad totalt 1 gång.
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Allt beror förstås på priset men visst är det intressant med ett sådant kort. Dock rekommenderar jag att du går över till 1281 som är pinkompatibel med 128.
Användarvisningsbild
Illuwatar
Inlägg: 2256
Blev medlem: 10 november 2003, 14:44:27
Skype: illuwatar70
Ort: Haninge
Kontakt:

Inlägg av Illuwatar »

Lawicel har inte ATmega1281, så därför valde jag 128'an. Men är den pinkompatibel borde samma PCB fungera till båda. Min tanke framförallt är att ta fram ett PCB som köparen får skaffa komponenter till och montera själv. Fler som köper kort gör det billigare. Prisuppskattning kommer när jag har caddat klart.
Användarvisningsbild
JimmyAndersson
Inlägg: 26537
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Snyggt! :) :)

Om någon portar till PIC, så javisst. :D
Användarvisningsbild
gurgalof
EF Sponsor
Inlägg: 1311
Blev medlem: 18 februari 2004, 22:15:06
Ort: Göteborg
Kontakt:

Inlägg av gurgalof »

Nice! Självklart vi vill ha!!
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

En controller *enbart* för just denna modell ?
Jag vet inte hur lätt eller svår den är att få tag i.
Själv har jag bara 5 st kvar just nu...
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

>"text i valfri storlek"
Förklara gärna det där med fonttabellerna lite mer, använder du någon skalnings-algoritm eller har du en för varje fontstorlek?
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Jag är nyfiken hur du löst cirklar. Har du lite kod? :)
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

speakman: jag vet såklart inte hur Illuwatar har gjort men här finns en välkänd algoritm: http://en.wikipedia.org/wiki/Bresenham% ... _algorithm
Användarvisningsbild
Rohan
Inlägg: 1063
Blev medlem: 7 april 2004, 08:24:39
Ort: Eksjö, Småland
Kontakt:

Inlägg av Rohan »

Jag skulle helt klart vara intresserad. Vem skulle inte vara det? :wink:
Tekko
Inlägg: 9009
Blev medlem: 28 november 2004, 20:19:15

Inlägg av Tekko »

vfd = fina saker!!
Användarvisningsbild
Illuwatar
Inlägg: 2256
Blev medlem: 10 november 2003, 14:44:27
Skype: illuwatar70
Ort: Haninge
Kontakt:

Inlägg av Illuwatar »

Strombom gissade rätt - det är Bresenham som ligger bakom linjer och cirklar. Exempelkoden på Wikipedia-länken var till stor hjälp.

Fonterna använder fasta tabeller där 8 pixlar vertikalt bildar en byte. Displayen är ordnad så att en byte motsvarar 8 pixlar i y-led. Så för att täcka upp en verikal linje på 128 pixlar går det åt 16 bytes. I x-led finns det 256 pixlar, vilket ger motsvarande antal 16-bytes linjer. Totalt för en hel skärm går det åt 4096 bytes, därav intresset att kunna ansluta lite RAM till kontrollern. Då skulle man kunna lagra multipla "screens" off-display (VFD'n har två minnesareor internt som gör page-flipping möjligt) och sedan ladda över till displayen vid behov.

Tillbaks till fonterna - de lagras som sagt som bitmaps i tabeller, en byte per 8 pixlar vertikalt. Är fonthöjden inte jämt upp med delningen av 8 så rundar man upp och fyller ut med 0-bitar för de pixlar som inte behövs. För att få plats med dessa (storleken på tabellerna beror på antal tecken och deras storlek) tvingar jag in dem i flash. RAM i själva MCU'n är ganska snålt tilltaget (ATmega16 har bara 512 bytes), så där får man inte in mycket data. Fontdatat är dessutom statiskt, så flash är ett bättre sätt att lagra dem på. Innan jag hittade ett sätt att göra det på i C-kod (med assembler är det enklare) hände det en del skumma saker i programmet.

För er PIC-fantaster så kommer jag lägga ut koden när det är bra nog. Det kommer att finnas tillräckligt att använda och sedan bygga ut. När detta sker är ovisst då detta projekt utförs i mån av tid. Minimig har högre prioritet. Själva kontrollerkortet/experimentkortet däremot skall bli klart så snart som möjligt. En grundritning finns redan.

sojdan - jag vet att displayen är lite ovanlig, därför gör jag den någorlunda generell. Det skall helt enkelt bli en universalmodul som kan anpassas till lite av varje. En anlutning kommer dock att vara direkt pin-anpassad för denna VFD. Ansluter man en annan display får man ändra ordningen i kabeln. För displayen kommer 8 + 5 portar att reserveras, så de lär räcka för de flesta displaytyper jag känner till.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »

Var finns alternativet: "Jag har redan ett egenutvecklat atmega128 experimentsystem".

//Skrivet efter en nolleqasque(inte min egen förvisso, men lite C2H5OH finns i kroppen).
BJ
Inlägg: 8864
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Inlägg av BJ »

"det horisontella ljusläckaget..."

Är det därför som det finns så lite tydliga bilder på grafiska vfd-skärmar på internet? Nästan alla bilder som jag har sett är lite suddiga.
Jag trodde att alla hade rört på kameran, eller har dåliga kameror, men då kanske det inte är så.
Användarvisningsbild
maha
EF Sponsor
Inlägg: 1685
Blev medlem: 22 november 2005, 09:47:02
Ort: Jakobstad, Finland

Inlägg av maha »

Kontrastglas borde ju miska problemet lite grand. Ungefär som om man kisar och tittar på den inzoomade bilden.
Skriv svar