Sari la conținut
ELFORUM - Forumul electronistilor

Functionare stepper driver la Frecvente Joase...


Vizitator Sorin99

Postări Recomandate

Vizitator Sorin99

Salut,

 

Am urmatoarea problema: Am testat 2 drivere si amandoua produc acelasi comportament bizar. 

Le-am configurat in modul microstepping (64x) si le-am alimentat cu pulsuri de frecventa relativ mica 100-200Hz.

Spre surpriza mea motorul pas cu pas merge neuniform. Merge bine cei 64 de micro-pasi si apoi face o mica pauza si tot asa. La fiecare 64 de micro-pasi apare o oprire de durata mai mare (decat perioada pulsurilor). As fi atasat un mic video insa se pare ca nu e permis upload-ul pt filme.

 

Intrebare: a mai auzit cineva de asa ceva?

Rugaminte pentru oricine are un sistem functional de driver + motor si caruia nu i-ar fi greu sa testeze: ar putea cineva sa incerce daca si la el in aceste conditii apare aceeasi problema? 

 

Multumesc

Link spre comentariu
Vizitator Sorin99

Impulsurile le dau dintr-un Arduino Uno. Dar nu cred ca el e de vina, caci e doar un timer configurat sa genereze pulsuri la o anumita frecventa.

Si apoi neuniformitatea aceea apare tocmai la fiecare pas intreg. Daca setez microstepping-ul la 32 - la fiecare 32 micropasi apare o latenta. Daca il setez la 64 - dupa 64 de micropasi apare acea latenta. Si tot asa. Ar fi o coincidenta tare bizara ca generatorul de pulsuri "sa stie" ce microstepping am setat in driver. 

La viteze mai mari fenomenul nu mai e sesizabil, dar asta nu inseamna ca nu este de fapt acolo. Daca as avea un osciloscop as putea verifica mai bine, dar nu am. Astfel ca ma intreb daca e de vina motorul sau driverele.

Link spre comentariu
  • 2 luni mai târziu...

sa sti ca si eu am sesizat ceva similar la toate driverele si motoarele pas cu pas pe care le am. dar acest fenoment nu se intampla la orice frecventa. si eu folosesc mach3 + pc pe post de generator de semnal. 

Link spre comentariu
  • 6 luni mai târziu...

http://www.micromo.com/microstepping-myths-and-realities

 

la 64 micropasi, cuplul pe micropas este de 2,45%, la 32 micropasi 4.91%

cu cat se "aduna" un numar mai mare de micropasi, driverul creste curentul pe infasurarile motorului si motorul incepe sa se roteasca, am putea spune ca motorul pierde micropasi. asa ca nu mai calculati precizia in functie de acesti micropasi, vedeti graficul din link!

Link spre comentariu

Totusi eu ma intreb, daca cele mai multe motoare au 1.8° pe pas, la 64micropasi unghiul pe micropas ar fi 1.8/64=0.028°, adica mai putin de 1.7' de grad.

Daca motorul pierde cativa micropasi, practic 1 zecime de grad sau ceva de ordinul asta, cum reusesc colegii de mai sus sa isi dea seama ? Ar trebui pe axul motorului sa aiba un brat destul de lung, astfel incat rotatia sa fie foarte vizibila la nivel de micropas. Ma astept ca pierderea de pasi sa fie ceva mai mare.

O corectie mica... la valorile prezentate in procente: nu este vorba de cuplul pe micropas ci de variatia cuplului pe micropas. Oricum aceasta valoare este cuplul cu care motorul invinge frecarile interne si incarcarea externa deci aceasta valoare conteaza destul de mult fata doar de cuplul total, care este definit ca si cuplu de mentinere si nu de rotatie. Aceasta valoare nu este constanta pe durata unui pas deoarece micropasii ar trebui sa formeze o sinusoida nu un semnal triunghiular. Variatia cuplului pe micropas are tot o forma sinusoidala. (sinus derivat este cosinus deci tot sinusoidal). Variatia este minima la maximum de cuplu si maxima la minimum de cuplu.

