General
Banner
Home | Artikelen | English

Voorbeschouwing | 7 segment displays | software ontwikkeling

Hoe bouw ik mijn eigen cockpit?

Radiostack deel 3.

Het is ondertussen weer even geleden dat we nog eens een artikel over de bouw van de radiostack hebben geschreven.  Namelijk zo’n 2 jaar geleden ben ik in dit avontuur gestapt.  Gelovende in het feit dat dit technisch mogelijk moest zijn zoiets in  elkaar te steken.
Ik zou en wou een echte interactieve radiostack met digitale uitlezing naar analogie van de Bendix/King radio’s.   In die tijd was er hoegenaamd nog geen sprake om ergens iets in het commerciële circuit te vinden dat maar enigszins geleek op een Bendix/King.  De dag van vandaag liggen de kaarten anders, alleen is het nog steeds niet te betalen, vind ik.  Niet gezegd dat de ontwikkelingskosten van mijn radiostack niet boven mijn voorzien budget zijn gegaan.  Maar ja, je kan geen omelet bakken zonder eieren te breken zeker.
Dus zelfbouw was de enige optie.  De buitenbouw van de radiostack en de input zijde zijn reeds uitgebreid aan bod gekomen in deel 1 en 2.  Nu gaan we het voornamelijk hebben over de output zijde, namelijk de uitlezing van frequenties en andere informatie vanuit FS en het sturen van deze informatie naar 7 segment displays.

Top

7 Segment displays hardware.

Om alle frequenties te kunnen afficheren hebben we uiteraard een medium nodig die cijfers kan weergeven.  De eenvoudigste en meest realistische wijze zijn de 7 segment  led displays.
Deze zijn in alle maten en soorten te verkrijgen.  We hebben gekozen voor de kingbright SC36-11HWA  een common Kathode.  Afmetingen 9mm x 7mm en helder rood van kleur.
Deze worden dan gemonteerd op speciaal hiervoor ontwikkelde prints.  Ik heb prints gemaakt voor de use en standby frequenties van de COMM1, 2 en NAV 1,2 .  Deze bestaan uit 10 displays waarvan twee displays vast een 1 weergeven en de rest verbonden zijn aan een sturingschip.  Verder is er een tweede type print gemaakt voor de DME met 8 displays.
Het derde type voor de ADF met 9 displays, het vierde type voor de Auto Pilot met 5 displays.  Ten slotte nog een vijfde type voor de Transponder met 7 displays.
Je kan altijd nog eens deel 1 doornemen op mijn website om te zien welke waarden al deze displays moeten afficheren.
Deze prints worden dan met 17 draden aan een nieuwe print met daarop de sturingschip gesoldeerd. Voor de sturingchip van de 7 segment led displays hebben we gekozen voor de ICM7218DIJI Maxim chip.  Deze chip kan 8 displays gelijktijding aansturen.  Hij slaat de binair informatie van de 8 displays in zijn geheugen op en stuurt deze dan continu door naar de displays (multiplexing)
Deze Maxim chip is op zijn beurt aangesloten met 9 draden aan de 8 bits van een I²C kaart (K8000 van Velleman) en een adresseringsbit van een 74LS154. Zo kan je tot 16 Maximchips aan deze adressingschip hangen.  Je kan je wel inbeelden wat voor een wirwar van draden dit moet zijn om al deze verbindingen te maken en dan maar te hopen dat er niets foutief gesoldeerd is en er geen fouten in de print zelf zitten.  Ik ben wel menigmaal met mijn handen in het haar naar buiten gelopen moet ik zeggen.  Na een zoveelste mislukking.  Ik ben zelfs tot driemaal toe opnieuw moeten beginnen aan het herwerken van de prints met de 10 segmenten.

display1

Er is helaas geen ruimte voor fouten.  Het werkt of het werkt niet.  Uiteindelijk is het allemaal goed gekomen. 
Tot zover de hardware, maar nu kwam pas de kat op de koort.  Hoe ga ik dit nu software matig aansturen.  Sneller gezegd dan gedaan, zeker wanneer je enkel maar je kennis van Visual Basic vanuit een kanjer van een boek hebt gehaald en nog nooit een programma hebt gemaakt die rechtreeks elektronica gaat aansturen.  Er was geen alternatief, het was ofwel een poging wagen of helemaal niets.

Top 


Software ontwikkeling.

Voor de sturing van de cockpit had ik reeds een Visual Basic programma in elkaar gestoken waarbij ik informatie vanuit de cockpit (schakelaars) naar FS kon doorsturen om bepaalde zaken te doen werken.  Hierbij ging het enkel om het sturen van info naar FS.  Voor de displays moest ik eerst gegevens uit FS gaan lezen om deze vervolgens naar de Maximchip te sturen die op zijn beurt dan deze binaire informatie doorgeeft aan de 7 segment led displays.
Hiervoor ben ik dan begonnen met de ontwikkeling van  een geheel nieuw Visual basic programma.  Weliswaar gebruik makende van de reeds bestaande write modules.
Het eerste deel van het programma zou bestaan uit een hoofdformulier met hierop alle startknoppen voor het opstarten van FS, TRC (simkits instrumenten), FSUIPC en ten slotte de K8000 (I²C).  Hierop heb ik ook een menubalk voorzien om andere deelformulieren te openen.  Het belangrijkste in deze deelformulieren zijn de testformulieren.

