MILS Verlichting elektronica systeem

Plaats reactie
vortexico
Premium
Berichten: 79
Lid geworden op: ma aug 22, 2022 5:13 pm

Vrijwel iedereen van ons weet wel wat MILS is en is bekend met de L-gauge standaard.
1 van de grote voordelen van MILS is dat je diepte kan creëren maar ook dat er ruimte is om bedrading weg te werken.
Zelfs puur L-Gauge heeft ruimte van 1 tot 2 plates onder de rails om bedrading weg te werken.

Wat ik echter niet heb kunnen vinden is een geadviseerde connector of wat goed werkt om MILS makkelijk en snel met verlichting uit te breiden.
Voor mijn layout ben ik dan ook zelf wat aan het knutselen gegaan maar daar ben ik nog niet tevreden over.
Dit topic zal wel wat dieper op elektronische details ingaan dus het kan zijn dat je wat dingen moet googelen wanneer je niet alles begrijpt.
Ook geeft dit een kijkje in hoe zo'n design proces verloopt ;)

Mijn allereerste vraag aan jullie: kennen jullie een dergelijke flexibele standaard hier of bij andere LUGs?
(lees ook eerst even hieronder, eventueel kun je skippen naar V2)

V1:
Mijn eerste gedachte was dat het mooi zou zijn om een universele connector te maken voor zowel verlichting (5 volt) als motoren (9 volt).
Na wat rondvragen op facebook kwam ik uit op Futaba connectors.
De 3-pin variant wordt veel gebruikt voor aansturing in de RC.
Er was dus al een definitie voor ground: 0V, power: 9V (tot 12 volt) en een control lijn (die ik gebruik als 5V)

De socket (male plastic) is mooi even breed als 1 stud en iets dunner dan 1 plate.
Echter niet handig te fixeren, dus deze heb ik op een jumper plate gelijmd.
De stud zorgt ervoor dat de connector uitsteekt en geeft horizontale weerstand bij het koppelen van de connectors.
De pin kant (female plastic) is uiteraard iets breder en iets dikker dus moest anders bevestigd worden.
Deze heb ik in een uitgeholde/uitgezaagde 2x3 brick gelijmd (hotglue) en er gelijk en plate met beschermende tape opgeduwd om een uitsparing voor studs te creëren.

Echter liep ik wel tegen wat challenges aan:
- De kabels van van AliExpress hadden aan de socket/male kant geen polariteit "rand"
  Dit was niet zo'n probleem aangezien ik ze toch goed om ging lijmen, maar wel jammer en soms verwarrend.
- Bij te weinig lijm liet de socket makkelijk los van de jumper
- bij teveel lijm is het 2x gebeurd dat een metalen socket binnen in vol kwam.
  Hierdoor krijg je schade aan de pinnen(female) van de volgende module.
  Dit is eigenlijk niet te repareren behalve een nieuwe kabel te lijmen en er aan te zetten.
- Toch wel wat gehannes om elektronica printjes tussen zo'n kabel te solderen (of om kruis modules te maken)
- De socket/male steekt uit buiten de MILS module wat een risico is voor transport.
- Omdat het geheel 1 stud breed is moet je rekening houden met uitlijning. (moest het nou links of rechts op de middelste 2 studs?)

Hieronder een plaatje hoe V1 eruit ziet en hoe ik reguleer naar 3V6 voor Action verlichting.
V1.0-1.jpg
V1.0-1.jpg (2.97 MiB) 1043 keer bekeken
V1.5 -1: Powered Up:
Zoals gezegd ben ik niet tevreden over V1.
Dus ik ben verder gaan kijken.

Powered up heeft een connector met 6 pinnen die binnen 2 studs past.
Met 6 pinnen is er ruimte voor verschillende signalen:
M1 en M2: Hier zou ik een gedefinieerde 9V en PGND van maken voor 9V motoren, IR ontvangers, etc.
3V3 en GND: Hier zou ik 5V en GND van maken voor verlichting en het voeden van andere elektronica.
RX en TX (ook wel ID0 en ID1): deze zouden gebruikt kunnen worden voor een toekomstig communicatie systeem.