Colegul din primul post utilizeaza 64 micropasi, deci daca driverul este resetat inainte de inceperea comenzii, pornirea se face cu cuplu minim, dar variatia maxima, dupa 64 micropasi am fi cam in acelasi loc, adica la inceputul sinusoidei (de chopping), iarasi cu cuplu minim si variatia maxima, si daca curentul de chopping este bine reglat, atunci micropasii ar fi cel mai usor de remarcat. Este curios cum se pierd micropasi exact la momentul variatiei maxime a cuplului.

Pe de alta parte, nu inseamna ca la momentul zero nu este curent prin motor. La momentul zero o infasurare functioneaza la maxim de curent, iar prin cealalta curentul este zero. La primul micropas, curentul prin prima scade putin si creste in a doua, astfel ca suma lor vectoriala ar trebui sa fie constanta, practic curentul ar fi ceva de tipul i*sin(unghi micropas) si prin cealalta i*cos(unghi micropas) - (definim unghi micropas 2*pi*nr.micropas_curent/nr_total_micropasi), deci niciodata curentul nu ar fi zero deci nu ar trebui sa piarda pasi. Faptul ca pierde cativa micropasi nu o vad ca o catastrofa deoarece micropasii nu au scopul de a mari la infinit rezolutia, ci de evita pierderea de pasi, datorata unei acceleratii prea mari de exemplu la pornirea de la zero la o viteza de rotatie mare.

 

Comandand un motor in mod microstepping, zgomotul ar trebui sa scada nu sa creasca deci problema ar putea consta in curentul de chopping reglat incorect sau intr-o combinatie nefericita de frecvente chopping/stepping.

 

O alta cauza ar putea fi bouncing-ul la semnalul de intrare pentru step.

 

Eu as anula microsteppingul si as verifica daca problema ramane. Cand apare acea pauza, motorul este fix sau poate fi rotit cu mana ?

Cum se poate  "vedea" pierderea catorva micropasi ? Cu un brat lung ? Daca pierde cativa micropasi si nu un pas intreg, atunci nu vad care este problema...

 

P.S.1. Un osciloscop pe chopping ar clarifica aproape tot.

P.S.2. Clonele chinezesti ale circuitelor de la Allegro ar putea avea probleme, deoarece microsteppingul este generat de o tabela (o retea de rezistente citita de un comutator electronic) si daca aceasta este prost implementata atunci poate aparea problema descrisa. Va asigur ca circuitele originale de la Allegro merg bine si nu au astfel de probleme, in plus nu au nevoie de radiatoare cum au nevoie cele chinezesti.

 

Oricum problema era de anul trecut si nu era descrisa cu claritate, practic multi spun "am schimbat driverul", dar nu spun ce driver au schimbat si cu ce.

Am intrebat ce drivere au fost testate dar nu am primit raspuns. 

Practic au cumparat 2 drivere chinezesti exact la fel si au substituit pe unul cu celalalt...

Editat de one
Link spre comentariu

corect, pe scurt pe intelesul tuturor:

 

se ia un driver setat sa execute 64 micropasi pe 1.8°, cuplul la un micropas este de circa 2%, cuplul la 32 micropasi (resp. echivalent cu 1/2 pas ) este de 70%, Cu cat se cumuleaza mai multi micropasi, driverul creste curentul pe infasurari si prin urmare si cuplul. deci dupa finalizarea unui pas complet, la primii n micropasi, cuplul nu este suficient de mare pentru a invinge frecarile resp. pt. a realiza o rotatie corespunzatoare a motorului. in momentul in care creste se cumuleaza mai multi micropasi, suficienti incat sa se invinga frecarile, motorul va incepe sa se miste. la turatii mari, fenomenul nu este sesizabil datorita inertiei sistemului

Link spre comentariu

Asta nu explica de ce problema apare la fiecare rotatie, desi motorul se invarte deja. 

La fiecare 64 de micro-pasi apare o oprire de durata mai mare (decat perioada pulsurilor)

Link spre comentariu

din postul initial, eu am citit urmatoarea afirmatie "Spre surpriza mea motorul pas cu pas merge neuniform. Merge bine cei 64 de micro-pasi si apoi face o mica pauza si tot asa" adica problema apare la fiecare pas complet, aici imi dau cu parerea pt. ca neavand sistemul in fata nu pot face nicio afirmatie documentata.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări