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

losse onderdelen door Charles_
Vandaag om 15:41:37
Einde Koemo ballast ??? Update: weer online door Jan Bennink
Vandaag om 15:41:22
Piko blauwe 1000 door D_Loc
Vandaag om 15:36:20
Fleischmann 741005 BR 601 DB samenstellen? door Bertbecker
Vandaag om 15:24:30
Bf Kibronn door Frans Peeters
Vandaag om 14:54:24
W.V. Kalender 2026 door henkoia
Vandaag om 14:51:58
Raadplaatje door hervé
Vandaag om 14:48:20
Roco model 63138 door Charles_
Vandaag om 14:26:55
Materieel verzameling van Michiel(NDS) door neudalhausenstadbahn
Vandaag om 14:25:09
Vijfhuis (v.h. Frotterdam) door basjuh1981
Vandaag om 14:16:01
Amsterdam Westhaven - vlothaven 1/87 door gdh
Vandaag om 14:14:13
Mijn eerste H0-modeltreinbaan in aanbouw door basjuh1981
Vandaag om 14:14:04
Industrieel smalspoor inspiratiedraadje door Noordernet
Vandaag om 14:12:03
Inconsistenties in uitlezen decoders met z21 Start door Frank 123
Vandaag om 14:03:26
Rondom Charlois door spoorijzer
Vandaag om 13:57:43
De Hasseberg (spoor nul op 9mm) door spoorijzer
Vandaag om 13:51:36
Halte Assel, een nieuw baantje in H0 door spoorijzer
Vandaag om 13:45:16
Welke versies van de Roco 2200 zijn er? door spoorijzer
Vandaag om 13:43:45
Cranicher Altbahn door Arjen52
Vandaag om 13:25:58
Wat is dit voor component door 008200
Vandaag om 13:22:04
Esu 51820 SwitchPilot v2 door RobVille
Vandaag om 13:14:43
Toon hier je nieuwe (model-) spooraanwinst(en)... door maartenvdb
Vandaag om 13:07:28
Modelbaan Beltheim. door Charles_
Vandaag om 11:37:34
Aachenau West door puntenglijder
Vandaag om 10:16:34
Nieuw huis, nieuwe baan door Charles_
Vandaag om 09:44:26
Lodewickshaven door Ronald Halma
28 November 2025, 23:21:53
Minibaan Visserskaai H0 door Eric B
28 November 2025, 22:09:39
De bouw van mijn modelbaan in Thailand door Frans
28 November 2025, 21:56:22
Terschellinger Spoor door Michiel2
28 November 2025, 19:12:03
Mooi weer om buiten te spelen door sncf231e
28 November 2025, 18:33:19
  

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

keesg

  • Offline Offline
  • Berichten: 24
Schets Weistra regeling met arduino UNO
« Gepost op: 29 July 2025, 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: 27005
    • Pagina van klaas
Re: Schets Weistra regeling met arduino UNO
« Reactie #1 Gepost op: 29 July 2025, 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

  • Offline Offline
  • Berichten: 24
Re: Schets Weistra regeling met arduino UNO
« Reactie #2 Gepost op: 29 July 2025, 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: 27005
    • Pagina van klaas
Re: Schets Weistra regeling met arduino UNO
« Reactie #3 Gepost op: 29 July 2025, 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

  • Offline Offline
  • Berichten: 958
Re: Schets Weistra regeling met arduino UNO
« Reactie #4 Gepost op: 29 July 2025, 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

  • Offline Offline
  • Berichten: 24
Re: Schets Weistra regeling met arduino UNO
« Reactie #5 Gepost op: 29 July 2025, 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

  • Offline Offline
  • Berichten: 958
Re: Schets Weistra regeling met arduino UNO
« Reactie #6 Gepost op: 29 July 2025, 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: 5172
Re: Schets Weistra regeling met arduino UNO
« Reactie #7 Gepost op: 29 July 2025, 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

  • Offline Offline
  • Berichten: 24
Re: Schets Weistra regeling met arduino UNO
« Reactie #8 Gepost op: 29 July 2025, 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

  • Offline Offline
  • Berichten: 24
Re: Schets Weistra regeling met arduino UNO
« Reactie #9 Gepost op: 29 July 2025, 14:15:31 »
Nee Bask ik zie nu door de bomen even het bos niet meer.
Help !!!!

bask185

  • Offline Offline
  • Berichten: 5172
Re: Schets Weistra regeling met arduino UNO
« Reactie #10 Gepost op: 29 July 2025, 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

  • Offline Offline
  • Berichten: 24
Re: Schets Weistra regeling met arduino UNO
« Reactie #11 Gepost op: 29 July 2025, 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

  • Offline Offline
  • Berichten: 24
Re: Schets Weistra regeling met arduino UNO
« Reactie #12 Gepost op: 29 July 2025, 19:28:52 »
Ik heb trouwens een Chinese kloon van de arduino UNO.

bask185

  • Offline Offline
  • Berichten: 5172
Re: Schets Weistra regeling met arduino UNO
« Reactie #13 Gepost op: 29 July 2025, 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

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