donderdag 31 december 2020

Multifunctioneel display - De modules

Op het dashboard van de Burton komt maar één 'teller' (lees: meter, klok). Huh, één teller hoor ik je denken... Da's best weinig. Klopt! De meeste Burtons hebben juist veel metertjes op het dashboard. Zelfs zoveel dat er een bijrijder nodig is om ze allemaal uit te lezen 😉. Hartstikke mooi, maar bij mij dus maar eentje en daar moet dan ook best wel wat info op verschijnen. In het vorige bericht staat een lijstje. In datzelfde bericht staan ook enkele onderdelen van het display genoemd. Die wil ik in dit bericht de revue laten passeren.


1: Primair display

In het midden van het display komen vier 7-segmentdisplays. Hierop wordt normaliter de snelheid gepresenteerd. Nu heb je bij de Burton geen vier cijfers nodig om de snelheid te laten zien. Sterker nog, meestal zullen twee cijfers voldoende zijn. Waarom dan toch vier cijfers? Twee redenen: (1) omdat een snelheid met twee cijfers dan netjes in het midden staat en (2) dan kan ik er eventueel ook nog het toerental op tonen. Bijvoorbeeld als de Burton in de sport-mode staat 😂.

De 7-segmentdisplays worden met een TM1637 aangestuurd. De TM1637 stuurt de displays gemultiplext aan. De vier displays komen op een gaatjesprint, eentje met van die lange banen (strip board). Altijd handig om dit van tevoren even uit te tekenen.

Strip Board in DIYLC

De pootjes van de TM1637 zijn op een handige manier ingedeeld. Alle segmentaansturingen zitten aan een kant. Daar is vast over nagedacht. De displays, het IC en de weerstanden komen aan de bovenkant van de gaatjesprint. De verbindingen aan de onderkant. Even scherp blijven bij het solderen. Het is niet de eerste keer dat ik rechts/links of boven/onder door elkaar haal...

Soldeerzijde

Later spuit ik nog wat plastic spray op de soldeerzijde, maar wel pas als ik zeker weet dat ik er niet meer met de soldeerbout bij hoef.

Componentzijde


De 7-segmentdisplays zijn nu nog voorzien van een beschermende folie. Die haal ik er pas op het laatste moment vanaf.


2: Secundair display

Naast de vier 7-segmentsdisplays van hierboven komt er nog een rijtje 7-segmentdisplays in het apparaat. Zes stuks van een kleiner formaat. Hierop kan de kilometerteller, de tripmeter, het toerental of nog iets anders getoond worden. Misschien wel twee dingen gelijktijdig. Software is geduldig...


Omdat deze module wat minder ruimte krijgt (zie verderop), wordt de TM1637 dwars geplaatst. De TM1637 kan maximaal zes 7-segmentdisplays aansturen. Er zitten drie van die kleine cijfers in één component gestopt (zie foto). Wel even rekening houden met de aansluitmogelijkheid van de 7-segmentdisplays. Je hebt ze in common-anode en common-kathode. In eerste instantie wilde ik ze met een schuifregister aansturen, totdat ik de - in mijn ogen veel gemakkelijkere - TM1637 tegen kwam. En wat denk je, ik had natuurlijk de verkeerde type displays in huis.

Oh, de module op zijn kop.


3: OLED-module

Om de flexibiliteit van het geheel te vergroten stop ik nog twee kleine OLED-displays in het apparaat. Deze zijn met een tweedraads-bus (I²C) aan te sturen en zijn goed te lezen in direct zonlicht. Ze sturen per pixel namelijk actief licht uit, i.p.v. de achtergrondverlichting bij TFT's enz. De helderheid is instelbaar, maar wel beperkt. Beide displays maken gebruik van dezelfde I²C-bus, dus de flexibiliteit gaat niet ten koste van uitgangen op de microcontroller. Wel wordt de software een stukje complexer. Omdat ik gebruik maak van het development framework van Espressif (de maker van de ESP32-chip) en niet van het afgeleide Arduino-framework, heb ik veel minder bibliotheken ter beschikking.

Twee kleine OLED-display's

De OLED-displays hebben een resolutie van 128 x 64 pixels. Hier valt weinig aan te solderen, omdat ze al op een klein printje zitten met een I²C-interface. Kwestie van aansluiten dus. Er moet alleen een klein SMD-weerstandje omgesoldeerd worden op één van de twee displays. Anders zouden ze op hetzelfde I²C-adres staan. Aangezien ze op dezelfde bus zitten moet het adres verschillend zijn. De meeste displays staan standaard op adres 78(hex), maar kunnen door deze handeling ook op 7A(hex) gezet worden.


4. Indicatielampjes

De vierde module van het multifunctionele display is een stick met acht neopixels. De neopixels kunnen onafhankelijk van elkaar en in alle kleuren van de regenboog aangestuurd worden. De helderheid is groot en dus zijn de neopixels ideaal voor het gebruik als storingslampjes en andersoortige indicatoren. De aansturing van de neopixels gebeurt met één enkele datalijn. De timing is echter behoorlijk kritisch en kan per type neopixel of fabrikant verschillend zijn. Een tijdje terug heb ik hier al eens wat over geschreven.

Acht neopixels op een stick...

De gaatjes in de stick zijn erg klein. Op de foto is te zien dat een klein stukje gaatjesprint gebruikt wordt voor de bevestiging van deze module in het uiteindelijke display.


De vier modules zijn los van elkaar gefabriceerd en niet op één enkele gaatjesprint om de eenvoudige reden dat de afzonderlijke displays verschillende diktes hebben. Ze moeten uiteindelijk op gelijke hoogte uitkomen. Met de inbusboutjes kan per module de hoogte ingesteld worden. Uiteindelijk wordt het geheel op een plaatje Trespa samengesteld.

Alle modules samengesteld

Hoogte van de modules afzonderlijk instelbaar

Het plaatje Trespa wordt uiteindelijk met wat stukjes aluminium hoekprofiel achter het dashboard bevestigd. Aan de voorzijde komt een gedraaide aluminium ring en donker plexiglas. De microcontroller die het geheel bestuurt komt in een klein spuitgietkastje aan de achterkant van het plaatje Trespa. Hierover in volgende berichten meer.

Geen opmerkingen:

Een reactie posten