Doel:€250.00
Donaties:€160.00

Per saldo:€-90.00

Steun ons nu!

Laatst bijgewerkt
op 07-10-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Raadplaatje door Klaas Zondervan
Vandaag om 16:22:26
Ervaringen met veilingsites enzo (Marktplaats, Ebay, Catawiki, etc). door borotof
Vandaag om 16:08:04
Mijn eerste H0-modeltreinbaan in aanbouw door Wim Vink
Vandaag om 15:58:39
US diorama in H0 door Wim Vink
Vandaag om 15:55:31
Plux 22 connectoren door RICROO
Vandaag om 15:53:36
Rondom Charlois door Alewijn
Vandaag om 15:51:26
Warmkast voor de AnyCubic resin printer. door MOVisser
Vandaag om 15:39:47
Ronald bouwt een 2-turnout Inglenook door Ronald Halma
Vandaag om 15:35:27
RC poetstrein radiografisch bestuurd in h0 door BR24
Vandaag om 15:23:43
De IJmuider spoorlijn - korte geschiedenis en plaatjes door Vislijn
Vandaag om 15:16:34
Goederenloods Zandvoort door MOVisser
Vandaag om 15:03:27
01TREFF 2024, 26&27 OKTOBER door becasse
Vandaag om 14:45:09
de drie hoefijzers connectie door odaoda
Vandaag om 14:42:57
Terug naar spoor Ho 1/87 Duits door MOVisser
Vandaag om 14:37:40
Snelheid regelen decoder 611573 door borotof
Vandaag om 14:36:47
MODELSPOOR 2024 by MTD - 19 & 20 oktober 2024 in Edegem (B) door Frank Bunnik
Vandaag om 14:11:35
Win Digipet en LZV 200 centrale werkt ineens niet meer door Hollandserhbfan
Vandaag om 13:56:10
Open dag MSG ‘s Hertogenbosch door Peter.v.L
Vandaag om 12:59:33
Am Ende der Strecke, modulebaan op 1 M2 door Frank 123
Vandaag om 12:51:51
Zee. Land. door Huup
Vandaag om 12:40:56
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 12:32:12
modulebaan jaren 60 door rudi van der Craats
Vandaag om 12:25:13
Toon hier je nieuwe (model-) spooraanwinst(en)... door spoorijzer
Vandaag om 12:19:07
241P SNCF, messing schaal-0, Benoit Semblat door hervé
Vandaag om 11:49:41
Baanbouw met Ecos besturing genaamd: Giessenstad Rbf door Esufreak
Vandaag om 11:41:06
Vijfhuis (v.h. Frotterdam) door Ronald Halma
Vandaag om 11:33:35
openen Liliput(?) rijtuigen door Dick55
Vandaag om 11:32:05
Modules van Kees Gorter door Biessendorf
Vandaag om 11:30:39
46210 draai zwenk dak wagen door ES44C4
Vandaag om 10:35:01
19 Toen door Benelux795
Vandaag om 10:31:51
  

Auteur Topic: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen  (gelezen 24991 keer)

meino

  • Offline Offline
  • Berichten: 2191
Ik zag dat het hoofdstukje over Digitaal op dit forum hoofdzakelijk over problemen en vragen gaat, dus plaats ik dit draadje toch maar hier, ondanks het feit dat het alleen maar over digitale- en computerzaken gaat.

