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

NS 8400 van Werps door Ivo tB
Vandaag om 00:08:14
De (3d) knutsels van Ronald. door Jan-Peter
Vandaag om 00:04:32
U-vorm beperkte ruimte (H0 C-rails) door hmmglaser
28 maart 2024, 23:42:04
Onlangs gespot - gefotografeerd, de foto's door GerardvV
28 maart 2024, 23:37:18
US diorama in H0 door Wim Vink
28 maart 2024, 23:31:57
Al mijn goede ideeën... door bask185
28 maart 2024, 23:12:12
Gebruik je Arduino zonder te "programmeren" ;) door bask185
28 maart 2024, 22:51:58
21 april Het stoomgenootschap door bloemenvelden door Seinhuis
28 maart 2024, 22:46:29
7 april De Karel on tour door Seinhuis
28 maart 2024, 22:44:31
Raadplaatje door Magic
28 maart 2024, 22:23:21
LokSound 4 decoders, files verbeteren (voor Roco b.v. TEE RAm, NS2400, etc) door Biesje
28 maart 2024, 22:06:44
Geluid NS Mat'46 vs NS Mat'54 door Rob Bennis
28 maart 2024, 21:54:12
Engelse wagon uit 1930 opgegraven in Antwerpen door willem2
28 maart 2024, 21:52:45
NS GLY omspuiten en opschriften door Rob Ellerman
28 maart 2024, 21:45:55
De Hondsrugbaan door cor_b
28 maart 2024, 21:40:07
welk jaar ging Marklin OVP voor wagons van blauw naar wit door Railman
28 maart 2024, 21:36:50
Mallnitzer Tauernbahnstrecke ÖBB N Spoor door Schachbrett
28 maart 2024, 21:22:18
Mijn eerste H0-modeltreinbaan in aanbouw door puntenglijder
28 maart 2024, 21:15:13
Bouw van materieel 40 treinstellen door Rob Bennis
28 maart 2024, 21:09:04
30 maart Modelspoorbeurs Houten & HCC Kennisdag door basjuh1981
28 maart 2024, 20:54:43
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door 1200blauw
28 maart 2024, 20:32:41
Welke Vallejo kleur voor drijfstangen van een DB stoomlocomotief? door Ronald69
28 maart 2024, 20:00:39
Toon hier je nieuwe (model-) spooraanwinst(en)... door arnout
28 maart 2024, 19:53:27
Punt- en hartstukken door Klaas Zondervan
28 maart 2024, 19:41:21
MARDEC, de Multifunctionele ARduino dcc DECoder. door bord4kop
28 maart 2024, 19:34:37
Piko NS 2015 stroomafname probleem door Ben
28 maart 2024, 19:08:30
Bauarbeiten im gange door ruudns
28 maart 2024, 18:50:26
HSM D1715 door vpeters1984
28 maart 2024, 17:34:25
Beekdaelen in H0 door Stieven76
28 maart 2024, 17:17:41
Ombouw/Pimpen Bolle neuzen door bollen neus
28 maart 2024, 15:58:15
  

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

GP20

  • Offline Offline
  • Berichten: 52
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #30 Gepost op: 06 oktober 2018, 13:53:10 »
Bedankt voor de reacties zo ver :)!!!

Ik zou graag de wissels aansturen met de Throttle omdat ik dan onafhankelijk van waar ik sta de wissels kan bedienen, het is gewoon lekker flexibel.
Misschien luisteren naar je advies en het niet doen maar daar moet ik nog even over nadenken.
Dit omdat ik dan echt alles wat ik ga gebruiken, ik ga tenslotte een branch line uitbeelden zonder seinen en blokken en wie weet wat nog meer, in 1 bediening heb.
De staging wil ik wel met een vaste kast gaan doen maar daar sta je denk ik ook op een centraal punt en hoeft het allemaal niet zo "schaal" te zijn zeg maar, op de staging komt ook helemaal geen scenery.

Ik zou dan de void loop willen opdelen in:

void loop () {

  function = digitalRead(functionPin); // dit wordt dan bediend door een bi-stabiele schakelaar

  if (function == HIGH) {    // edit, = naar ==
    huidige code voor rijden en cab functies
  }
  else {
  code om wissels te bedienen via hetzelfde keypad // hoe dit te coderen heb ik nog geen idee van maar is uit te zoeken
  }
}

