Doel:€250.00
Donaties:€90.00

Per saldo:€-160.00

Steun ons nu!

Laatst bijgewerkt
op 15-02-2019
Algemeen

De stichting

Recente berichten

Vraag over decoderformaat Roco V100 nieuwe uitvoering door Ronald81
Vandaag om 10:35:53
Een Biertrein in schaal G door Pnarfk
Vandaag om 10:31:37
Baanplan in U-vorm, H0 door Wim Hesselink
Vandaag om 10:30:59
01TREFF Maarn, 16 &17 februari door Ronald Halma
Vandaag om 10:22:29
BNLS-Werkspoor - Eerste keer Messing/Witmetaal Modelloco 3300 door St00mboy
Vandaag om 10:20:28
Sluiting traject Geldermalsen-Elst? door dh3201
Vandaag om 10:17:57
"Litter Bin" voor Brits spoor en Britse modelspoorprojecten door St00mboy
Vandaag om 10:08:55
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 10:07:58
De bouw van mijn modelbaan in Thailand door Edsko Hekman
Vandaag om 10:05:53
Mijn eerste H0 modeltreinbaan in aanbouw door Almar
Vandaag om 09:58:01
Verbouwing Magic Train (schaal 0e) door Wim Corduwener
Vandaag om 09:44:04
Niet alle functies van diversen Roco loc's werken via MultiMaus 10810 (v1.04) door Von Rondstadd
Vandaag om 09:41:22
Digikeijs DR5000 Centrale, productbeschrijving door Pinkelpa
Vandaag om 09:39:17
Midland Industriebaan, NS Tijdperk IV, HO. door NS264
Vandaag om 09:30:17
MB-module: "Groeten uit Jottum" door nighttrain1
Vandaag om 09:21:28
St. Janskathedraal van 's-Hertogenbosch in 1:87, de bouw gevolgd door KNed
Vandaag om 08:41:50
Etoile du Nord vooroorlogs, welke rijtuigen heb ik nodig? door Tomasso
Vandaag om 08:17:44
Fleischmann BR 24/4141, hoe digitaliseren met verlichting? door San-Markos
Vandaag om 08:15:59
Fleischmann "Prima-Lux" constante treinverlichting door henk
Vandaag om 06:27:25
Bröckenbahn door Frank 123
Vandaag om 06:24:57
BNLS-Module: "Spoormuseum in H0" door Edsko Hekman
18 februari 2019, 23:48:07
Project 0m, iets heel anders: Rhätische Bahn door mwdb
18 februari 2019, 23:20:18
Buitenlust door mwdb
18 februari 2019, 23:17:05
Inzetbaarheid ACME 50584 ACME MU 71 84 72-70 622-2 NS door mDDM
18 februari 2019, 23:12:57
Nieuwe baan, nieuwe schaal van N naar H0e door NS264
18 februari 2019, 23:06:13
Doornvliet door NS264
18 februari 2019, 23:02:14
LA Yard in 0 door Ronald Halma
18 februari 2019, 22:59:27
De Hondsrugbaan, H0 door NS264
18 februari 2019, 22:53:17
MB-module: "L'Esimé" door Chris80
18 februari 2019, 22:35:04
Voor de betere priegelaars onder ons: rc in o.a. schaal 1:87 door DJV
18 februari 2019, 22:34:14
  

Auteur Topic: DCC++ centrale en arduino: ervaringen?  (gelezen 6998 keer)

GP20

  • Offline Offline
  • Berichten: 39
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #45 Gepost op: 06 oktober 2018, 19:56:01 »
Gezien je een Arduino hebt die dcc praat kan je waarschijnlijk ook een Arduino aan diezelfde dcc pratende io koppelen om zo zonder verdere electronica mee te kunnen lezen ;)
Je bedoeld dat die dan via Rx de wisselcommando's ontvangt en niet via de rail? Dan hoef ik er ook geen DCC decoder van te maken.
Dan kan ik serieel bijv <01> gaan sturen om wissel 1 om te gooien. Hier reageert de DCC++ centrale dan niet op en de wisselUno wel.?

Motorshild met Rx, nee maar die pin is wel doorgekoppeld naar de Uno eronder.
« Laatst bewerkt op: 06 oktober 2018, 19:57:33 door GP20 »
mvg, Leo

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4306
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #46 Gepost op: 06 oktober 2018, 20:11:41 »
Ahh, kijk, naar dat laatste was ik op zoek. Eerste had ik al gegokt :angel:

Ik zie zo niets geks. Een commando als "<f 3 130>" lijkt direct de te zenden pakketten te maken en dus vorige te verwijderen.

