Doel:€250.00
Donaties:€88.00

Per saldo:€-162.00

Steun ons nu!

Laatst bijgewerkt
op 03-06-2025

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Vijfhuis (v.h. Frotterdam) door alex1212
Vandaag om 10:54:02
Her-(her-)beginnen door Ronaldk
Vandaag om 10:53:47
Hoe een Train-O-Matic lokdecoder voorzien van een lang adres ? door Ronaldk
Vandaag om 10:47:20
Van welk bouwpakket zijn dit onderdelen? door Karben
Vandaag om 10:41:39
booster vraag door hmmglaser
Vandaag om 10:34:43
Houten 23 Augustus 2025 door Ronald Halma
Vandaag om 10:26:46
23 augustus modelspoorbeurs Houten door Ronald Halma
Vandaag om 10:22:39
BR-18.6 Schaal-0. door Benelux795
Vandaag om 10:12:23
Ombouw/Pimpen Bolle neuzen door BartvD
Vandaag om 09:58:42
Spoor- en tramweg parafernalia door R1954
Vandaag om 09:48:16
Wat was jullie allereerste loc? door Fleischmann-H0-Fanaat
Vandaag om 09:48:03
Module vliegveld Jan van Mourik door MOVisser
Vandaag om 09:32:45
De IJmuider spoorlijn - korte geschiedenis en plaatjes door Vislijn
Vandaag om 09:32:06
Aachenau West door Montanbahn
Vandaag om 08:50:13
Sfeer op je modelbaan door NS264
Vandaag om 01:01:12
Mallnitzer Tauernbahnstrecke ÖBB N Spoor door Schachbrett
Vandaag om 00:36:04
Toon hier je (model)TRAM foto's. door prutser
07 August 2025, 23:33:45
Wielen bruineren. Hoe? door hmmglaser
07 August 2025, 23:33:02
De fabriek - Spoor 0 door bernhard67
07 August 2025, 23:18:36
Mantua H0 GP20 DCC & sound rijd erg slecht weg door Ronald Halma
07 August 2025, 23:12:20
Trix DXI van DC naar AC door Robert vh Prutsert
07 August 2025, 23:00:48
Onlangs gespot - gefotografeerd, de foto's door GerardvV
07 August 2025, 22:13:16
Wèhnich - Eén onbeduidend baantje op 1200 bij 1200mm door grove den
07 August 2025, 21:25:07
RhB H0m, Albulisch door Boertje
07 August 2025, 21:11:56
lampjes in huizen willekeurig schakelen door Ronald Schreuder
07 August 2025, 21:10:48
Mijn eerste H0-modeltreinbaan in aanbouw door Wim Vink
07 August 2025, 20:13:29
ICM 4444 op basis van Marklin 37421 door EN446
07 August 2025, 19:35:05
Fleischmann Anna ombouw. door klusser
07 August 2025, 19:19:58
US diorama in H0 door wob
07 August 2025, 16:57:23
Rijnstraat door Gerco van Beelen
07 August 2025, 16:44:29
  

Auteur Topic: MARDEC, de Multifunctionele ARduino dcc DECoder.  (gelezen 389326 keer)

Hans van de Burgt

  • Onshape Gebruikersgroep
  • Offline Offline
  • Berichten: 6517
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #825 Gepost op: 20 January 2017, 19:39:43 »
@72Sonnet,

Je hebt in principe gelijk. De discussie tussen Nico en Ruud gaat onder andere daar ook over.
Leuk dat je een traverse hebt gemaakt. Daar moet ik ook een keer mee aan de gang. Ik hoor graag wat meer details hoe je dat hebt aangepakt.

Gr, Hans

NTeering

  • Offline Offline
  • Berichten: 1038
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #826 Gepost op: 23 January 2017, 10:35:35 »
@72sonett

Het idee is om iedere stappenmotor aan te sturen met z'n eigen Attiny85.
Deze heeft 6 pinnen. 4 Voor de motor , 1 voor een eventueel puntstukrelais en 1 om te communiceren met een Arduino.
De Arduino ontvangt de DCC signalen voor de (maximaal 16) aangesloten motoren en stuurt een 0 of een 1 naar de Attiny85 die moet worden 'omgezet'.
De discussie gaat erover hoe daarbij de motoren gemakkelijk èn gebruiksvriendelijk te configureren v.w.b. de snelheid en hoeken.

