Doel:€250.00
Donaties:€77.50

Per saldo:€-172.50

Steun ons nu!

Laatst bijgewerkt
op 12-04-2021
Algemeen

De stichting

Recente berichten

Toon hier je (model)treinfoto's door Frans8800
Vandaag om 12:20:22
Thema gezocht voor een schaal 0 baan van 3 bij 4,5 meter . door BartvD
Vandaag om 12:14:10
Dg in tijdperk III door ingenium
Vandaag om 12:11:04
Toon hier je (model)TRAM foto's. door Teun
Vandaag om 12:09:11
Toon hier je nieuwe (model-) spooraanwinst(en)... door Eric B
Vandaag om 11:53:51
Mijn eerste H0-modeltreinbaan in aanbouw door bigboynl
Vandaag om 11:53:11
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 11:48:26
Bouw "Bahnhofsvorfeld" door charp
Vandaag om 11:43:19
Update: baan in de tropen door Hans Grasmaijer
Vandaag om 11:40:01
Raadplaatje door eemstede
Vandaag om 11:37:36
BNLS-Werkspoor - Pimp my LimaRossi Mat '46 Muizeneus door Duikeend
Vandaag om 11:28:32
Roco NS 200/300 Sik groen, model 2020, bedrijfsnummer 288 door Bert van Gelder
Vandaag om 11:12:07
Beslissen hoe er aan te beginnen ... door Hans1963
Vandaag om 11:10:09
De bouw van mijn modelbaan in Thailand door Aford
Vandaag om 11:01:41
Projekt 083-338 door Ric
Vandaag om 09:55:34
Baan in Los Angeles door Thai-Bundesbahn
Vandaag om 09:51:33
Plaatselijk verf verwijderen, iemand een idee? door thonis
Vandaag om 09:28:26
BNLS-module: "Werkspoor-Kathedraal" door VFR
Vandaag om 09:03:20
Falkenheim door Frank 123
Vandaag om 08:55:57
Aachenau West door puntenglijder
Vandaag om 08:37:41
Havenbaantje, Duitse havenstad, periode 2e wereldoorlog. door puntenglijder
Vandaag om 08:26:59
Schorumdijk Gem. Vaagburg 1940-1960. (Jaren ‘40-‘60 baan met haventje) door puntenglijder
Vandaag om 08:22:18
Oude tijden, nieuwe tijden, Duitsland 2e wereldoorlog door AndrevdG
Vandaag om 07:46:01
Onlangs gespot - gefotografeerd, de foto's door Floris
Vandaag om 07:42:38
Dönsdorfer Bauberichte door Thai-Bundesbahn
Vandaag om 03:54:33
Laag-Baarlo door Thai-Bundesbahn
Vandaag om 03:48:42
Everskerke, een fictief station aan de Zeeuwse lijn in de jaren '70 in H0. door Thai-Bundesbahn
Vandaag om 03:46:49
Mallnitzer Tauernbahnstrecke ÖBB N Spoor door Thai-Bundesbahn
Vandaag om 03:40:35
Albert's fantasie in schaal 0e door jaco1988
Vandaag om 00:09:28
De Maaslijn na 75 jaar dan toch onder de draad? door Martin Hornis
16 april 2021, 22:48:23
  

Auteur Topic: DCC++ EX  (gelezen 1496 keer)

Hans1963

  • Offline Offline
  • Berichten: 147
  • Spoor 0, dat wordt wel wat!
DCC++ EX
« Gepost op: 07 maart 2021, 11:15:32 »
Er zijn nieuwe ontwikkelingen op het gebied van  kleine  “do it yourself”  centrales.
De op de Arduino gebaseerde centrale DCC++   is verbeterd en voorzien van nieuwe opties.

Deze centrale heet nu DCC++ EX.  Het verschil met de bestaande DCC++ centrale  is dat er een WIFI web-throttle
voor ontwikkeld is en dat de centrale uitgebreid  is met een sensorshield.