Ik zou graag 1 wisseldecoder (Uno) hebben en die met lange draden (er loopt nauwelijks stroom) een attiny45 die bij elke wissel zit aan te sturen, pin hoog of laag. De attiny stuurt op zijn buurt een kleine modelbouwservo aan. (groot nadeel is wel dat iedere wisselpositie zijn eigen stroomvoorziening van +5V moet hebben, ik kan hier niets meer doen met het DCC signaal of ik moet met een gelijkrichter en een spanningregelaar van de baan kunnen aftappen???)

Of dit wijs is hoor ik uiteraard graag, nu is er nog niets dat fout kan zijn/gaan.






« Laatst bewerkt op: 06 oktober 2018, 17:49:38 door GP20 »
mvg, Leo

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #31 Gepost op: 06 oktober 2018, 14:25:57 »
Nouwja, het is niet gek om dat vanaf je handregelaar te doen maar doelde er meer op om de wissels niet vast (als in hardware) te maken aan de "centrale" maar dit door DCC te doen. Dat je de DCC commando's via je handregelaar geeft kan prima. Ook al heb ik zelf de voorkeur aan een tableau (of meerdere kleine op de juiste positie langs de baan). En dan heeft sturen met DCC minder meerwaarde.

Voor de code, eerst klein tipje, als je er [code][/code] omheen zet dan is het wat leesbaarder.

Daarnaast, houdt er rekening mee dat ook een schakelaar bounce kent. Hoeft niet altijd erg te zijn maar weet dat in je voorbeeld tijdens/na het schakelen je een paar keer heen en weer gaat tussen het if en de else blok. Vandaar dat ik graag gebruik maak van Bounce2 die zowel de debounce als de state change mooi en overzichtelijk voor zijn rekening neemt.

En een iets duidelijkere naam zou zijn turnoutFunction. Dan zie je gelijk wat het gewenste effect is waar je nu moet gokken.

En dan laat ik even je bug weg ;D
if (function = HIGH) {
Ik zou graag 1 wisseldecoder (Uno) hebben en die met lange draden (er loopt nauwelijks stroom) een attiny45 die bij elke wissel zit aan te sturen,
Dat is minder eenvoudig dan je misschien denkt. :police: Juist het feit dat er nauwelijks stroom loopt maakt het erg storingsgevoelig. Ook al zou je dat wel voor een groot deel in software kunnen opvangen. Voor adServo hier ook wel voor gegaan maar ter bescherming heeft iedere ingang 1k in serie. En in software negeer ik kleine pulsen. Dit lijkt wel goed te werken.

Maar dan ook de vraag heb je het nodig? Als je gewone (spoel) wisselaandrijvingen gebruikt kun je die makkelijk verlengen naar een centrale module/decoder. Gebruik je servo's is het wel een ander verhaal.

Maar ook daar, modulariteit! Vaak stuk makkelijker / overzichtelijker om twee modules te hebben met 4/8 wissels dan één met 16 door de bijbehorende chaos aan draden. En 5V mooi op elke module reguleren om storing buiten de deur te houden. Dit zou je (via een gelijkrichter) van het DCC signaal kunnen houden maar ook van de externe voeding wat überhaupt aan te raden is voor de wissels.

Maar goed, de eerste vraag is dus of je het zinvol vind dit via DCC te doen of niet. DCC is denk ik zinvol als je het vanaf je centrale / regelaar wilt doen maar heeft minder meerwaarde als je toch een tableau maakt.

En begrijp ik het goed dat je twee handregelaars wilt maken? En dan één centrale? Of hoe had je dit in je gedachten? Kan maar mij liggen dat ik het gemist heb :angel:


Timo
Verzonden vanaf mijn desktop met Firefox

GP20

  • Offline Offline
  • Berichten: 52
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #32 Gepost op: 06 oktober 2018, 14:36:21 »
Ik wil idd uiteindelijk 2 handregelaars maken.

De bug ontgaat me nog steeds???? :)
mvg, Leo

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #33 Gepost op: 06 oktober 2018, 14:43:51 »
De bug is het subtiele verschil tussen function = HIGH en function == HIGH ;)

En al een idee hoe je de handregelaars met elkaar / een centrale / de baan wilt verbinden?


Timo
Verzonden vanaf mijn desktop met Firefox

GP20

  • Offline Offline
  • Berichten: 52
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #34 Gepost op: 06 oktober 2018, 15:40:01 »
Ben nu niet thuis maar volgens mij is het binnen in if statement toch een enkele =. (gecheckt, stond idd == in mijn code)
Ik heb een drietal HC-12 modules besteld voor de draadloze communicatie.