Nico

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 2083
    • El Carrilet
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #827 Gepost op: 23 January 2017, 11:37:12 »
Een ATtiny is mogelijk, maar dan blijft het probleem van de beginstand van de stappenmotor; om een stappenmotor in een aantal stappen naar een bepaalde positie te laten draaien moet je weten wat de beginstand is na inschakelen.
Een oude matrixprinter lost dit op door na inschakelen de printkop eerst naar links /rechts te schuiven totdat een schakelaartje wordt ingedrukt, dan pas is de beginstand bekend.
Ik heb in mijn vakantiehuis een IP camera staan, die doet hetzelfde, na inschakelen draait die eerst helemaal links/rechts en op/neer.

Je komt dan dus een pin tekort, maar je zou de puntstukpin daarvoor kunnen gebruiken en dan het puntstuk mechanisch omschakelen via een microschakelaartje aan b.v. de stang naar de wisseltong.

Of je kunt er een 74595 serieel --> parallel schuifregister tussen maken, dwz drie pinnen van de ATtiny naar het schuifregister en dan 4 pennen van het schuifregister naar de stappenmotor (via b.v een ULN2001). Je houdt dan 1 pin op de ATtiny over.

Via die andere Arduino/ATtiny pin kun je natuurlijk ook serieel communiceren, dan kun je wat meer informatie overbrengen dan alleen een 0 of een 1...
« Laatst bewerkt op: 23 January 2017, 12:13:41 door 72sonett »
El Carrilet
"te dom om te poepen"
MH

NTeering

  • Offline Offline
  • Berichten: 1038
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #828 Gepost op: 23 January 2017, 12:20:04 »
Het gaat om dit ding: https://nl.aliexpress.com/item/5V-stepper-motor-with-ULN2003-driver-board/32761755625.html
Daar valt een hoop over te vinden op internet ook i.c.m. een Arduino.
Het genoemde inschakelprobleem vind ik echter nergens terug in alle voorbeeldsketches.
Heeft dit model daar wellicht geen last van of zie ik iets over het hoofd?

Nico

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 2083
    • El Carrilet
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #829 Gepost op: 23 January 2017, 13:49:18 »
Die heb ik hier ook liggen, is bruikbaar, ik gebruik zoiets om een traverse aan te sturen.

Het 'probleem' van een stappenmotor is dat je bij inschakelen nooit weet in welke stand hij staat en dus ook niet weet hoeveel stappen je moet draaien om in de gewenste stand te komen.
Je kunt de motor wel met de hand verdaaien naar b.v. de stand 'wissel links' en dan van daaruit je programma schrijven door b.v. 100 stappen linksom te doen naar stand 'wissel rechts' en weer 100 stappen terug en aannemen dat dit altijd zo blijft, maar als de motor om welke reden dan ook is verdraaid, of tegengehouden tijdens het draaien zodat er stappen zijn overgeslagen, dan kun je de stand 'wissel rechts' nooit meer terugvinden.

Je moet in de initialisatie dus eerst de motor verdraaien totdat er b.v. een schakelaartje wordt ingedrukt die een puls geeft naar de processor om aan te geven dat de stand 'wissel rechts' (of 'wissel midden' of een andere bekende stand) is bereikt. Vanuit die stand kun je dan de stappen tellen om in iedere andere exacte stand te komen.

De hardware kan er dan zo uitzien:


« Laatst bewerkt op: 23 January 2017, 13:52:27 door 72sonett »
El Carrilet
"te dom om te poepen"
MH

NTeering

  • Offline Offline
  • Berichten: 1038
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #830 Gepost op: 23 January 2017, 13:55:21 »
Maar waarom kom ik die initialisatie dan nergens tegen in alle voorbeeldcode ???
Lijkt me dan toch toch essentieel.
En je weet altijd in welke stand je de baan hebt afgesloten. Iedere verdraaiing wordt in EEPROM gezet.
Je moet er uiteraard niet tussentijds handmatig aan draaien.

