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

Schets Weistra regeling met arduino UNO door keesg
Vandaag om 22:50:52
BNLS-Module: "Rvbr-Btk, Ringvaartbrug Haarlemmermeer nabij Buitenkaag" NS H0 door nighttrain1
Vandaag om 22:41:34
Houten 23 Augustus 2025 door Edsko Hekman
Vandaag om 22:40:27
Station Roodeschool door Torikoos
Vandaag om 22:21:46
Liliput schlafwagen set epoche 2 h0 door Stefan88
Vandaag om 22:19:17
Goederenloods Zandvoort door MOVisser
Vandaag om 22:14:25
Haperende/Gevoelige Sik: wat te doen? door MOVisser
Vandaag om 22:07:07
Ik ben aan het opruimen. door MOVisser
Vandaag om 22:02:03
Waldbrunn an der Veluwe. Romantiek in H0 (2R) door Ronald Halma
Vandaag om 21:48:46
RocRail locomotief verandert van rijrichting na wachten in blok door Felix de Groen
Vandaag om 21:40:58
wat is het merk van deze bochtwissel door arwin
Vandaag om 21:39:31
Mijn eerste H0-modeltreinbaan in aanbouw door Frank 123
Vandaag om 21:20:05
schok bij vertrek door Ronald Halma
Vandaag om 20:14:18
Centraal Zwitserland: Trein, tram, kabelbaan en gondels. door AP3737
Vandaag om 20:09:19
Holcim Betonmixers 1:87 Modelauto,s door NL-modelspoor
Vandaag om 19:49:56
N-Wagen; Brawa, ESU of Piko door Treinbestuurder
Vandaag om 19:47:39
Eén leuke of mooie trein/spoor foto van je vakantie. door defender
Vandaag om 19:19:07
Fleischmann Anna ombouw. door puntenglijder
Vandaag om 19:17:42
Ronald doet de Fork Challenge! door hervé
Vandaag om 19:00:12
Nederland jaren 50 op basis van mijn roots door defender
Vandaag om 18:59:23
Spoorongeval Duitsland, 27-7-2025 door VictorPM
Vandaag om 18:44:54
lampjes in huizen willekeurig schakelen door Ronald Schreuder
Vandaag om 17:46:55
Toon hier je nieuwe (model-) spooraanwinst(en)... door Rob Ellerman
Vandaag om 17:45:46
BMB-Module: “Corfe Castle Station” door Hans van de Burgt
Vandaag om 16:15:10
Bahnstrecke 5867 door Frank 123
Vandaag om 16:09:07
Licentiesleutel YD 7001 door Dirk
Vandaag om 15:58:26
Eerste hulp bij Freecad door MaraNCS
Vandaag om 15:45:56
Wèhnich - Eén onbeduidend baantje op 1200 bij 1200mm door Wim Vink
Vandaag om 15:35:06
Raadplaatje door Wouter W
Vandaag om 14:30:56
BMB 00-Modulebaan, BMB-Rijdagen en BMB-Deelname aan Beurzen & Evenementen door Hendrik Jan
Vandaag om 12:34:52
  

Auteur Topic: Schets Weistra regeling met arduino UNO  (gelezen 415 keer)

keesg

  • Online Online
  • Berichten: 18
Schets Weistra regeling met arduino UNO
« Gepost op: Vandaag om 12:39:30 »
Hallo allemaal,

Ben op zoek naar een schets voor arduino uno voor een snelheid regelaar volgens het Weistra principe. PWM met een veranderende frequentie.
Heb met AI van alles geprobeerd maar krijg geen goede regeling. De trein stopt als ik de snelheid potmeter te snel van langzaam naar snel draai. Duurt een 0.5 sec en rijd dan weer verder.
Ik krijg dit probleem niet weg.
Ik heb geen verstand van programmeren maar weet wel een beetje wat een arduino doet.
Ik zoek een regeling met 1 potmeter voor de snelheid en een schakelaar voor de rijrichting. Mijn arduino is aangesloten op een L298n motor driver.
De arduino en L298n printjes zijn van Chinese afkomst. klonen dus.
Zijn er mensen die de regeling hebben gemaakt en mij een schets kunnen sturen?

Klaas Zondervan

  • Offline Offline
  • Berichten: 26665
    • Pagina van klaas
Re: Schets Weistra regeling met arduino UNO
« Reactie #1 Gepost op: Vandaag om 12:49:30 »
Iemand op dit forum heeft de Weistra regelaar al eens in software gebouwd, ik dacht bask, maar dat kan ik mis hebben.
Wat is voor jou de reden om het met een Arduino te doen? Als je wil besturen met een potmeter en een schakelaar, dan is een hardware schakeling vrij eenvoudig te maken.
Projecten:
Dubbelom
Halte Assel
Geluk, dat is vooraan staan als de overweg gesloten is.

