Modelspoormagazine forum

Modelspoor, praktijk => Modelspoor-elektronica met microcontrollers => Topic gestart door: Havoc op 25 september 2014, 11:58:04 AM

Titel: praktisch vraagje ivm met io "density"
Bericht door: Havoc op 25 september 2014, 11:58:04 AM
Ben bezig met mijn io systeem voor mijn baan te bedienen en nu aan de algemene IO print gekomen. En hierbij zou ik graag eens de mening van anderen horen.

De opzet is dat er enkel in- en uitgangen zijn op logisch niveau, maar op dezelfde connector zit ook voeding (+3.3V of +5V of rijspanning naar keuze). Nu heb ik op 1 print 32 IO's. Maar ook nog behoorlijk wat lege plaats... En daar gaat de vraag over. Alle printen zijn dezelfde afmeting voor montage redenen en de PWM print heeft de afmetingen vastgelegd.

Dus ofwel blijf ik bij 32 IO's maar dat lijkt me zonde van de plaats.

Als ik de kant van de connectoren volzet kan ik echter tot 56 IO's gaan. Maar dan staat het echt "vol" met de connectoren héél dicht bij elkaar. Met de draden weggeraken en duidelijk labellen wordt dan een probleem.

48 IO's als compromis is dan weer minder optimaal gebruik van de IC's (halve IC ongebruikt). Ander compromis zou zijn om 40 IO's te maken maar ze dan niet (per 8 ) programmerbaar te maken in richting en tri-state. Maar ze per software in tri-state zetten lijkt me wel handig.

Met 32 IO's kan ik in mijn geval 8 seinen of 8 wissels of 32 schakelaars of 32 leds sturen/lezen. Met 56 IO's worden dat 14 seinen, 14 wissels, 56 schakelaars of 56 leds. Voor seinen is 14 stuks overkill want er staan er maar 34 op de hele baan verspreid over 6-7 modules. 14 wissels is eveneens overkill op de baan maar dan weer niet in het schaduwstation. Langs de andere kant is 56 leds en schakelaars handig voor het synoptisch bord maar overdreven voor bvb terugmelding.

Wat zouden jullie doen?
Titel: Re: praktisch vraagje ivm met io "density"
Bericht door: Gerolf op 26 september 2014, 09:12:19 AM
Ik zou gaan voor zoveel mogelijk I/O. Bekabeling en labels kan je oplossen met stukken flatcable, ...
Titel: Re: praktisch vraagje ivm met io "density"
Bericht door: Havoc op 26 september 2014, 15:02:16 PM
Je hebt gelijk Gerolf. Maar ik ben voor de tussenoplossing "with a twist" gegaan.