Zoals ik in de bouwbeschrijving van Kranenberg beschrijf, ben ik op een gegeven moment van analoog bedrijf naar digitaal overgestapt. Dat is gebeurd met een MDRRC-II Centrale. De volgende stap, die al snel kwam, was om dan ook met een PC de baan te gaan besturen. De MDRRC-II centrale kan met een aantal programma's aangestuurd worden, waarbij Robert Evers Koploper als referentie gebruikt. Alhoewel ik zelf een voorkeur voor JMRI had, maar dat ondersteunde de MDRRC-II centrale niet. Dus Koploper gedownload en opgetuigd. Dat had best wat voeten in de aarde, omdat Koploper zo zijn eigenaardigen heeft. Maar om Koploper (en ook andere programmatuur) zijn werk te kunnen laten doen, moet Koploper informatie van de baan krijgen en de mogelijkheid hebben om wissels te kunnen aansturen. Teminste als je automatisch wilt rijden. Verder wilde ik ook iets met seinen gaan doen. In eerste instantie had ik het idee om dat puur met armseinen te doen, totdat ik ontdekte dat er ook 3D geprinte seinen van het seinstelsel '46 beschikbaar waren. Na een test met het bouwen van een sein, besloten om, op 2 versimpelde vertakkingseinen na, alles met seinen van het seinstelsel '46 te doen, zie https://forum.beneluxspoor.net/index.php?topic=34476.540, vanaf reactie #543.  Dat betekende dat er een aantal verschillende componenten bedacht en gebouwd moesten worden. Een systeem dat de bezetmelding van een sectie in de baan in de gaten houdt en terugmeldt aan de centrale, een systeem dat DCC wisselcommando's ontvangt en de wissels omzet en een systeem dat de ledjes en servo's van de seinen aanstuurt.

Dat heeft uiteindelijk tot het volgende complex van systemen geleid.



Oorspronkelijk waren de systemen voor de bezetmelders en wisselaansturing gescheiden. Maar ik had al snel het idee dat ik de wissels ook handmatig nog wilde kunnen aansturen. Dat moest dan wel via Koploper gebeuren in verband met de controle, het is niet zo handig om een wissel om te zetten als de wissel nog bezet is. Dat kon via een bezetmelder (gekoppeld aan een drukknop) en een speciale actie. Alleen om dat goed werkend te krijgen is het eigenlijk ook nodig om een terugmelding naar Koploper van de wisselstand te hebben via een bezetmelding. Vandaar dat er communicatie is ontstaan tussen deze systemen, waarbij de wisselsteller een melding maakt aan de bezetmeldercontroller als een wissel omgaat. Later toen ik de systemen voor de seinen ontwikkelde, bleken die ook behoefte te hebben om te weten hoe de wissels staan. Verder deze laatste worden ook door DCC commando's aangestuurd, ik had ze apart aan de DCC bus kunnen verbinden, maar omdat dat de wisselsteller al een koppeling met de DCC bus had, vangt die de seincommando's op en geeft die ook door aan de seincontrollers.
Een opmerking voor de nitpickers, ik heb iets de S88 bus genoemd, technisch gezien is dit een shiftregister en geen bus, maar conceptueel vond ik het beter om dit een bus te noemen.

Tot zover deze introductie, in de volgende stukjes zal ik wat dieper ingaan op de verschillende systemen.

Groet Meino





« Laatst bewerkt op: 19 April 2018, 18:56:45 door meino »
A clean desk is a sign of an empty mind

Kranenberg
De CanBus komt naar Kranenberg

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #1 Gepost op: 18 April 2018, 17:05:38 »
Hoi Meino,

de categorieën zijn wat dat betreft een beetje een ramp inderdaad :-\

Maar waarom ben je voor I2C gegaan ipv XPressNet wat de MDRRC-II zo ondersteund? I2C is namelijk absoluut niet geschikt om onder een baan te leggen. Na 10 a 20cm houdt I2C echt wel op stabiel te zijn ::)


Timo
Verzonden vanaf mijn desktop met Firefox

meino

  • Offline Offline
  • Berichten: 2191
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #2 Gepost op: 18 April 2018, 17:18:31 »
Hoi Timo

dat weet ik, maar gemak dient de mens. Deze systemen zitten allemaal vlak bij elkaar onder de baan, dus afstand is nog geen probleem, overigens de grootste afstand die ik heb overbrugd is 50-60 cm en werkt in mijn situatie nog probleemloos. Maar de implementatie is dood simpel, 2 draadjes en een bestaande library. Als het in de toekomst toch problemen gaat geven, door extra systemen die verder af gaan komen, dan kan ik altijd nog het vervangen door een ander bus systeem. Dan denk ik zelf eerder aan Loconet dan XpressNet.

Groet Meino
A clean desk is a sign of an empty mind

Kranenberg
De CanBus komt naar Kranenberg