keesg

  • Online Online
  • Berichten: 18
Re: Schets Weistra regeling met arduino UNO
« Reactie #2 Gepost op: Vandaag om 12:59:01 »
Hallo Klaas.

Ik heb de regeling van Weistra ook analoog gebouwd. Van elektronica heb ik wel kennis. Deze werkt voor mijn Fleischmann treinen perfect.
Ik wil er een aantal hebben en prijs technisch gezien is het interessant om het met een arduino te doen. Vooral de nano is interessant maar die heb ik niet in huis.
Dus eerst proberen met de UNO. AI werkt heel goed maar dat stoppen is hopeloos.
Vandaar.

Klaas Zondervan

  • Offline Offline
  • Berichten: 26665
    • Pagina van klaas
Re: Schets Weistra regeling met arduino UNO
« Reactie #3 Gepost op: Vandaag om 13:17:20 »
Maakt het prijstechnisch echt veel verschil? Een hardware versie kost een tientje aan onderdelen. De duurste delen zijn de potmeter, de schakelaar en de powertransistor, en die heb je bij de Arduino versie ook nodig.
Projecten:
Dubbelom
Halte Assel
Geluk, dat is vooraan staan als de overweg gesloten is.

Bert55

  • Online Online
  • Berichten: 909
Re: Schets Weistra regeling met arduino UNO
« Reactie #4 Gepost op: Vandaag om 13:33:25 »
In het algemeen zou ik zeggen: gebruik je een Arduino zet dan ook de sketch in de vraag. Laatste tijd vraag ik AI ook om de aanzet tot een sketch maar moet er wel vaker fouten uit halen.
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

keesg

  • Online Online
  • Berichten: 18
Re: Schets Weistra regeling met arduino UNO
« Reactie #5 Gepost op: Vandaag om 13:37:09 »
Klopt wat je zegt maar ik wil met de arduino nog veel meer dingen doen. AI werkt erg goed. Heb ik ook voor andere dingen gebruikt die erg goed werken. Zoals bv aan stappen motor.
Het is ook een uitdaging om te kijken of het met een arduino lukt. Ben van plan er een stuk of 10 aan te schaffen ook voor andere doeleinden. Alleen het programmeren in C is erg lastig en het leren kost veel tijd. Vroeger wel veel geprogrammeerd met de 8085 processor maar dat gaat niet met C maar op een hexadecimale manier.
Helaas laat AI nu mij in de steek daarom de vraag. Ik zal niet de enige zijn die daar mee aan de gang is gegaan.
Het is alleen een schets. Voor de deskundige zal het wel te doen zijn denk ik.

Bert55

  • Online Online
  • Berichten: 909
Re: Schets Weistra regeling met arduino UNO
« Reactie #6 Gepost op: Vandaag om 13:49:31 »
Ik had gevraagd de sketch te delen om mee te denken.  ???
Met vriendelijke groet, Bert
Märklin, DCCnext, ECOS
Witmoosdorf afgebroken, Witmoos 2 wordt opgestart na de verhuizing

bask185

  • Offline Offline
  • Berichten: 4999
Re: Schets Weistra regeling met arduino UNO
« Reactie #7 Gepost op: Vandaag om 13:57:56 »
Guilty!

Je hebt de weistra.cpp en weistra.h nodig. Je moet in je project folder waar je .ino staat deze 2 bestanden toevoegen. Om te downloaden kan je het makkelijkst de gehele respository downloaden. Op de code knop klikken en dan download zip. En modules folder staan de bestanden die je zoekt.
https://github.com/bask185/ArduinoToolchain
https://github.com/bask185/ArduinoToolchain/tree/master/modules

Wat betreft de sketch. Ik denk dat dit moet werken
#include "weistra.h"

const int pinA          =   2 ;
const int pinB          =   3 ;
const int Fmin          =  50 ;
const int Fmax          = 100 ;
const int CS            =  A0 ;
const int potPin        =  A1 ;
const int acceleration  = 500 ;
const int potMiddle     = 512 ;
const int deadRange     =  20 ;

Weistra pwm( pinA, pinB, Fmin, Fmax ) ;

void setup()
{
    pinMode( potPin, INPUT ) ;
    pwm.begin() ;

    uint8_t currentLimit = 169 ;
    /*currentLimit = Imax * Rshunt / 0.00488 -> 2.5A x 0.33R (3x 1R parallel) / 0.00488 = 169 */
    pwm.setCurrentSense( CS, currentLimit )
}

