BeneluxSpoor.net forum

Vraag en antwoord => Digitaal => Topic gestart door: Max Roodveldt op 03 januari 2016, 17:05:52

Titel: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Max Roodveldt op 03 januari 2016, 17:05:52
Probleempje…

Een goed jaar geleden heb ik een regelaar gebouwd op basis van een Arduino en een Toshiba TA8050 H-brug. Dit om op een Timesaver te kunnen rijden – één loc, maximaal 8 wagens, wissels handbediend, lage snelheid en het belangrijkste: enkel knops-bediening.

Ja, enkel knops-bediening. Schakelaar naar links: trein naar links. Schakelaar naar rechts:  trein naar rechts. Schakelaar los: remmen en stop. Dankzij de Arduino langzaam optrekken en afremmen en dankzij de TA8050 met Puls Breedte Modulatie.

Een prima werkend mengsel van analoog en digitaal. Maar wel met enkele beperkingen. Bij voorbeeld geen konstante verlichting, geen geluid en geen vaste instellingen voor maximale snelheid, optrekken en afremmen. (ik heb bij een aantal locs de ingebouwde decoders verwijderd…  8)).

Zo kijk ik toch lichtelijk jaloers naar wat er met de huidige DCC decoders mogelijk is. Schakelende verlichting, vaste instellingen voor snelheid, acceleratie en remmen, geluid, ontkoppelen, wisselbediening, enz, enz.

Maar ja, een DCC bediening met een enkele schakelaar heb ik nog niet gezien – en dat is en blijft het struikelpunt. Dus vroeg / vraag ik me af of het mogelijk is om met behulp van een Arduino een kleine DCC centrale te bouwen. Tenslotte als je een DCC decoder kan bouwen zou een eenvoudige DCC encoder toch ook moeten kunnen… ;)

En zoja, zijn er hier mede knutselaars die zoiets al eens geprobeerd hebben…  ???

En ja – ik heb op het internet al verschillende dingen gevonden maar naar mijn bescheiden mening zijn die vaak toch veel te complex voor wat ik wil.

Bij voorbaat vriendelijk dank voor jullie reacties,

met vriendelijke groet,

Max.
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Timo op 03 januari 2016, 17:35:38
Hoi Max,