Een IC heeft 4x 8-bit poorten en een I2C adres. Dus voor 7 poorten (= 56 IO's) op een print heb ik 2 IC's en dus 2 adressen nodig. En dan gebruik ik 1 poort niet.

Als ik echter 6 poorten (= 48 IO's) op een print zet, dan heb ik nog altijd 2 IC's en 2 adressen nodig. Maar ik heb wel plaats op de 2 overblijvende poorten met een flatcable naar buiten te brengen!

In een backplane (*) kan ik nu 4 printen kwijt. Dus als ik printen met 7 poorten gebruik maximaal 28 poorten (= 224 IO's) met 8 adressen. Maar als ik 3 printen met 6 poorten gebruik en de 3x2 overblijvende poorten op de 4-de print zet dan heb ik 192 IO's met maar 6 adressen. En die 4-de print is er een die ik simpel zelf kan maken.

(*) backplane zorgt voor de verbinding tussen alle borden en geeft voeding.
Titel: Re: praktisch vraagje ivm met io "density"
Bericht door: Havoc op 26 september 2014, 19:56:28 PM
Toch wel eigenaardig dat dit bijna 100x gelezen is zonder enige reactie (behalve Gerolf). Is er dan niemand die een baan heeft en enig idee heeft van hoeveel IO hij/zij daarvoor nodig heeft/gehad heeft? Hoeveel wissels, seinen en andere zaken te bedienen?
Titel: Re: praktisch vraagje ivm met io "density"
Bericht door: doomslu op 26 september 2014, 20:02:35 PM
Ik blijf dit wel volgen, maar heb er eigenlijk geen mening over.
Als je een baan hebt van een zeker grootte heb je wel erg veel I/O nodig, dat is zeker!
Vooral lichtseinen vereisen veel poorten, ééntje voor elke 'lamp'.
Titel: Re: praktisch vraagje ivm met io "density"
Bericht door: SuSke op 26 september 2014, 20:25:20 PM
Sorry Johan, I/O versta ik nog en dat je dat op een zo efficiënt mogelijke manier wil gebruiken, sturen,... ook nog wel, maar dan ga ik voor de zware profielen, het betonstaal en de mortels. Ieder zijn ding. ;)
Titel: Re: praktisch vraagje ivm met io "density"
Bericht door: Geert op 26 september 2014, 20:43:01 PM
Citaat van: Havoc op 26 september 2014, 19:56:28 PM
Toch wel eigenaardig dat dit bijna 100x gelezen is zonder enige reactie (behalve Gerolf).


Ik heb dit draadje wel 98 keer gelezen, om nu mijn mening te zeggen  ;)


Eigenlijk is er 1 ding wel van belang, als je zoveel connectors op 1 print zet, en er is ooit een probleem met die print, zorg er dan voor dat je connectors gebruikt uit 2 delen.  Een vast deel op de print en aan ander deel insteekbaar met daarop de bekabeling...


Geert
Titel: Re: praktisch vraagje ivm met io "density"
Bericht door: Havoc op 26 september 2014, 22:17:44 PM
LOL, nu komen ze uit de kast.

Enfin, langs een kant versta ik het wel. Zit hier tot over mijn oren al maanden in en dan smijt ik zoiets in de kikkerpoel. Maar ik had toch enige reactie verwacht van mensen die al wat verder staan met hun baan. Zoiets van "je kan niet genoeg io hebben" tot "als het zo dicht bijeen staat dat je er niet meer aankunt is de lol eraf, zeker onder een tafel als je gewrichten en zicht niet meer mee wil".

En ja, ik had eerst schroefklemmen voorzien maar het gedacht dat je meer dan 120 vijzen moet losdraaien en daarna terug vast heeft me overtuigd om stekkers te gebruiken.
Titel: Re: praktisch vraagje ivm met io "density"
Bericht door: sn00zerman op 26 september 2014, 22:59:33 PM
Ik heb je beginposting 2x gelezen, en heb eigenlijk alleen maar meer vragen dan antwoorden :-)

- Welke IC's/MCU's gebruik je voor je IO systeem ?
- Wat wil je aansturen buiten seinen en wissels ?
- Hoe ga je die IO aansturen ? Via een PC ? schakelpaneel ? tablet ?
- Hoe groot is de complete oppervlakte van je modelspoorruimte ?

Ikzelf heb namelijk m'n gehele modelspoorruimte (meer dan 40 vierkante meter), voorzien van m'n eigen "IO systeem".
Buiten seinen en wissels, heb ik ook nog een complete dag/nacht sturing (met RGB LEDs, halogeen spots en dimbare TL's), random verlichting in gebouwen enzo, 2 surround systemen,
8 camera's (+2 wireless), een 10-tal TFT schermen, zelfbouw audio & video matrix switchen enz ... allemaal aangestuurd met RocRail (op PC dus).

Ik heb bewust gekozen voor een bus-systeem, met een beperkt aantal IO poorten per print, om het geheel overzichtelijk/uitbreidbaar/modulair/onderhoudbaar te houden.
Onderschat de hoeveelheid bedrading niet ! om dan met zoveel draden vanop één print te vertrekken, vind ik persoonlijk niet echt "de ideale" oplossing.
Ik heb ook niet alleen de IO op een print zitten, maar meteen de nodige andere componenten om het één en ander aan te sturen. Ik heb een reeks modulaire printen gemaakt,
die ik her en der onder de baan heb hangen, naargelang mijn behoeftes:
- Relais decoders (met 8 uitgangen) zowel DCC als Märklin protocol mogelijk
- servo decoders (met 4 uitgangen) zowel DCC als Märklin protocol mogelijk
- Video switch (6 input, 4 output, matrix switched)
- Audio switch (4 input, 2 output, matrix switched, stereo uitgevoerd)
- 5...36V high power 16-channel output drivers
- 5...36V low power 16-channel output drivers
- 5...36V high power 8-channel output drivers
- 5...36V low power 8-channel output drivers
- Driver board voor 64 LEDs
- 0..10V 4 channel DAC drivers (voor de VESA sturingen van de dimbare TL's)
- specifieke RGB LEDstrip (12V) drivers, max. 25 meter per print
- wireless transceivers (om m'n bus-systeem zelfs draadloos toegankelijk te maken vanop andere locaties in de modelspoorruimte)
- pan/tilt controllers (met servo) voor m'n cameraatjes
- gewone 8-kanaals relais kaarten

(Je kan altijd eens op m'n website http://www.digitalplayground.be kijken in topic van 4 augustus 2013, daar is de hele boel downloadbaar qua schema's, PCB-layouts en MCU code)

Persoonlijk zou ik dus kleinere MCU's gaan gebruiken & kleinere PCB's, "iets" universeel opbouwen, zodat het toch min of meer overzichtelijk blijft ...
In m'n vorige woning, had ik namelijk ook één centrale plaats, met grote printen met veel IO, man man, nooit meer op die manier voor mij !


succes,
Kris
Titel: Re: praktisch vraagje ivm met io "density"
Bericht door: Gerolf op 27 september 2014, 10:48:30 AM
Ik had uit je eerste post niet begrepen dat je meerdere I/O-printen zou gebruiken.
Dan is het inderdaad logischer om efficiënt met de middelen om te gaan.

Het advies om de elektronica dicht genoeg bij de "eindgebruikers" te zetten is zeker zo belangrijk.
Minder kabellengtes, minder storingsgevoelig, ...
Titel: Re: praktisch vraagje ivm met io "density"
Bericht door: Havoc op 27 september 2014, 13:45:00 PM
Citaat van: sn00zerman op 26 september 2014, 22:59:33 PM
Ik heb je beginposting 2x gelezen, en heb eigenlijk alleen maar meer vragen dan antwoorden :-)

- Welke IC's/MCU's gebruik je voor je IO systeem ?
- Wat wil je aansturen buiten seinen en wissels ?
- Hoe ga je die IO aansturen ? Via een PC ? schakelpaneel ? tablet ?
- Hoe groot is de complete oppervlakte van je modelspoorruimte ?

Trek het je niet aan, ik heb ook nog altijd meer vragen dan antwoorden :D Maar toch is jouw post nuttig, bedankt om je ideën en opmerkingen te delen. Camera's en zo staan echter niet op mijn verlanglijst.

Ik sta nog maar aan het begin van de hele zooi en er is nog veel te doen. Eenmaal de printen conceptueel af zijn wil ik er wel eens wat meer over zeggen hier maar voorlopig is alles nog teveel in beweging. Een korte schets kan wel al.

De keuze is om voor een systeem met centrale sturing te gaan dat via een I2C bus de IO stuurt die zich dan verspreid over de modules bevindt.

- centraal: een pc. Gewoon omdat dit simpel te vinden is, goedkoop, gemakkelijk te programeren, geen apart programeersysteem nodig, te weinig rekenkracht dan kan je een grotere nemen etc. Ook gekozen om niet grafisch te werken maar met een synoptisch bord. Geen bediening met muis en scherm maar echte knoppen.

- interface via USB naar een gekochte module. Die geeft dan 5 I2C bussen uit die elk gebufferd worden naar 12V voor de afstanden te kunnen overbruggen. Buffering van de I2C is met een P82B96 die lengtes tot 10m zeker moet aankunnen. Ook voorzien om de pwm's te kunnen synchroniseren, reset geven, interrupt vanuit de modules. Aparte "bus" voor een start/stop en noodstop voorzien. Alles voorzien om niet de geest te geven als ergens een spanning niet aanwezig is.

- elke I2C bus heeft een specifiek doel: baan, synoptisch bord baan, schaduwstation, synoptisch bord schaduwstation, reserve

- op elke module komt dan 1 (of meer) "backplanes". Dat is een bordje waar die 12V I2C terug naar een 3.3V versie wordt omgezet, de synchronisatie en reset gebufferd (om de bus niet teveel te belasten) en de spanning voor de modules wordt aangelegd. Dat is dan +5V waar +3.3V voor de logica wordt van gemaakt en rijstroom. Er kunnen 4 modules op 1 backplane gestoken worden.

- als modules is er nu voorzien een pwm module en een IO module. Er is bewust gekozen om enkel IO op logisch niveau te doen. Dit om te vermijden dat er verschillende soorten nodig zijn. Maakt het ook simpel voor de latere functie bordjes (bezet detectie, wisselsturing,...). Een IO kan wel direct leds sturen zoals voor seinen, verlichting of paneel. De pwm module heeft 16 pwm drivers aan boord die elk 1A kunnen leveren maar niet allemaal tegelijk. IO en pwm zijn gebaseerd op de PCA9685 en PCA9698.