Een tijdje geleden heb ik melding gemaakt van de door mij ontwikkelde seindecoder op basis van een Arduino. Het eerste prototype draait inmiddels naar volle tevredenheid al een tijdje onder de baan. De seinbrug (2 voorseinen en twee SIM-seinen) en een tweetal dwergseinen worden hiermee aangestuurd.

Aan de andere kant van het station zijn inmiddels ook dwergseinen geplaatst. Hiervoor was een tweede decoder nodig. Opnieuw heb ik een middellang zitten prutsen met draadjes en soldeer om alle verbindingen tussen de componenten op een gaatjesprint te realiseren.

De eerste decoder toont aan dat het zo kan, van de tweede heb ik geleerd dat het wel erg een tijd kost. Reden voor verbetering dus.

Daarom heb ik op een regenachtige zondag wat YouTube filmpjes zitten kijken hoe jet prinsplaten ontwerpt. En daarna de (gratis Eagle) software gedownload, met als resultaat dat ik ’s avonds mijn eerste bestelling printplaaten in China kon plaatsen. Na twee weken was de zending binnen en moest ik helaas vaststellen dat ik in het ontwerp een fout heb gemaakt. Ik had inmiddels sowieso een aantal verbeteringen bedacht, en heb dus een tweede verbeterde versie ontworpen en besteld.

En die ziet er dan zo uit:DSC_2672

De basis componenten en voetjes gesoldeerd: DSC_2671De IC’s liggen ernaast. De kleine is de optocoupler, het grote IC de TLC5940 led driver en links de Arduino (Nano).

En zo ziet het er uit wanneer alles is aangebracht.DSC_2673 Dit koste me ±10 minuten soldeerwerk. Een hele verbetering dus.

Software

De eerste versie print was te repareren. Met het doorkrassen van twee baantjes en het aanbrengen van twee draadjes doet ie het prima.

Dit gaf me de kans de software wat aan te passen. Het was me in de vorige versie namelijk opgevallen dat niet iedere led met dezelfde helderheid brandt. Dit geldt voor leds met verschillende kleuren en voor de verschillende types warm wit die ik in de dwergen heb gebruikt. De nieuwe zending is iets witter en feller.

In de software werkte ik met één constante waarmee de felheid van de leds wordt ingesteld. Als ik dat  per led wil doen, moet ik dus 16 van die constante hebben.

Vervolgens heb ik ook nog een testprogrammetje gemaakt dat de verschillende seinbeelden van een sein achter elkaar laat zien, zodat je kunt bepalen welke led meer of minder power moet hebben.

De uiteindelijke waarden kopieer je dan naar de definitieve programma voor de decoder.

De seinen zien er nu prima uit en alles werkt als zou moeten 😁

3 gedachten over “Decoder ontwikkelingen

  1. Geweldig werk Arjan, is dit nu werkelijk zoveel goedkoper als een OC32 afgezien van het werk dat je hebt gehad, maar dat doen we af “het is een hobby”.

    Maar toch, goed werk.

    Groet Herman.

    Like

  2. Herman ,

    Klopt, het werk valt onder hobby en telt dus niet mee. Hoewel dat best wel mee viel.
    Deze oplossing is veel minder flexibel dan de OC32, daar pas je een paar piefjes aan en de poort gedraagt zich heel anders. Hier moet er een volledig programma achter. Enige manier dat te “tweeken” is het aanpassen van parameters in het programma. En zo heb ik het dan ook gemaakt. Idee erachter is dat ik de seinen één keer in stel en er nooit meer aan kom. De flexibiliteit van de OC32 is hier dus niet nodig.

    Als ik de OC32 met docking station koop ben ik ongeveer €85 kwijt voor 32 poorten. Zonder DS €62. Da’s dus respectievelijk €2,65 of €1,94 per poort.
    Deze decoder kost ± €12 voor 16 poorten. Da’s €0,75 per poort. Dus ja, het is werkelijk een stuk goedkoper.

    Zou ik alle OC32’s vervangen door de Arduino? Zeker niet. Er zijn toepassingen waar de OC32 duidelijk voordelen heeft. Bijvoorbeeld bij speciale lichteffecten, servo’s, etc.

    Like

  3. Beste Arjan,

    Door Arne Bakker ben ik attent gemaakt op deze site en de TLC5940
    Dit naar aanleiding van mijn publicatie op Beneluxspoor.net van de Arsigdec, een universele Seindecoder voor DCC op basis van een Arduino UNO. (http://forum.beneluxspoor.net/index.php/topic,71976.msg3221707178.html#msg3221707178).
    Het lijkt me dat jouw print, eventueel uitgebreid met een tweede TLC5940, en mijn Arsigdec sketch elkaar prima aanvullen. De mogelijkheid tot faden en instellen van lichtsterkte zijn natuurlijk de sterke punten van de TLC5940.
    De sterke punten van de Arsigdec (en ook de Mardec) zijn de 100% configureerbaarheid door de eindgebruiker en het aanbieden van een shield voor het DCC-circuit en voeding. Met de Arsigdec sketch kun je alle seinbeelden zelf configureren en/of selecteren uit een database.
    Kunnen we niet tot een vorm van samenwerking komen?

    De Mardec en Arsigdec maken de OC32 nagenoeg overbodig.

    Mvg
    Nico Teering

    Like

Plaats een reactie

Deze site gebruikt Akismet om spam te bestrijden. Ontdek hoe de data van je reactie verwerkt wordt.