Hieronder hoe een Powered Up connector in de socket tussen een MILS sandwich zou zitten:
V1.5-1.jpg
V1.5-1.jpg (2.07 MiB) 1043 keer bekeken
Hierbij zitten de volgende challenges:
- connector is moeilijk te bevestigen/fixeren: er is geen ruimte voor nog een Tile
- Socket op zich past (fixeren is ook een ander verhaal) maar met het printje/solderen komt het onder de studs van de MILS baseplate.
Een No-go dus

V1.5 -2: Header kabels:
Terug naar Futaba: de socket kant is eigenlijk een standaard 2.54mm header socket die veel gebruikt wordt op Raspberries, Arduinos en andere elektronica.
Dus toen kwam het idee om dezelfde kabels te gaan bestellen maar dan in 6 pin variant en met socket naar socket.
De socket zou dan inwendig van de module blijven en verbinding maak je met een standaard header die je op locatie er tussenin plaatst.

Dit zou als voordelen hebben:
- geen uitstekende connector: geen transport risico.
- met 6 pinnen is er een los 9V en los 5V paar (ieder een eigen ground)
- uitbreiding mogelijk voor communicatie systeem.
- verlijmd op een tile is dit maar 2 plates hoog en dus ook geschikt voor onder de nieuwe roadplates in MILS.
Maar ook nog een nadeel:
- Er is nog steeds risico tot het dicht lijmen van de socket.

V2: headers op een PCB (elektronica printje)
Toen kwam de volgende gedachte: in plaats van een kabel kun je ook een losse header op een printje solderen en daar de draden aan maken.
Deze headers zijn anders van structuur wat het risico van V1.5 -2 verkleind.
Buiten de daar genoemde voordelen kun je op datzelfde printje ook gelijk aftakkingen maken voor verlichting, motoren en andere zaken.

Ik zou dan de volgende pinout voorstellen:
8.6V (vanwege een tegengestelde stroom protectie tussen 9V adapter en Modules)
PGND (ground van de 9V)
5V (overspraak storingen heb je liever op 5V als op de referentie ground)
GND
Master TX
Master RX
RX en TX zouden dus gebruikt kunnen worden voor een toekomstig communicatie systeem voor bijvoorbeeld sensoren en aangestuurde verlichting.
Een toekomstige vraag wordt dan (dit wordt weer technisch) of UART (zoals bij Powered Up) of een ander protocol geschikter is.

Dus tot conclusie de volgende vragen:
Ken je al een dergelijk systeem?
Wat vind je van de voorgestelde V2?
Zou je zelf ook modules gaan ombouwen om dit te kunnen gebruiken in grotere layouts?
(bijvoorbeeld voor oplichtende kampvuren, lantaarns en bewegende delen in de Legoworld kasteel layout)
 
 
Gebruikersavatar
aawsum
Premium
Berichten: 2334
Lid geworden op: zo nov 08, 2020 9:00 am
Contacteer:

Ik heb veel ervaring met draden in grote lay-outs. Ik moet zeggen dat het wegwerken best lastig is en zeker als je je layout regelmatig verandert het niet zoveel zin heeft om in vaste posities of aansluitblokjes te denken.
Hoe meer connectiepunten des te meer risico op failures.
Ofwel ik kies voor zo lang mogelijke draden die ik alleen maar op het uiteindelijke stroompunt of arduino (in mijn geval) hoef aan te sluiten.
Gebruikersavatar
Raven
Premium
Berichten: 4123
Lid geworden op: zo nov 08, 2020 9:25 am
Locatie: Zaandam
Contacteer:

Zoek eens contact met Dirk Franzen die heeft in zijn vliegveld moc iets met magneetjes gedaan. Die geleiden dan de stroom en klikt ook nog erg makkelijk in elkander.
Gebruikersavatar
sparhawk
Premium
Berichten: 85
Lid geworden op: zo nov 08, 2020 11:38 am
Locatie: Coevorden
Contacteer:

Even inhakend op jouw communicatie lijntjes, je zegt daar UART, maar dat is point-to-point communicatie. Als je communicatie naar meerdere 'apparaten' wilt hebben verdeelt over je layout, dan heb je een bus nodig, zodat je met meerdere apparaten kunt communiceren. Het makkelijkste is dan natuurlijk een single-master bus, dus 1 apparaat dat de communicatie initieert en de rest kan alleen maar communiceren als hij aangesproken wordt (een I2C bus is bijv. heel makkelijk te doen met maar 2 draden). Nog mooier is een multi-master bus, dan kun je dus meerdere masters hebben die de communicatie kunnen starten, dit kan ook met I2C, maar de software wordt dan ingewikkelder.
Er zijn natuurlijk nog veel meer bus systemen, maar I2C is erg simpel te implementeren en daar zijn ook redelijk veel leuke standaard ICs voor te krijgen.
Gebruikersavatar
koffiemoc
Premium
Berichten: 438
Lid geworden op: ma nov 09, 2020 12:54 pm
Contacteer:

@aawsum: hoe werk jij die lange draden weg in de layout? Kabelgootjes in de weilanden met een groen deksel ofzo? (Ik heb op Lowlug XL denk ik zitten slapen in plaats van opletten bij jouw treinbaan.)
Gebruikersavatar
aawsum
Premium
Berichten: 2334
Lid geworden op: zo nov 08, 2020 9:00 am
Contacteer:

Op LowlugXL had ik geen kabels lopen dus daar heb je niets gemist.
Bij mij liggen eigenlijk vrijwel alle kabels onder de rails, behalve bij de wissels daar lopen ze er langs met inderdaad een groen (of dbg)deksel.
Kabelgootjes hebben we wel eens geprobeerd maar omdat de layout eigenlijk altijd wijzigt zijn we daarmee gestopt, onder de rails is niet altijd praktisch maar het is wat geven en nemen natuurlijk.
vortexico
Premium
Berichten: 79
Lid geworden op: ma aug 22, 2022 5:13 pm

Raven schreef: wo nov 16, 2022 10:14 pm Zoek eens contact met Dirk Franzen die heeft in zijn vliegveld moc iets met magneetjes gedaan. Die geleiden dan de stroom en klikt ook nog erg makkelijk in elkander.
Waar kan ik die vinden?
Al moet ik zeggen dat magneet+contacten vaak geen robuuste elektrische connectie maken na langere tijd maar ik ben benieuwd wat hij verzonnen heeft.
Een connector voert wat meer druk uit op het metaal waardoor lichte oxidatie/vervuiling "doorgeprikt" wordt.
aawsum schreef: za nov 19, 2022 7:07 pm Op LowlugXL had ik geen kabels lopen dus daar heb je niets gemist.
Bij mij liggen eigenlijk vrijwel alle kabels onder de rails, behalve bij de wissels daar lopen ze er langs met inderdaad een groen (of dbg)deksel.
Kabelgootjes hebben we wel eens geprobeerd maar omdat de layout eigenlijk altijd wijzigt zijn we daarmee gestopt, onder de rails is niet altijd praktisch maar het is wat geven en nemen natuurlijk.

 
Waarom bij wissels ernaast?
Maar je hebt de rails dus niet standaard op de module zitten?
Of hoe bedraad je de layout op een event dan?
En om hoeveel draad gaat het bij jou?
En gebruik je daarvoor ook een protocol of simpelere IO?
Gebruik je ook sensoren?
sparhawk schreef: za nov 19, 2022 11:09 am Even inhakend op jouw communicatie lijntjes, je zegt daar UART, maar dat is point-to-point communicatie. Als je communicatie naar meerdere 'apparaten' wilt hebben verdeelt over je layout, dan heb je een bus nodig, zodat je met meerdere apparaten kunt communiceren. Het makkelijkste is dan natuurlijk een single-master bus, dus 1 apparaat dat de communicatie initieert en de rest kan alleen maar communiceren als hij aangesproken wordt (een I2C bus is bijv. heel makkelijk te doen met maar 2 draden). Nog mooier is een multi-master bus, dan kun je dus meerdere masters hebben die de communicatie kunnen starten, dit kan ook met I2C, maar de software wordt dan ingewikkelder.
Er zijn natuurlijk nog veel meer bus systemen, maar I2C is erg simpel te implementeren en daar zijn ook redelijk veel leuke standaard ICs voor te krijgen.
Hey Sparhawk,

Leuk dat je mee wilt sparren, ik denk zelf dat het veel potentieel heeft bij grotere layouts.
Heb je ervaring met 1 van de protocollen?

UART is een redelijk universeel (Universal Asychronous Receiver Transmitter) bouwblok in microcontrollers.
Veel micros hebben ook EUSART's maar het "Enhanced" gedeelte kan per fabrikant verschillend zijn.
Overigens handelen Arduino bibliotheken veel voor je af maar komen met een prestatie prijs.
Buiten Arduino moet je vaak veel meer zelf afhandelen.

In het geval van Powered Up wordt UART point-to-point gebruikt (RS232), maar dit hoeft zeker niet zo te zijn.
(wellicht dat het protocol zelfs al geschikt is voor multi-slave...)
Een zeer bekend voorbeeld in de verlichting is DMX-512 wat "master to many slaves" is waarbij elke slave aan de hand van zijn adres en functie weet welke byte/bytes voor hem zijn. Dit kan uiteen lopen van een simpele verlichting byte tot "moving head" rotatie, tot pyrotechnisch, tot en triggeren van geluidsmodules. Het nadeel van dat protocol is dan ook dat het format van de data niet vast ligt.
Een bijkomend nadeel is dat DMX-512 een "break" en "Mark after Break" gebruikt die niet automatisch worden afgehandeld door de meeste micros.
(kies een specifiekere micro of handel dat zelf af)
Officieel is DMX-512 gebaseerd op RS-485 (UART signaal geconverteerd naar differentieel) Maar onder de 10 meter en met halve/kwart snelheid (125K/62K baud) heb je niet perse die extra buffers nodig.
In ons geval zou een byte genoeg zijn voor een dubbel stoplicht, of seinlichten.
DMX heeft echter geen handige voorziening voor sensoren.

RS-485 (wel met de buffers) kan ook multi-master zijn, maar de afhandeling (collisions) van multi-master protocollen moet vaak in firmware en kunnen lastig zijn.

I2C is niet altijd even makkelijk aangezien je niet zomaar een reeks data naar dat blok kan schrijven (zoals bij UART/SPI). (vanwege de werking hebben I2C peripherals geen FIFO en moet er veel in software afgehandeld worden) Maar in vergelijkbare situaties wordt het veel gebruikt dus zeker een optie.
Nadeel van de standaard (compacte) IO expanders is dat ze vaak maar 2 of 3 address bits hebben, dus in ons geval slechts 4 of 8 stoplichten van hetzelfde type. (dit komt omdat 4 van de 7 bits al vast liggen voor GPIO expanders)
I2C werkt standaard als controller-> targets en daardoor minder geschikt voor snelle sensor afhandeling of multi-controller.
Ik lees net wat over "Arbitration using SDA" (voor multi-controller) maar dat klinkt tricky.
"Arbitration in SMBus" klinkt dan al interessanter aangezien dat een "host notify" heeft.
Officieel is dat alleen single-controller.

Ik weet ook zo gauw niet op welke afstanden I2C nog goed blijft werken, het is ontwikkeld als interne bus.
Volgens mij is 2-5m wel gauw het maximum (met lagere snelheid).
RS-485 (de differentiële variant) heeft dat probleem niet aangezien dat na 100m nog moet werken.
Al weet ik uit ervaring dat je standaard DMX kabel dan niet naast 3-fase kabels moet leggen :s
Maar fatsoenlijke twisting (UTP) verhelpt veel :)

Leuk om hierover verder te brainstormen.
Zijn er nog meer events waar veel lowluggers komen buiten LowLug XL?
Gebruikersavatar
aawsum
Premium
Berichten: 2334
Lid geworden op: zo nov 08, 2020 9:00 am
Contacteer:

vortexico schreef: di nov 22, 2022 5:07 pm Waarom bij wissels ernaast?
Maar je hebt de rails dus niet standaard op de module zitten?
Of hoe bedraad je de layout op een event dan?
En om hoeveel draad gaat het bij jou?
En gebruik je daarvoor ook een protocol of simpelere IO?
Gebruik je ook sensoren?

 
 - Waarom bij wissels ernaast?Omdat de wissel en vast ligt (en er niet makkelijk draad onderdoor kan) en het bedieningsmechniek in de weg zit. Ik leg de draad er pas in nadat de layout ligt dus dan is de draad naast de wissel leggen het makkelijkste.
