BeneluxSpoor.net forum

Vraag en antwoord => Elektronica en analoog => Topic gestart door: jmu op 16 December 2016, 12:55:11

Titel: Arduino, PWM en motor karakteristieken
Bericht door: jmu op 16 December 2016, 12:55:11
Beste forumleden,

Al een tijdje ben ik aan het stoeien met een Arduino met motorshield om een pendelbaan besturing te maken. Ik heb een werkende testopstelling, maar stuit nog steeds op een paar problemen. De "testbaan" bestaat uit een recht stuk rails (smalspoor) van ongeveer 110 cm, op een helling van 4% en met twee reed contacten. De locjes zijn van Egger Bahn, Roco en Jouef (met Faulhaber motor).

De werking is simpel: locje komt langs reed contact, remt af, wacht even en gaat dan weer terug. Bij tweede reed contact idem. Voor helling op wordt "het gas iets verder open gezet".

Ik stuit op de volgende problemen:
Ik heb wat zitten stoeien met de PWM library en timer frequentie, maar ik kom er niet goed uit. Hebben jullie tips waar ik op moet letten? Hoge of lage frequentie, andere aansturing, aanpassen motor? Zou je bijv de snelheid van een loc iets omlaag kunnen brengen door 2 diodes anti-parallel in de aanvoerleiding op te nemen? Ik hoor het graag!

Joop
Titel: Re: Arduino, PWM en motor karakteristieken
Bericht door: Timo op 16 December 2016, 13:31:51
1) Ja, zodra hij op gang is kan je wat rustiger. Welke frequentie gebruik jij? Om de motor kleef te overkomen had ik naast de hardware PWM nog een software PWM van rond de 80Hz. Deze trage pulsjes diende als zetjes om de motor aan de praat te krijgen. Dit werkte erg mooi. Zou de code wel weer op kunnen zoeken maar het was op een PIC dus zou ik weer wat rekenwerk moeten doen voor de waardes.

2) Dan weer, welke frequentie gebruik je?

3) Dat hou je... Iedere loc is anders. Anders overbrenging, andere motor, andere smering enz. Dat ga je niet weten op te lossen zonder voor iedere loc een profiel te maken. Vandaar dat een decoder per loc zo handig is bij "normaal" digitaal.

Diodes gaat allemaal niets uithalen. Dat heb je gewoon lagere spanning en daarmee minder kracht in de motor enz.


Timo
Titel: Re: Arduino, PWM en motor karakteristieken
Bericht door: jmu op 16 December 2016, 13:51:07
Dag Timo,

Bedankt voor je reactie. In mijn laatste opstelling maak ik gebruik van een divider van 64, dus dan zou de freq 976 Hz moeten zijn.
Ik ben benieuwd hoe jij dan die software PWM hebt geïmplementeerd. Nu doe ik iets wat er op lijkt: als de snelheid beneden een bepaalde waarde is, stuur ik een paar spikes (vol vermogen) van 30 ms, maar dat ziet er niet uit.

Mijn idee was om middels de spanningsval over de diodes een te snel rijdende loc iets langzamer te laten draaien, maar dat is volgens jou niet voldoende, begrijp ik dat goed?

Groet,
Joop
Titel: Re: Arduino, PWM en motor karakteristieken
Bericht door: Timo op 16 December 2016, 15:17:05
Okay, dat is redelijk "hoog". Ik merkte dat in echt wel laag moest zitten om de kleef te overkomen. Maar volledig op lage PWM rijden vond ik dan weer redelijk jumpy.

Hoezo ziet de 30ms er niet uit? Gaat er denk ik vooral om hoe vaak je die 30ms stuurt.

Ik heb even naar mijn oude code gekeken en ik gaf dus extra pulsjes met 88Hz en 2/22 dutycycle. En de stuurfrequentie had ik op 31kHz. Dat komt ongeveer neer op een pulsje van 1ms iedere 11ms. Komt niet heel nauw maar zo kwam ik makkelijk uit met de timers op de PIC. In ieder geval wel een stuk kortere pulsen dan jij probeert.

Die software puls kan je maken met een timer interrupt :)

Of wilde je de diodes in de loc inbouwen? Daar zat het wel wat doen dan :)


Timo
Titel: Re: Arduino, PWM en motor karakteristieken
Bericht door: jmu op 16 December 2016, 15:44:34
Die 30 ms pulsen laten het locje enkele sprongen maken, maar het draagt niet echt bij aan het netjes wegrijden. Ik zal jouw tips eens uitproberen en de frequentie verlagen en uitzoeken hoe ik middels interrupts wat kan bereiken. Gebruik jij die extra pulsen alleen bij het wegrijden, of continue?

Joop
Titel: Re: Arduino, PWM en motor karakteristieken
Bericht door: Sven op 16 December 2016, 19:34:30
Ik heb ook een keer een vraag gesteld van ongeveer dezelfde strekking. Misschien heb je er wat aan:

http://forum.beneluxspoor.net/index.php/topic,70844.msg3221687029.html
Titel: Re: Arduino, PWM en motor karakteristieken
Bericht door: Timo op 18 December 2016, 11:18:35
30ms is inderdaad wel wat langer dan ik deed ja. En hoe vaak stuurde je die 30ms pulsjes?

Ik deed het continue. Je hebt het alleen nodig op lage snelheden maarja, wat is laag? Daarnaast zorgen die pulsen er natuurlijk voor dat de effectieve duty cycle omhoog gaat. Wil je dus stoppen met de software PWM pulsjes zul je dat moeten compenseren in de hardware PWM (welk ik met 31kHz een stuk hoger had liggen). En volgens mij reed de trein op snelheid zonder problemen op snelheid dus liet ik de pulsjes gewoon continue aanwezig (zolang de trein moest rijden).

Timo
Titel: Re: Arduino, PWM en motor karakteristieken
Bericht door: Klaas Zondervan op 18 December 2016, 13:43:42
Wel eens gekeken naar de Weistra regelaar? http://encyclopedie.beneluxspoor.net/index.php/Snelheidsregelaar_met_pulsbreedtemodulatie (http://encyclopedie.beneluxspoor.net/index.php/Snelheidsregelaar_met_pulsbreedtemodulatie)
Dat is een hardware oplossing, maar kan ook wel in software gerealiseerd worden. Deze regelaar begint met een tamelijk lage frequentie, tussen 20 en 30Hz, maar naarmate de snelheid toeneemt neemt ook de frequentie toe, tot 100Hz ongeveer. Ik gebruik deze regelaar al jaren als onderdeel van mijn Permaloog systeem.

De ultieme oplossing voor het probleem is het toepassen van een klokankermotor. Die heeft geen ijzer in het anker, dus ook geen last van kleef.