Mijn DCC++EX centrale bestaat daarmee uit  3 gestapelde onderdelen:
De Arduino Mega 2560; het  sensorshield van Robotdyn en een motorshield L298P van Deek Robot.
De totale kosten van deze centrale bedragen ongeveer  €16,-  (AliExpress)

Het vermogen van deze centrale is 2A. Naast het aansturen van loc’s is het nu ook mogelijk op het sensorshield
input/output  onderdelen aan te koppelen.  De inputs kunnen hierbij sensoren zijn voor b.v. terugmelding.
Dit kunnen o.a. lichtgevoelige sensoren zijn; infrarode melders;  hallsensoren  en lichtsluizen.
Als outputs zijn b.v. leds of relais aan te sluiten.  Op een relais is  dan rechtstreeks een magneet artikel voor wisselomzetting aan te sluiten.
Met deze opstelling is dan een complete centrale voor modelbaan automatisering mogelijk. (alleen DCC)

Voor een servo aansturing van de wissels is geen rechtstreekse mogelijkheid aanwezig.
Hiervoor is een PWM (Puls Width Modulatie) uitgang nodig en die is niet  aanwezig in de centrale.
We kunnen dit echter wel met een andere Arduino erbij voor elkaar krijgen. Deze heeft PWM uitgangen.

Voor  een Arduino UNO heb ik een sketch geschreven voor het aansturen van een servo.
Hierin is de snelheid van roteren  en de uitslag (begin/eindstand) in te geven.
De aansturing  van de sketch wordt verkregen uit 2 DigitalRead opdrachten (HIGH/LOW) die door het relais wordt gegeven.
Bij aansturing van meerdere  servo's moeten deze een eigen voeding krijgen.

Daarmee zijn wel alle ingrediënten aanwezig voor een complete en budgetvriendelijke centrale.
De DCC++EX centrale is in Rocrail in te stellen en de I/O  aansluitingen zijn hierin te adresseren.






vr. groet,  Hans

Fritsprt

  • Offline Offline
  • Berichten: 1699
Re: DCC++ EX
« Reactie #1 Gepost op: 07 maart 2021, 13:40:45 »
Hoi Hans,

Kan je het relais niet laten vervallen voor de Uno/servo aansturing?

Gr. Frits

Hans1963

  • Offline Offline
  • Berichten: 147
  • Spoor 0, dat wordt wel wat!
Re: DCC++ EX
« Reactie #2 Gepost op: 07 maart 2021, 14:06:04 »
je hebt gelijk Frits.
die mogelijkheid was me nog ontgaan. (zat nog teveel op het spoor van de elektrische aandrijvingen)

bedankt!
vr. groet,  Hans

meino

  • Offline Offline
  • Berichten: 1141
Re: DCC++ EX
« Reactie #3 Gepost op: 07 maart 2021, 14:14:20 »
Voor een servo aansturing van de wissels is geen rechtstreekse mogelijkheid aanwezig.
Hiervoor is een PWM (Puls Width Modulatie) uitgang nodig en die is niet  aanwezig in de centrale.
We kunnen dit echter wel met een andere Arduino erbij voor elkaar krijgen. Deze heeft PWM uitgangen.

Dag Hans

Dit dacht ik vroeger ook, totdat ik nog eens goed naar de Servo bibliotheek keek. Het blijkt dat die  niet met een PWM pin werkt, iedere gewone pin (digitaal en Analoog) is bruikbaar. Er is wel een bibliotheek beschikbaar die wel een PWM pin nodig heeft, maar dat is niet de gewone Servo bibliotheek. Ik heb met beiden geexperimenteerd, maar in mijn situatie geen voordeel van het gebruik van de PWM pin kunnen vinden.

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

Kranenberg
De CanBus komt naar Kranenberg

Hans1963

  • Offline Offline
  • Berichten: 147
  • Spoor 0, dat wordt wel wat!