Deze week kwam ik daarvoor iets interessants tegen (dank je Hans  ;D ). Zie daarvoor Mint Can Controller (http://desktopstation.net/wiki/doku.php/mint_can_controller). Ja het is in het Japans maar Google (https://translate.google.nl/translate?sl=auto&tl=en&js=y&prev=_t&hl=nl&ie=UTF-8&u=http%3A%2F%2Fdesktopstation.net%2Fwiki%2Fdoku.php%2Fmint_can_controller&edit-text=&act=url) is daar best goed in  ;D Deze is voor jou taak nog te uitgebreid maar ik denk dat de code erg eenvoudig is over te zetten naar een een knops bediening zoals je nu analoog hebt :)


Timo
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Cees Baarda op 03 januari 2016, 17:48:42
Ik heb de library CmdrArduino (https://github.com/Railstars/CmdrArduino) gevonden en al eens een trein laten rijden. De uitgaande spanning van de Arduino, in mijn geval op pen 9, heb ik als digitale spanning aangeboden aan een BNLS-boosterhub en zowaar mijn trein reed.

groet Cees
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Max Roodveldt op 03 januari 2016, 18:03:41
Beste Cees en Timo,

hartelijk dank, want de belangrijkste vraag is beantwoord: het kan...  (y)

En die japanse verpakking is grandioos - te meer daar mijn huidige regelaar in 'n sigarenkistje zit...

Mvg,
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: TEE-RAM op 03 januari 2016, 18:57:48
Hallo Max,
Dus zuigen in plaats van inhaleren.
Succes
Wim
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Max Roodveldt op 03 januari 2016, 19:00:11
 ;D ;D ;D
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Robert E op 03 januari 2016, 19:34:00
Citaat
  een kleine DCC centrale te

Geen Arduino

http://members.home.nl/robert.evers/mdrrc2.htm

Citaat
Maar ja, een DCC bediening met een enkele schakelaar heb ik nog niet gezien –

Sluit op de XPressNet bus een eigen gebrouwen één knops aansturing aan die zelf de snelheid regelt en je bent klaar....

Evt dit lenen

http://pgahtow.de/wiki/index.php?title=XpressNet

en aanpassen naar eigen wensen....

Mvg

Robert

Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Max Roodveldt op 03 januari 2016, 19:58:59
@Robert

Bedankt - ja, dat is inderdaad ook een optie maar misschien toch iets te complex.

mvg,
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Timo op 04 januari 2016, 13:18:57
Als je het verder ook al centrale zou willen gebruiken is het leuk. Maar ik denk dat niets op kan tegen de eenvoud van de Mint Can Controller. Ik heb net even de code doorgekeken. Het is redelijke code maar het laat wat te wensen over. (Ik snap bijvoorbeeld niet hoe mensen kunnen werken met pin nummers ipv een pin naam.)

In de basis is het heel simpel. Roep in de loop Gateway.Scan(); aan en gebruik  Gateway.SetLocoSpeedEx(PROTOCOL + gLocAddress, aSpeed, 2); voor de snelheid.

Heb je eigenlijk twee eenvoudige opties. Of je schrijft een nieuwe sketch en maakt het echt met een schakelaar zoals je had (schakelaar deel kan je waarschijnlijk copy past doen uit je analoge sketch). Functies en adres kan je dan makkelijk hard coded maken. Dit is denk ik niet meer dan 50 regels code :p

Of je past de huidige aan en je past alleen het blok tussen regel 155 en 171 aan. Dit is de uitlezing van de knop en het instellen van de snelheid. Hier zou je zo een blokje kunnen toevoegen voor een knop voor de snelheid. Je houdt dan de mogelijkheid om een adres te kiezen en functies in en uit te schakelen.

Tweede is lekker makkelijk als je toch een display enzo wilt maar is qua aansluiten wel complexer. Eerste optie (eventueel alleen met functie toetsen) is natuurlijk in een kwartiertje op een stuk gaatjesprint gezet  ;D


Timo
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Max Roodveldt op 04 januari 2016, 14:16:55
Hi Timo,

ik zit me inmiddels wat in te lezen in de materie en moet zeggen dat op het eerste gezicht de mogelijkheden eindeloos lijken.  ???

Als ik het schema en de sketch bekijk van de Mint Can moet het haast mogelijk zijn mijn huidige schakeling te gebruiken (als ik de verschillen kan vinden tussen de gebruikte Toshiba H-bruggen). Alleen de sketch zal ik moeten aanpassen.  8)

Rest de vraag hoe ik de sketch dusdanig kan aanvullen om er ook mee te kunnen programmeren - ik was niet van plan om daarvoor een aparte DCC centrale te kopen. Eenvoud voor alles. En ongebruikte afstandsbedieningen heb ik nog zat liggen...  ;D

mvg,

Max.
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Timo op 04 januari 2016, 14:35:17
Oef, programmeren is misschien weer wat lastiger. Dan moet je de library verder uitpluizen en dat is wat lastiger aangezien de comments in de library zelf Japans zijn....

Een alternatief zou zijn om voor het programmeren MRdirect te gebruiken. Ook daarvoor zou je H-brug als booster moeten kunnen werken ;)


Timo
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Hans van de Burgt op 04 januari 2016, 17:09:27
@Timo,

Ik kan contact opnemen met Yaasan (Hiroyuki Kokubun).
Wellicht wil hij de comments in het Engels aanleveren.
Anders wil ik deze wel vertalen mbv Google.

Is de code van zijn nieuwere DCC Centrale (DSmain R5) erg afwijkend van de Mint Can versie?

En je MRDirect optie? Zou die compatible zijn?