soft1

 

Als eerste heb ik een testformulier gemaakt voor het testen van de I²C.  Hiermee heb ik als eerste de displays manueel aangestuurd.  Door de juiste binaire combinatie door te sturen was ik in staat om de eerste cijfers op de displays te toveren zonder enig programma.  Hiermee kreeg ik al snel inzicht in de werking van de elektronica

soft2

Tweede testformulier is het 7 segment display testprogramma.
Eenmaal ik door had welke info ik binair moest door sturen om de getallen op de displays te krijgen heb ik een klein testprogramma gemaakt dat alle 8 segmenten afzonderlijk na elkaar deed oplichten en alle combinaties van getallen en letters deed afficheren.  Zo kon ik onmiddellijk zien of alle displays goed aangesloten waren.

Vervolgens voegde ik er twee textboxen aan toe waarin ik elk 4 cijfers kon typen en vervolgens door een druk op de knop kon schrijven naar respectievelijk de eerste 4 segmenten of de laatste 4.  Tenslotte heb ik er nog een testprogramma aan toegevoegd voor  het testen van de adresseringschip 74LS154.  Daar ik eerst niet begreep wat deze allemaal deed heb ik er  een reeks van 4 bits naar toestuurt met een interval van een seconde. Zo kon ik door de uitgangen te voorzien van een rij ledjes, uitlezen of deze hoog of laag stonden.  Zo kreeg ik snel een klare kijk op de gedragingen van deze chip.  Dit zal later in belangrijke mate deel uit maken van het hoofd stuurprogramma.

soft3

Derde belangrijk testformulier was uiteraard de uitlezing van allerhande frequenties en gegevens uit FS.  Hierin heb ik eerst alle uitlezingen via FSUIPC uitgeprobeerd. Tot ik de juiste waarde had van elk van de te afficheren gegevens.

soft4

In eerste instantie heb ik ze stuk voor stuk uitgelezen en herrekend maar in een tweede fase ben ik alle uit te lezen variabelen gelijktijdig gaan uitlezen wat weer een beetje tijdwinst oplevert. Want tijd zou het kritieke punt worden van dit programma. Het zou niet mogen dat de cijfers op de displays achter de realiteit aanhollen. Elke verandering moet onmiddellijk getoond worden.
Na het vervolledigen van al deze testen ben ik dit alles stap voor stap gaan integreren in het hoofd stuurprogramma. De hamvraag was tot welke snelheid kon ik gaan zonder  dat er fouten zouden optreden?  Via sliders op de timer elementen te plaatsen kon ik zelf gaan bepalen tot hoever ik kon gaan vooraleer er problemen optraden. In eerste instantie had ik maar 1 maxim chip aangesloten. Alles verliep naar wens. Ik kon de slider op maximum snelheid zetten zonder enig probleem. Zo dit met 8 Maxim’s ook nog zo zijn?  Ik hield telkens mijn hart vast als ik er weer één bij aansloot.  Tot mijn grote verbazing bij het aansluiten van de laatste displays ging dit alles toch tegen een ongelofelijke snelheid.
Ik schrijf dit artikel nu even over de ontwikkeling van dit programma alsof het niets is maar het heeft me wel meer dan drie maand bloed zweet en frustratie gekost.
Door ervaringen met een ander programma, geschreven voor de clubcockpit, bleek dit geen evidentie te zijn.  Hier volgenden de displays hellemaal niet de ingegeven veranderingen op de voet ze hinkten er maar wat achteraan.

Na alle displays grondig getest te hebben ben ik begonnen met het geheel in de kast van de radiostack in te bouwen.  Gezien de massa draden en beperkte ruimte, brak mij het zweet al uit.  Ging dit alles nog wel werken na de montage!

radio1 radio2

 Na een weekendje zwoegen zat uiteindelijk alles op zijn plaats.  Nu terug alle stekkers verbinden en de finale test doen.
Fingers crossed. Na het aanzetten van de 5v voeding, de PC en het starten van mijn software verschenen voor het eerst alle data op de displays van de radiostack.  Ik kon mijn geluk niet op toen ook de displays wijzigden bij  het draaien aan de knoppen.  Zelfs  de swap en al gingen van de eerste keer.  Ik heb toen even een vreugde dans gedaan en ben toen naar de koelkast gegaan,heb er een goeie fles champagne uitgehaald en heb deze samen met mijn ouders genuttigd. Dit gloriemoment kon ik toch zo niet voorbij laten gaan. Het project was uiteindelijk na twee jaar toch geslaagd.
Ik kan nu met trots zeggen ik heb ZELF een radiostack gemaakt.

radio3

Maar graag wou ik toch een woord van grote dank richten aan Florent Van Vlasselaer en Wilfried Dengler omdat zij mij zo schitterend geholpen hebben met de ontwikkeling van de nodige elektronica om dit project te kunnen realiseren.  Dit zijn nog eens enthousiaste mensen die hun ideeën ook met anderen willen delen en die vooral niet op een inspanning gezien hebben.  Ik ben zeer vereerd met zulke talenten te mogen samenwerken.
Nogmaals dank.

Top

< Vorige | Home | Artikelen | Volgende >

© Verley Jan 2007-2017