Nieuws:

Nu in MSM 244 BAAN: Boulevard du Fort

Hoofdmenu

Synoptisch bord

Gestart door PeterC, 13 mei 2018, 16:52:01 PM

PeterC

Al geruime tijd zit ik met een idee om zelf te proberen om een modulair synoptisch bord te maken.
Commerciële borden (oa de Track-Control van Uhlenbrock) zijn veel te duur!

Het idee kwam op en af maar toch regelmatig eens een schetsje gemaakt, enkele componenten op een printje gezet om te kijken wat haalbaar was.  Ook een grote testprint gemaakt met daarop 12 devices en een LocoNet interface.  Eén device bestaat uit een drukknopje en een APA106 led (full RGB - serieel aanstuurbaar).

Het idee ging weer weg omdat de modulaire behuizingen onbegonnen werk waren.

Maar dan kwam de 3D printer!




Het idee is nu reeds deels uitgewerkt dat ik al enkele modules in handen kan nemen om te testen en of het project haalbaar is.

Foto's zeggen meer dan woorden:



2 testmodules.  Voorlopig is de bedrukking een op maat gesneden A4'tje die uit de laserprinter kwam.  In de definitieve versie zal dat ofwel veel dikker papier worden of eventueel fotopapier.



Behuizing langs de binnenkant (onderkant) met een stukje strokenprint erin.  De schroefjes waarmee de strokenprint op steuntjes vast zit, zijn Marklin C-rail schroefjes (had ik op voorraad).



Modulair betekent dat de modules langs alle kanten aan elkaar moeten passen.  Een uitsparing in iedere wand en een clipje zorgen ervoor dat de modules aan elkaar kunnen worden gehangen.



Bij een eigen ontwerp, horen ook eigen symbolen.  Waar Power Point al niet goed voor is...



En tenslotte enkele reeds geprinte behuizingen.  Telkens een andere layout, telkens voor een andere module.

Groetjes, Peter


dani

een interessant project !!!  ga ik volgen !
De kruik is te water gegaan...
De kruik is niet meer.

mark7758

BELUX Lid/contact persoon.
Geïnteresseerd in NMBS diesels in de Ardennen van België en Luxemburg. (Jaren 1980-2000)

Treinbestuurder NL/D, Wagenmeester, Ontwerper Treinbeveiliging NL.

Gerolf

Ik volg ook - leuk project  :)
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

Geert

zier er goed uit.

Ik vraag me af hoe je de communicatie met LocoNet gaat combineren met extra communicatie naar de LED's.

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

PeterC

Citaat van: Geert op 14 mei 2018, 12:20:11 PM
...Ik vraag me af hoe je de communicatie met LocoNet gaat combineren met extra communicatie naar de LED's...

Met lepe truken van de foor  ;D




Dat probleem is opgelost!  Ik kan hier de volledige technische uitleg uit de doeken doen, maar daar het hier om een niet expliciet micro-controller onderwerp gaat, wil ik het proberen verwoorden zodat niet programmeurs er ook iets van snappen.

Dat simpel verwoorden zal ook nog een opdracht worden  ::)
Groetjes, Peter


PietB

Interessant, nog een volger er bij.  ;)

PeterC

Citaat van: Geert op 14 mei 2018, 12:20:11 PM
...Ik vraag me af hoe je de communicatie met LocoNet gaat combineren met extra communicatie naar de LED's...

Voor de led's heb ik voor mijn eigen gemak gekozen voor APA 106 led's.  De afmetingen van discrete componenten (5 mm).  Slechts 4 pinnen om het volledig gamma RGB aan te sturen.  5V, gnd, data-in en data-out.
Naast de voordelen is er één groot nadeel: iedere led moet 24 bits in een zeer strikte timing ontvangen (1,71 µs per bit).  Met mijn interface voor dit synoptisch bord kan ik 12 dergelijke led's aansturen.  Dat betekent bijna 400 µs dat de proccessor met deze taak bezig is telkens er een ledje moet worden aangepast.  Tijd die die processor niet mag worden onderbroken.  Die processor moet ook nog heel nauwgezet het LocoNet protocol in de gaten houden en die 2 zaken in één processor combineren heeft me wel heel wat denk- en experimenteerwerk gekost.




De eenvoudige uitleg:
Ik sta aan mijn fornuis en ben soep aan het koken.  Ik moet die soep nauwgezet in de gaten houden zodat ze niet overkookt.  Af en toe roer ik er eens in.
Vrouwlief vraagt: wil je het licht eens aansteken?  De lichtschakelaar staat een heel eind verwijderd van het fornuis en die soep mag niet overkoken.  Dat licht aansteken kan even wachten, maar ik hou het wel in het achterhoofd.
Plots gaat de bel!  Oei, het kan belangrijk zijn!  De soep zet ik van het vuur zodat die niet overkookt en ga naar de voordeur.  Onderweg passeer ik wel die lichtschakelaar maar die voordeur heeft prioriteit want er staat daar iemand te wachten.
De postbode met een aangetekende zending.  Vraagt wel wat tijd om dat administratief af te handelen.
De postbode vertrek en ik kan terug naar het fornuis gaan.  Onderweg passeer ik terug de lichtschakelaar en steek dan het licht aan.
Terug naar het fornuis en verder soep koken en ondertussen heb ik een pakket ontvangen en aan vrouwlief haar vraag voldaan, wel niet onmiddellijk maar ze is wel tevreden.