Grzz, Hans
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Peter Korsten op 04 januari 2016, 17:20:11
Je zou ook nog kunnen overwegen om je 'DCC command station' een Loconet-aansluiting te maken en daar een DCC-booster aan te hangen. Dan heb je niet het gedoe om zelf een booster te bouwen en je kunt de boel later eventueel uitbreiden.

- Peter
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Timo op 04 januari 2016, 17:32:46
@Hans, de DSCoreLib met Engelse comments zou erg handig zijn. Google is gelukkig erg goed in Japans maar het nadeel is dat je alle comments los moet kopieren om te eindigen met een Engels commented code...

Of het erg verschilt met de DSmain zou ik zo even iet durven zeggen, niet naar gekeken. Mint Can is een example in de DSCoreLib. Wordt deze ook gebruikt in het grote broertje?

De MRdirect optie is niet bedoelt als los systeem zoals Max wil maar alleen als makkelijker/handige/snelle methode om te kunnen programmeren. Dan kan er snel een programmeerloze versie gemaakt worden die gewoon kan rijden, verder geen poes pas.

@Peter, zoals ik zei is dat natuurlijk ook een optie. (y) (Meerdere wegen naar Rome.) Maar het is een stuk complexer dan de Mint Can Controller. En de booster is eigenlijk het makkelijkste onderdeel van een centrale... H-brug, klaar. De kortsluitdetectie enz is allemaal bijzaak. Werd dat analoog niet nodig geacht met de H-brug zou je het nu ook gewoon achterwege kunnen laten.


Timo
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Max Roodveldt op 04 januari 2016, 17:36:27
@Peter

om met 1 locomotiefje te kunnen rijden heb je aan 500 mA genoeg; wat moet je dan met een booster  ???

Een 7-pens TA8050 levert 1,5 A, meer dan genoeg... (en kost €4  (y))(trouwens die gebruik ik nu ook)

en 't idee was zelfbouw - je weet wel, met een soldeerbout en printplaatjes...  ;D

Die Mint Can Controller is perfect - moet alleen worden uitgebreid met een IR brugje om een tv-afstandsbediening te kunnen gebruiken voor het programmeren.

Max.
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Hans van de Burgt op 04 januari 2016, 17:41:58
@Hans, de DSCoreLib met Engelse comments zou erg handig zijn. Google is gelukkig erg goed in Japans maar het nadeel is dat je alle comments los moet kopieren om te eindigen met een Engels commented code...

Als het nodig is, wil ik dat wel voor mijn rekening nemen.
Maar we kunnen het hem gewoon vragen.

Grzz, Hans
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Timo op 04 januari 2016, 17:43:49
@Max, bedoel je met de afstandsbediening echt programmeren of rijden. Rijd je nu ook met een afstandsbediening? Voor het programmeren zou je dieper de library in moeten duiken. Om het simpel te houden (want je gebruikt het ook niet zo vaak) zou ik het programmeren via serial monitor doen ofzo. Heb je lekker geen display nodig en houdt het dus weer lekker simpel.


Timo
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Max Roodveldt op 04 januari 2016, 17:47:59
@Timo,

wat ik bedoel is rijden met een drie standen schakelaar. En eventueel programmeren met een afstandsbediening (ivm met de keuzeknoppen)
En als het helemaal niet anders kan programmeren via de PC - maar alleen als 't niet anders kan...  8)

Schitterend.

De DSmain R5 (€120) kan programmeren en wordt gestuurd met een Arduino Nano.

Dus software-matig moet het kunnen - alle toeters en bellen er af - perfect...  (y)

Max.
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Hans van de Burgt op 04 januari 2016, 17:50:08
@Timo,

Yaasan heeft moeite om Wifi te integreren.
En dat heb je nodig voor een goede remote control via een smartphone of tablet.
Lijkt mij juist wel handig om (ook) een remote control functie te hebben.
Ik gebruik nu mijn PC als DCC command station. Maar soms ben ik net te laat bij de knoppen, als ik ergens langs de baan sta.

