Doel:€250.00
Donaties:€50.00

Per saldo:€-200.00

Steun ons nu!

Laatst bijgewerkt
op 03-01-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Toon hier je nieuwe (model-) spooraanwinst(en)... door Sven
Vandaag om 12:28:41
De overeenkomst tussen een Ovaalramer en een Motorpost. door RK
Vandaag om 12:25:12
U-vorm beperkte ruimte (H0 C-rails) door eitreb
Vandaag om 12:16:32
Al mijn goede ideeën... door Karst Drenth
Vandaag om 11:42:58
NTM P1 in Schaal-1 door MaraNCS
Vandaag om 11:39:38
US diorama in H0 door Wim Vink
Vandaag om 11:35:28
Mijn eerste H0-modeltreinbaan in aanbouw door Jack Black (NS1220)
Vandaag om 11:33:00
Rio Grande Southern - Lizard Head Pass door Hans GJ
Vandaag om 11:30:20
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 11:27:15
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door Mispoes
Vandaag om 11:03:05
Bauarbeiten im gange door Dave.......
Vandaag om 10:55:26
Variaties op Station Zetten Andelst in HO door Duikeend
Vandaag om 10:54:40
De IJmuider spoorlijn - korte geschiedenis en plaatjes door Vislijn
Vandaag om 10:42:29
Onze Nederlandse Stoomlocomotieven (nieuwe druk) door R v/d Hoven
Vandaag om 09:24:48
Internationale Spoor 0 en 1 dagen in Gießen, 23 en 24 maart, 2024 door bernhard67
Vandaag om 08:42:53
De Hondsrugbaan door mass am see
Vandaag om 08:15:11
Pfarrerwinkel bahn door Jelmer
Vandaag om 08:00:19
M.s.v. De Percee bouwt aan nieuwe clubbaan door J. Moors
Vandaag om 01:00:05
30 maart Modelspoorbeurs Houten & HCC Kennisdag door WimM
Vandaag om 00:42:50
Raadplaatje door Magic
27 maart 2024, 23:27:03
Ronald en Wanda's "Southern Comfort" swamp layout! door Ronald Halma
27 maart 2024, 23:17:30
Bouw van materieel 40 treinstellen door Pauldg
27 maart 2024, 22:45:06
Martijn's rariteitenkabinet door Martijn193
27 maart 2024, 22:30:17
Beekdaelen in H0 door Link
27 maart 2024, 22:17:23
Les Billards du Vivarais door Hans1963
27 maart 2024, 22:08:52
"Litter Bin" voor Brits spoor en Britse modelspoorprojecten door BrightonBelle
27 maart 2024, 21:57:24
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
27 maart 2024, 21:47:16
Lima Koploper ombouwen door Menno 1846
27 maart 2024, 21:31:51
Piko NS 2015 stroomafname probleem door brutus
27 maart 2024, 21:16:45
Zwederbaan door nighttrain1
27 maart 2024, 20:44:09
  

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

GP20

  • Offline Offline
  • Berichten: 52
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: 4656
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: 52
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: 4656
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: 52
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: 3377
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: 2087
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

Kranenberg
De CanBus komt naar Kranenberg

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
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: 2087
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

Kranenberg
De CanBus komt naar Kranenberg

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
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: 2087
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

Kranenberg
De CanBus komt naar Kranenberg

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
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: 4004
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.
Train-Science.com
Train-Science github
It ain't rocket science ;-)

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
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: 52
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