De technische uitleg:
Die soepkoken is mijn hoofdprogramma (main loop).
Vrouwlief vraagt het licht aan te steken: er zijn wijzigingen voor één van de leds.  Die vraag in het achterhoofd steken betekent dat het hoofdprogramma die wijzigingen in een array opslaat en een vlagje zet dat de data voor die led's moet worden aangepast.
De bel!  Interrupt door het LocoNet protocol.  Die soep van het fornuis zetten betekent alle belangrijke registers opslaan alvorens de interrupt af te handelen.
Die postbode: LocoNet communicatie afhandelen.
Na het afhandelen van die comunicatie is er even tijd om het licht aan te steken (data seriëel naar de leds sturen).
Terug aan het fornuis de belangrijke registers terugzetten (soep terug op het vuur) en verder koken (main loop).

Voila!
Groetjes, Peter


SuSke

als je die uitleg leest, gaat het dus gewoon om "time-managment" 8) en iedereen weet hoe moeilijk dat is als er prioritaire taken tusenkomen  ::)
Frans - 2R digitaal (tpIII-IV Belgisch - TPV&VI de vrije markt) en wat eigenaardigheidjes :-)
lid van MTD treinenclub vzw Edegem - www.mtdtreinenclub.be - Tentoonstelling MODELSPOOR by MTD - Hangar 27, Edegem op 19 & 20 Oktober 2024
De trein rijdt nooit op tijd, maar altijd op sporen.

dani

ofwel haal je eeen "dedicated" kok in huis voor je soep, ofwel  ga je de  onverwachte dingen moeten laten afhandelen door een butler.... 

Ofwel versnel je jouw soep-tijd of  vertraag je heel de wereld zodat je extra klokcycles hebt  om dingen tussendoor te doen en toch in je soep tempo terug te vallen


(ik ben zeker dat je me begrijpt)


Zelf ben ik nogal eens geneigd om uitbestedingen te doen  van sommige repetitieve taken.
ZO heb ik een  Arduino gebaseerde  DMX  licht computer gemaakt,  waarin de eigenlijke  (micro- en nanosecond) communicatie gebeurt door een  "slave" module dus enkel  ruwe data krijgt van de master en die dan in het juiste formaat giet en verstuurt, waardoor de master zich kan concentreren op de overall timing en de programma afloop.   Invoer van een andere  bron (een externe DMX  controller) die moet in gemixt worden komt ook via een aparte µcontroller binnen en gaat dan naar de master.     Verdeel en heers .
De kruik is te water gegaan...
De kruik is niet meer.

modelbaanHO

Ik wil gewoon een kommeke soep  ;D ;D

Maar 't is wel duidelijk wat de bedoeling is  :)
Luc.
2R DC, analoog DB tp 3&4 - 2R DC Digitaal (Minibaantje Das Depot / HGK) - Verzamelaar Belgische modellen. Lid MTD.
http://www.modelbaanho.be

PeterC

Dani, een butler of een dedicated kok heb ik niet nodig.  De controller kan alles aan.
Alleen is het zoals bij mijn soep dat het licht iets later aan of uit gaat.
Tussen het moment dat de schakelaar wordt ingedrukt en het moment dat de led aan of uit of een ander kleur krijgt zitten er enkele ms vertraging.  Ondertussen is er wel al heel wat gebeurd want het indrukken van de schakelaar wordt ook via LocoNet gemeld.

Ten gepaste tijde ga ik eens meten met de scoop hoeveel die vertraging effectief bedraagt.
Groetjes, Peter


dani

milliseconden vertraging  op een treinbaan ?

ONTOELAATBAAR  !!!! 

Moehahaaaaaaaaaaa, da's  Peanuts man !
De kruik is te water gegaan...
De kruik is niet meer.

PeterC

En het is enkel het visuele die enkele ms vertraging heeft.  Prioritair wordt de opdracht op het netwerk gezet.




In mijn zoektocht naar deftig papier om de symbolen af te drukken had ik nog een pakje fotopapier gevonden. 
Goede kwaliteit met een prijskaartje eraan.  Geschikt voor inktjet.  Dju, ik heb enkele nog een laserprinter.
Poging ondernomen en kwalitatief slechte print.  Weeral Dju...

Deze namiddag passeerde ik de Action hier inde buurt.  Baat het niet, schaadt het niet.  Fotopapier: 20 vellen voor het enorme bedrag van 1,45 Euro.  In de printer gestoken en een prachtig resultaat!  Weeral een probleem vrij goedkoop opgelost!
Groetjes, Peter


Geert

Even zo vrij geweest om mee te denken, hoe ik het zal doen...

Ik zal gebruik maken van de hardware PWM module in de µC. Met een 48MHz CPU basisclock, kan je de periode instellen (PR-register) op 21. Komt overeen met 1,75µs periode. De uitgang van de PWM module is rechtstreeks gekoppeld aan een uitgangspoort. Hier moet je tijdens het verzenden van de databits niets meer aan veranderen. De start van een logische '1' =1,36µs komt overeen met 16 en de start van een logische '0'=0,35µs komt overeen met 4, dat je afhankelijk van de waarde bit '1' of '0' in de CCPRxL register plaatst.  (je mag zelfs twee bits verder laden in de CCPRxL register, en is de bit hetzelfde, dan laat je deze zelfs ongemoeid)

Je hebt ongeveer 21 instructies de tijd om uit te zoeken wat de volgende bit is.  Je kan dan eventueel de High Priority Interrupt laten oproepen. Deze heeft een zeer korte oproeptijd, moet geen registers opslaan.

Dit principe heb ik al eens beschreven om MM protocol op te wekken. 

Mijn LocoNet communicatie bijvoorbeeld wordt gestuurd met een Low Priority Interrupt. En de servo timing (indien gewenst) met een High Priority Interrupt. De servo-pulsen moeten tot op 1µs juist zijn (allé ik wil dat zo  ;) )

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen