Sturing stappenmotor


Toevallig heb ik bijna eenzelfde Vexta motortje op mijn monochromator zitten. Het is een eigen geknuselde combinatie van twee afgeschreven lab apparaten.
De monochromator kan zo spectra scannen etc.

Dat wordt gestuurd door een 'Duino en een DRV8825, gevoed via een step up naar een V of 12 vanuit de USB:

Dit is wel een toepassing die bijna geen kracht vereist.

Ik ben dol op hergebruik als dat weinig extra tijd en geld kost, maar het is allerminst mijn hobby mij te verdiepen in oude stappenmotorsturingen. Ik wilde in dit geval het doel bereiken, de monochromator besturen.

De schakeling met de timers is ongebruikelijk en kan veel eenvoudiger, maar de duidelijk zichtbare gedachtengang heeft zijn charme :) Mijn complimenten dat u het uitgewerkt en -voerd heeft.
Ik geloof dat het kan werken. De dimensionering allicht wat hoger inrichten, dan loopt er niet nodeloos veel stroom. Allicht is dat (deel van het-) probleem.

Lambiek

Special Member

Op 23 mei 2022 19:54:38 schreef Toon60:
Wat zie ik dan over het hoofd?

Dit is eigenlijk het enige verschil.

https://components101.com/articles/lm555-vs-ne555-timer-ics

Misschien kun je hier nog iets aan info halen, hier staan veel voorbeelden in.

http://www.talkingelectronics.com/projects/50%20-%20555%20Circuits/50%…

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 24 mei 2022 14:35:07 schreef Lambiek:

Dit is eigenlijk het enige verschil.

Afgezien van de temperatuurafhankelijkheid is er alleen het verschil in prioriteit van Trigger en Threshold. Maar die twee zitten hier aan elkaar voor AMV bedrijf.

Misschien kun je hier nog iets aan info halen, hier staan veel voorbeelden in.

Ja, heel veel (interessante) info over deze timer, maar er wordt niet over het verschil tussen NE555 en LM555 gerept.
Maar nog steeds werkt mijn AMV alleen met één type 555.
Het is me wel duidelijk dat de LM555 de voorkeur heeft.
Als dit project klaar is wil ik nog wel eens experimenteren of en hoe een NE555 wel als AMV wil werken.

Een probleem is er om opgelost te worden. Lukt dat niet dan heb je een feit.
Lambiek

Special Member

Op 24 mei 2022 15:36:05 schreef Toon60:
Als dit project klaar is wil ik nog wel eens experimenteren of en hoe een NE555 wel als AMV wil werken.

De NE555 moet ook gewoon als AMV kunnen werken, weet je zeker dat alles goed zit.

Maar ik zou wel voor allebei het zelfde type gebruiken.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 24 mei 2022 15:36:05 schreef Toon60:
Als dit project klaar is wil ik nog wel eens experimenteren of en hoe een NE555 wel als AMV wil werken.