void loop()
{
    static uint32_t lastTime = 0 ;
    if( millis() - lastTime >= acceleration )  // run every interval time
    {     lastTime = millis() ;

        static int8_t throttle = 0 ;
        int8_t        setPoint = 0 ;
        int           sample = analogRead( potPin ) ;

        if(      sample <= potMiddle - deadRange  ) setPoint = map( sample, 0, potMiddle - deadRange  ,  -100,   0 ) ;  // scale  [0.. middle -20]     to  [-100..0]
        else if( sample >= potMiddle + deadRange  ) setPoint = map( sample, potMiddle + deadRange  , 1023,  0, 100 ) ;  // scale  [middle + 20 .. 1023] to [0..100]
        else                                setPoint = 0 ;                                             // middle 40 adc steps = dead range -> speed 0

        if( throttle < setPoint ) throttle ++ ;
        if( throttle > setPoint ) throttle -- ;

        pwm.setSpeed( throttle ) ;
    }

    pwm.update() ; // also handles short circuit.
}

Er zit ook kortsluiting detectie en autoreset ingebouwd. De L298 is niet beveiligd tegen sluiting. Je kan tussen de GND pin en de voeding 3 of 4 1R weerstanden parralel  (en een 100nF condensator) zetten, of een dikkere weerstand met een lage waarde 0.1R - 0.33R. Er moet dan ook een draadje naar een analoge ingang (CS) De weerstand moet wel de stroom kunnen dissiperen.  De berekening in code van wat je stroom grens moet zijn, staat in commentaar. Zo kan je zelf kiezen hoeveel stroom je maximaal wilt kunnen uitsturen.

De enable pin mag aan de 5V en beide ingang pinnen van een van de 2 kanalen mogen aan outputs naar keuze.

De code leest de potmeter in, maakt een dood gebiedje om makkelijk je trein stil te kunnen zetten (anders is dat niet te doen) en schaalt de potmeter waarde correct om naar gebruik voor de weistra. Er zit een optrek rem vertraging in, die kan je instellen met 'acceleration'. Lage waarde = kleine optrek/rem vertraging.

Je kan ook Fmin en Fmax instellen. Zelf vind ik 20Hz kut om 2 redenen, 50Hz raad ik aan als onder grens en 100Hz als boven grens.

Mvg,

Bas
Train-Science.com
Train-Science github
It ain't rocket science ;-)

keesg

  • Online Online
  • Berichten: 18
Re: Schets Weistra regeling met arduino UNO
« Reactie #8 Gepost op: Vandaag om 14:11:42 »
Hoi Bask,

Nu kom ik wat verder. Ik hoop dat ik het allemaal begrijp. Uhh.....de eerste regel is al lastig. de stroombeveiliging snap ik wel.
Denk dat ik toch iets meer hulp nodig heb.
Kan wel een schets downloaden enz.

keesg

  • Online Online
  • Berichten: 18
Re: Schets Weistra regeling met arduino UNO
« Reactie #9 Gepost op: Vandaag om 14:15:31 »
Nee Bask ik zie nu door de bomen even het bos niet meer.
Help !!!!

bask185

  • Offline Offline
  • Berichten: 4999
Re: Schets Weistra regeling met arduino UNO
« Reactie #10 Gepost op: Vandaag om 14:41:59 »
Ik kan vanavond wel ff helpen. Dan maak ik wel ff een filmpje
Train-Science.com
Train-Science github
It ain't rocket science ;-)

keesg

  • Online Online
  • Berichten: 18
Re: Schets Weistra regeling met arduino UNO
« Reactie #11 Gepost op: Vandaag om 19:03:02 »
fijn dat je wilt helpen. Elektronica lukt wel maar programmeren van een arduino is een ander verhaal.
Ik was blij met AI maar dat lukt niet echt.
Hopelijk kan je me duidelijk maken hoe ik de arduino kan programmeren.

keesg

  • Online Online
  • Berichten: 18
Re: Schets Weistra regeling met arduino UNO
« Reactie #12 Gepost op: Vandaag om 19:28:52 »
Ik heb trouwens een Chinese kloon van de arduino UNO.

bask185

  • Offline Offline
  • Berichten: 4999
Re: Schets Weistra regeling met arduino UNO
« Reactie #13 Gepost op: Vandaag om 21:07:38 »
<a href="https://www.youtube.com/v/aEzPoUzBphE" target="_blank" class="new_win">https://www.youtube.com/v/aEzPoUzBphE</a>
Train-Science.com
Train-Science github
It ain't rocket science ;-)

keesg

  • Online Online
  • Berichten: 18
Re: Schets Weistra regeling met arduino UNO
« Reactie #14 Gepost op: Vandaag om 22:50:52 »
Dank je wel voor het filmpje
Erg vriendelijk om dat te doen. Ik ga er morgen naar kijken  :)