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: MARDEC, de Multifunctionele ARduino dcc DECoder.  (gelezen 348034 keer)

Hans van de Burgt

  • BMB
  • Offline Offline
  • Berichten: 6061
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #825 Gepost op: 20 januari 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: 1024
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #826 Gepost op: 23 januari 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 januari 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 januari 2017, 12:13:41 door 72sonett »
El Carrilet
"te dom om te poepen"
MH

NTeering

  • Offline Offline
  • Berichten: 1024
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #828 Gepost op: 23 januari 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 januari 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 januari 2017, 13:52:27 door 72sonett »
El Carrilet
"te dom om te poepen"
MH

NTeering

  • Offline Offline
  • Berichten: 1024
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #830 Gepost op: 23 januari 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 januari 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 januari 2017, 17:36:24 door 72sonett »
El Carrilet
"te dom om te poepen"
MH

Goosie

  • Offline Offline
  • Berichten: 161
    • www.henkdegans.nl
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #832 Gepost op: 23 januari 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: 1024
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #833 Gepost op: 23 januari 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 januari 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

  • BMB
  • Offline Offline
  • Berichten: 6061
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #835 Gepost op: 23 januari 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 januari 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: 161
    • www.henkdegans.nl
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #837 Gepost op: 23 januari 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

  • BMB
  • Offline Offline
  • Berichten: 6061
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #838 Gepost op: 23 januari 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: 1024
    • ARduino Controlled MOdel RAilway
Re: MARDEC, de Multifunctionele ARduino dcc DECoder.
« Reactie #839 Gepost op: 23 januari 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