Re: DCC++ EX
« Reactie #4 Gepost op: 07 maart 2021, 14:34:03 »
Tjaa Meino, in bibliotheken kijken doe ik niet, heb ik onvoldoende kennis voor.  ;D

Maar het is goed te weten dat alle pinnen dus bruikbaar zijn. Altijd handig.

vr. groet,  Hans

bask185

  • Offline Offline
  • Berichten: 1311
Re: DCC++ EX
« Reactie #5 Gepost op: 07 maart 2021, 20:29:33 »
Daar hoef je niet in de library voor te kijken, dat staat allemaal op internet.

Wat ook belangrijk is om te weten, is welke timer die servo library gebruikt op de arduino mega. Ik weet dat een UNO timer 1 gebruikt. Als ik het me goed herinner, heeft DCC++ een programmeerspoor en een hoofdspoor. Daar heb je volgens mij al 2 timers voor nodig. Van timer 0 wil je afblijven omdat je anders millis() en micros() sloopt.

Nu heeft de mega meer timers dus dat kan snor zitten, maar ik weet dus niet of jullie rekening hebben gehouden dat je misschien wel of niet een van je DCC bussen sloopt als je de servo library zou proberen te gebruiken.

Een ander puntje.
Ik zie in het hardware lijstje noch Wifi apparaat noch ethernet shield staan. Er staat wel dat jullie een WiFi throttle hebben gemaakt. Als de DCC++ EX geen wifi of ethernet heeft, kan je dus niet direct een verbinding opstellen en zit je vast aan een computer. Op dat sensorshield kan je op een van de seriele poorten van de mega ook een ESP8266 aansluiten zodat de centrale zelf wifi heeft. Dan kunnen handrijders rijden met wifi zonder de tussenkomst van een computer.

Ik heb nog een paar vraagjes.
- Heb je nu perse een computer nodig?
- Als je dus geen computer heb/wilt. Kan je dan makkelijk de software aanpassen zodat je bijvoorbeeld een potmeter oid kan gebruiken als throttle?
- Heb je nog een linkje naar de software voor ons?
- Heb je een linkje voor de wifi throttle? Ik ben best benieuwd eigenlijk.

Mvg,

Bas

EDIT:
Al het een en ander gevonden https://github.com/DCC-EX/BaseStation-Classic

« Laatst bewerkt op: 07 maart 2021, 20:36:30 door bask185 »

Hans1963

  • Offline Offline
  • Berichten: 147
  • Spoor 0, dat wordt wel wat!
Re: DCC++ EX
« Reactie #6 Gepost op: 07 maart 2021, 20:43:45 »
dag Bas,

je hebt het over "jullie" ,maar ik ben gebruiker, niet de ontwikkelaar.

als je meer info wilt kijk bij DCC++ EX:

https://www.youtube.com/watch?v=N6TWR7fIl0A

https://dcc-ex.com/index.html
« Laatst bewerkt op: 07 maart 2021, 20:56:59 door Hans1963 »
vr. groet,  Hans

Fritsprt

  • Offline Offline
  • Berichten: 1699
Re: DCC++ EX
« Reactie #7 Gepost op: 07 maart 2021, 21:25:35 »
Forumgennoot Albert heeft ook meerdere filmpjes gemaakt over DCC++EX

Gr. Frits

Tedjedin

  • Nieuwe gebruiker
  • Offline Offline
  • Berichten: 3