Echt iedereen doet dat ('555s als AMV gebruikten). LM- of NE- dat maakt normaliter niet uit. Je doet iets raars.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Daar kun je beter een servomotor met een encoder voor gebruiken,volgens mij werkt dat veel nauwkeuriger.

Een stappenmotor maakt telkens ‘stapjes’ en als tussen die stapjes het scherpstelpunt ligt wordt de afdruk van je foto niet helemaal scherp.
Of zie ik dat verkeerd ??

Lambiek

Special Member

Op 24 mei 2022 16:57:42 schreef picturemaker:
Een stappenmotor maakt telkens ‘stapjes’ en als tussen die stapjes het scherpstelpunt ligt wordt de afdruk van je foto niet helemaal scherp.
Of zie ik dat verkeerd ??

Dat zie je verkeerd denk, dit is een bestaand systeem.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 24 mei 2022 16:39:49 schreef rew:
[...]Echt iedereen doet dat ('555s als AMV gebruikten). LM- of NE- dat maakt normaliter niet uit. Je doet iets raars.

De 555’jes die ik gebruik hebben jarenlang een troosteloos bestaan in een laatje geleid. In de specs zie ik daar niets over, maar mogelijk is de ene wraakzuchtiger dan de ander. Misschien is het beter dat ik het spul maar weg mik.

Op 24 mei 2022 16:57:42 schreef picturemaker:
Daar kun je beter een servomotor met een encoder voor gebruiken, volgens mij werkt dat veel nauwkeuriger.

Ook een encoder werkt toch met stapjes? Dus hangt het van de grootte van de stapjes af hoe nauwkeurig de regeling is. In mijn geval maakt de stappenmotor met vertraging stapjes van ±1°. Voor mijn gevoel is dat voldoende, maar dat moet de praktijk nog uitwijzen.

Een stappenmotor maakt telkens ‘stapjes’ en als tussen die stapjes het scherpstelpunt ligt wordt de afdruk van je foto niet helemaal scherp.
Of zie ik dat verkeerd ??

Op 24 mei 2022 17:50:16 schreef Lambiek:
[...]
Dat zie je verkeerd denk, dit is een bestaand systeem.

Nee, het klopt wel wat picturemaker schrijft. Het is inderdaad een bestaand systeem maar in theorie kan het scherpstelpunt net tussen twee stapjes inzitten. Volgens mij zal het eerder zo zijn dat er een paar stapjes zullen zijn waarop het beeld scherp is.
Uiteindelijk druk je ook nooit af bij volle opening van het objectief, daardoor krijg je al een groter gebied wat scherp is.

Een probleem is er om opgelost te worden. Lukt dat niet dan heb je een feit.
Lambiek

Special Member

Op 24 mei 2022 19:50:14 schreef Toon60:

Nee, het klopt wel wat picturemaker schrijft. Het is inderdaad een bestaand systeem maar in theorie kan het scherpstelpunt net tussen twee stapjes inzitten.

Dat ligt er helemaal aan hoe je de besturing maakt, als je microstepping gebruikt kun je hele kleine stappen maken. Staat allemaal in het artikel dat ik geplaatst heb.

Jou stappenmotor doet 1.8 graden per stap, met de regeling die je nu hebt kun je halve stappen doen. Dan wordt het dus 0.9 graden per stap. En daar komt dan de vertraging nog bij. Maar dat kan nog veel kleiner als je microstepping zou gebruiken.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 24 mei 2022 21:32:06 schreef Lambiek:
Jou stappenmotor doet 1.8 graden per stap, met de regeling die je nu hebt kun je halve stappen doen. Dan wordt het dus 0.9 graden per stap. En daar komt dan de vertraging nog bij. Maar dat kan nog veel kleiner als je microstepping zou gebruiken.

Klopt, op dit moment doe ik hele stappen. Dat levert al een vrij kleine beweging op. Als dat voldoende is laat ik het hierbij. Zo niet, dan kan ik eerst de Half Step activeren en zien wat dat doet.

Nog een vervolgvraag, m.b.t. de voeding waar ik nu mee bezig ben.
Die wil ik 12V 5A maken i.v.m. de warmteontwikkeling in de regeling en het vermogen wat nodig is.
Met spullen die ik heb kan ik wel twee keer 3A maken. Die kan ik toch rustig parallel zetten met een flinke diode in serie?

Een probleem is er om opgelost te worden. Lukt dat niet dan heb je een feit.
Lambiek

Special Member

Ik weet niet wat voor voeding dat is, maar in principe moet dat gaan.

Maar zoveel vermogen heb je niet nodig denk, zo zwaar zijn je motoren niet.

Als je haar maar goed zit, GROETEN LAMBIEK.
Lambiek

Special Member

Op 24 mei 2022 16:57:42 schreef picturemaker:
Daar kun je beter een servomotor met een encoder voor gebruiken,volgens mij werkt dat veel nauwkeuriger.

Stel je hebt een encoder met 2000 streepjes en een A en B kanaal. Als je de op en neergaande flanken telt van de beide kanalen kom je op 8000 pulsen per omwenteling. 360:8000 = 0.045 graden per stapje. Normaal heeft een standaard encoder 512 of 1024 streepjes op de encoderschijf staan, hierboven is een reken voorbeeld.

Als je nu een stappenmotordriver neemt die microstepping doet en je stelt hem in op bijvoorbeeld 1/64 stap, dan krijg je 200 X 64 = 12800 stappen per omwenteling. 360:12800 = 0.028125 graden per stap. Dat is dus al veel preciezer dan een encoder met 2000 streepjes op de encoderschijf.

Maar je kunt nog verder met microstepping, sommige drivers doen 1/128, of 1/256 stap. Dat is dus nog preciezer.

Maar voor de TS, die komt met zijn besturing niet verder dan 0.9 graden per stap. En daarom wordt er al bijvoorbeeld een DRV8825 aangeraden door sommigen hier. Het is niet alleen makkelijker maar ook preciezer. Plus dat er een goede stroomregeling op zit, die de TS nu gebruikt heeft niet echt een goede strooregeling wat dat betreft.

Als je haar maar goed zit, GROETEN LAMBIEK.

D'r zijn mensen die zeggen dat je een 1.6Ncm stepper op 1:16 microstepping maar op 0.1Ncm mag belasten. Dat hoef je niet letterlijk te nemen, maar er zit wel wat in.

Zeggen dat je 0.02 graden per microstap nauwkeurigheid hebt is een beetje jokken. Je kan 0.02 graden stap proberen te commanderen en dat zou best wel eens in het systeem redelijk op die nauwkeurigheid kunnen uitkomen onder de juiste condities, maar zeker niet altijd.

Juiste condities is dat je "aan komt rijden" en dan 10000 of 10001 stapjes stuurt. Dan zou ie best wel eens ongeveer 1 stapje verder kunnen stoppen. Maar in de motor zit bij 256 steps microstepping en een 50% van de max-belasting zeker ongeveer 30 stappen hysterese als je van verschillende kanten aan komt zetten... (in de motor ! dus je mechanische systeem hysterese komt er nog bij).

Maar goed allemaal irrelevant als je bezig bent met "hij moet ongeveer 300 RPM draaien".

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Lambiek

Special Member

Op 25 mei 2022 13:15:53 schreef rew: Maar in de motor zit bij 256 steps microstepping en een 50% van de max-belasting zeker ongeveer 30 stappen hysterese als je van verschillende kanten aan komt zetten... (in de motor ! dus je mechanische systeem hysterese komt er nog bij).

Dat ben ik toch niet met je eens rew. Bij mijn cnc freesbank kan ik de assen bijvoorbeeld 100 X heen en weer laten lopen zonder dat de positie verloopt. Zoals jij het stelt zou je bij iedere beweging een verloop hebben.

En ik heb een systeem zonder encoders of een of andere vorm van terugkoppeling.

Als je haar maar goed zit, GROETEN LAMBIEK.

Dat verhaal dat je bij hoge micro stepping waardes weinig torsie hebt, is helemaal uit z'n verband gerukt.

Het is niet zo dat een stappenmotor bij hogere microsteppings minder koppel kan leveren. Hogere microstepping benadert alleen de ideale aansturing van de motor beter, en dat is (bij de meest gebruikelijke motoren) een sinus voor elk van de 2 spoelen, met een 90 graden fasse verdraaing er tussen.

Ongeacht de vorm van aansturing, als een stappenmotor stil staat, dan draait hij niet. De stand waarin hij stil staat is echter afhankelijk van het koppel dat de motor levert. Zonder koppel staat hij vrij dicht bij zijn "ideale" positie (vaak gespecificeerd met 5% tolerantie). Als je dan extern een koppel op de motor as zet, dan veert de motor altijd mee in het magnetische veld, en het maximale koppel wordt dan berijkt met een faseverschuiving van 90 graden tussen de magneetvelden van rotor en stator.

Dat lage koppel is dan een herleiding van het koppel dat de motor zou mogen leveren om nog binnen de toleranties te blijven die de hoge microstepping impliceert. Maar dat heeft niets te maken met wat de motor daadwerkelijk kan leveren.

Als je 256x microstepping gebruikt, en de motor een koppel levert van 50% van zijn maximale koppel, dan loopt te motor dus ongeveer 128 micro stapjes achter. (In werkelijkheidis het niet liniair, maar ongeveer sinus vormig).

Al jullie kritieken, opmerkingen en discussies neem ik me ter harte. Dank daarvoor.
Inmiddels ben ik zover dat er een praktijktest draait, waar ik redelijk tevreden mee ben.
Eerst heb ik een andere Agfa-Gevaert print omgebouwd. Deze heeft niet het probleem wat ik 13 mei noemde van de toenemende stroom. Nu kan ik de ruststroom beperken door de 20 Khz clock actief te houden en wanneer de motor draait de clock te stoppen. Dat gaat goed.
De stapgrootte heb ik op halve stappen gezet, dat leverde een betere regeling op. Bijkomend voordeel is dat de motor een stuk rustiger loopt.
De regeling laat nog wel iets te wensen over. Dat komt omdat er mechanisch een hysterese van 2 tot 3 stappen in zit en dat regelt niet prettig bij het scherpstellen. Daarvoor moet ik kijken of ik de tandwielen nog wat minder ruimte kan geven.
De voeding, gemaakt van wat ik in huis heb, met de Agfa-Gevaert print en motor zijn een heel gewicht wat nu als extra aan de lensplaat hangt en daar flink wat plaats inneemt. Het kan net, maar is niet fraai.
Dus stiekem, maar niet verder vertellen, heb ik nu toch maar een DRV8825 en een kleine 12V/4A voeding besteld.

Een probleem is er om opgelost te worden. Lukt dat niet dan heb je een feit.
Lambiek

Special Member

Op 27 mei 2022 20:14:07 schreef Toon60:
Dus stiekem, maar niet verder vertellen, heb ik nu toch maar een DRV8825 en een kleine 12V/4A voeding besteld.

Een verstandig besluit.

Als je haar maar goed zit, GROETEN LAMBIEK.

Ik vind een 12V voeding nogal aan de lage kant. Ik zou zelf 24V hebben gekozen. Maar de DRV8825 doet het tussen 8.2V en 45V dus je hebt nogal wat speling.

Het grootste verschil is de maximale snelheid waarmee je de motor kunt laten draaien. Als de motor begint te haperen bij hogere snelheden, dan is de voeding spanning te laag.

Die hogere spanning helpt vooral als je sneller wil kunnen draaien. Als dat geen beperking is van je systeem dan is een hogere spanning ook zinloos.

[Bericht gewijzigd door rew op 30 mei 2022 08:41:41 (38%)]

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 30 mei 2022 00:03:29 schreef Kortsluiting_Online:
Ik vind een 12V voeding nogal aan de lage kant. Ik zou zelf 24V hebben gekozen. Maar de DRV8825 doet het tussen 8.2V en 45V dus je hebt nogal wat speling.

Wanneer ik boven de 12 VDC kom wordt de dissipatie van de 7805 regelaar hoog (3 W bij 24 V) en moet ik fors gaan koelen. Ook worden boven de 12 VDC de driver en de stappenmotor veel warmer.
Daarnaast werkt de besturing met de huidige voeding al naar behoren en hoeft niet sneller te draaien.

Een probleem is er om opgelost te worden. Lukt dat niet dan heb je een feit.

Met je huidige stepper driver kan je niet ongestraft de spanning verhogen. Dat kan straks met de DRV8325 dus wel. Dan wordt driver en stepper daar niet warmer van. Als je 150mA nodig hebt, dan kan je beter een DCDC convertertje van een halve euro kopen dan een 7805.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Inmiddels met de DRV8825 aan de slag gegaan en een andere motor.
De eerste driver gelijk opgeblazen omdat ik de stapfrequentie aanstuurde met 5 Vrms en niet afgesloten met 50 Ω, wat resulteerde in 20 Vtt. Met 5 Vtt in 50 Ω gaat het beter.

27 Mei had ik het over de hysterese in het mechaniek, wat ik niet goed opgelost kreeg. Nu wil ik verdergaan met een motor met een veel fijnere vertanding, dat levert sowieso een kleinere speling op.

Daarvoor moet wel weer met tandwieltjes geknutseld worden. En een paar messing busjes op maat gemaakt. Met m’n Hobbymat draaibankje kan dat, maar er is nooit een fatsoenlijke set beitels bij geweest. En die dingen kosten grof geld. Maar ja, anders komt dit nooit af.

De maximale stapfrequentie lijkt rond de 500 Hz te liggen. Bij “Full step” moet de voeding dan 440 mA leveren, dat is mooi. Ga ik echter “Half step” draaien dan trekt het geheel 1,2 A en bij “1/32 step”
wordt dat 1,36 A. Dat is nogal.
Bij 250 Hz stapfrequentie “Full step” loopt er 1,0 A, 10 en 100 Hz trekken 1,25 A.
Bij 0 Hz staat de motor uiteraard stil, maar trekt wel 1,35 A. Dan loopt binnen 15 minuten de motortemperatuur op tot 50 °C en de driver met extra koeling tot 70 °C.
De stroom die bij stilstand loopt is nog wel een ding, want het spul staat meestal stil. Even bij het instellen draait het, maar bij het echte werk hoeft het alleen maar goed stil te blijven staan.
Een oplossing kan zijn gebruik te maken van de “Sleep mode”, want dan loopt er helemaal geen stroom. Dat betekent wel dat de motor dan vrij staat en z’n positie niet vasthoud. Bij “Reset” heb ik hetzelfde effect.

Dit zal in de praktijk geprobeerd moeten worden, want zonder motorsturing wordt deze instelling ook niet vastgehouden (kan wel, maar wordt nooit gebruikt).
Ook de stapfrequentie zal in de praktijk bepaald moeten worden evenals bij welke deelfrequentie de fijnregeling dan moet draaien, of beter met een lagere frequentie.

Een probleem is er om opgelost te worden. Lukt dat niet dan heb je een feit.
Lambiek

Special Member

Op 15 juni 2022 22:21:09 schreef Toon60:
Bij 250 Hz stapfrequentie “Full step” loopt er 1,0 A, 10 en 100 Hz trekken 1,25 A.
Bij 0 Hz staat de motor uiteraard stil, maar trekt wel 1,35 A. Dan loopt binnen 15 minuten de motortemperatuur op tot 50 °C en de driver met extra koeling tot 70 °C. De stroom die bij stilstand loopt is nog wel een ding, want het spul staat meestal stil.

Heb je al geprobeerd om de stroom lager te zetten? Dat kun je doen met de potmeter die links onderin op de DRV staat.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 16 juni 2022 09:19:22 schreef Lambiek:
[...]
Heb je al geprobeerd om de stroom lager te zetten? Dat kun je doen met de potmeter die links onderin op de DRV staat.

Ja, daar ben ik even mee doende geweest. Met het idee dat CCW draaien een reductie van de stroom moet opleveren. Dat was niet het geval. Niets meer mee gedaan omdat het spul er nogal fragiel uitziet. Je weet, ik stam nog uit de tijd van de houten transistoren.
Nu toch nog eens gekeken en het blijkt dat ik me op het verkeerde been heb laten zetten. Met CW draaien wordt de stroom blijkbaar beperkt. En dat gaat goed.
De stroombeperking kan ik instellen op 500 mA, waar de stappenmotor goed mee uit de voeten kan, ook in “1/32 step” mode. Onder belasting moet nog blijken wanneer het mechaniek op orde is.
Nu heb ik ook de overtuiging dat de verhouding tussen twee snelheden prima te maken is met "Full step" en een van de deelsteps die voorhanden zijn. De absolute snelheid kan dan met de stapfrequentie bepaald worden.

Kan het omschakelen van de looprichting en stapgrootte straffeloos gebeuren wanneer de motor loopt? Tot nu toe doe ik dat niet onder voedingsspanning, uit voorzichtigheid.

Een probleem is er om opgelost te worden. Lukt dat niet dan heb je een feit.
Lambiek

Special Member

Op 16 juni 2022 15:57:34 schreef Toon60:
Kan het omschakelen van de looprichting en stapgrootte straffeloos gebeuren wanneer de motor loopt?

Als hij niet al te snel draait kan dat wel, er gaat niets stuk er kunnen alleen wat stappen gemist worden.

De stroom kun je het beste instellen onder belasting, net zo lang verstellen tot hij stappen mist en dan zet je de stroom iets hoger.

Voorzichtig verdraaien het reageert erg snel.

Als je haar maar goed zit, GROETEN LAMBIEK.