Nico

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 2083
    • El Carrilet
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #831 Gepost op: 23 January 2017, 14:38:23 »
Alle voorbeeldcode geeft alleen aan hoe je in half step of full step pulsen naar de stappenmotor kan sturen zodat die stapsgewijs linksom of rechtsom draait.
Dat gaat dan altijd zo (in pseudocode):
stap[1] = %1000    // in full step
stap[2] = %0100
stap[3] = %0010
stap[4] = %0001

t = 0
repeat
  t = t+1
  out D = stap[t]             // op resp. pin 5, 6, 7, 2  van de ATtiny
  if t = 4 then t = 0
until false

en dan blijft het motortje vanuit een willekeurige beginstand voor eeuwig in grote stappen in één richting rondjes draaien.

Citaat
Je moet er uiteraard niet tussentijds handmatig aan draaien.
Precies, want dan is alles ontregeld, net als bij spanningsuitval/reset e.d.

Wat je in EEPROM op kan slaan is voor iedere wisselmotor het aantal stappen om vanuit de stand 'wissel links' naar 'wissel rechts' te gaan. Nogmaals; je moet dan wel eerst weten wat de beginstand 'links' is.

 Voor uitwerking zie hier.
« Laatst bewerkt op: 29 January 2017, 17:36:24 door 72sonett »
El Carrilet
"te dom om te poepen"
MH

Goosie

  • Offline Offline
  • Berichten: 167
    • www.henkdegans.nl
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #832 Gepost op: 23 January 2017, 16:51:54 »
Heel interessant, maar heeft weinig met MARDEC te maken! :police:
Hoe ver zou het zijn met een eigen plek op dit forum voor de ARDUINO?
Met vriendelijke groet,

Henk de Gans

NTeering

  • Offline Offline
  • Berichten: 1038
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #833 Gepost op: 23 January 2017, 17:16:18 »
Sorry Henk,

Ik zal er niks meer over zeggen :angel:

Nico

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #834 Gepost op: 23 January 2017, 17:17:54 »
@Goosie, Dat past naar mijn idee prima tussen Vraag en antwoord -> Elektronica. Waar ik meer op zit te wachten is een Wat zijn we aan het bouwen -> Elektronica. Een showcase board waar iets als een MARDEC beter zou passen.

En inderdaad, 72sonett heeft gelijk. In alle voorbeelden zal het de maker een worst wezen waar begonnen wordt, het gaat er om hoe te draaien. Ja, je kan dit altijd opslaan in EEPROM maar dan moet de boel niet ooit van slag raken.

@72sonett, [plaag modus aan] mooie pseudocode met een pseudo data overflow  ;D ;D ;D


Timo
Verzonden vanaf mijn desktop met Firefox

Hans van de Burgt

  • Onshape Gebruikersgroep
  • Offline Offline
  • Berichten: 6517
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #835 Gepost op: 23 January 2017, 18:10:59 »
Heel interessant, maar heeft weinig met MARDEC te maken!

@Henk,

Het heeft m.i. alles met de Mardec te maken. Al moet ik het iets nuanceren. De claim van het Mardec programma is dat het icm een Arduino en Mardec Shield een universele DCC decoder vormt waarmee je servo's en andere accessoires kunt besturen via een DCC centrale en/of PC. Een stappenmotor wordt hier gezien als een accessoire. En anders dan een servo of ledstrip kun je die niet zomaar aan een Mardec knopen. De onderlinge vraag was, wat moet je doen om zo'n stappenmotor toch te kunnen gebruiken in het Mardec "verhaal".

Ik ben geen techneut. Wat ik zag was dat de proefopstelling van Paul werkte. De wisseltongen bewogen simpel van de rechtdoor stand (=startpositie) naar afbuigend. Niet meer en niet minder.

Gr, Hans

