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

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

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

keesg

  • Offline Offline
  • Berichten: 18
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: 26665
    • 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: 18
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: 26665
    • 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: 909
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: 18
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: 909
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: 4999
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: 18
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: 18
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: 4999
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: 18
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: 18
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: 4999
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: 18
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  :)