Deze rakkers, zijn inmiddels onderweg.
https://nl.aliexpress.com/item/1pcs-433Mhz-HC-12-SI4463-Wireless-Serial-Port-Module-1000m-Replace-Bluetooth-NEW/32717804563.html?spm=a2g0s.9042311.0.0.3b2d4c4dQVBFzb

En deze om de HC-12's te kunnen instellen:
https://nl.aliexpress.com/item/1PCS-CP2102-USB-2-0-to-TTL-UART-Module-6Pin-Serial-Converter-STC-Replace-FT232/32786777167.html?spm=a2g0s.9042311.0.0.3b2d4c4dmx36Ks

Nog twee stuks tweecellige lipo en een lader die via de balaceerdraden kan laden bestellen via aliexpress

« Laatst bewerkt op: 06 oktober 2018, 18:09:01 door GP20 »
mvg, Leo

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #35 Gepost op: 06 oktober 2018, 16:05:43 »
Nee, binnen C/C++ is het eenduidig.
= voor toewijzen (assign)
== voor controleren op gelijkheid (equal to)

function = HIGH maakt function dus altijd HIGH. De uitkomst van de operatie function = HIGH is ook HIGH. HIGH != 0 en dat is het enige dat als 'false' beschouwd wordt dus het if() blok zal altijd uitgevoerd worden.

Zou je dus schrijven
if(function = LOW){
}
else{
}
Zal function altijd LOW worden en daarmee 0 en zal altijd het else() blok aangeroepen worden.


Timo
Verzonden vanaf mijn desktop met Firefox

GP20

  • Offline Offline
  • Berichten: 52
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #36 Gepost op: 06 oktober 2018, 18:02:18 »
Hoi @GP20 / Leo,
En misschien ten overvloede, digitaal hoeft niet per se 18V te zijn. 16V of 18V zijn vaak wel de spanningen die mensen/bedrijven vaak noemen maar het mag alles tussen de 7V en 22V zijn.Ligt er maar net aan waar je de referentie legt ;D Voor de loc wissels de spanning wel degelijk tussen xV en -xV. Maar vergeleken met een referentie voor de sturing (bijvoorbeeld de GND) zal je inderdaad geen 18V hebben. Maar niet alleen Marklin doet dat overigens en heet een common ground (gemeenschappelijke "aarde"*) booster waar dit H-brug booster is. Misschien was dit gesneden koek maar voor de mensen die mee lezen :angel:

Ik mag max. 15V op de baan zetten volgens MRC (leverancier/fabrikant Mantua) dus ik hou het braaf bij 15V, anders geeft de decoder de moed op.

Citaat
Voor wissels zou ik gewoon aanraden om wisseldecoders te maken. Grote fout van veel beginners is alles in één systeem te willen proppen. Het sleutelwoord is modulair. Maakt het geheel makkelijker te bouwen en uit te breiden. Zeker als je aan de "centrale" kant voor voor een bus gaat voor meerdere inputs. Dit kan iets als LocoNet of XpressNet wat meer gebruikt wordt maar je zou ook simpel I2C kunnen zijn als de modules naast elkaar zitten. Immers is (TTL) I2C absoluut niet geschikt voor lengte maar prima voor twee naast elkaar geplaatste Arduino's.
Veel centrales (en ook decoders dit optrek/afrem vertraging gebruiken!) doen dit als je van rijrichting wisselt. Misschien hier ook een idee? Je zou zelfs kunnen doen dat als je de encoder in drukt dat de snelheid 0 maakt. Druk je hem in als de snelheid 0 is dan wissel je van richting. Richting omwisselen op snelheid (maar goed, wanneer wil je dit afgezien van loc "noodstop" optrek/afrem vertraging) is dan twee keer klikken.
Neuh, niet per se. Je kan ook meerdere aan één decoder hangen. Een DR4018 doet er bijvoorbeeld 8. Bij gebruik van servo's wil je de kabels tussen servo en decoder wel kort houden! En bijna alle gebruikelijke decoders hebben losse ingang voor de voeding om geen "digitale stroom" op te snoepen voor wissels.

Dit stukje moet ik nog een paar keer lezen voor ik het echt begrijp maar ik was idd van plan om de decoder knop als switchStop te gaan gebruiken, dan hou ik de functies bij elkaar en mijn hand zit toch al bij de encoderknop. Veranderen rijrichting seperate knop op de controller.