"<f 3 129>" na een "<f 3 130>" zou dus F1 moeten aanzetten en F2 uit. Maar tussen de verschillende functie groepen in ieder geval dus niet! "<f 3 161>" zet dus F9 wel aan maar beïnvloed de staat van F2 niet.

Serieel is niet geschikt voor afstand. Dus moeten de centrale en decoder wel naast elkaar. Daar Serieel ook aan de PC hangt (of in ieder geval gebruikt wordt voor programmeren) en geen start/stop en adres laag heeft zou ik dan voor I2C gaan die dat wel heeft. Maar nogmaals, printen moeten dan naast elkaar zitten wil je geen betrouwbaarheids-problemen hebben. Door hoe DCC werkt is dat wel robuust voor afstand.

En voor Rx, als het motorschild er niets mee doet heeft het ook geen invloed op de Arduino. ::) Of mis ik iets :angel:


Timo
Verzonden vanaf mijn desktop met Firefox

GP20

  • Offline Offline
  • Berichten: 39
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #47 Gepost op: 06 oktober 2018, 20:20:30 »
Die "Rx" pin op het motorshield steek je in de header van de Uno, dus draadje dat je in de "Rx"  van het motorshield steekt staat in contact met de Rx van de Uno eronder.

Het DCC++ base station bestaat uit een Uno met een motorshield.





Dus als ik de communicatiedraad in de Rx van het shield steekt praat hij feitelijk tegen de Uno eronder.
mvg, Leo

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4306
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #48 Gepost op: 06 oktober 2018, 20:27:59 »
Dat klopt. En dan blijft wat ik zei in reactie #43, waarschijnlijk ontbreken de weerstanden...


Timo
Verzonden vanaf mijn desktop met Firefox

GP20

  • Offline Offline
  • Berichten: 39
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #49 Gepost op: 06 oktober 2018, 20:31:12 »
Maar ik gebruik de USB alleen om de code te uploaden en daarna trek ik die eruit omdat het uiteindelijk toch een stand-alone geval moet worden.
Het DCC++ heeft, omdat ik die code niet aanpas, eigenlijk per definitie geen USB kabel, hij heeft een adapter en de track power komt van een labvoeding.
mvg, Leo

dimo1_dimo1

  • Offline Offline
  • Berichten: 3188
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #50 Gepost op: 06 oktober 2018, 20:44:28 »
Wat ik bedoelde was de dcc monitor die ik deelde op een Arduino zetten en dan de pinnen die normaal naar het dcc luister printje/electronica gaan aan te sluiten op de pinnen van de dcc++ centrale die de motordriver aansturen. Zo kan je zonder veel extra componenten meekijken wat er de baan op gaat.
groeten,
Auke

meino

  • Offline Offline
  • Berichten: 338
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #51 Gepost op: 06 oktober 2018, 21:27:50 »
@timo

Servo myServo;

myServo.attach(A2);
Met andere woorden, je kunt gewoon elke pin opgeven. De Servo library gebruikt gewoon digitalWrite().


Ik realiseer me net dat ik iets vergeten was. Mijn Arduino's zitten vol met code om interrupts af te handelen. Tot nu toe gebruik ik de servo's alleen om armseinen aan te sturen. Een klein probleem daarmee is dat de positie die de armen innemen behoorlijk variabel was, daarom ben ik overgestapt op een andere bibliotheek, nl PWMservo. om deze reden.

Citaat
PWMServo uses PWM signals for immunity to interrupts, which can corrupt the signals generated by the standard Servo library.

Sorry voor de verwarring.

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

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4306
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #52 Gepost op: 07 oktober 2018, 12:35:26 »
Maar ik gebruik de USB alleen om de code te uploaden en daarna trek ik die eruit
Dat maakt niet uit. Dat koppelt de USB naar serial chip niet los van de Tx en Rx van de ATmega :) Die blijft dus gewoon de ATmega Rx aansturen. De originele Arduino (en meeste clones volgens mij ook netjes*) hebben daarom een 1k weerstand tussen de ATmega Rx en de USB-Serial Tx en de ATmega Rx loopt direct naar de Rx pin van de Arduino. Op die manier kan de Rx pin dus over de Tx pin van de USB-Serial praten. Zonder zou zowel wat op Rx is aangesloten als de USB-Serial chip tegen elkaar in kunnen praten en dus eigenlijk een kortsluiting vormen. Stroom is dan beperkt dus Arduino zal niet uit gaan maar de data zal niet aan komen en je kunt zowel het aangesloten apparaat als de USB-Serial chp beschadigen.