Re: DCC++ EX
« Reactie #8 Gepost op: 07 maart 2021, 22:41:01 »
Hallo,
Ik volg dit item met veel interesse, mijn geringe kennis van electronica belemmert me een beetje.
N.a.v. genoemde video's, heb ik ook een DCC++EX centrale gemaakt met een Arduino Mega 2560 en een Deek-Robot motorshield. Op een testbaan heb ik deze centrale met Rocrail verbonden en ik kan nu een trein laten rijden en wissels schakelen, weliswaar via een wisseldecoder. Bezetmelding met de Hall-sensoren wil ik nog testen, maar dat vergt bij een redelijke baan al gauw veel bedrading en een extra sensorshield.
Ik gebruik nog M-rail, jawel.... en ik zou graag, zoals op mijn hoofdbaan, de bezetmelding mbv stroomdetectie en S88-n willen uitvoeren, maar dan zonder decoder.
Op deze site ( https://rudysmodelrailway.wordpress.com/2014/10/03/arduino-used-as-an-s88-occupancy-detector-board/#comments ) heb ik e.e.a. gevonden om van een Arduino Uno een S88 bezetmelder (en een reeks) te maken. Het probleem is echter dat hier gebruik gemaakt wordt van een koppeling met een ECOS. Met mijn CS2 centrale zou dat dan ook moeten lukken.
Dus als er een koppeling gemaakt kan worden, neem ik aan dat dat ook naar de DCC++ kan en vervolgens naar Rocrail. Alleen is de vraag, hoe?
Kan iemand mij een beetje op weg helpen?

Reacties zijn welkom. Alvast bedankt.
Gr. Theo

bask185

  • Offline Offline
  • Berichten: 1311
Re: DCC++ EX
« Reactie #9 Gepost op: 07 maart 2021, 22:44:22 »
je hebt het over "jullie" ,maar ik ben gebruiker, niet de ontwikkelaar.
Ah op die fiets  ;).

Ze hebben er wel over nagedacht. Je kan er nog een extra esp8266 shield er op prikken. Dat is leuk, zo'd arduino toren met 3 shields in elkaar stapelen  ;D

Bas

bask185

  • Offline Offline
  • Berichten: 1311
Re: DCC++ EX
« Reactie #10 Gepost op: 07 maart 2021, 23:14:41 »
Dus als er een koppeling gemaakt kan worden, neem ik aan dat dat ook naar de DCC++ kan en vervolgens naar Rocrail. Alleen is de vraag, hoe?
Kan iemand mij een beetje op weg helpen?

Reacties zijn welkom. Alvast bedankt.
Gr. Theo
Oe een leuke.

Ok hier gaan we. Theo, de basis van de S88 bus is een groot schuifregister. Dit schuifregister heeft 20 inputs waarop je bij de S88 je bezetmelders aansluit. Om de informatie uit deze schuifregisters op te halen moet een master apparaat (een central station of een ECOS of een andere centrale) een klok lijn bedienen en tegelijkertijd moet hij de datalijn in de gaten houden. Als de master dan pulsjes zet op de kloklijn dan gaan de schuifregisters de informatie die op de inputs staan bitje voor bitje richting de master sturen over de data lijn.

Als je bijvoorbeeld 2 S88 apparaten heb met elk 20 inputs dan moet de master 40 klokpulsen uitsturen om alle 40 bits aan informatie op te halen uit de S88 modules.

Nu wil jij arduino's gebruiken voor de bezetmelding van je baan. Dan kan wel op de s88 manier, maar je bent geenzins verplicht omdat ook zo te doen. Je kan bijvoorbeeld I2C gebruiken om een alternatief te noemen.

