"... Eehmm ... , wat is dit nu weer ?"

Introductie

Viessmann 4751

Viesmann 4751

Eerst maar eens uitleggen dan. Dit stuk proza gaat over de bouw van een decoder, om lichtseinen voor de modelspoor aan te sturen. Daar zijn er al talloze van gemaakt, maar daar wilde ik mij ook wel eens aan wagen. Zover "Light signals" duidelijk? Mooi!

Maar dan de term "Charlieplex". Voor een uitgebreide beschrijving verwijs ik naar deWikiPediapagina (Engels). Waar het op neer komt is, dat met zo min mogelijk draden c.q. aansluitingen, zo veel mogelijk seinbeelden kunnen laten zien. Een voorbeeld van dergelijk lichtsein, is het Viessmann artikel4751, "Ausfahrsignal mit Vorsignal", wat het onderhavige sein is dat we hier gaan aansturen met onze decoder.

Natuurlijk, Viessmann heeft ook een eigen decoder hiervoor, maar die is vrij basic van opzet. Derhalve dit eigen ontwerp.

Test setup

Elk project is weer anders en kan uiteindelijk uitgroeien tot complex geheel, daarom gaan we eenvoudig beginnen. Het doel is uiteindelijk om een seinbeeld, een zogenaamd ‘aspect’, te tonen. Dit is als het ware het hart van de applicatie,aar het om draait. Dus laten we dat eerst uitwerken en van daaruit verder werken.

Arduino

Wie de uitleg van de Wiki goed heeft doorgelezen, zal al snel gezien hebben, dat wanneer sommige combinaties van LEDs als één beeld getoond moeten worden, dit niet lukt met simpel een plus en een min aansluiten. Er zal van aansluiting gewisseld moeten worden, van polariteit gewisseld, of van beide. Dat is met puur hardware wel op te lossen, maar dat wordt dan wel heel erg complex, vergt een berg onderdelen én is weinig flexibel.

We kunnen ons dus veel werk en geld besparen, door de hulp van een microprocessor in te schakelen, die het moeilijke werk voor ons doet. En als we het slim aanpakken hoeven we dat maar éénmaal te doen. Willen we vervolgens een ander sein gebruiken, moet we aan de microprocessor alleen nog uitleggen, hoe dit sein is opgebouwd.

Er zijn verschillende wegen naar Rome, dus ook verschillende microprocessor oplossingen. Hier heb ik gekozen voor eenArduino Nanoontwikkelboard. Deze kan ik door de headers makkelijk op een breadboard aansluiten en daarop ook weer het lichtsein. Plus nog wat onderdelen, in dit geval serie-weerstanden voor de LEDs van het sein, zodat de stroom niet te groot wordt.

Charlieplex of multiplex?

We zullen het verder in dit betoog, niet meer over de voor het sein gekozen oplossing hebben. Technisch is het een charlieplex oplossing, terwijl Viessmann het over multiplex heeft. Dat laatste omdat het gewoon wat vertrouwder is, vermoed ik. Laten we die term dus verder maar aanhouden.

Een beetje soldeerwerk (helaas)

Viessmann heeft gekozen voor een steker voor het aansluiten van het sein, die een rastermaat heeft van 2.0 mm. Dat is even lastig, want ons breadboard heeft een rastermaat van 2,54 mm (0.1 inch). Bovendien is het een vrouwelijke variant , in een 2x2 configuratie, dus we moeten hoe dan ook een losse header hiervoor op de kop zien te tikken. Gelukkig hebben de meeste elektronicaleveranciers die wel in hun programma.

adaptertje

adaptertje

We gaan dus nu eerst een adaptertje maken, zodat we ons sein in het breadboard kunnen prikken. Daarvoor hebben we naast de 2 mm mannelijke 2x2 header, ook nog een mannelijke 2,54 mm 1x4 header nodig. Die twee gaan we 1 op 1 verbinden. maar de verbinding doen we niet met draadjes, maar met onze al eerder genoemde serie-weerstanden.

Op die manier hebben we twee uitdagingen in eens opgelost. Let echter wel op de juiste pinvolgorde. in de afbeelding zit pin 1 van de seinsteker (links) boven aan de voorzijde, pin 2 zit daar direct onder. De pin 1 van de adapter steker zit rechts bovenaan.

Het sein aansluiten

We zijn nu zover dat we het sein kunnen aansluiten. Steek daartoe eerst de adapter in het breadboard en vervolgens sluiten de het sein aan. De pin 1 van het sein wordt gemarkeerd met een stip of een streepje op de vrouwelijke stekerhelft. Persoonlijk vond ik dat ik pin 1 de meest rechtse pin op de het adaptertje wilde hebben. Maar andere keuzes zijn ook gelding, als je maar weet welke pin welke pin is.

Er kan niet veel kapot gaan, maar je zult alleen niet die seinbeelden te zien krijgen, die je zou verwachten. Als de volgorde niet klopt, worden er nu andere LEDs aangestuurd dan de bedoeling is.

Pinnen op de Arduino Nano

We kunnen nu met draadjes of kabeltjes, verbinding maken tussen de Arduino en het sein. We gebruiken hiervoor de pinnen 8 t/m 11 van de Arduino. We maken een verbinden tussen pin 1 van het sein en pin 8 van de Arduino. Vervolgens verbinden we pin 2 met pin 9, enz. Daarmee zijn de aansluitingen gereed. Het geheel voeden we via USB uit de Arduino, het geringe stroomverbruik van de LEDs vergt geen extra voeding.

Tot zover deel 1. In deel 2 gaan we in op het schakelschema van ons sein en stellen we een eerste matrix op voor het aansturen van de poorten van de Arduino.

 


HBL - 04 mrt 2024 - v1.0