Robert E

  • Offline Offline
  • Berichten: 909
    • Robert’s Modelspoor Pagina
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #3 Gepost op: 18 April 2018, 20:39:31 »
Citaat
Maar waarom ben je voor I2C gegaan ipv XPressNet wat de MDRRC-II zo ondersteund?

Schrok even, maar gelukkig gebruik je de I2C bus van MDRRC-II niet...
Ondersteuning daarvoor gaat namelijk bij de eerste beste update eruit.....

Citaat
a 10 a 20cm houdt I2C echt wel op stabiel te zijn

Mwaahhh, als je bitrate niet te hoog zet gaat een metertje of twee wel :)

Mvg

Robert
MDRRC-II (Lite) goedkope DIY centrale voor DCC en MM.
Heb je een vraag, stuur me dan een mail via mijn site ipv persoonlijk bericht...

meino

  • Offline Offline
  • Berichten: 2191
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #4 Gepost op: 18 April 2018, 21:09:49 »
Schrok even, maar gelukkig gebruik je de I2C bus van MDRRC-II niet...
Ondersteuning daarvoor gaat namelijk bij de eerste beste update eruit.....

Nee, ik zou eerlijk gezegd niet weten waarvoor ik die kon gebruiken. de enige data die ik naar MDRRC-II stuur gaat via S88. Maar nog wel even een compliment voor je over de MDRRC-II.

Groet Meino
« Laatst bewerkt op: 18 April 2018, 21:45:57 door meino »
A clean desk is a sign of an empty mind

Kranenberg
De CanBus komt naar Kranenberg

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3602
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #5 Gepost op: 19 April 2018, 09:28:37 »
Leuke opzet. Zie mogelijkheden voor een SX-bus ipv een I2C bus.

Groet,

Gerard van der Sel.
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #6 Gepost op: 20 April 2018, 10:58:42 »
Ja, dat is de dunne lijn tussen "het werkt" en een goed ontwerp. Zeg niet dat je het moet aanpassen hoor (y) Maar als je rare dingen ziet zou dat wel je eerste punt van aandacht moeten zijn. Door inderdaad maar de standaard 100 kbit/sec gebruikt en niet te lichte pull ups gebruikt is het nog wel een beetje te rekken\stabiliseren. Maar bedenk dat de meeste modelspoorbanen redelijk veel storing bevatten.


Timo
Verzonden vanaf mijn desktop met Firefox

meino

  • Offline Offline
  • Berichten: 2191
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #7 Gepost op: 20 April 2018, 13:38:31 »
Timo

Wat een goed ontwerp is zullen we hier niet over twisten, dat heb ik in mijn werkzame leven al genoeg gedaan. Nu ben ik met een hobby bezig en het meeste is organisch gegroeid, waarbij veel zaken achteraf anders en beter hadden gekund.
Ik ben me zeer bewust van de potentiele problemen, Ik heb al genoeg problemen gehad met servo's - opgelost door afgeschermde cat6 kabels te gebruiken - en nu heb ik een bezetmelder die zo nu en dan vervelend doet, helaas is het juist de bezet melder die met het kortste kabeltje (20cm) met de arduino verbonden is. Verder heb ik de DCC library aangepast om stoorsignalen(spikes) op het DCC kanaal software matig uit te filteren.
Toen ik met de I2C bus begon was het een verbinding tussen 2 mega's die naast elkaar zitten, dus een heel korte verbinding en heel simpel te realiseren, later heb ik ook nog een cluster van 3 mega's verbonden. Die drie zitten ook naast elkaar alleen is de cluster zelf ongeveer 50-60 cm verwijderd van de andere 2. Tot nu toe werkt dat vlekkeloos, waarbij ik nog niets aan de clockrate (ik wist niet eens dat dat kon) gedaan heb, dus dat loopt nog op de default waarden. Verder probeer ik me aan het adagium "If it ain't broke, don't fix it" te houden, soms is dat best wel moeilijk omdat ook ik vaak denk "Dat kan beter". Mocht ik in de toekomst meer Arduino's te gaan koppelen, dan is de kans groot dat ik de I2C bus door iets anders moet vervangen.