- Maar je hebt de rails dus niet standaard op de module zitten?
Nee. Modules blijf ik continue verbeteren/veranderen, er zijn wel simpele modules die al heel oud zijn maar daar pak je de rails simpel af om draad onderdoor te leggen.
- Of hoe bedraad je de layout op een event dan?
Alles is vantevoren uitgedacht, ik leg de layout neer, de draad erin, rails erop et voila.
- En om hoeveel draad gaat het bij jou?
Er zit meer dan 100meter in
- En gebruik je daarvoor ook een protocol of simpelere IO?
Alle elektronica is aangesloten op een aantal arduino's die via DCC++ aan Rocrail hangen
- Gebruik je ook sensoren?Ik heb infrarood, rfid en licht sensoren
 
Gebruikersavatar
Raven
Premium
Berichten: 4123
Lid geworden op: zo nov 08, 2020 9:25 am
Locatie: Zaandam
Contacteer:

Dirk zit bij 1000 Steinen verder ken ik hem van LW en LWK. Even op FB en anders de duitse collega's opzoeken. Denk dat Sparhawk en Eti anders wel een introductie kunnen maken.
vortexico
Premium
Berichten: 79
Lid geworden op: ma aug 22, 2022 5:13 pm

aawsum schreef: di nov 22, 2022 7:24 pm  - Waarom bij wissels ernaast?Omdat de wissel en vast ligt (en er niet makkelijk draad onderdoor kan) en het bedieningsmechniek in de weg zit. Ik leg de draad er pas in nadat de layout ligt dus dan is de draad naast de wissel leggen het makkelijkste.
- Maar je hebt de rails dus niet standaard op de module zitten?
Nee. Modules blijf ik continue verbeteren/veranderen, er zijn wel simpele modules die al heel oud zijn maar daar pak je de rails simpel af om draad onderdoor te leggen.
- Of hoe bedraad je de layout op een event dan?
Alles is vantevoren uitgedacht, ik leg de layout neer, de draad erin, rails erop et voila.
- En om hoeveel draad gaat het bij jou?
Er zit meer dan 100meter in
- En gebruik je daarvoor ook een protocol of simpelere IO?
Alle elektronica is aangesloten op een aantal arduino's die via DCC++ aan Rocrail hangen
- Gebruik je ook sensoren?Ik heb infrarood, rfid en licht sensoren

 
Interessant om een kijkje in de keuken te hebben.
Jammer genoeg wist ik dat nog niet met LowLug XL anders had ik toen meer doorgevraagd ;)

- Ik heb dus nu modules waar de rails wel standaard op de module blijft zitten (waaronder inderdaad de wissels) en ook een overgang waarbij ik de rails er niet even af gewrikt krijg.
Vandaar dat ik nagedacht heb over een permanent universeel systeem in de MILS module.
-  Overigens heb ik bij mijn systeem bewust geen rekening gehouden met power voor treinen aangezien 9V en 12V rails hun eigen geleiders hebben.
Die power (of in jouw geval DCC) zou dan puur via de rails lopen toch?
- Betreft de DCC "programming track": dat is hetzelfde maar voor een 2e spoor toch? Of loopt dat puur via kabels?
 
Ik heb wat naar dat DCC gekeken maar wat een raar protocol zeg: ik snap niet waarom ze niet voor manchester encoding (redelijk standaard) gekozen hebben (vooral andere bit-tijden voor een 1 en een 0 zijn nasty).
- Maar de trein motors krijgen ook negatieve pieken te verduren?
- Gebruik je voor Lego track ook 15V?
- zijn er verder veel Lego trein liefhebbers die een dergelijk DCC systeem gebruiken?
Gebruikersavatar
aawsum
Premium
Berichten: 2334
Lid geworden op: zo nov 08, 2020 9:00 am
Contacteer:

We dwalen een beetje af denk ik
Ik heb niet gezegd dat ik het DCC protocol gebruik, ik gebruik DCC++ als koppeling naar rocrail.
Ik rijd gewoon op 9v rails met met 9v treinen.

DCC zelf is nog wel iets wat ik zou willen proberen, maar voorlopig doe ik het nog zonder de trein motor te manipuleren.
Plaats reactie