BeneluxSpoor.net forum

Vraag en antwoord => Elektronica en analoog => Topic gestart door: Timo op 18 november 2018, 22:39:42

Titel: Gedrag Weistra regelaar
Bericht door: Timo op 18 november 2018, 22:39:42
Dit is niet zo zeer een topic met een vraag maar om eerder gestelde vragen rond de Weistra regelaar te beantwoorden. In andere draadjes wordt wel eens gespeeld met digitale regeling van analoge loc's. En als je dat met normale micro controller (hardware) PWM doet dat het gedrag wel te wensen over laat. In het verleden dit wel eens opgelost door een aandeel laag frequente, laag duty cycle software PWM toe te voegen. Maar dan is ook de Weistra regelaar (https://encyclopedie.beneluxspoor.net/index.php/Snelheidsregelaar_met_pulsbreedtemodulatie) te spraken gekomen en dat deze altijd wel lovende reacties krijgt op het rijgedrag. Nu is dat rijgedrag natuurlijk ook wel met een microcontroller na te doen maar meer dan dat de frequentie "in het gebied van 50 tot 100 Herz" ligt was er niet bekend. ::)

Dus op deze frisse zondag maar eens lekker warm binnen een Weistra in elkaar gebouwd. Zit iets bijzonders op dus de componenten lagen wel in de grabbelton ;D En na twee uurtjes prutsen (wat nu uittekenen... 8)) zat hij in elkaar. En verrek, het werkt! Nouwja, met lage lasten dan. Had geen (analoge) trein bij de hand maar een 10W halogeenlampje blijkt zo vanaf koude start toch wel een beetje veel voor de BD140 ::) En met direct een mosfet aan de opamp blijkt de gate capaciteit toch lelijk mee te spelen (lees oscillaties) dus dat ook maar laten vallen. Maar goed, dat was ook eigenlijk niet het punt van de schakeling opbouwen dus snel terug naar de BJT en een kleine last eraan.