Groet Meino
« Laatst bewerkt op: 20 April 2018, 20:29:33 door meino »
A clean desk is a sign of an empty mind

Kranenberg
De CanBus komt naar Kranenberg

Klaas Zondervan

  • Offline Offline
  • Berichten: 25794
    • Pagina van klaas
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #8 Gepost op: 20 April 2018, 14:10:41 »
Naar aanleiding van dit draadje heb ik eens gekeken wat I2C inhoudt. In alle beschrijvingen die ik vind wordt gesteld dat er slechts 2 lijnen zijn, een datalijn en een kloklijn. Maar om het goed te laten werken moet de ground van de diverse controllers toch ook gekoppeld zijn?
Projecten:
Dubbelom
Halte Assel
Geluk, dat is vooraan staan als de overweg gesloten is.

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3602
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #9 Gepost op: 20 April 2018, 14:34:17 »
Klopt Klaas. I2C bestaat uit een klok lijn en een bidirectionele datalijn. Om het geheel elektrisch te laten werken is er nog een derde lijn de GND. I2C is bedoeld voor communicatie IN een apparaat. Hierbij is sprake van een voeding (Zal je wel bekend zijn). Hierdoor staat het ook bekend als een twee draads protocol. Het is dus bij grotere afstanden drie draads.

Groet,

Gerard van der Sel.
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

meino

  • Offline Offline
  • Berichten: 2191
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #10 Gepost op: 20 April 2018, 20:25:01 »
Ik wist dat dat voor I2C nodig was, dus alle Arduino's zijn gekoppeld aan de zelfde GND.  Het zelfde voor de voeding, alle arduino's en aangekoppelde hardware wordt vanuit 1 bron gevoed.

Overigens heb ik ook maar eens op wikipedia gekeken en de Engelse versie (https://en.wikipedia.org/wiki/I%C2%B2C) geeft een zeer uitgebreide beschrijving. Overigens kwam ik daar het volgende tegen:
"The maximal number of nodes is limited by the address space and also by the total bus capacitance of 400 pF, which restricts practical communication distances to a few meters. The relatively high impedance and low noise immunity requires a common ground potential, which again restricts practical use to communication within the same PC board or small system of boards."
Daaruit leid ik af dat de maximale afstand die veilig te overbruggen is hoofdzakelijk bepaald wordt door de maximale capaciteit van de kabel. Als ik het zo bekijk dan komt mijn situatie redelijk overeen met wat beschreven wordt. Het is weliswaar geen koppeling op een board, maar de gekoppelde systemen zitten in mijn geval wel fysiek dicht bij elkaar. Het is echter wel duidelijk dat als de te koppelen systemen verspreid over de baan zitten, de I2C bus niet zonder meer een goede oplossing is.

Groet Meino
« Laatst bewerkt op: 20 April 2018, 21:27:54 door meino »
A clean desk is a sign of an empty mind

Kranenberg
De CanBus komt naar Kranenberg

Robert E

  • Offline Offline
  • Berichten: 909
    • Robert’s Modelspoor Pagina
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #11 Gepost op: 20 April 2018, 21:20:22 »
Citaat
Nu ben ik met een hobby bezig .....

Gewoon lekker doorgaan :)
Soms is het wat omslachtig of kan het anders maar jij moet er plezier aan hebben !

Zo is MDRRC ook ontstaan...

Mvg

Robert
« Laatst bewerkt op: 20 April 2018, 21:22:44 door Robert E »
MDRRC-II (Lite) goedkope DIY centrale voor DCC en MM.
Heb je een vraag, stuur me dan een mail via mijn site ipv persoonlijk bericht...

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3602
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #12 Gepost op: 21 April 2018, 07:04:10 »
Er bestaan overigens I2C busdrivers die de afstand erg vergroten. Wat betreft de adresspace, die is 7 bits. Dus 128 apparaten. Hoeveel data ieder apparaat ontvangt is niet gedefinieerd. Bij je draaischijf gebruik je een afgeleide van I2C, en daar gaan met iedere dataslag een stuk of 32 bits heen en weer. Hiervan is een gedeelte subadres.

Groet,

Gerard van der Sel.
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