Gezien het feit dat Rudy Boers s88 programma al kant en klaar is, is het enigszins wel makkelijk om de s88 standaard te handhaven. De arduino IDE heeft twee functies ingebakken om met standaard 8 bits schuifregisters te werken. Je hebt namelijk shiftIn() en shiftOut(). Met shiftOut kan je data naar schuifregisters toe sturen en met shiftIn kan je data van schuifregisters ophalen en dat is wat jij wilt. Op arduino.cc kan je iets meer uitleg vinden.
byte incoming = shiftIn(dataPin, clockPin, bitOrder)
Je kan met deze functie dus 8 pits per keer ophalen. Als je bijvoorbeeld 10 bytes (dus 10x 8 bits = 80 bezetmelders = 4 arduinos's als s88) wilt ophalen, kan je simpwel dit tikken
for( int i = 0 ; i < 10 ; i ++ )
{
    bezetMelderArray[ i ] = shiftIn(dataPin, clockPin, bitOrder) ; // we doen dit 10x en halen 8 bits informatie op per keer.
}

De originele S88 bestaat ook echt uit een schuifregister IC en niet een programmeerbaar geval zoals een arduino.

Nu zijn er ook losse schuifregisters ICs te vinden (8 bits) die goed werken met de shiftIn() functie van arduino. Je kan dus zoveel van deze ICs in cascade zetten zoals je wilt. Daarom wil ik je erg graag aanraden om eerst deze te proberen voordat je moeilijk gaat doen met de S88 standaard. Dit is namelijk veel goedkoper en feitelijk werkt het exact hetzelfde.

Nog meer informatie over dit schuifregister staat op https://playground.arduino.cc/Code/ShiftRegSN74HC165N/

Als je nu nog steeds perse dat s88 ellende wilt gebruiken :P dan moet ik even kijken naar Rudy's programma om te kijken hoe gevoelig de timing precies ligt. Dan kan ik wel een functie voor je uit mijn mouw schudden die een S88 kan uitlezen zoals een ECOS of central station dat kan  ;)

Ik hoop dat ik een beetje duidelijk ben geweest.

Mvg,

Bas

EDIT: ik weet niet of dit voorzich spreekt. Maar je kan niet direct je spoordraden op een schuifregister aansluiten, dit kan op een arduino ook niet. Ik neem aan dat je bekend bent met het standaard optocoupler + gelijkrichter schakelingetje voor stroomdetectie?

P.S.
Als je wilt kan ik een printje voor je maken met een schuifregister + alle benodige toebehoren voor aansluitingen en bezetmelding. Kan met ethernet kabels, kan met dupont kabels of flatcables net wat je wilt. Het is voor mij een uur werk, misschien 2 en dan hoef je geen zelf proto printjes in elkaar te solderen. Als je dit wilt moet je me maar een PB sturen. Het kost rond de 25,- euro voor 20 printplaten en het duurt ergens tussen 1 en 2 maanden voordat ze geleverd worden. En je kan hier ook denken aan 2 schuifregisters (16 inputs) per print. Prijs is exclusief onderdelen en ik maak hier 0 euro winst op  :P

EDIT2: Ik heb het niet helemaal goed gelezen. Mijn verhaal tot zover gaat over hoe je informatie van baan -> DCC++ centrale krijgt. Ik heb zelf 0.0 kennis over rocrail en hoe je van arduino naar rocrail informatie moet sturen weet ik niet. Nu geloof ik wel dat het mogelijk is, er bestaat immers een software protocol voor. Het is zeg maar een kwestie van een paar instructie bytes + je bezetmeld informatie opsturen over Wifi, maar dan moet je het protocol eerst vinden en uitpuzzelen hoe dat moet.
« Laatst bewerkt op: 07 maart 2021, 23:31:25 door bask185 »

Hans1963

  • Offline Offline
  • Berichten: 147
  • Spoor 0, dat wordt wel wat!
Re: DCC++ EX
« Reactie #11 Gepost op: 07 maart 2021, 23:17:18 »
Theo,

als je bezetmelding via je CS2 wilt regelen kan deze niet via DCC++EX  centrale lopen.
in Rocrail kun je wel een 2e centrale aanmaken (Mbus) voor je CS2.  Deze krijgt dan een eigen com-poort en ID.
vr. groet,  Hans

bask185

  • Offline Offline
  • Berichten: 1311
Re: DCC++ EX
« Reactie #12 Gepost op: 07 maart 2021, 23:26:05 »
Dan heb ik nog een vraagje eigenlijk. Als je toch al een CS2 heb, wat moet je dan nog met een losse DCC++ centrale er bij?

Ronald Koerts

  • Offline Offline
  • Berichten: 8093
    • Bouw Endstation der Linie: Bahnhof Poggendam
Re: DCC++ EX
« Reactie #13 Gepost op: 08 maart 2021, 07:40:52 »
Hoi,

@Hans: Een leuk projectje.  (y)

Met mijn CS2 centrale zou dat dan ook moeten lukken. Dus als er een koppeling gemaakt kan worden, neem ik aan dat dat ook naar de DCC++ kan en vervolgens naar Rocrail. Alleen is de vraag, hoe? Kan iemand mij een beetje op weg helpen?

@Theo: Je hebt geen DCC++ EX nodig. Je kan gewoon met je CS2 op de bezetmelders aansluiten. De CS2 heeft een s88 aansluiting voor bezetmelders. RocRail kan gewoon overweg met de RocRail CS2 / CS3. Alleen je moet het een en ander wel goed instellen. Je moet je CS2 opnemen in je thuisnetwerk waar ook de computer van RocRail inzit of aansluiten met een (cross)netwerkkabel.

Groet Ronald.
« Laatst bewerkt op: 08 maart 2021, 07:43:37 door Ronald Koerts »
Zijn we aan het bouwen? Ja! We zijn aan het bouwen: Ronald’s nieuwe project: Endstation der Linie: Bahnhof Poggendam!

Tedjedin

  • Nieuwe gebruiker
  • Offline Offline
  • Berichten: 3
Re: DCC++ EX
« Reactie #14 Gepost op: 08 maart 2021, 17:57:13 »
Bedankt voor jullie reacties.
Maar even iets toelichten,
Citaat
Met mijn CS2 centrale zou dat dan ook moeten lukken.
Ik wilde hier alleen maar aangeven, dat ik hetzelfde als bij de Ecos ook op mijn CS2 voor elkaar kan krijgen.
Dat is niet de bedoeling. Mijn excuus.
Mijn hoofdbaan met CS2, decoder voor wissels, seinen en bezetmelding i.c.m. Rocrail rijdt prima.

Nee, ik wil proberen om een testbaan te maken met de DCC++EX centrale en Rocrail. (en kennis op te doen van de Arduino)
Die combinatie werkt al, treinen rijden. Ook heb ik een wisseldecoder aangesloten en kan ik wissels bedienen. Evenzo kan ik wissels bedienen via aangesloten relais (als in de video's van Albert).
De volgende stap die ik wil zetten is om een Arduino voor bezetmelding te gebruiken. Die moet dan aangesloten worden op de DCC++, die weer met Rocrail moet communiceren. En dat zonder sensorshield met Hall-sensoren.
Mijn insteek is wel om zo weinig mogelijk shields te moeten toepassen. Met de Arduino Mega, Sensorshield, motorshield en wellicht ook nog een WIFI mogelijkheid, wordt de toren iets te hoog ;D
@Bas.
Jou reactie is, denk ik, hetgeen ik zoek. Ik ga het nog bestuderen.
Citaat
EDIT: ik weet niet of dit voorzich spreekt. Maar je kan niet direct je spoordraden op een schuifregister aansluiten, dit kan op een arduino ook niet. Ik neem aan dat je bekend bent met het standaard optocoupler + gelijkrichter schakelingetje voor stroomdetectie?
Ja, dat weet ik. De gelijkrichter schakeling heb ik toegepast.
Citaat
.. hoe je van arduino naar rocrail informatie moet sturen weet ik niet.
De DCC++EX centrale wordt door Rocrail ondersteund. Rocrail > CS2> S88 werkt ook, dus ik (als leek) ga ervan uit dat Rocrail > DCC++EX > S88 ook moet kunnen. Alleen de "pinnetjes" nog van de S88 naar DCC++  :) :)
Als ik gebruik ga maken van je aanbod, zal ik een PB sturen.

Gr. Theo