En toen eens het gedrag bemeten. Zie hier het resultaat:
(https://images.beneluxspoor.net/bnls/Weistra-response.png) (https://images.beneluxspoor.net/bnls/Weistra-response.png)
Gedrag is, afgezien van het hard afvlakken van de frequentie boven de 80%, dus redelijk lineair. Dus zou je het willen benaderen zit je met:
Duty cycle = pot positie = snelheid
Frequentie = 1,28 x pot + 39 of grover 1,4 x pot + 40.

Als je dat dus zou uitrollen in een microcontroller heb je dus een aardige imitatie van een Weistra regelaar. (y)

En voor wie geïnteresseerd is, hier een spreadsheet (https://docs.google.com/spreadsheets/d/1nVMgTYsyreG-dZHPf4ZloARHMsJCTTJlD9M3q5yP2h0/edit?usp=sharing) met de data. Hoe gevoelig de Weistra regelaar is voor verschillen in voedingsspanning heb ik niet bekeken. Alle metingen op 15,0V gedaan.


Timo
Titel: Re: Gedrag Weinstra regelaar
Bericht door: Geert2 op 19 november 2018, 08:16:07
Bedankt daar ben ik iets mee. Praktisch even uitwerken met een PIC 12F683 µC (heb ik nog liggen van diverse projecten)

-Ik ga hiervoor gebruik maken van de interne PWM module omdat ik daar al ervaring mee heb. Via twee tabellen  (verkregen met jou formules) ga ik afhankelijk van de stand regelaar (potmeter inlezen op AI ingang µC) een waarde doorgeven voor PR2 (frequentie) en CCPR1H (Duty Cycle). De PWM module stuurt automatisch een uitgang aan. Dit is de basis van heel het gebeuren.

-Omdat ik nog 4 ingangen over heb op de µC, ga ik hierop schakelaars aanbrengen als extra optie S1… S4:

   Alle schakelaars open: uitgang volgt gewoon direct stand regelaar.

   S1 (gesloten): stand 0 = geen snelheid
   S4 (gesloten): stand MAX = snelheid ingesteld op regelaar
   S2 (gesloten: stand 33% regelaar
   S3 (gesloten: stand 66% regelaar

Elke overgang van schakelaars zal geleidelijk gaan. Van S4 naar S1 zal er X-tal seconden over doen zodat de trein niet abrupt stopt. 


Nu even programmeren en aansluiten op een motor drive (https://www.aliexpress.com/item/Free-Shipping-lot-New-Dual-H-Bridge-DC-Stepper-Motor-Drive-Controller-Board-Module-L298N-for/32474582870.html?spm=a2g0s.9042311.0.0.47604c4dlntelk).

Geert
Titel: Re: Gedrag Weinstra regelaar
Bericht door: Timo op 19 november 2018, 08:32:35
Hoi Geert,

Leuk om te horen dat iemand er wat aan heeft en al gelijk zo gaat toepassen! (y)


Timo
Titel: Re: Gedrag Weinstra regelaar
Bericht door: Klaas Zondervan op 19 november 2018, 10:21:48
Toch even een vraag van een verstokte hardware elektrotechneut: wat is de meerwaarde van de microcontroller boven het gewoon nabouwen van het originele Weistra-schema?
Titel: Re: Gedrag Weinstra regelaar
Bericht door: Timo op 19 november 2018, 11:54:18
Zeker als je naar digitale sturing wilt is het minder onderdelen. Nu heeft jou dat nooit gestopt, dat weet ik ;D, maar veel vinden dat wel prettig. Samen met de hogere maten van flexibiliteit. Vaak pas je sneller een paar regels code aan dan dat je hardware aan past.

En ja, het is een afruil tussen puur elektronica kennis en moeten leren programmeren en micro controller kennis.


Timo
Titel: Re: Gedrag Weinstra regelaar
Bericht door: Klaas Zondervan op 19 november 2018, 12:31:44
Duidelijk, maar spreekt mij niet aan.  ;D
Btw, in de titel staat Weinstra, haal die n er even tussenuit, is makkelijker als er later iemand de zoekfunctie gebruikt.
Titel: Re: Gedrag Weistra regelaar
Bericht door: Timo op 19 november 2018, 12:38:35
Duidelijk, maar spreekt mij niet aan.  ;D
Ieder zijn ding ;D Ik vind het heel interessant en knap om jou bezig te zien met alle discrete hardware. Maar ik zou er niet aan moeten denken daar een hele baan mee aan te sturen ;D Maar goed, de vele aspecten van de elctronica of, nog breder, de modelspoor maken het juist zo interessant voor velen. (y)

Btw, in de titel staat Weinstra, haal die n er even tussenuit, is makkelijker als er later iemand de zoekfunctie gebruikt.
Oeps, aangepast! Zoals de Amerikanen zeggen, I fat-fingered it (vrij vertaling: met me worstenvingers per ongeluk de verkeerde toets geraakt :angel:).


Timo
Titel: Re: Gedrag Weistra regelaar
Bericht door: Geert2 op 19 november 2018, 12:41:58
Ieder zijn hobby hé Klaas.  ;)

Ik heb je baan enkele weken geleden kunnen bewonderen in Edegem,  je was er net niet toen ik er voor stond. Mooi stukje elektronica, maar er  kan veel vereenvoudigd worden met µC technologie, en dat doe ik nu net graag...

Geert
Titel: Re: Gedrag Weistra regelaar
Bericht door: Klaas Zondervan op 19 november 2018, 13:22:13
Geert, ik kan wel iets vertellen over waarom ik doe wat ik doe.
In de jaren '80 heb ik voor mijn werk een cursus gevolgd, programmeren in machinetaal. Daar heb ik later niks meer mee gedaan, maar dit terzijde. De bedrijfsleiding vond dat alle werknemers op mijn technisch niveau die cursus moesten volgen. Het werkte op basis van een 8080 processor. Het sprak mij wel aan omdat het heel dicht bij de techniek staat. Je verandert een hex getal en je ziet direct het resultaat.

Bij die cursus hoorde een oefencomputertje en na afloop van de cursus mochten we dat mee naar huis nemen. Ik had toen bedacht om het ding in te zetten voor de besturing van mijn spoorbaan. Maar er waren een paar dingen waar ik tegenaan liep. Om te beginnen heb je een heleboel I/O interface nodig want met een controlleruitgang kan je niet direct een trein of een wisselmotor sturen. En ook inputs van b.v. bezetmelders moet je op het juiste logisch niveau brengen om ze aan de controller te kunnen aanbieden.

Verder had het ding veel te weinig in- en outputs. Die kan je dan gaan multiplexen, maar daar wordt het ook weer ingewikkeld van. Dus toen was mijn gedachte: als er toch allerlei interfaces nodig zijn, dan kan ik die net zo goed via simpele logische poorten direct met elkaar laten communiceren. Daar komt bij dat wij toen op het werk apparaten hadden waarvan de hele besturing in CMOS van de 4000 reeks was uitgevoerd. Voor het kunnen oplossen van storingen werd ik geacht dat allemaal te kunnen doorgronden, waar ik vrij ver in ben gekomen, al zeg ik het zelf.

Later, toen er kant en klare controllermodules op de markt kwamen, zoals de Arduino, heb ik overwogen om daar mee verder te gaan. Maar ook daar liep ik tegen dezelfde problemen aan, veel interface nodig en veel te weinig in- en uitgangen.
Kortom, laat mij maar lekker de zaak in hardware oplossen, dat is techniek die ik beheers. En laat anderen maar lekker software schrijven.
Titel: Re: Gedrag Weistra regelaar
Bericht door: Timo op 19 november 2018, 14:06:48
Kortom, laat mij maar lekker de zaak in hardware oplossen, dat is techniek die ik beheers.
Ik wil in de eerste plaats zeggen dat je dat ook vooral lekker moet doen! (y) En bedankt voor je verhaal.

Maar ik denk dat je in de huidige wereld af moet stappen van één microcontroller als het absolute hart van de besturing. Vroeger toen een enkele micro controller meer koste dan een paar biertjes in de kroeg was dat best logisch in verband met de kosten maar ook de beschikbare ingebouwde hardware was daar een beperking in. Maar ik denk dat het tegenwoordig wijs is om het meer modulair te maken en DCC of LocoNet zijn daar mooie voorbeelden van in deze hobby maar zeker ook Dinamo. Maar ook voor beginners lijkt dit vaak een te grote stap. En ja, de totale complexiteit van het systeem neemt toe, maar deze hoef je niet allemaal in één keer te behappen :) En dat is wat jij nu ook doet met de losse discrete modules (y) En dan is het gebrek aan IO niet zo'n sterk probleem meer :)


Timo
Titel: Re: Gedrag Weistra regelaar
Bericht door: Max Roodveldt op 19 november 2018, 16:51:34
Timo,

hartelijk dank voor de grafiek en formule. Zal de komende dagen eens uitzoeken hoe dat gaat met de door mij gebruikte combinatie van Arduino Nano en Toshiba TA8050 H-brug.

mvg,

Max.
Titel: Re: Gedrag Weistra regelaar
Bericht door: Timo op 19 november 2018, 17:43:06
Let wel, de Weistra schakelt niet push-pull (zou ook zonde zijn) maar open collector. Als uit stand moet je de H-brug dus ook hoog impedant schakelen. Bij een L298 doe je dat simpel door de PWM op de enable lijn te zetten. Maar ik zie dat je daar bij de TA8050 daar beide ingangen LOW voor moet maken. Ontkom je dus niet aansturen met twee PWM binnen. Of, vals spelen* ;D


Timo

* Trucje zou zijn om beide ingangen naar een (niet PWM) uitgang te hangen en beide via een weerstand aan een enkele PWM pin. Zet je nu één output LOW en de andere float. Die laatste laat zich dan nu PWM'en. En andersom voor de andere richting. Heb je er effectief een enable lijn bij gemaakt. :police:
Titel: Re: Gedrag Weistra regelaar
Bericht door: 72sonett op 19 november 2018, 18:52:09
... vraag ... wat is de meerwaarde ...
Het is in dit geval veel eenvoudiger en goedkoper te realiseren.
Neem een Arduino oid, hang er een H-brug module achter, schrijf een programma en klaar is Klaas.

Ik ben in de jaren '80 ook begonnen om met een ZX-Spectrum (Z80) een modelbaan te automatiseren nadat ik gestart was met allemaal discreet opgebouwde set/reset flipflops omdat ik me realiseerde dat een computer daar al helemaal mee vol zit.  Later overgestapt op een PC toen die betaalbaar werden.

Met moderne computers, hogere programmeertalen en IDEs is programmeren in assembler helemaal niet meer nodig. Toen ik op de HTS een opdracht kreeg om in 68000 assembler een programma te schrijven voor een streepjescodelezer, begreep zelfs de praktijkdocent al niet meer hoe het werkte (ik kreeg een voldoende).
Titel: Re: Gedrag Weistra regelaar
Bericht door: Max Roodveldt op 19 november 2018, 19:11:57
Ontkom je dus niet aansturen met twee PWM binnen. Of, vals spelen* ;D

Daar hoef ik niet vals voor te spelen want ik stuur al aan met twee PBM pinnen...  :angel:

Max.