En @dimo1_dimo1 heeft gelijk, je kunt het opbouwen zonder de H-brug en de opto om mee te luisteren. Niet vergeten de GND van beide Arduino te verbinden als ze niet gevoed worden uit dezelfde voeding.

[off topic]
@meino wat handel je allemaal in interrupts af dan :o Interrupts zouden in ieder geval kort genoeg moeten zijn om niet met de Servo library te storen. Immers zijn pulsen van 1-2ms voor de Arduino heeeeeeeel eeerrgggggggg traaaaagggggg. ;D


Timo

* Maar ik heb niet zo heel veel Uno's daar ik 99% van de gevallen een Pro Mini gebruik. Kleiner en goedkoper.
Verzonden vanaf mijn desktop met Firefox

meino

  • Offline Offline
  • Berichten: 338
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #53 Gepost op: 07 oktober 2018, 21:11:28 »
[off topic]
@meino wat handel je allemaal in interrupts af dan :o Interrupts zouden in ieder geval kort genoeg moeten zijn om niet met de Servo library te storen. Immers zijn pulsen van 1-2ms voor de Arduino heeeeeeeel eeerrgggggggg traaaaagggggg. ;D


Interupts van I2C, helaas handel ik in die interrupt code heel veel af (bericht lezen, analiseren en verwerken), dus dat kan best lang lopen. Verder de DCC library die ik gebruik genereert een interrupt op iedere opgaande en neergaande flank van het DCC signaal. Maar daar staat tegenover dat in deze interrupt code weinig gebeurt, er worden timers gezet en opgehaald om te kijken of er een 0 of een 1 langs komt. Verder probeer ik met timers spikes op het signaal uit te filteren.

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

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4306
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #54 Gepost op: 07 oktober 2018, 22:22:29 »
Dan zal het hem in het eerste zitten. I2C is niet echt snel. De DCC library gebruikt interrupts wel goed dus daar zal de servo library geen last van hebben. Maar goed, als het werkt dan werkt het (never change a winning team) ;D Maar goed om te onthouden voor de toekomst.

En weer nieuwsgierigheid
Verder probeer ik met timers spikes op het signaal uit te filteren.
Wat is "het signaal"? :angel:


Timo
Verzonden vanaf mijn desktop met Firefox

meino

  • Offline Offline
  • Berichten: 338
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #55 Gepost op: 07 oktober 2018, 23:00:09 »
@Timo

Het signaal is de blokgolf van het DCC signaal. De bibliotheek meet de tijdsduur van ieder blok. Maar dat is vrij primitief, als er  storing op het signaal komt, bijv een slecht ontstoorde lok, dan gebeurde het dat er extra 1 bits herkend werden. Dus als er erg kleine blokovergangen zijn (bijv kleiner dan 40ms) dan vergeet ik die. Dat is als het ware een soort software filter.

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

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4306
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #56 Gepost op: 08 oktober 2018, 09:02:42 »
Ahh, zo :) (y) Volgens de spec zou >= 52us een geldige één moeten zijn (mits de tweede puls maximaal 6us afwijkt van de eerste). Dus als dat niet in de library zit zou je dat aan kunnen dragen al verbetering (pull request als het Git is).


Timo

PS Gelukkig werkt DCC wel een paar orders sneller dan dat ;) ;D
Verzonden vanaf mijn desktop met Firefox

bask185

  • Offline Offline
  • Berichten: 119
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #57 Gepost op: 08 oktober 2018, 09:04:04 »
Serieel is niet geschikt voor afstand.

No offense maar dit is wel een beetje BS. CAN bus is ook serieel.

Tussen computer en arduino wordt er al gebruik gemaakt van USB spanningniveaus. Daarbij kan je prima wat meters afleggen.

Ik heb nooit getest hoever je komt als je 2 setjes Tx/Rx pinnen aansluit en op 9600BPS ga werken. Maar dat is een best lage frequentie. Dus op 5V kom je ook best ver. Je moet bedenken dat alles boven de 2.8V als een '1' wordt gezien. Dus spanningsverval is ook niet echt een issue

En zelfs als dat mis gaat, kan je altijd nog max485 ICs er tussen stoppen. https://www.hobbyelectronica.nl/product/max485-module-voor-rs485-communicatie. Die kosten geen drol en ze werken op differentieel spanning. Je raakt alleen je full-duplex capaciteit kwijt. Dus je moet wel een master slave systeem programmeren, waarbij je masters bij slaves gaat pollen of ze iets te melden hebben of niet. Maar als je communicatie toch maar 1 kant op is, hoeft dit niet eens.