72sonett

  • Team encyclopedie
  • Offline Offline
  • Berichten: 2083
    • El Carrilet
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #836 Gepost op: 23 January 2017, 19:59:18 »
Als ik geautomatiseerd wissels zou willen aansturen zou ik als eerste denken aan een relais en vertrouwen op de eindafschakeling van de wissel.
Als tweede oplossing een wisselmotortje type Conrad e.d.
Als derde een lineaire servo gekoppeld aan een microprocessor, dan kun je met 2 I/O pinnen via een 16-kanaals servo driver (meer dan) 16 servo's aansturen.
Uiteindelijk, als het dan echt moet, iets met een stappenmotor...  :)

Citaat van: Hans van de Burgt
... Wat ik zag was dat de proefopstelling van Paul werkte. De wisseltongen bewogen simpel van de rechtdoor stand (=startpositie) naar afbuigend
Dat is zonder meer mogelijk, maar hoe ziet de code van Paul er uit?

Citaat van: Timo
... pseudo data overflow
Wat bedoel je precies?

Citaat van: Goosie
... heeft weinig met MARDEC te maken!
Jawel hoor, we zitten hier wat te brainstormen hoe je via een Mardec/Arduino een stappenmotor kan aansturen, voor een wissel of wat anders; havenkraan, draaischijf ...
El Carrilet
"te dom om te poepen"
MH

Goosie

  • Offline Offline
  • Berichten: 167
    • www.henkdegans.nl
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #837 Gepost op: 23 January 2017, 20:33:33 »
Jawel hoor, we zitten hier wat te brainstormen hoe je via een Mardec/Arduino een stappenmotor kan aansturen, voor een wissel of wat anders; havenkraan, draaischijf ...
Dat laatste wil ik ook graag(rolbrug met stappenmotor /arduino).
Alleen denk ik dat het MARDEC Topic er voor de nieuwkomer cq inlezer niet eenvoudiger op wordt als er teveel "zijstromingen"invoegen!
Met vriendelijke groet,

Henk de Gans

Hans van de Burgt

  • Onshape Gebruikersgroep
  • Offline Offline
  • Berichten: 6517
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #838 Gepost op: 23 January 2017, 20:34:45 »
@72sonett,

Paul heeft me onderstaande code gestuurd.

Gr, Hans

#include <EEPROM.h>
#include <CustomStepper.h>

CustomStepper stepper(2, 3, 4, 5, (byte[]){8, B1000, B1100, B0100, B0110, B0010, B0011, B0001, B1001}, 4075.7728395, 12, CW);//parametrisering module CustomStepper: pin 2, 3, 4 en 5; instelling steps; aantal steps van de steppermotor 28BYJ-48 voor volledige rotatie, RPM en clockwise,
boolean quit = false;
int wisselstatus;
int teller = 0;
int eeaddress = 0;

void setup()
{
    stepper.setRPM (0.25);  //rotatiesnelheid instelling
    stepper.setSPR(4075.7728395);
 }

void loop()
{
  EEPROM.get (eeaddress, wisselstatus);
  if (stepper.isDone() && wisselstatus == 0 && quit == false)
  {
     stepper.setDirection (CW);
     stepper.rotateDegrees(9.0);// rotatieboog instelling clock wise
     wisselstatus = 1;
     EEPROM.put (eeaddress, wisselstatus);
     quit = true;
   }
 
  if (stepper.isDone() && wisselstatus == 1 && quit == false)
  {
    stepper.setDirection(CCW);
    stepper.rotateDegrees(9.0);// rotatieboog instelling counter clock wise
    wisselstatus = 0;
    EEPROM.put (eeaddress, wisselstatus);
    quit = true;
  }
    stepper.run();
}


NTeering

  • Offline Offline
  • Berichten: 1038
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #839 Gepost op: 23 January 2017, 21:04:35 »
Ik denk dat Henk helemaal gelijk heeft.
De Mardec sketch kan en zal geen stappenmotor ondersteunen. Misschien wel ooit door een 'ArduStepper'.
Alhoewel het een interessant onderwerp is, is het in dit draadje inderdaad een non discussie.

Nog een laatste opmerking.
Niet in dit script opgenomen, maar wel nodig, is het vooraf eenmalig vaststellen van de gewenste snelheid en beide standen.

@Hans
Wil je code tags (# button) toevoegen aan het script.

Nico