Uh... Niet alle toeters en bellen eraf, maar een modulaire aanpak, zodat er wat te kiezen valt.

Grzz, Hans
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Max Roodveldt op 04 januari 2016, 17:58:23
Uh... Niet alle toeters en bellen eraf, maar een modulaire aanpak, zodat er wat te kiezen valt.

ok, zolang het maar in zo'n blikje kan...  8)

Max.
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Hans van de Burgt op 04 januari 2016, 18:06:23
@Max

(https://images.beneluxspoor.net/bnls/image_279.jpeg) (https://images.beneluxspoor.net/bnls/image_279.jpeg)

Dit vind ik anders ook een heel mooie oplossing. :)
De Dsmain R4, overigens...

Grzz, Hans
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Max Roodveldt op 04 januari 2016, 18:50:33
@Hans

dat is het ook...

En het toont aan dat het met een Arduino kan - en kan je weglaten wat je niet nodig denkt te hebben.
Of aanvullen met overige wensen.
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Timo op 04 januari 2016, 19:02:16
@Max, afstandsbediening zou moeten werken ook al lijkt het me wel wat lastig zo zonder (goed) display. Maar goed, er zijn tig Arduino IR libraries dus lastig is het niet. Alleen even kijken hoe die library het verwacht.

Even gekeken, volgens mij kan je met
DSCoreLib::WriteConfig(word address, word number, byte value)
CV programmeren. Als ik het goed heb is address allen gebruikt om het type decoder vast te stellen. MM2 (motorola???), DCC of DS-DCC (eigen decoder type??). Volgens mij doet hij gewoon DCC CV programmeren als je er iets kleiner dan 0xC000 voor opgeeft.
Gateway.WriteConfig(0,1, 15);
Zou dan dus gewoon CV1 voorzien van de waarde 15.

Rest is kinderspel  ;D

@Hans: als hij Wifi wil toevoegen (neem aan met een ESP8266) kan hij het net zo goed gelijk poorten naar de ESP. Wat betreft snelheid en geheugen is deze veel sneller / beter geschikt dan een ATmega (aka, Nano/Pro Mini/Uno). De standaard AT+ based communicatie daarmee is maar erg beperkt. En een ESP toevoegen op die manier zou een beetje zijn als David die bomen aan het vellen is en Goliath die de paardenbloemen doet...  ;D

Timo
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Hans van de Burgt op 04 januari 2016, 19:11:41
@Timo,

OK, dan is het wachten dus op die nieuwe ESP die je eerder deze week noemde.
Als ik het goed begrijp, kun je dan een goedkope, betrouwbare DCC centrale maken met heel veel mogelijkheden. (Ook remote control bijv. via een iPhone).
Moet er dan ook nog gekeken worden naar de bijbehorende software van Yaasan?
Zo op het eerste gezicht leek die niet verkeerd. Al zal deze zich wellicht niet kunnen meten met RocRail of Traincontroller.
Vandaar ook mijn eerdere vraag mbt MRDirect. Jij was immers nogal enthousiast over het overzicht met deze software.

Grzz, Hans
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Timo op 04 januari 2016, 19:33:59
Nouwja, of je daar echt op moet wachten weet ik niet. Espressif heeft al aangegeven dat de ESP32 niet gezien moet worden als opvolger van de ESP8266 maar als uitbreiding op de familie. Ik denk dan ook dat het de grote broer wordt met bijbehorend prijskaartje (ook al denk ik nog steeds ver onder de 10 dollar). Maar de ESP8266 is al een paar keer zo krachtig als de Nano. Het heeft alleen iets minder IO maar dat is wel op te vangen met een port expander.

Wat betreft software, de code van de uC zal aangepast moeten worden omdat hij port manipulatie gebruikt (en ik denk ook wel timers). En de PC software heb ik nog niet naar gekeken en gaat natuurlijk ook ver buiten de scope van dit draadje. Maar als ik zo snel kijk is de PC software niets meer dan een virtuele rijregelaar (iets dat ik eigenlijk compleet niet interessant vind...)

