Even voorstellen,
Mijn naam is Nico Teering uit het Nederlandse Drunen (Noord Brabant). Sinds begin dit jaar ben ik weer begonnen met modelspoor. Gezien mijn beperkte ruimte wil ik een baan maken in schaal TT.
Daartoe heb ik eerst een kleine testbaan gemaakt om daarmee alle technische problemen problemen en oplossingen in kaart te brengen. Hoe dat allemaal gegaan is kun je hier allemaal teruglezen: http://forum.beneluxspoor.net/index.php/topic,63567.0.html.
Zoals je daar kunt lezen wil ik alle technische zaken realiseren met een Arduino microcomputer. Voor velen is dat wellicht nog een ver-van-mijn-bed-show.
Om ook de geïnteresseerden met minder technische kennis te helpen heb ik voor de Arduino een universeel programma gemaakt voor een DCC servo decoder t.b.v wisselaandrijving.
Daarover gaat deze bijdrage.
Inleiding
Het gebruik van een Arduino microcomputer in de modelspoorbouw is bij velen wel bekend.
Echter het daadwerkelijk zelf toepassen is voor de meesten een brug te ver.
Het programmeren of het doen van eenvoudige aanpassingen in een programma wordt toch als een groot probleem gezien.
Daardoor blijft de Arduino het domein van een zeer beperkte groep met wat meer technische kennis.
Dat is jammer, want met de Arduino kun je heel je modelspoorbaan goedkoop automatiseren.
Om de Arduino voor iedereen bereikbaar te maken heb ik daarom een programma gemaakt voor een DCC servo decoder op basis van een Arduino.
Met dit programma is het niet meer nodig om zelf nog maar één letter Arduino-code te schrijven.
Net als bij iedere andere servo decoder moet deze nog wel geconfigureerd worden. Dit configureren wordt meestal ten onrechte programmeren genoemd.
Om spraakverwarring te voorkomen gebruik ik de term programmeren voor het schrijven van de Arduino-code en de term configureren voor het uitvoeren van het programma. Bij dit configureren worden de servo's ingesteld.
Het programma werkt in twee verschillende 'toestanden'.
In de configureerstand kunnen de servo's worden ingeregeld middels één-letter commando's vanaf het toetsenbord. Hierbij communiceert de decoder via een USB-kabel met de computer. Hier zijn dus geen DCC signalen voor nodig.
Middels een specifiek commando ('E') wordt overgegaan naar de bedrijfstoestand.
In de bedrijfstoestand worden de servo's aangestuurd met het DCC signaal. Er is dan geen USB-kabel meer nodig. Door het sturen van een specifiek, zelf te bepalen, DCC adres wordt weer overgeschakeld naar de configureerstand.
Waarom een Arduino?
De belangrijkste reden is de prijs. Reken even mee:
• Een (kloon)Arduino kost maximaal €3,00 zonder USB kabel.
• Een servo (SG92R) kost ongeveer €2,30.
• Twee relais inclusief aansturing middels optocoupler kosten ongeveer €1,50.
• Dupont aansluitkabel voor €1,00.
• Extra losse componenten voor het verwerken van het DCC signaal kosten €2,00.
Voor 9 wissels met puntstukpolarisatie kost dat: €3,00 + 9x€2,30 + 5x€1,50 + €1,00 + €2,00 = €34,20.
Dat is dus ongeveer €3,80 per wissel inclusief servo's en relais. Alle software is gratis.
Daar kan geen één commercieel product tegenop.
Voor 12 wissels zonder puntstukpolarisatie kost het €2,80 per wissel inclusief servo.
Een andere reden is het gemak waarmee alles geconfigureerd kan worden. Dat gebeurt geheel interactief en er is geen DCC-centrale voor nodig.
De installatie van alle software is zeer gebruiksvriendelijk. Hierbij wordt alle vereiste software in één keer geïnstalleerd. Ook het uploaden van het decoder programma naar de Arduino gaat geheel automatisch.
Mogelijkheden
• Besturen van maximaal 12 servo's t.b.v. wisselaansturing zonder puntstukpolarisatie of maximaal 9 servo's met puntstukpolarisatie. De puntstukpolarisatie wordt gerealiseerd middels een extern relais.
• Interactief, via beeldscherm en toetsenbord dus, configureren van de servo's. Dat is geheel onafhankelijk van de gebruikte DCC centrale.
• Van iedere servo apart kunnen de begin- en eindhoek op de graad nauwkeurig worden ingesteld.
• Een random DCC adres (1-2048) toekennen aan iedere servo.
Dus niet noodzakelijkerwijs opeenvolgende adressen.
• Iedere servo (max. 9) kan worden gekoppeld met een relais voor puntstukpolarisatie.
Bij het verdraaien van de servo zal ook, halverwege de verdraaiing, dit relais worden omgezet.
• Een test optie waarbij alle servo's een aantal malen heen-en weer gaan.
• Vastleggen van 'inversie'. Hiermee kan worden ingesteld of een wissel bij bv een verdraaiing naar de kleinste hoek rechtdoor of afbuigend moet worden gezet. Dit is nodig omdat de servo op meerdere manieren gemonteerd kan worden.
• Een documentatie optie waarmee alle instellingen worden getoond.
• Het toekennen van een administratief nummer aan iedere servo.
• Een reset optie waarbij alle instellingen uit het geheugen van de Arduino verwijderd worden.
• Instelbare snelheid van de servo arm (5-50 msec. per graad).
• Het vastleggen van het DCC adres waarmee de decoder naar de configuratie toestand gaat.
• Een help optie toont alle commando's voor het configureren.
Het programma zelf is Engelstalig. De handleidingen zijn in het Nederlands.
Uiteraard gaat het om een eerste beta versie. Dus ik ben bij deze verontschuldigd voor eventuele fouten.
Een voorbeeld dialoog:
Arduino servo decoder, Version 0.1
Starting configuration
Set DCC address for entering configuration mode (1-2048): 1000
Configuration address set to 1000
Please specify action (P/R/T/D/M/E/G/?):P
Please specify pin number
(3,4,5,6,7,8,9,10,11,12,14,15) 3
Servo on pin 3 set to angle: 75; LOW angle: 75, HIGH angle: 105
The selected pin number is 3
Please specify action for pin 3 (9/+/-/C/P/R/T/A/I/D/N/F/E/G/?): A
Set DCC address for pin 3 (0-2048): 55
Address set to 55
Please specify action for pin 3 (9/+/-/C/P/R/T/A/I/D/N/F/E/G/?): N
Specify turnout number on pin 3 (1-2048): 44
Number set to 44
Please specify action for pin 3 (9/+/-/C/P/R/T/A/I/D/N/F/E/G/?): F
Specify pin number for frog point polarisation:
(0,1,3-12,14-19,99=remove frogpin): 12
Pin 12 set as frogpin for servo on pin 3
Please specify action for pin 3 (9/+/-/C/P/R/T/A/I/D/N/F/E/G/?): -
Servo on pin 3 set to angle: 74; LOW angle: 74, HIGH angle: 105
Please specify action for pin 3 (9/+/-/C/P/R/T/A/I/D/N/F/E/G/?): C
Angle changed to HIGH
Servo on pin 3 set to angle: 105; LOW angle: 74, HIGH angle: 105
Please specify action for pin 3 (9/+/-/C/P/R/T/A/I/D/N/F/E/G/?): +
Servo on pin 3 set to angle: 106; LOW angle: 74, HIGH angle: 106
Please specify action for pin 3 (9/+/-/C/P/R/T/A/I/D/N/F/E/G/?): D
Pin 0 is not used
Pin 1 is not used
Pin 3 for turnout 44 with DCC address 55 uses angles 74/106 and no inversion; frogpin 12
Pin 4 is not used
Pin 5 is not used
Pin 6 is not used
Pin 7 is not used
Pin 8 is not used
Pin 9 is not used
Pin 10 is not used
Pin 11 is not used
Pin 12 is frogpin for turnout on pin 3
Pin 14 is not used
Pin 15 is not used
Pin 16 is not used
Pin 17 is not used
Pin 18 is not used
Pin 19 is not used
Move speed is 20 msec. per step
DCC address to start configuration mode: 1000
In deze dialoog gebeurt het volgende:
- DCC-adres toekennen (1000) voor configuratietoestand
- Selecteren van Pin 3
- Een DCC-adres toekennen aan pin 3 (55)
- Een administratief nummer toekennen aan deze wissel (44)
- De 'lage' hoek een graad aflagen.
- Met het C-commando de 'hoge' hoek selecteren.
- Deze hoek met één graad ophogen.
- Met het D-commando een overzicht tonen.
Meer weten?
Bekijk eens de volledige handleiding! (http://www.globalvisuals.nl/downloads/Servo%20decoder%20met%20Arduino%20voor%20Dummy.pdf)
Of de installatiehandleiding! (http://www.globalvisuals.nl/downloads/Installatie%20handleiding.pdf)
Alle software (gezipt) kun je hier downloaden! (http://www.globalvisuals.nl/downloads/ArduinoServoDecoder.zip)
Als je de Arduino IDE al geïnstalleerd hebt kun je volstaan met alleen de Arduino sketch met de DCC library (http://www.globalvisuals.nl/downloads/ServoDecoder_ino.zip).
Wie durft?
WELKOM
HEEL interessant, en heel leerrijk, maar toch zijn er hier al mensen die even diep of dieper in deze materie zitten, die ook de stap gezet hebben.
Misschien leuk om eens ervaringen uit te wisselen.
Mag ik er trouwens op wijzen dat het een microCONTROLLER is en geen computer, niet om te willen muggenziften, maar zomaar.
Er zijn trouwens hier op 't forum al mensen die net hetzelfde hebben gerealiseerd met PIC microcontrollers, dus ik denk dat als we al die knappe koppen bij elkaar steken, we bergen kunnen verzetten !!!
@Dani,
Bedankt voor je reactie.
Toch maar even opgezocht:
De ontwikkeling van de techniek en van de toepassingen van microcomputers is gepaard gegaan met evolutie van de gebruikte termen:
microcomputer voor kantoor, hobby en communicatie: homecomputer → personal computer → laptop → notebook → PDA → tablet
microcomputer voor besturing: PLC → embedded systeem → microcontroller
Dus een microcontroller is een microcomputer specifiek bedoeld voor besturing.
Een Arduino is dus een computer van het type microcontroller.
Natuurlijk zijn er mensen die hier ook veel af weten. Maar mijn bedoeling met dit servo decoder programma is juist het bereiken van diegenen die er nog niet zoveel van af weten. Er wel van gehoord hebben, maar niet weten hoe een en ander te realiseren.
Een standaard Arduino board is dan weer een stuk simpeler dan een PIC-controller waar misschien nog van alles omheen moet worden gebouwd.
Nico
Dat laatste klopt maar ik spreek uit ervari g als ik zeg dat het arduino bordje een instap is.
Eens je projecten bouwt dan grijp je sowieso terug naar de bare minimun chip en maakt de rest er rond zelf naar je behoefte. Het wordt het er dqn enkel maar goekoper op want een Atmel328 chip heb je nu al voor een euro... En dat is het hart van de ardui o Uno, Pro mini, Nano en nog ...
Mooie bijdrage Nico, en welkom op dit forum.
Heb je de DCC decodering zelf geschreven?
Geert
Hallo Geert,
Ja, ik heb het programma grotendeels zelf geschreven.
In ieder geval 90% ervan, want dat is het configuratie deel.
Voor het DCC deel heb ik geleend bij Ruud Boer.
https://rudysmodelrailway.wordpress.com/
De DCC library is van Mynabay. (https://github.com/MynaBay/DCC_Decoder)
Mooi projectje! Zelf ben ik ook met Arduino bezig en ik heb hier ook een draadje lopen:
Trainduino (http://forum.modelspoormagazine.be/index.php/topic,20792.0.html)
Zelf gebruik ik de DCC library van Alex Shepard in plaats van Mynabay omdat ik vind dat deze gemakkelijker en uitgebreider is.
groeten Dylan
Goed initiatief,zeker voor beginners zoals ik.
Als je ooit een programma wilt schrijven voor een stappenmotor wordt ik helemaal blij.
Ben aan het proberen een draaischijf aan te sturen.
@Adrie
Daar zijn toch talloze voorbeelden van te vinden. Google op Arduino stappenmotor.
Citaat van: NTeering op 15 november 2015, 09:36:57 AM
@Adrie
Daar zijn toch talloze voorbeelden van te vinden. Google op Arduino stappenmotor.
Weet ik,maar voorlopig kom ik nog niet verder dan continu 1 kant op draaien of om de zoveel tijd wisselen van draairichting.
Maar 4 sporen vastzetten met 4 knopjes is nog wat te hoog gegrepen voor mij.
... en dan nog gezwegen om het geheel via DCC of MM protocol aan te sturen vermoed ik.
Adrie, ik heb een tijd geleden een stukje programma gemaakt voor het sturen van een schiebebuhne op basis van een oude flatbedscanner.
Het staat niet 100% op punt maar als het klaar is contacteer ik je.
Anderzijds zou het in principe niet zo moeilijk mogen zijn, 4 knopjes, 4 posities....
Het zal een kwestie zijn van eerst een TEST programma te maken om de stappen tussen elk van de posities te tellen.
A. een knopje "vooruit"
B. een knopje "achteruit"
Bij elke druk op de knop doe je de stepper 1 stap (ik veronderstel dat je full step werkt, maar dat maakt niet zo veel uit, je gaat alleen meer moeten tellen) links of rechts om tot je op je punt bent waar je wil zijn. (je kan ook per 5 of 10 stappen werken).
En dan is het een kwestie van tellen. Als je clever bent, dan voorzie je een 3de en 4de knopje "set NUL" en "toon Counter"
Dan kan je daar op drukken bij elke "goede" positie en kan je arduino het telwerk voor jou doen.
Wanneer je op "toon counter" drukt, kan je dan de arduino naar je USB poort het aantal getelde steps laten doorprinten.
eitje .... :-)
Volgens mij duurt het hier neertikken van de werkwijze langer dan het schrijven van het programma...
@Adrie,
Heb je niks aan de voorbeelden van stepper library?
C:\Program Files (x86)\Arduino\libraries\Stepper\examples
Nico
het is vooral een kwestie van de situatie analyseren, in kleine stapjes (figuurlijk dan) onderverdelen en die dan vertalen naar een programma.
Een tip : probeer niet alles ineens perfect te krijgen, werk op een basis en verfijn dan. Het zal misschien lang(er) duren maar je gaat leren uit je foutjes en je gaat waardevolle dingen mee dragen uit je experiment.
Dani/Nico,
Voorlopig nog aan het zoeken naar een bestaand iets,zelf programmeertaal schrijven of aanpassen moet ik inderdaad stapje voor stapje leren.Een accolade,haakje puntje of komma is snel vergeten. :(
vooral niet bang van zijn , gewoon DOEN ! de compiler in de Arduino SDK zal je wel op je fouten wijzen en zorgen dat je ze kan verbeteren.
Citaat van: dani op 16 november 2015, 14:11:42 PMde compiler in de Arduino SDK zal je wel op je fouten wijzen en zorgen dat je ze kan verbeteren.
Weet ik maar het verschil zit tussen alles verbeteren of enkele dingen.
Heb trouwens iets gevonden waarbij de stappenmotor de draaibeweging van een potmeter volgt.
Iets om mee te proberen/vogelen.
Hallo allemaal,
De Arduino servo decoder voor dummy's is nu nog makkelijker.
Je hebt de Arduino IDE niet meer nodig om decoder te configureren! (y)
Er wordt nu gebruik gemaakt gemaakt van een terminal emulator; deze is geheel voor decoder aangepast.
Ook kun je de commando's sneller invoeren omdat er geen <enter> meer nodig is.
Uiteraard zijn er ook wat bugs uitgehaald en is wat functionaliteit toegevoegd.
De Arduini IDE is vernieuwd; nu wordt versie 1.6.6 geïnstalleerd.
De IDE is alleen nodig voor het uploaden van het decoder programma; dat gebeurt echter allemaal met gebruiksvriendelijke scriptjes.
Wat kun je er ook alweer mee?
• Besturen van maximaal 12 servo's t.b.v. wisselaansturing zonder puntstukpolarisatie of maximaal 9 servo's met puntstukpolarisatie.
De puntstukpolarisatie wordt gerealiseerd middels een extern relais.
• Interactief, via beeldscherm en toetsenbord dus, configureren van de servo's. Dat is geheel onafhankelijk van de gebruikte DCC centrale. Hierbij is de Arduino software NIET nodig.
• Van iedere servo apart kunnen de begin- en eindhoek op de graad nauwkeurig worden ingesteld.
• Een random DCC adres (1-2048) toekennen aan iedere servo.
Dus niet noodzakelijkerwijs opeenvolgende adressen.
• Iedere servo (max. 9) kan worden gekoppeld met een relais voor puntstukpolarisatie.
Bij het verdraaien van de servo zal, halverwege de verdraaiing, dit relais worden omgezet.
• Een test optie. Hierbij gaan alle servo's een aantal malen heen-en weer gaan.
• Vastleggen van 'inversie'. Hiermee kan worden ingesteld of een wissel bij bv een verdraaiing naar de kleinste hoek rechtdoor of afbuigend moet worden gezet. Dit is nodig omdat de servo op meerdere manieren gemonteerd kan worden.
• Een documentatie optie waarmee alle instellingen worden getoond.
• Het toekennen van een administratief nummer aan iedere servo.
• Een reset optie waarbij alle instellingen uit het geheugen van de Arduino verwijderd worden.
• Instelbare snelheid van de servo arm (5-50 msec. per graad). Deze is voor alle aangesloten servo's gelijk
• Vastleggen van het DCC adres waarmee de decoder naar de configuratie toestand gaat. (Default 1000)
• Een help optie toont alle commando's voor het configureren.
• Een logging optie waarmee alle configuratiesessies worden bewaard.
• Onafhankelijk van gebruikte busstructuur (LocoNet, S88 e.d) De aansturing is echter specifiek voor DCC.
Download hier alle nieuwe software (http://www.globalvisuals.nl/downloads/ArduinoServoDecoder.zip) (zipfile)
Download hier de nieuwe handleiding (http://www.globalvisuals.nl/downloads/Servo%20decoder%20met%20Arduino%20voor%20Dummy.pdf) (pdf)
Download hier de installatiehandleidng (http://www.globalvisuals.nl/downloads/Installatie%20handleiding.pdf) (pdf)
Als je de Arduino IDE al geïnstalleerd hebt download hier dan de extra benodigde bestanden (http://www.globalvisuals.nl/downloads/ServoDecoder_ino.zip).
Bekijk hier een filmpje filmpje van de installatie (http://www.globalvisuals.nl/downloads/InstallServoFixed.mp4) van de software.
Voorbeeld dialoog:
(http://www.globalvisuals.nl/downloads/NewDialog.jpg) (http://www.globalvisuals.nl/downloads/NewDialog.jpg)
Uit wat reacties is gebleken dat bij gebruik van een originele Arduino de meegeleverde CH340 drivers niet voldoen.
Daarom is de installatie wat aangepast.
Nu worden zowel de originele drivers als de CH340 driver geïnstalleerd.
Hiermee hoop ik de driver problemen te hebben opgelost.
Ook is er nu een complete installatie voor als je de Arduino IDE al hebt geïnstalleerd.
Beide installaties zijn getest op Windows 7, 8 en 10 (allen 64 bit) en met een Chinese Arduino.
Zelf heb ik geen originele Arduino en dus heb ik er ook niet mee kunnen testen.
Iemand anders wellicht?
Downloads:
Handleidng servodecoder (http://www.globalvisuals.nl/downloads/Servo%20decoder%20met%20Arduino%20voor%20Dummy.pdf)
---------------------------
Software inclusief Arduino IDE 1.6.6 (http://www.globalvisuals.nl/downloads/ArduinoServoDecoder.zip)
Installatie handleiding (http://www.globalvisuals.nl/downloads/Installatie%20handleiding.pdf)
----------------------------
Software zonder Arduino (http://www.globalvisuals.nl/downloads/DecoderOnly.zip)
Installatie handleiding (http://www.globalvisuals.nl/downloads/How%20to%20install.pdf)
----------------------------
Alleen CH340 drivers (http://www.globalvisuals.nl/downloads/CH340.zip)
Mvg
Nico
Die drivers zijn inderdaad nodig bij Windows.
Zelf heb ik Linux dus kan je helaas niet helpen met testen. Ik heb ook een Chinese Arduino maar dan nog met de oude chip (Atmega16) welke origineel ook gebruikt wordt.
Maar die CH340 chip is goedkoper tegenwoordig en nu vind je die oude zo goed als niet meer aan de prijs van toen...
groeten,
Dylan
Inleiding
Het gebruik van een Arduino microcomputer in de modelspoorbouw is bij velen wel bekend.
Echter het daadwerkelijk zelf toepassen is voor de meesten een brug te ver.
Het programmeren of het doen van eenvoudige aanpassingen in een programma wordt toch als een groot probleem gezien.
Daardoor blijft de Arduino het domein van een zeer beperkte groep met wat meer technische kennis.
Dat is jammer, want met de Arduino kun je heel je modelspoorbaan goedkoop automatiseren.
Om de Arduino voor iedereen bereikbaar te maken heb ik daarom een programma gemaakt voor een Multifunctionele DCC decoder voor servo's en accessory's op basis van een Arduino.
Met dit programma is het niet meer nodig om zelf nog maar één letter Arduino-code te schrijven.
Deze decoder heb ik MARDEC genoemd en is een vervolg op de servo decoder zoals beschreven in dit draadje (http://forum.beneluxspoor.net/index.php/topic,66902.0.html).
Net als bij iedere andere DCC decoder moet deze nog wel geconfigureerd worden. Dit configureren wordt meestal ten onrechte programmeren genoemd.
Om spraakverwarring te voorkomen gebruik ik de term programmeren voor het schrijven van de Arduino-code en de term configureren voor het uitvoeren van het programma. Bij dit configureren worden de servo's ingesteld.
Het programma werkt in twee verschillende 'toestanden'.
In de configureerstand kunnen de servo's en accessory's worden ingeregeld middels één-letter commando's vanaf het toetsenbord. Hierbij communiceert de MARDEC via een USB-kabel met de computer. Hier zijn dus geen DCC signalen voor nodig.
Middels een specifiek commando ('E') wordt overgegaan naar de bedrijfstoestand.
In de bedrijfstoestand worden de servo's aangestuurd met het DCC signaal. Er is dan geen USB-kabel meer nodig. Door het sturen van een specifiek, zelf te bepalen, DCC adres wordt weer overgeschakeld naar de configureerstand.
Waarom een Arduino?
De belangrijkste reden is de prijs. Je moet ze dan wel in China bestellen bij b.v. nl.Aliexpress.com (http://nl.aliexpress.com)
Een andere reden is het gemak waarmee alles geconfigureerd kan worden. Dat gebeurt geheel interactief en er is geen DCC-centrale voor nodig.
De installatie van alle software is zeer gebruiksvriendelijk. Hierbij wordt alle vereiste software in één keer geïnstalleerd. Ook het uploaden van het decoder programma naar de Arduino gaat geheel automatisch.
Mogelijkheden
De MARDEC decoder kent de volgende mogelijkheden:
• Aansturen van maximaal 12 servo's t.b.v. wisselaandrijving zonder puntstukpolarisatie of maximaal 9 servo's met puntstukpolarisatie. De puntstukpolarisatie wordt gerealiseerd middels een extern relais.
• Het op 7 manieren aansturen van accessory's, waaronder aansturing van wisselspoelen en variabele PWM aansturing.
• Interactief, via beeldscherm en toetsenbord dus, configureren van de servo's en accessory's. Dat is geheel onafhankelijk van de gebruikte DCC centrale. Hierbij is de Arduino software NIET nodig.
• Van iedere servo apart kunnen de begin- en eindhoek op de graad nauwkeurig worden ingesteld.
• Een random DCC adres (1-2048) toekennen aan iedere servo of accessory.
Dus niet noodzakelijkerwijs opeenvolgende adressen.
• Iedere servo (max. 9) kan worden gekoppeld met een relais voor puntstukpolarisatie.
Bij het verdraaien van de servo zal, halverwege de verdraaiing, dit relais worden omgezet.
• Voor iedere servo kan een aparte draaisnelheid worden ingesteld. Hierdoor kunnen servo's makkelijker voor andere doelen worden gebruikt dan alleen wisselaandrijving
• Een test optie. Hierbij gaan alle servo's drie maal heen-en weer gaan en worden accessory's geactiveerd.
• Vastleggen van 'inversie'. Hiermee kan worden ingesteld of een wissel bij bv een verdraaiing naar de kleinste hoek rechtdoor of afbuigend moet worden gezet. Dit is nodig omdat de servo op meerdere manieren gemonteerd kan worden.
• Een documentatie optie waarmee alle instellingen worden getoond.
• Het toekennen van een administratief nummer aan iedere servo/accessory.
• Een reset optie waarbij alle instellingen uit het geheugen van de MARDEC verwijderd worden.
• Instelbare default snelheid van de servo arm (5-50 ms. per graad).
• Vastleggen van het DCC adres waarmee de decoder naar de configuratie toestand gaat. (Default 1000)
• Vastleggen van het DCC adres waarmee de servo- en accessorystanden worden opgeslagen. Na een herstart worden de servo's en accessory's weer in deze stand teruggezet.
• Accessory's kennen de volgende opties:
1. Single steady. Hierbij is 'n pin permanent hoog of laag afhankelijk van de aansturing.
2. Double steady. Zelfde als single steady, echter een tweede pin heeft de 'omgekeerde' waarde.
3. Single flashing. Hierbij gaat een pin afwisselend hoog(aan) en laag(uit). De 'aan'-tijd en de 'uit-tijd zijn afzonderlijk instelbaar.
4. Double flashing. Zelfde als single double, echter een tweede pin heeft de 'omgekeerde' waarde.
5. Single one shot. Hierbij gaat een pin een korte instelbare tijd even hoog als de aansturing van laag naar hoog gaat.
6. Double one shot. Hierbij gaat een pin een korte instelbare tijd even 'hoog' als de aansturing van laag naar hoog gaat en een andere pin als deze van hoog naar laag gaat. Hiermee kunnen dus ook wisselspoelen aangestuurd worden.
7. Analoge (PWM) aansturing. Hierbij gaat een pin, in een apart instelbare tijd, van 0 tot een instelbaar maximum (max. 255) als de aansturing van laag naar hoog gaat en weer terug naar 0, in een apart instelbare tijd, als de aansturing van hoog naar laag gaat.
• Een help optie toont alle commando's voor het configureren.
• Een log-optie waarmee alle configuratiesessies worden bewaard.
• Onafhankelijk van gebruikte busstructuur (LocoNet, S88 e.d). De aansturing is echter specifiek voor DCC.
Het programma zelf is Engelstalig. De handleidingen zijn in het Nederlands.
Uiteraard gaat het om een eerste beta versie. Dus ik ben bij deze verontschuldigd voor eventuele fouten.
Een voorbeeld dialoog:
MARDEC, the Multifunctional ARduino dcc DECoder
USB version 1.0
Specify number for this MARDEC
Enter value between 1 and 100: 1
This is your MARDEC number 1
Starting configuration of MARDEC 1
Please specify action
P/R/T/D/C/S/M/E/?: p
Specify pin number
3-12,14-19: 3
Pin is undefined. First specify DCC address
Set DCC address for pin 3
Enter value between 1 and 2048: 1
DCC Address set to 1
Specify Accessory(1) or Servo(2)
Enter value between 1 and 2: 2
Pin 3 set as Servo pin.
Servo 0 on pin 3 and address 1 set to 75 degrees
Specify action for Servo on pin 3
A/N/9/+/-/C/F/D/T/M/I/?/enter: -
LOW angle set to 74
Specify action for Servo on pin 3
A/N/9/+/-/C/F/D/T/M/I/?/enter: c
Servo 0 on pin 3 and address 1 set to 105 degrees
Angle set to HIGH: 105
Specify action for Servo on pin 3
A/N/9/+/-/C/F/D/T/M/I/?/enter: +
HIGH angle set to 106
Specify action for Servo on pin 3
A/N/9/+/-/C/F/D/T/M/I/?/enter: f
Specify frog pin for servo on pin 3
3-12,14-19: 19
Pin 19 set as frog pin for servo on pin 3
Specify action for Servo on pin 3
A/N/9/+/-/C/F/D/T/M/I/?/enter: t
Testing servo 0 on pin 3
Servo 0 on pin 3 and address 1 set to 74 degrees
Servo 0 on pin 3 and address 1 set to 106 degrees
Servo 0 on pin 3 and address 1 set to 74 degrees
Servo 0 on pin 3 and address 1 set to 106 degrees
Specify action for Servo on pin 3
A/N/9/+/-/C/F/D/T/M/I/?/enter:
Pin settings are saved!
Please specify action
P/R/T/D/C/S/M/E/?: p
Specify pin number
3-12,14-19: 4
Pin is undefined. First specify DCC address
Set DCC address for pin 4
Enter value between 1 and 2048: 2
DCC Address set to 2
Specify Accessory(1) or Servo(2)
Enter value between 1 and 2: 1
Pin 4 set as Accessory pin.
Specify mode for this accessory
Enter value between 1 and 7: 4
Mode set to Double Flashing.
Specify companion pin for accessory on pin 4
3-12,14-19: 18
Pin 18 set as companion pin for accesory on pin 4
Specify 'on' time:
Enter value between 100 and 5000: 300
'On' time set to 300 msec.
Specify 'off' time:
Enter value between 100 and 5000: 300
'Off' time set to 300 msec.
Specify action for Accessory on pin 4
A/N/H/L/M/C/?/D/T/F/R/enter: t
Testing accessory 0 on pin 4 in double flashing mode
Accessory 0 on pin 4 and address 2 started flashing
Accessory 0 on pin 4 and address 2 stopped flashing
Specify action for Accessory on pin 4
A/N/H/L/M/C/?/D/T/F/R/enter:
Pin settings are saved!
Please specify action
P/R/T/D/C/S/M/E/?: d
Settings of MARDEC number 1
Pin 3: Servo with DCC 1, Nr 0, Angles 74/106, Frog pin 19, no Inversion, Speed 25
Pin 4: Accessory with DCC 2, Nr 0, Double Flashing, Comp. 18, Time 300/300
Pin 5: not used
Pin 6: not used
Pin 7: not used
Pin 8: not used
Pin 9: not used
Pin 10: not used
Pin 11: not used
Pin 12: not used
Pin 14: not used
Pin 15: not used
Pin 16: not used
Pin 17: not used
Pin 18: Companion pin for pin 4
Pin 19: Frog pin for pin 3
Default Servo speed: 25 ms/step
DCC address to start configuration mode: 1000
DCC address to save servo settings: 1001
Please specify action
P/R/T/D/C/S/M/E/?:
In deze dialoog gebeurt het volgende:
- Selecteren van Pin 3
- Pin 3 als servo pin instellen
- Een DCC-adres toekennen aan pin 3 (1)
- De 'lage' hoek een graad aflagen.
- Met het C-commando de 'hoge' hoek selecteren.
- Deze hoek met één graad ophogen.
- Met het F-commando een 'frogpin' toekennen (aan deze pin komt het relais voor eventuele puntstukpolarisatie)
- Met het T-commando testen van de servo
- Met <enter> de wijzigingen opslaan en terug naar 'algemene commando's'.
- Met het D-commando een overzicht tonen.
- Selecteren van pin 4
- Pin 4 als accessory pin instellen met mode 4 (double flashing).
- Ingeven van de 'aan'-en 'uit'-tijden.
- Testen van de instellingen.
- Met het D-commando een overzicht van de instellingen weergeven.
Meer weten?
Bekijk dan deze downloads:
Downloads:
Handleiding MARDEC decoder (http://www.globalvisuals.nl/downloads/mardecmanual.pdf)
---------------------------
Alle MARDEC software inclusief de Arduino IDE 1.6.6 (http://www.globalvisuals.nl/downloads/mardecmsi.zip)
MARDEC Installatie handleiding (volledig) (http://www.globalvisuals.nl/downloads/Installatie%20MARDEC.pdf)
----------------------------
MARDEC software zonder Arduino IDE (http://www.globalvisuals.nl/downloads/MARDECoder.zip)
Installatie handleiding (MARDEC only) (http://www.globalvisuals.nl/downloads/How%20to%20install.pdf)
----------------------------
Alleen CH340 drivers (http://www.globalvisuals.nl/downloads/CH340.zip)
Deze zijn nodig als je een Chinese Arduino hebt.
Wie durft?
More DCC fun with MARDEC!
Groetjes
Nico
Indrukwekkend, en heel aantrekkelijk. Ik ga bij tijds MARDEC eens uitproberen.
Knap, compleet en zorvuldig werk naar de beschrijving te oordelen.
Hi Nico,
ben je er hier mee gestopt?
En ga je alleen op BNLX verder?
grt Piet.
Hallo Piet,
Nee, ik ben er zeker niet mee gestopt. Kijk maar op het BNLspoor forum.
Daar zijn we al aan pagina 27
http://forum.beneluxspoor.net/index.php/topic,68257.new.html#lastPost (http://forum.beneluxspoor.net/index.php/topic,68257.new.html#lastPost)
Maar in Vlaanderen is kennelijk geen enkele belangstelling.
Niemand is serieus geïnteresseerd.
Mvg
Nico
Van mij is er wel belangstelling voor Arduino maar ik bouw mijn decoders zelf dus ja :p
Dylan
Ik volg ook nog, ;)
Geert
@Geert,
Waar volg je dan? Op deze site gebeurt niks
@Minitreintje,
Dan behoor je niet tot de doelgroep van de MARDEC.
Maar zijn alle Vlamingen dan Arduino goeroe?
Nico
Misverstanden Nico, op dit forum hebben we zelfs een topic enkel voor modelspoor en microcontrollers. Ik heb zelf al heel wat ervaring met DCC, en ken zelfs heel wat Vlamingen die daar ook iets van af weten. ;)
Geert
ik maak mijn spullen zelf en weiger als "dummy" door het leven te gaan
"voor iedereen" was misschien wat zachter geweest
De MARDEC is niet voor iedereen. Je moet wel een DCC centrale hebben.
Hij is ook niet voor al die slimmeriken die toch wel weten hoe een Arduino te gebruiken. De goeroes dus.
Maar wel voor de geïnteresseerde elektronica/Arduino leek die ook goedkoop en eenvoudig een multifunctionele dcc decoder willen gebruiken.
http://forum.beneluxspoor.net/index.php/topic,68257.new.html#lastPost (http://forum.beneluxspoor.net/index.php/topic,68257.new.html#lastPost)
Ik ga hem binnenkort testen samen met een Arduino mini pro.
Maar eerst moet de bootloader van de mini pro vervangen worden door deze van een UNO om voldoende ram vrij te hebben om de mardec code te kunnen plaatsen.
De UNO zou nu onderweg moeten zijn uit China.
Valentijn
Hallo Valentijn,
Het recept daarvoor vind je hier:
http://forum.beneluxspoor.net/index.php/topic,68257.msg3221667389.html#msg3221667389 (http://forum.beneluxspoor.net/index.php/topic,68257.msg3221667389.html#msg3221667389)
Mvg
Nico
Citaat van: NTeering op 22 juni 2016, 17:51:03 PM
Hallo Piet,
Nee, ik ben er zeker niet mee gestopt. Kijk maar op het BNLspoor forum.
Daar zijn we al aan pagina 27
Dat weet ik.
Maar ik vroeg of je er
hier mee bent gestopt.
Want ik weet zeker dar er ook op dit forum belangstelling is voor zo'n project.
En het is natuurlijk een beetje vragen om scherpe reakties als je hier het woord dummy in je titel gebruikt
en op BNLS
MARDEC, de Multifunctionele ARduino dcc DECoder. als titel gebruikt.
Daar trek je geen volle zalen mee. ;)
grt Piet.
Hallo Piet,
Gestopt ben ik niet. Het draadje bestaat nog steeds.
Je zegt dat er belangstelling voor is, maar die zie ik helaas niet.
Als er geen reacties zijn heeft het voor mij geen zin om hier om hier nieuwe ontwikkelingen te posten.
Er zijn alleen reacties van mensen die zeggen dat ze het zelf wel kunnen.
Op BNLS valt men niet over de term dummy.
Zijn Vlamingen wellicht wat overgevoelig?
In het MARDEC draadje wordt deze term ook niet meer gebruikt.
Mvg
Nico
Citaat van: NTeering op 23 juni 2016, 15:35:13 PM
Gestopt ben ik niet. Het draadje bestaat nog steeds.
Ja maar er verschijnt geen nieuws van jouw kant.
Ik lees op BNLS dus ik volg het wel, maar het viel me op dat het van jouw kant erg stil is hier.
Citaat van: NTeering op 23 juni 2016, 15:35:13 PM
Je zegt dat er belangstelling voor is, maar die zie ik helaas niet.
Als er geen reacties zijn heeft het voor mij geen zin om hier om hier nieuwe ontwikkelingen te posten.
Dus als er geen reactie is, is het voor jou het zelfde als geen belangstelling.
Een forum werkt toch een beetje anders hoor.
Je zou juist wél door kunnen gaan en mensen proberen voor jouw aanpak te enthousiasmeren.
Want het project verdient het.
En mensen die het(denken)beter (te) weten heb je overal.
Dat zou voor mij geen reden zijn om te stoppen.
Citaat van: NTeering op 23 juni 2016, 15:35:13 PM
Er zijn alleen reacties van mensen die zeggen dat ze het zelf wel kunnen.
Ja dat mag toch?
Citaat van: NTeering op 23 juni 2016, 15:35:13 PM
Op BNLS valt men niet over de term dummy.
Zijn Vlamingen wellicht wat overgevoelig?
Ik vind de term dummy ook erg neerbuigend en ik ben geen Vlaming.
grt Piet.
Ik heb het draadje vandaag ook voor de 1° keer gezien en gelezen , Ik heb de handleidingen gedownload evenals de softwaere.
Bij het uitpakken van de zip-bestanden loopt het echter fout.
Hierbij zegt de PC dat de installatievoorwaarden voor Win-XP niet overeenkomen , zodus blijkbaar kan het programma jammer genoeg niet geïnstalleerd worden op Win-XP.
@Stoomlokje,
Nog even getest op een virtuele WindowsXP PC.
Het uitpakken van de zipfiles was geen probleem
Het installeren was ook geen probleem
Wel een probleem zijn de CH340 drivers voor Chinese Arduino's
Deze moeten handmatig worden geïnstalleerd.
Maar zover komt u kennelijk niet.
Gaarne een duidelijke schermafdruk mailen naar MARDEC@ziggo.nl
Mvg
Nico
Ook even niet vergeten Nico, dat veel van de Vlamingen zoel op het MSM als op het BNLS forum aanwezig zijn en dus daar ook meelezen en/of reageren.
De term "Dummy's" is gewoon denigrerend, en daar valt niet over te discussiëren. Daarom alleen al gebruik je die term niet.
Alleen is de manier van reageren tussen een Vlaming en een Nederlander anders. Wij Vlamingen zijn een heel stuk minder direct dan jullie Nederlanders. Dus krijg je ook geen reactie.
Er is absoluut niets denigrerends aan de term dummy. Daar valt wel degelijk over te discussiëren.
Een dummy is gewoon een woord dat gebruikt wordt voor iemand die weinig kennis heeft op een bepaald gebied.
Er is ook niet voor niets en boekenserie voor dummy's: https://www.bol.com/nl/b/algemeen/voor-dummies/11586180/index.html (https://www.bol.com/nl/b/algemeen/voor-dummies/11586180/index.html). De topic titel is hier ook aan ontleend.
En inderdaad zijn Nederlanders wat directer en zouden zij dus eerder reageren als ze het denigrerend vinden. Maar dat doen ze niet en vinden het derhalve ook niet zo denigrerend.
Kennelijk heeft het woord dummy in Vlaanderen een andere lading dan in Nederland.
Voor Vlamingen betekent het kennelijk 'een dom iemand' en in Nederland 'een niet deskundig iemand'.
Nico
You've got the point Nico.
Dat verschil zal er altijd blijven tussen Nederlanders en Vlamingen.
It's history to blaim for that.
Verder volg ik (en anderen) je draadje(s) wel op het BNLS-froum
Wat die reacties betreft , ik ben gestopt niet omdat ik het niet wil volgen maar omdat ik andere dingen (verhuisplannen en wat er bijkomt) aan mijn hoofd heb.
De belangstelling is er wel maar niet op dit moment.
Om een eind te maken aan alle misverstanden heb ik voor de MARDEC maar een nieuw draadje geopend:
http://forum.modelspoormagazine.be/index.php/topic,24595.msg347141.html#msg347141 (http://forum.modelspoormagazine.be/index.php/topic,24595.msg347141.html#msg347141)
Gelieve in dit draadje geen posts meer te plaatsen.
Mvg
Nico