problema nema 17 pololu 8825

Ciao a tutti
Mi sto cimentando nella costruzione di una stampante 3D e sto verificando il funzionamento dei 5 pololu 8825 comprati con due motori nema 17.
Per ora ho provato con un nema 17PM-k103 che ha una corrente di 1.2A per fase quindi dentro a pieno con gli 8825.
Utilizzo un arduino mega collegato alla pololu e all atto di provare il tutto lo sketch sembra fare quello per cui è programmato ma il motore fa rumore inoltre nei casi di:

full step
1/2 step
1/4 step

vibra ma non si muove mentre per:
1/8 step
1/16 step
1/32 step

non ce problema, anzi passando da 1/8 a 1/4 gira anche a 1/4 senno vibra solo.
Presumo ci sia qualcosa da calibrare ma prima di mettere mani sul trimmer e bruciare tutto volevo capirne un po di piu.

allego lo sketch molto barbaro :smiley:

grazie in anticipo

controllo_stepper_pololu_8825.ino (1.59 KB)

Ciao, segui il datasheet per regolare la Vref

Per lo sketch di prova io utilizzerei la libreria Accelstepper che gestisce anche le rampe di accelerazione. Qui altre info sulla libreria

Aveevo gia trovato questo datasheet ma il mio motore assorbe 1.2A con 3ohm e secondo la formula sul datasheet dovrei avere

Vref=I5R=1.253=18V

che come Vref mi sembra elevata :o

sei sicuro sia 3 ohm la resistenza? i miei driver ad esempio hanno 0.1 ohm

Mi viene il dubbio di aver letto male, quella R nella formula non è la resistenza di ogni fase del motore? E se non è quella che resistenza è?

La resistenza è quella di riferimento montata sulla scheda driver, non ha nulla a che vedere con la resistenza delle fasi del motore.
Per sapere la corrispondenza tra la tensione che imposti col trimmer e la corrente devi sapere il valore della resistenza montata sul driver, tipicamente 0.1 ohm.
Solitamente i produttori delle schede indicano questo valore o danno direttamente una costante da moltiplicare con la Vref per ottenere la corrente, p.e. nel caso dei driver Pololu la corrente è pari a Vref x 2.

Quindi con il mio 8825 devo impostare Vref tale che la corrente massima richiesta dal motore sia pari a Vref per 2 ovvero

Imotore=Vref×2

Giusto?

Se la tua scheda è una Pololu I = Vref x 2

Si esatto. Quel 2 è infatti il valore di 1/(5*0.1) ossia quello ottenuto dalla formula presente sul datasheet con Risense di 0.1 ohm. Per sicurezza verifica che la R sia effettivamente di 0.1ohm

impostando coma de formula Vref=0.6V perdo anche gli step a 1/32 e 1/16 a volte,
come misuro R??

Leggi il codice stampato sulla resistenza oppure con un multimetro. Stai utilizzando il tuo codice o la libreria Accelstepper?

io leggo due resistenze R100
sto usando il mio sketch ancora

Allora è corretto 0.1 ohm, vedi qui

Usa la libreria, gestisce le accelerazioni e sei più sicuro che non sia un problema di codice se perdi passi

Lo sketch che stai usando per provare non va bene, usa la libreria AccelStepper, come ti è stato suggerito, per fare le prove, sopratutto usa valori di accelerazione compatibili con i motori che stai usando, direi non meno di 0.3 secondi per passare da zero a 1000 step/sec.

Ho iniziato ad usare come da voi indicatomi la libreria AccelStepper, una cosa sola non capisco di tale libreria, ovvero io vorrei realizzare un programma che in base al valore dato imposta full step, 1/2 step eccetera fino a 1/32 step, ma quando cambio tale impostazione dei pin M0 M1 e M2 devo settare io un accelerazione consona o ce una funzione di libreria che lo fa? e la stessa domanda me la sono posta per il tempo tra uno step e l'altro

sapreste illuminarmi?

Direi che devi adeguare il valore di accelerazione al tipo di pilotaggio perchè non mi sembra che la libreria lo faccia. Di fatto Accelstepper non sa a che livello di microstep stai pilotando il motore

E quindi devi impostare io un accelerazione, ma come faccio a conoscere l'accelerazione ottimale per un passaggio di velocita da 0 a 100 gradi al secondo o da 50 a 100?
Ho sparato valori casuali di velocita

L'accelerazione dipende dall'inerzia del carico applicato. Puoi scervellarti e provare a calcolare tutto oppure fare prove pratiche e vedere fino a che punto il motore non perde passi. Per il momento i miei motori hanno girato solo a banco quindi molte dritte di tipo pratico non sono in grado di dartele.

Qui qualche formulina

In ogni caso, siccome stai progettando una stampante 3D, prova a cercare nei forum dedicati perchè sicuramente di accelerazione se ne parla

Ti ringrazio vedro di provare e in caso positivo scriverò qui che non penso di essere l'unico che cerca una soluzione precisa e in italiano