meino

  • Offline Offline
  • Berichten: 2191
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #13 Gepost op: 21 April 2018, 14:42:31 »
Dag Gerard

De Adafruit motorshield die ik eerst gebruikte bij de draaischijf, gebruikt inderdaad de I2C bus. Het driverkaartje dat ik nu gebruik, de TMC2130, gebruikt de SPI bus. Tenminste dat leid ik uit het commentaar in de library af. De SPI bus zou dus ook nog een mogelijkheid zijn om Arduino's te laten communiceren, maar daar heb ik me nog niet echt in verdiept.

Groet Meino
A clean desk is a sign of an empty mind

Kranenberg
De CanBus komt naar Kranenberg

meino

  • Offline Offline
  • Berichten: 2191
Re: Automatisering voor Kranenberg - Arduino's, bezetmelders, wissels, seinen
« Reactie #14 Gepost op: 22 April 2018, 14:07:59 »
Ik kom toch nog even terug op de afgelopen discussie.

Timo heeft echt wel een punt betreffende het gebruik van I2C bus. Het is hiermee erg makkelijk om Arduino's te koppelen, en in mijn situatie werkt het goed. Maar dat hoeft niet in iedere situatie op te gaan. Daarnaast heb ik voldoende kennis om eventuele problemen op te lossen, maar dat hoeft niet voor iedereen op te gaan.

Daarom heb ik toch nog eens naar wat alternatieven gekeken, n.l. XpressNet en Loconet. Maar ik vind dat aan beide alternatieven toch wel nadelen kleven.

- XpressNet is een gesloten systeem die naast de hardware ook een complete definitie van alle commando's tussen de master en aangesloten apparaten bevat. Dat betekend dat ik voor mijn toepassing waarschijnlijk gebruik moet maken van commando's die in beschreven zijn door Lenz. Verder maakt XpressNet gebruik van een adres van 5 bits, wat betekend dat XpressNet maximaal 31 apparaten kan aansturen. Verder is binnen het XpressNet de centrale verantwoordelijk voor het toewijzen van transmissie slots aan de aangesloten apparaten. Kortom de Centrale is verantwoordelijk voor het ordelijk functioneren van het netwerk/bus. Ook de transmissie snelheid (64Kb) vindt wat aan de lage kant.

- Loconet is anders, het bevat niet een master en alle apparaten hebben de zelfde rechten (het is afgeleid van Ethernet). Maar voor zover ik kan zien bevat het ook set van voorgedefinieerde commando's. Overigens dit weet ik niet helemaal zeker, omdat Lenz een document met een complete definitie heeft gepubliceerd, maar voor Loconet heb ik dat nog niet kunnen vinden. De vrije, op Ethernet gebaseerde werking spreekt mij wel aan. Maar de transmissie snelheid (16Kb) vindt ik zelf veel te laag voor de toepassing die ik voor ogen heb.

Kortom bij geen van de beide alternatieven loop ik erg warm om dat te gaan gebruiken. Toen kwam ik op Ebay het volgende tegen https://www.ebay.de/itm/mini-ENC28J60-Ethernet-LAN-Netzwerk-Modul-Arduino-RJ45-SPI-CP01002.
Een kaartje waarmee je Arduino's op Ethernet kunt aansluiten, voor de prijs (vanaf euro 2,50) hoef je het niet te laten, en met de juiste bibliotheek, kan een Arduino in een IP netwerk worden opgenomen, je kunt zelfs een HTML server bouwen op een Arduino. Dit opent vele mogelijkheden, peer to peer communicatie met UDP of TCP, remote configuratie en monitoring door middel van een Webbrowser etc. Verder alle hardware is makkelijk te krijgen, iedere bouwmarkt heeft tegenwoordig een grote collectie aan patchkabels, stekkers, tangen, losse cat5 kabel. Switches en routers zijn ook voor weinig geld overal te krijgen.
Dus ik heb wat van deze kaartjes besteld in China om te kijken of dit kan gaan werken. De resultaten zal ik hier in draadje wel laten weten.

Groet Meino

A clean desk is a sign of an empty mind

Kranenberg
De CanBus komt naar Kranenberg