Citaat
En probleem van de hoorn snap ik alleen niet helemaal. Ligt waarschijnlijk aan mij ;D Je kunt geen andere functies aansturen als je de hoorn gebruikt?
Als de hoorn klinkt kan ik wel andere functies kiezen.
Als ik de hoorn selecteer en vervolgens helemaal laat uitklinken, seconde of 8-10 schat ik, dan klinkt de hoorn daarna ook bij bijna ieder andere gekozen functie, bijv. als je de bell aanzet.
Als ik de hoorn selecteer en vervolgens binnen de 8-10 seconden weer uitzet door nogmaals te selecteren dan klinkt hij niet als ik een andere functie kies.

Ik kan in de code niet vinden waar dat aan kan liggen, ik begrijp het stukje bitread en bitwrite en key = 0 of 1 sowieso nog niet.
En de eeprom, zit die in mijn Uno of zit die in de locdecoder? (moet in Uno zijn omdat locdecoder niet kan terugpraten volgens mij)
« Laatst bewerkt op: 06 oktober 2018, 18:07:03 door GP20 »
mvg, Leo

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #37 Gepost op: 06 oktober 2018, 18:16:22 »
15v :o Dat is erg weinig en ver te laag om binnen DCC specificatie te vallen ::) Dan moet een decoder minimaal 24V aan kunnen. Maar goed, rail voltage is een ander onderwerp 8)

Als je toch al vanaf je handregelaar wilt sturen zou ik zelf het via DCC niet zo gek vinden. Maar goed, dat hangt ook samen met hoe je meerdere regelaars wilt gaan combineren. Al enig idee hoe je dat wilt doen?

Of je probleem van de hoorn echt aan je code licht weet ik niet. Normaal zet je namelijk een geluid na de tijd ook weer uit. En nu zou het best eens de decoder kunnen zijn die het geluid opnieuw activeert als er weer een pakket langs komt waarin de hoorn aan staat ook al trigger je dat pakket door een andere functie. Functie Fl/F0 t/m F4 zitten in één pakket, F5 t/m F8, F9 t/m F12, F13 t/m F20 en F21 t/m F28 zijn elk gezamenlijke pakketten. Deze worden alleen naar de baan gestuurd als de Fx aangepast wordt.

Zo kan het dus zijn dat je F1 aan zet, pakket wordt gestuurd met de status van F0 t/m F4, hoorn gaat. En als je later nu F4 aan zet dat nu weer de het pakket van F0 t/m F4 de baan gezet wordt waar nu in staat dat zowel F1 als F4 aan is waardoor de decoder de hoorn dus ook opnieuw in gang zet.

Maar nu weet ik niet of DCC++ misschien meerdere pakketgroepen stuurt bij het aanpassen van een Fx dus het zou niet tot de groepen beperkt hoeven te blijven.

Dus misschien dat je dit eens moet testen op een bestaande centrale voordat je de code onder een vergrootglas legt. :angel:


Timo
« Laatst bewerkt op: 06 oktober 2018, 18:22:10 door Timo »
Verzonden vanaf mijn desktop met Firefox

GP20

  • Offline Offline
  • Berichten: 52
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #38 Gepost op: 06 oktober 2018, 18:42:38 »
Er is voor mij zoveel nieuw op dit moment dat ik er af en toe een beetje van tol.

De DCC++ centrale zet volgens mij alleen maar de bijv. <t1 3 20 1> code om in een pulstreintje op de rails. ??

Als ik de hoorn wil laten klinken dan komt commando <f 3 130> als pulstreintje op de rails. Als ik dan daarna de bel wil aanzetten zou het commando <f 3 129>  moeten zijn maar blijkbaar wordt het dan <f 3 131> op een of andere manier, (128 + 1(bel) + 2(horn)).
Als het 129 is zou iedere andere functie naast de bel die aanstaat uit moeten gaan of blijven. de bel moet aan gaan. Hoe het in de code werkt als de bel al aanstaat weet ik niet, de code zou dan 128 moeten zijn als alle andere functies op dat moment ook uitstaan. Dit moet ergens in het stuk bitread en bitwrite en key moeten zitten.

Hierin staat trouwens iets over de track voltage:
http://www.modelrectifier.com/v/vspfiles/resources/modelpower/414_GP-20_DCC-Loco_Genie_Instruction_Sheet.pdf






