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

Pimpen Rivarossi DD-AR door StefanNL_Plays
Vandaag om 05:54:25
Verwijderen van het nummer op Roco 1631 – tips gezocht door Lobomotion69
Vandaag om 02:40:27
Ronald doet de Fork Challenge! door Lobomotion69
Vandaag om 02:28:46
Fleischmann Profi rails aan Roco Line rails zonder bedding koppelen door Lobomotion69
Vandaag om 02:25:44
Artikelen "Het matblad" door ES44C4
Vandaag om 00:27:57
Mijn eerste H0-modeltreinbaan in aanbouw door Wim Vink
31 July 2025, 22:52:29
Toon hier je (model)TRAM foto's. door Keska
31 July 2025, 22:48:52
Acherntal H0. (TP III/TP IV) door Ronald69
31 July 2025, 22:17:32
Wereldhavendag 2025 Rotterdam door Keska
31 July 2025, 22:00:00
Nieuw Vlieringen door Wil uit ZO drenthe
31 July 2025, 21:45:15
Toon hier je nieuwe (model-) spooraanwinst(en)... door Wil uit ZO drenthe
31 July 2025, 21:34:35
RocRail locomotief verandert van rijrichting na wachten in blok door Felix de Groen
31 July 2025, 21:29:05
trein of metro naar Hoek van Holland door R1954
31 July 2025, 21:25:54
US diorama in H0 door gdh
31 July 2025, 21:11:40
De bouw van mijn modelbaan in Thailand door puntenglijder
31 July 2025, 21:00:16
Fleischmann Anna ombouw. door puntenglijder
31 July 2025, 20:58:47
Stalen D 4 deurs spoor 0 door FritsT
31 July 2025, 20:54:32
Alt-Wutachtalbahn 2025 door Eric v C
31 July 2025, 20:52:41
Vitrinekast gaat moeilijk open/dicht door Overet
31 July 2025, 20:43:51
De overeenkomst tussen een Ovaalramer en een Motorpost. door FritsT
31 July 2025, 20:42:08
artikel nummers kloppen niet met spurweite n-spur door Rick
31 July 2025, 20:35:07
Mooi weer om buiten te spelen door Vroeger
31 July 2025, 20:15:18
Stichting 3rail 20 jaar jubileumwagen! door Sascha [St. 3rail]
31 July 2025, 19:23:30
Beneluxspoor Forum Modulebaan is te zien bij Carmeliet op stoom in 2025. door nighttrain1
31 July 2025, 18:43:04
Ombouw Hornby LMS Class 2P 4-4-0 naar NS 2100 door Erwin 054
31 July 2025, 18:41:36
Ideeën op doen in Duitsland regio speyer door Eric v C
31 July 2025, 18:36:39
NS 9500 scratch build uit Fleischmann BR94 door Erwin 054
31 July 2025, 18:17:40
Museumdepot Beekbergen in H0 door Joz
31 July 2025, 17:33:48
spoorboekje zomerdienstregeling 1983 Luxemburg door MaraNCS
31 July 2025, 17:18:57
RhB modelbaan in Aanbouw die Scalettabahn Davos-Dürrboden door Hollandserhbfan
31 July 2025, 16:07:50
  

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

keesg

  • Offline Offline
  • Berichten: 19
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: 26672
    • 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: 19
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: 26672
    • 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: 19
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: 5001
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: 19
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: 19
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: 5001
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: 19
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: 19
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: 5001
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: 19
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  :)