GRBL Arduino Nano Blocco motori stepper

Sezione dedicata all'elettronica di controllo cnc.
Rispondi
Avatar utente
hellfire39
God
God
Messaggi: 3790
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da hellfire39 » venerdì 16 agosto 2024, 17:59

Guarda che se tu dici una cavolata e poi ti offendi se te lo fanno notare, il problema è tuo.
Per altro, il flame parte quando uno, invece di ribattere con argomentazioni logiche lancia insulti.

Non definirei proprio un flame correggere una cavolata. A mio avviso, un dibattito che rimane sul piano delle argomentazioni tecniche è sempre positivo.

Mi cito, non mi pare proprio che questo possa essere definito l'inizio di un flame:
Avrei dato lo stesso consiglio, abbassare i micropassi che sono troppo alti, ma non per il tipo di motore.
Quel motore, come tutti gli altri non ha nessun problema ad essere pilotato con micropassi alti.
La ragione per cui avrei consigliato di abbassare i micropassi è perché grbl fa fatica (o non riesce proprio) ad emettere una frequenza molto elevata. E con 32 micropassi hai 6400 impulsi/giro.
Abbasserei anche l'accelerazione, meglio partire con valori bassi, tipo 10 o 20 mm/s^2 e poi alzarla progressivamente in modo da trovare il limite.
Certo che motori nema17 alimentati a 12V non sono proprio il massimo per una CNC!

Avatar utente
maufedro
Senior
Senior
Messaggi: 904
Iscritto il: lunedì 15 giugno 2020, 11:38
Località: Praia do Frances Brasil

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da maufedro » sabato 17 agosto 2024, 0:20

Vediamo di fare chiarezza:
Nella foto che ho postato il costruttore dichiara 1900 pps il simbolo che sta davanti vuol dire uguale o minore.
Se dichiara quel valore è perchè con valori più alti la coppia diventa insufficiente e tende a 0 e non credo che sia un masochista
La prova a vuoto non è indicativa, io ho testato quei motori con 400 e 1600 micropassi a 100000 Hz e ho raggiunto 1500 e 950 giri con coppia 0,
questo per pochi secondi per non danneggiarli in quanto la temperatura saliva velocemente.
Alimentazione a 24 V.
Naturalmente partendo da una frequenza bassa in modo da prendere la velocità.
Parliamo della prova su cnc con viti passo 4 mm:
Ho settato i driver a 400 micropassi impostando la velocità massima a 1500 mm/minuto che corrisponde a una frequenza di 2500 Hz e va tutto bene.
Se setto i driver a 800 micropassi e lascio la velocità a 1500 mm la frequenza necessaria diventa 5000 Hz oltre le specifiche del motore, coppia 0 o quasi e perdita di passi. Per mantenere gli 800 micropassi dovrei ritornare a una frequenza di 2500 Hz e avrei una velocità massima di 750 mm/minuto.
Stessa cosa se imposto la velocità a 3000 mm/minuto anche con 400 micropassi andrei fuori dalle specifiche.
Questo con quel tipo di motore, se hai un motore che ha 10000 pps e ce ne sono, chiaramente i calcoli cambiano.
Ulteriore prova di quanto affermo è il fatto che ho dovuto sostituire i driver 2209 che erano arrivati con il DLC32-TS35 e che hanno come minimo 1600 micropassi, con gli a4988 settati a 400 perchè i motori proprio non giravano.

Avatar utente
hellfire39
God
God
Messaggi: 3790
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da hellfire39 » sabato 17 agosto 2024, 12:40