mvg, Leo

dimo1_dimo1

  • Offline Offline
  • Berichten: 3377
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #39 Gepost op: 06 oktober 2018, 18:46:05 »
Misschien is het leuk om eens te kijken wat er op de rails komt te staan? http://www.mynabay.com/dcc_monitor/ deze heb ik al eens gebruikt om een dcc accessoires decoder te maken. Ze geven ook een monitor programma die laat zien welke commando's er over de rails gaan.
groeten,
Auke

GP20

  • Offline Offline
  • Berichten: 52
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #40 Gepost op: 06 oktober 2018, 18:57:31 »
Ow da's zeker ook een leuk project.

Citaat
**** There have been several users reporting that this doesn’t work on Chinese made Arduinos ****

Hmm, mijn Chinese Uno onder het motorshield las de Rx pin niet uit, nu zit er een originele onder het DCC station en werkt het wel.
Voortaan toch maar echte kopen.
mvg, Leo

dimo1_dimo1

  • Offline Offline
  • Berichten: 3377
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #41 Gepost op: 06 oktober 2018, 18:59:36 »
Mijn Chinese Arduino had er geen moeite mee om dcc te kunnen lezen via die library.
groeten,
Auke

dimo1_dimo1

  • Offline Offline
  • Berichten: 3377
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #42 Gepost op: 06 oktober 2018, 19:01: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 ;)
groeten,
Auke

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #43 Gepost op: 06 oktober 2018, 19:30:58 »
Ah, volgens mij komt mijn gebrek aan ervaring met DCC++ om de hoek kijken ::) Ik zag op één van de links al dingen over bluethooth etc voorbij vliegen. Ik heb het niet allemaal gelezen dus wat betreft DCC++ specifieke dingen weet ik dus niets :angel:

Vandaar dat ik denk ik ook niet snap wat iets als <t1 3 20 1> is. Daar dat zeker niet op de rails staat (of dat geen standaard notatie daarvan is) maar dat het de tekst is die over de BlueTooth gestuurd wordt om de centrale bepaalde DCC commando's te laten opwekken.

Wat betekenen de delen van "<f 3 130>"? En begrijp ik het goed dat je daarmee F1 aan zet? En wat moet je sturen om F1 uit te zetten?

Wat betreft China Arduino's, deze zijn prima maar het zou kunnen dat sommige Uno's geen weerstand tussen de ATmega Rx en USB Tx hebben. (Op originele schema RN4B). Daardoor kan iets op de Arduino Rx niet over de USB chip heen schreeuwen. De Nano clones die toevallig voor me neus liggen hebben ze wel. En een Pro Mini heeft geen USB dus kan er nooit last van hebben ;D Maaruh, motorshild met Rx? ???

En over track voltage, die Loco Genie is wel een gekke eend in de bijt. Als ze volledig in spec zijn met DCC (zoals ze zeggen) moeten ze hier ook wel aan voldoen ::) Beetje raar dus. Maar goed, zullen niet de eerste zijn helaas.


Timo
Verzonden vanaf mijn desktop met Firefox

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 2083
    • El Carrilet
Re: DCC++ centrale en arduino: ervaringen?
« Reactie #44 Gepost op: 06 oktober 2018, 19:44:00 »
Citaat van: Timo
... Vandaar dat ik denk ik ook niet snap wat iets als <t1 3 20 1> is.  ... Wat betekenen de delen van "<f 3 130>"?
Dat is het commando dat je serieel naar het Arduino basisstation stuurt, de Arduino vertaalt dat naar de DCC pulsen op de rails, via de motor controller.
Die command string kan op veel manieren naar de Arduino: intypen in een terminalprogramma, van een (Arduino)DCC++ controller evt met Bluetooth, van JMRI's decoderPro via USB kabel, of ...

Zie hier voor de commandoset.

<t1 3 20 1>
< = start commando
t = voor locdecoder
1 = register
3 = decoderadres
20 = snelheid (0..126)
1 = richting
> = einde commando

<f 3 130>
f = voor locfunctie
3 = decoderadres
130 = byte om per bit functies F0..F4 aan/uit te zetten (128 + F1*1 + F2*2 + F3*4 + F4*8 + F0*16)
« Laatst bewerkt op: 07 oktober 2018, 12:22:02 door 72sonett »
El Carrilet
"te dom om te poepen"
MH