@GP20
ik weet niet of ik het gemist heb, maar ga je nu gebruik maken van servo's of conventionele wisselaandrijvingen? Je hebt voor DCC al decoders die meer dan 10 servo's kunnen aansturen. Had ik volgens mij al in het begin vermeld. Die kan je dus via DCC aansturen op afstand. Je kan die ook nog per servo instellen tot hoever die servo moeten draaien. Als je perse aruino wilt gebruiken, zou ik wel een extra 5V en 0V aansluiting gebruiken met een eigen voeding. Je kan baanspanning aftappen maar daar komt wat meer elektronica bij kijken. Die servo's trekken best hoge piekstromen, dus een servo driver die op je baanspanning zit, moet een goede schakelende Dc-Dc converter hebben en een dikke elco. En zo'n pre-build DCC servo driver... die is al klaar die heeft dat al en is getest en werkt goed.


Ik zag ook een opmerking over dat 15V een erg lage spanning is voor DCC? Dat is ook een soort van nonsens. Die decoders hebben allemaal iets van een spanningsregulater. Zijnde schakelend of lineair, werken doen ze al waarschijnlijk al als je 3V3 aanbiedt. En in de treinen draaien ze volgens mij altijd op 5V. De baanspanning komt vooral op de randapparatuur te staan. Telex koppelingen, motoren en rookgenerators. Met 12V zal je trein langzamer gaan rijden en misschien wel te langzaam (maar onwaarschijnlijk, ik rij zelf ook op minder dan de max speed). De decoders zullen blijven werken op 15V.

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4306
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #58 Gepost op: 08 oktober 2018, 09:54:04 »
No offense maar dit is wel een beetje BS. CAN bus is ook serieel.
Daar heb je gelijk (y) Ik had TTL serieel moeten schrijven. Zoals ik dat eerder bij I2C wel gedaan heb. Excuses!

Maar je maakt wel de fout door geen onderscheid te maken tussen "het werkt" en "het werkt betrouwbaar" te maken. Ja, je kan het rekken met wat lagere bitrate en zeer zeker met CRC. Maar dat verandert niet dat TTL serieel niet gemaakt is voor afstand. Probleem is ook absoluut niet de spanningsval. Maar juist het inkoppelen van storing en in mindere mate dispersie. Dus als zo zonder kennis gaat toepassen voor lengte dan is dat vragen om problemen / gekke storingen. :-\

Dus ja, 485 serieel is daarvoor een hele goede oplossing (y) En full duplex is prima mogelijk. Heb je alleen 2 extra draden voor nodig.

En ja, een goede DCDC converter is aan te raden voor servo's. Distributie van 5V onder de baan niet. Net als lange draden aan de servo. Probeer onder de 20 a 30cm verlengen te blijven. En ook hier geldt, ja, er zijn er genoeg die het prima werkend hebben met langere draden maar er zijn er ook die opeens rare storingen hadden. En die hoeven niet direct of altijd op te treden.

En 15V is wat aan de lage kant voor DCC. En dat heeft niets met de benodigde spanning van de decoder te maken ::) Maar puur wat gebruikelijk is. Wat ja, de meeste decoders zullen gewoon een LDO naar 5V of zelfs waarschijnlijker naar 3V3 hebben. Dus de microcontroller zal werken vanaf een volt of 5 op de baan. Maar naast dat dit niet in spec is (minimaal 7V) zal je vooral moment missen in je motor. Dat de meeste locs op de volle spanning te snel lopen speelt geen rol. Bij 15V zal het moment prima zijn maar 15V als maximum is laag en zelfs te laag volgens de specificatie. ::) En dat is wat ik vooral bedoelde. Verschil tussen of "15V DCC" of "maximaal 15V DCC" laag is. Eerste een klein beetje vergeleken met de grote merken, tweede volledig buiten spec.


Timo
Verzonden vanaf mijn desktop met Firefox

GP20

  • Offline Offline
  • Berichten: 39
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #59 Gepost op: 11 oktober 2018, 00:05:37 »
Inmiddels is het spul aan de praat met een Arduino Nano.
Origineel is met een pro mini maar de Nano heeft een USB poort dus kan er altijd makkelijk code geüpdate worden.



De Nano kan makkelijker in de controller gebouwd worden dan een Uno.

Ik heb voor nu besloten de wisselaansturing niet in de controller te steken, dat wordt iets te ingewikkeld voor me.
De wisselaansturing gaat voor nu apart gemaakt worden en misschien wel op verschillende plekken langs de layout.

Net een zwik componenten besteld op aliexpress dus paar weken wachten en dan beginnen met bouwen.


mvg, Leo