Ik noemde MRdirect dus echt alleen voor het programmeer aspect. Omdat daar, Mint Can Controller aka minimalistische opzet gezien, het meeste werk in zit om te programmeren nu. Rijden met een schakelaar zoals Max wil is met deze code kinderspel. Het schakelaar snelheid deel kan hij er waarschijnlijk zo in copy pasten van de analoge versie nu.


Timo
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Peter Korsten op 04 januari 2016, 20:53:23
om met 1 locomotiefje te kunnen rijden heb je aan 500 mA genoeg; wat moet je dan met een booster  ???

Een 7-pens TA8050 levert 1,5 A, meer dan genoeg... (en kost €4  (y))(trouwens die gebruik ik nu ook)

en 't idee was zelfbouw - je weet wel, met een soldeerbout en printplaatjes...  ;D

Wat ik bedoelde is dat je kant-en-klare ontwerpen hebt om een DCC-booster te bouwen, dus dan hoef je dat zelf niet uit te zoeken. Een DCC-centrale is in feite een command station dat zijn uitvoer direct in een booster stopt. Als je de command station en de booster scheidt, heb je twee redelijk eenvoudige ontwerpen (of misschien zijn die al kant en klaar ontwerp voor is) die je vervolgens aan elkaar knoopt.

Dat is de manier waarop ik software benader: altijd kijken welke modules je kunt onderscheiden en die één voor één oplossen. plus hergebruiken waar mogelijk.

Maar voor jouw geval is het inderdaad misschien overkill.

- Peter
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: cadeboer op 09 januari 2017, 06:33:50
Kijk ook eens naar http://www.sprog.us.com/sprog.html#Pi.
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: gvandersel op 09 januari 2017, 07:11:21
Een simpele L6203 neemt de gehele conversie van 5V naar railspanni g voor zijn rekening.

Verstuurd vanaf mijn S7e met tapatalk

Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: gvandersel op 09 januari 2017, 11:48:45
Heren,

Even wat verder gezocht. Een collega Selectrix rijder is ook aan het experimenteren met DCC. Hij heeft hier (http://www.oscale.net/?q=en/simpledcc) de sketch en de hardware gepubliceerd. Als ik de definities van de boodschappen doorlees, is programeren op POM mogelijk, mits je een detectie schakeling toevoegd in de massa aansluiting van de H-brug. Dit is een stroom van 60 mA. Dus een relais om deze weerstand te gebruiken is wel noodzakelijk. Normaal zou je gewoon op korsluiting kunnen detecteren.

Groet,

Gerard van der Sel.
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: Timo op 09 januari 2017, 12:12:46
Uhm, POM heeft niets van doen met de 60mA en schakelen van een weerstand. POM = Program On Main, dus gewoon tijdens het rijden ook programmeerboodschappen versturen. En dit is éénrichtingsverkeer. Dus met POM heb je geen feedback (anders dan hoe de decoder reageert) van je programmeer actie.

Voor gewoon programmeren op het programmeerspoor heb je de 60mA / weerstand voor detectie nodig als je de decoder wilt uitlezen. Maar ook daar, programmeren aan zich is éénrichtingsverkeer en heeft de weerstand niet nodig. Het is alleen de standaard geworden dat de centrale de waarde van het CV ook uitleest (om weer te geven en/of als controle van de programmeeractie) maar staat eigenlijk los van het programmeren zelf.


Timo
Titel: Re: Zelfbouw eenvoudige Arduino DCC centrale...
Bericht door: gvandersel op 10 januari 2017, 11:44:38
Timo, je hebt volkomen gelijk. Ook ik ben een gewoonte dier. Ik wil kunnen programmeren en uitlezen. Programmeren is inderdaad gewoon de informatie naar de decoder zenden en dat kan zonder extra hulpmiddelen. Uitlezen is een stapje meer en vergt inderdaad de weerstand die de 60 mA kan detekteren.

Groet,

Gerard van der Sel.