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

Welke Vallejo kleur voor drijfstangen van een DB stoomlocomotief? door Ronald69
Vandaag om 20:00:39
US diorama in H0 door Wim Vink
Vandaag om 19:54:20
Toon hier je nieuwe (model-) spooraanwinst(en)... door arnout
Vandaag om 19:53:27
Mijn eerste H0-modeltreinbaan in aanbouw door Wim Vink
Vandaag om 19:52:07
Punt- en hartstukken door Klaas Zondervan
Vandaag om 19:41:21
MARDEC, de Multifunctionele ARduino dcc DECoder. door bord4kop
Vandaag om 19:34:37
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door Mispoes
Vandaag om 19:23:35
De (3d) knutsels van Ronald. door gdh
Vandaag om 19:22:56
Piko NS 2015 stroomafname probleem door Ben
Vandaag om 19:08:30
Bauarbeiten im gange door ruudns
Vandaag om 18:50:26
HSM D1715 door vpeters1984
Vandaag om 17:34:25
Beekdaelen in H0 door Stieven76
Vandaag om 17:17:41
Al mijn goede ideeën... door Monobrachius
Vandaag om 17:10:33
Gebruik je Arduino zonder te "programmeren" ;) door Rsd1000
Vandaag om 17:07:59
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 15:58:15
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
Vandaag om 15:06:14
U-vorm beperkte ruimte (H0 C-rails) door Jelmer
Vandaag om 14:58:04
Onlangs gespot - gefotografeerd, de links door Jeroen Water
Vandaag om 14:33:00
N spur scenery elementen maken van gips of klei? door Dave.......
Vandaag om 14:30:06
De overeenkomst tussen een Ovaalramer en een Motorpost. door RK
Vandaag om 14:28:54
Onlangs gespot - gefotografeerd, de foto's door mass am see
Vandaag om 14:18:46
BMB-Module: “Corfe Castle Station” door Hans van de Burgt
Vandaag om 14:07:52
welk jaar ging Marklin OVP voor wagons van blauw naar wit door Railman
Vandaag om 13:40:42
GSS Jubileumbaantje (0e / 0n30) door MacArthur
Vandaag om 12:55:30
NTM P1 in Schaal-1 door MaraNCS
Vandaag om 11:39:38
Rio Grande Southern - Lizard Head Pass door Hans GJ
Vandaag om 11:30:20
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
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
  

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

Hans1963

  • Offline Offline
  • Berichten: 301
  • 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: 2617
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
Groet Frits

Hans1963

  • Offline Offline
  • Berichten: 301
  • 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: 2088
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: 301
  • 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: 4007
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 »
Train-Science.com
Train-Science github
It ain't rocket science ;-)

Hans1963

  • Offline Offline
  • Berichten: 301
  • 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: 2617
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
Groet Frits

Tedjedin

  • Nieuwe gebruiker
  • Offline Offline
  • Berichten: 4
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: 4007
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
Train-Science.com
Train-Science github
It ain't rocket science ;-)

bask185

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

Hans1963

  • Offline Offline
  • Berichten: 301
  • 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: 4007
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?
Train-Science.com
Train-Science github
It ain't rocket science ;-)

Ronaldk

  • Offline Offline
  • Berichten: 8641
    • 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: 4
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