Io vedo tanta confusione, altro che chiarezza.
Iniziamo dalle basi: il simbolo dopo la scritta "no-load operating frequency" è un maggiore o uguale. Questo non è discutibile.
(https://www.youmath.it/lezioni/algebra- ... zioni.html)
La discussione potrebbe già terminare qui!

Il significato è altrettanto chiaro: Io, produttore, ti dichiaro che la frequenza massima operativa a vuoto (a passo intero, santi numi!) è maggiore o uguale di 1900 pps.
E quindi si tratta di un limite minimo garantito.

Continui a focalizzarti su dettagli, da te interpretati in modo creativo ma continui a non fornire una spiegazione scientifica che possa giustificare il comportamento che descrivi.
Se setto i driver a 800 micropassi e lascio la velocità a 1500 mm la frequenza necessaria diventa 5000 Hz oltre le specifiche del motore
Forse non ti sei accorto che, anche impostando il driver a 800 micropassi, il motore continua ad avere 200 passi, non 800. Dunque, la frequenza che vedono gli avvolgimenti del motore è sempre 1250 Hz. È sempre e solo il driver a vedere 5000 pps.

-----------

Fino a prova contraria, anche la prova a vuoto è significativa: in base al tuo ragionamento (e al fatto che utilizzi una formula i cui i micropassi moltiplicano o dividono) il fattore "micropassi" ha un effetto proporzionale e quindi non può non intervenire anche nel caso di carico nullo (che poi nunnlo non è, ad essere pignoli).
È matematica di base, non è che la formula può essere valida solo quando ti pare.

----------

Ma non demordo: non ti vanno bene le prove a vuoto? Ho fatto la prova sotto carico! (https://youtu.be/OjZ_bFDmNLs)
Ho collegato il motore ad un asse (motore nema17, controller esp32, driver DRV8825, Tensione = 12V).
Ho programmato un movimento con rampa di accelerazione e decelerazione.
Ho impostato 1/4 di passo sul driver.
Ho trovato una velocità che fosse abbastanza alta per il quale il motore si muovesse senza problemi con l'asse in orizzontale (circa 6250 pps).
Ho iniziato ad inclinare l'asse per trovare una posizione in cui il motore stallasse.
Ho ripetuto la stessa prova con il driver impostato a 1/16 (25000 pps) e 1/32 (50000 pps) impostando lo schetch in modo che l'asse si muovesse con la stessa velocità e accelerazione.
Ho verificato con un analizzatore logico che la frequenza di uscita fosse quella impostata.
Purtroppo, non ho potuto prendere in prestito in laboratorio una sonda di corrente per visualizzare le forme d'onda.
Guarda caso, il motore stallava con la stessa inclinazione (e quindi con la stessa coppia) in tutti e tre i casi.

Te lo ripeto:
  • non c'è una giustificazione fisica a ciò che affermi.
  • il motore non ha nessuna specifica "di frequenza massima" legata al micropasso. L'unica frequenza che conta è quella del segnale che arriva agli avvolgimenti, che non cambia con il micropasso!
  • la logica dice che basta un un esempio negativo ad invalidare una teoria, mentre non è vero il contrario: non sono sufficiente neanche mille casi positivi per renderla vera. Ti ho dato l'esempio negativo: la tua teoria non funziona, punto!
  • la tua teoria si scontra con i più moderni driver che lavorano a 256 micropassi (tutte volpi alla Trinamic, o alla Analog, che sembra averli acquisiti?)
  • dopo l'upgrade, la mia stampante ha i TMC2209 e va come una viola! Ho impostato anche una corrente più bassa di quanto era prima con i DRV8824 o prima ancora con i A4988. Prima scottavano, adesso son appena tiepidi. E ho impostato accelerazioni e velocità molto più alte di prima.

Avatar utente
maufedro
Senior
Senior
Messaggi: 904
Iscritto il: lunedì 15 giugno 2020, 11:38
Località: Praia do Frances Brasil

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da maufedro » sabato 17 agosto 2024, 13:16

Foto della mia prova:
foto prova.JPG
Ad ogni frequenza impostata corrisponde esattamente al valore calcolato con la formula
Ad ogni raddoppio di frequenza corrisponde un raddoppio dei giri e viceversa, non potrebbe essere altrimenti.
Il grbl è un software e non ha problemi di quei valori di frequenza e tantomeno l' ATMEGA328P anche se è a 8 bit
Volevo allegare il pdf del documento ma non è permesso, comunque si può trovare sul sito VURTZMotors
Io ho postato documenti che puoi trovare su internet tranquillamente e non invento niente, uso quello che è scritto e faccio prove pratiche facendo costruzioni che chiunque può verificare, sono a disposizione.
Tu non hai postato nessun documento, ma solo chiacchiere.
Per quanto riguarda il maggiore o minore ho sbagliato, ma resta il dato 1900 pps e eventualmente qualcosa in più
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

Avatar utente
hellfire39
God
God
Messaggi: 3790
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da hellfire39 » sabato 17 agosto 2024, 15:56

È ora di finirla:
- se confondi un maggiore uguale con un minore uguale, fatti qualche domanda su tutto il resto;
- il limite dei 1900 pps esiste, sono d'accordo, ma il significato non è quello che pensi tu (è riferito al passo intero!);
- tu hai formulato una teoria, tuo l'onere di dare una spiegazione fisica al fenomeno.
- io ti ho portato argomentazioni scientifiche, se non le capisci, è un problema tuo, ma non le puoi derubricare a chiacchiere.
- il motore NON VEDE I MICROPASSI, come può esserne influenzato?

Sugli screenshot dei documenti che hai postato non c'è scritto assolutamente quello che intendi tu. Hai preso delle tabelle a caso e le hai violentate per fargli dire quello che vuoi. Ma neanche una frase, scritta, inequivocabile, che affermi quanto dici.

Ignori la fisica: il fenomeno che descrivi non ha basi sulla fisica dei motori.
Ignori la logica: ti ho fornito una prova che smentisce la tua tesi. La tesi è sbagliata.

Non capisci gli argomenti che ti ho fornito? Va beh, potrebbero essere troppo tecnici per te.
Allora prova un'altra strada: visto che parli l'inglese meglio di me, traducimi questi, soprattutto quel "without sacrifice in top speed":
Microstepping has two principal benefits: it provides increased resolution without a sacrifice in top speed, and it provides smoother low speed motion.
Fonte: https://dovermotion.com/resources/motio ... 0mm%20lead

oppure questo:
Microstepping increases the accuracy, torque, energy efficiency, and smoothness of stepper motor applications while at the same time reducing step loss, vibrations, and noise. Stepper motor drives can be controlled with a sinusoidal current waveform by dividing full steps into smaller microsteps to achieve the utmost precision and smooth movement.
Fonte: https://www.analog.com/en/lp/001/optimi ... pping.html

oppure questo:
In many applications microstepping can increase system performance, and lower system complexity and cost,compared to full- and half-step
driving techniques. Microstepping can be used to solve noise and resonance problems, and to increase step accuracy and resolution
link: https://users.ece.utexas.edu/~valvano/D ... rostep.pdf

Tutti tonti questi produttori! Contattali, magari spieghi pure a loro come funzionano i motori.


Rassegnati: i problemi legati all'aumento dei micropassi che troverai in letteratura sono legati all'aumento di frequenza (limite per controllore e driver, ma non per il motore) e all'inutilità di aumentarlo a dismisura nel tentativo di aumentare la risoluzione.
Non troverai un articolo scientifico che sostenga la tua tesi perché va contro le leggi della fisica.

P.S. se volevi postare questo:
https://vurtzmotors.com/wp-content/uplo ... _EN_V1.pdf
THE MOTOR SPEED (RPM) VARIES ACCORDING TO 3 VARIABLES, STEP/REV (AMOUNT OF STEP TO COMPLETE 1 LAP), PPS (PULSES PER SECOND) AND THE TYPE STEP OF DRIVER, BEING FULL STEP (1/1), HALF STEP (1/2) AND MICROSTEPPING (1/4, 1/8 AND 1/16). THE SPEED (RPM) CAN BE CALCULATED WITH THE FOLLOWING EQUATIONS
Ritraduciamolo insieme:
La velocità del motore varia in base a tre variabili (sottolineo variabili, non costanti), step/rev (il numero di passi per completare un giro), pps (impulsi per sec) e la configurazione del driver (full step, 1/2 step, ...).
La velocità può essere calcolata con le seguenti formule:
[segue formula]

Mi dici dove caspiterina è scritto che PPS è una costante e, per giunta, la costante che indichi tu?
L'interpretazione è molto più semplice: stabilisci due di questi tre valori per calcolare il terzo.
Segue la classica formula per ricavare gli rpm in base agli altri due.

Frankq
Newbie
Newbie
Messaggi: 41
Iscritto il: venerdì 10 luglio 2015, 11:04
Località: Pistoia

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da Frankq » sabato 17 agosto 2024, 17:30

Buona sera a tutti.
Come avevo già scritto, ho abbassato i microstep a 1/4 e l'accellerazione di conseguenza.
Mi sono reso conto che, qualunque fossero i microstep impostati, il motore girava a passo intero.
Dopo varie invocazioni al mio santo protettore sono andato a vedere lo schema elettrico di CNC Shield V4 (quello in esame) CNC Shield V3
( per Arduino UNO) e Ramps 14 per Mega 2560; in tutti e tre il ponticello dei micropassi mette ad HIGH il piedino relativo del driver DRV8825
Vado a misurare la tensione su CNC Shield V4 = 0
Monto CNC Shield V3 con Arduino Uno, carico GRBL, connetto la CNC, i motori girano e i ponticelli connettono il driver a +5V

La CNC Shield V4 che ho comprato online dal cinesino è sbagliata i ponticelli mantengono il driver a LOW.
In un minuto ho collegato un filo tra +5V e il piedino del DRV8825 impostando 1/4 e adesso funziona il carrello si sposta della misura prevista.

Adesso con un Dremel taglio i 3 collegamenti incriminati e li collego al +5V

Per me questo post è chiuso se volete info messaggio privato
Franco

Avatar utente
MauPre75
Senior
Senior
Messaggi: 2988
Iscritto il: venerdì 1 dicembre 2017, 14:43

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da MauPre75 » sabato 17 agosto 2024, 18:00

Frankq ha scritto:
sabato 17 agosto 2024, 17:30
Per me questo post è chiuso se volete info messaggio privato
Questo non è corretto :lol: le info vanno condivise per lasciare traccia per il prossimo.
Non ho mai provato questi driverini, se ne hai la necessità in futuro usa dei driver esterni dove tutte le regolazioni sono con gli switch ed è più facile configurare correttamente.

Avatar utente
hellfire39
God
God
Messaggi: 3790
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da hellfire39 » sabato 17 agosto 2024, 18:22

Per curiosità, puoi postare lo schema elettrico della CNC Shield V4?

barik
Junior
Junior
Messaggi: 146
Iscritto il: domenica 4 agosto 2019, 13:25
Località: Jesolo (VE)
Contatta:

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da barik » sabato 17 agosto 2024, 20:48

Scusa hellfire39 vorrei aproffittare della tua conoscenza perche nello specifico ho un dubbio su motori passo passo con encoder e suo relativo driver particolare.
In pratica se non riescono a fare il giusto spostamento vanno in allarme ma lo fanno istantaneamente o si danno un tempo per riuscire (con nuovi impulsi) a raggiungere l'obiettivo cioe ci riprovano grazie e solo una curiosita che anche cercando non sono riuscito a trovare spiegazioni grazie

Frankq
Newbie
Newbie
Messaggi: 41
Iscritto il: venerdì 10 luglio 2015, 11:04
Località: Pistoia

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da Frankq » sabato 17 agosto 2024, 21:08

hellfire39 ha scritto:
sabato 17 agosto 2024, 18:22
Per curiosità, puoi postare lo schema elettrico della CNC Shield V4?
V4
https://electronoobs.com/eng_arduino_tut168_sch1.php

V3
https://win.adrirobot.it/arduino/cnc_sh ... shield.htm

Avevo acquistato questa scheda per alimentare i driver a 24V, ma vedendo il PCB non sono convinto

Ganesh
Member
Member
Messaggi: 546
Iscritto il: giovedì 8 dicembre 2022, 18:54

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da Ganesh » sabato 17 agosto 2024, 21:21

Ciao Barik, qualcosa posso dirti io perché mi sono documentato volendo acquistare. Si, se restano indietro l' encoder se ne accorge e vengono inviati ulteriori impulsi dal driver fino a ritornare a pari.
Ho cercato di capire meglio il discorso dell'allarme. Da quello che ho capito quando la perdita di passi è eccessiva , in termini di tempo e non di posizione da quanto ho capito, l' encoder lancia un segnale di allarme. Da quello che ho capito se hai collegato il filo in questione puoi programmare che la macchina vada in blocco (sempre se hai una scheda decente che abbia il PIN adatto, sennò ti attacchi). Se si è molto smanettoni si può, con l'apposito cavo che alcuni produttori tipo stepper online includono, collegare al PC e modificare i parametri di allarme.
Ci sono molti video in inglese sul YouTube dove mostrano come l' encoder vada a recuperare i passi che non ha eseguito (ovviamente inviando nuovi impulsi). Per questo il closed loop viene spesso pubblicizzato come un motore che elimina la perdita di passi. Ma si parla sempre di piccole correzioni. Non sono riuscito a capire se per esempio bloccando completamente il motore l' encoder possa andare in allarme e fermarsi da solo. E non ho trovato video che affrontano tale circostanza.
Prendi tutte queste info con le pinze e tieni conto che sono valide per i closed loop economici tipo stepper online.
https://youtu.be/OPgbm81q8Uk?si=Ho3AtE7rZenUm3CW

In questo video parla del segnale di allarme che viene lanciato quando l' encoder vede una perdita di passi e non riesce a rimettersi in pari
https://youtu.be/SoRdEAm1auk?si=II-Ma-z8V_yB25mG
L’imperfezione è bellezza, la pazzia è genialità, ed è meglio essere assolutamente ridicoli che assolutamente noiosi.
(Marilyn Monroe)

Ganesh
Member
Member
Messaggi: 546
Iscritto il: giovedì 8 dicembre 2022, 18:54

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da Ganesh » sabato 17 agosto 2024, 22:09

L'ultimo video che ho postato è più completo. Quel particolare modello va in allarme se perde oltre un quarto di giro, quindi poco meno di 70 passi. Prima di ciò continua ad inviare impulsi per tornare nella posizione corretta. Ma quando va in allarme non fa altro che chiudere il circuito dei pini di allarme, non credo che vada da solo in blocco. E la scheda che vedendo l'errore si blocca se hai collegato i fili.
Io me lo sono guardato con il traduttore automatico ed è abbastanza chiaro.
L’imperfezione è bellezza, la pazzia è genialità, ed è meglio essere assolutamente ridicoli che assolutamente noiosi.
(Marilyn Monroe)

Avatar utente
MauPre75
Senior
Senior
Messaggi: 2988
Iscritto il: venerdì 1 dicembre 2017, 14:43

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da MauPre75 » sabato 17 agosto 2024, 23:27

Se si lascia perdere così tanti passi si può buttare il lavoro.

Frankq
Newbie
Newbie
Messaggi: 41
Iscritto il: venerdì 10 luglio 2015, 11:04
Località: Pistoia

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da Frankq » domenica 18 agosto 2024, 6:07

Ciao,
Permettetemi di fare una riflessione su alcune affermazioni all'interno di questo post. Una ditta italiana di elettronica che pubblica anche una rivista a cui sono abbonato ultimamente ha pubblicato un articolo su una scheda controller per una CNC. Questa scheda utilizza Arduino Nano, driver DRV8825 , il firmware GRBL e i motori stepper, alimentati a 12V, sono gestiti con 32 micropassi che sono fissi e portati HIGH tramite una resistenza a +5V

La scheda viene venduta montata e funzionante

Buona domenica a tutti
Franco

Avatar utente
hellfire39
God
God
Messaggi: 3790
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: GRBL Arduino Nano Blocco motori stepper

Messaggio da hellfire39 » domenica 18 agosto 2024, 9:28

Riguardo gli stepper closed-loop, non li ho mai utilizzati, ma, essendo configurabili, spero bene che errore angolare per cui andare in allarme sia configurabile anch'esso. Personalmente lo configurerei a circa l'80% del passo, se possibile.

Rimane un fatto: non fanno miracoli, se si forza il motore oltre il suo limite avrai comunque problemi. Certo, molto meglio fermarsi in allarme che proseguire in una posizione sbagliata.

Un loro grosso vantaggio, rispetto agli open-loop è la capacità di dosare la corrente. Nei driver open-loop tu imposti la corrente e il driver cerca di mantenerla costante a prescindere dal bisogno attuale di coppia.
I driver closed-loop, avendo un feedback di posizione, possono variare la corrente in base alla necessità del motore.
Questo significa motore più freddo e meno consumo inutile di corrente.

Rispondi

Torna a “Elettronica CNC”