Problema con motore passo -passo su kit Elegoo di Arduino.

Progetti Arduino
Rispondi
Guido
Messaggi: 1443
Iscritto il: dom 18 mar 2018, 20:21

Problema con motore passo -passo su kit Elegoo di Arduino.

Messaggio da Guido »

Buonasera, e' un problema di comprensione che riguarda il motore stepper in se stesso, ma dato che capita piu' spesso al giorno d'oggi che questo motore sia maneggiato da chi programma su Arduino ho scelto questa sezione, infatti sto montando tutti i programmi di un kit Elegoo del clone di Arduino MEGA 2560.
ma c'e' una cosa che non capisco nel programma per la gestione del motore passo passo, che mi interessa particolarmente.
Ho collegato ai quattro fili che vanno al motore le quattro sonde del mio oscilloscopio per capire come e' questa benedetta sequenza di impulsi che gestisce i motori stepper.
Nel manuale della Elegoo viene mostrata una tabella che dovrebbe mostrare la sequenza degli impulsi, ma e' completamente diversa dall'oscillogramma che ottengo.
In particolare nella tabella ogni impulso sembra che sia diivisibile in tre parti, ed infatti l'impulso successivo sembra che inizi nell'ultimo terzo dell'impulso precedente, cosicche' due impulsi sono entrambi positivi per 1/3 del ciclo.
Gli oscillogrammi invece mostrano che l'impulso successivo compare quando l'impulso precedente e' al 50% del suo ciclo, e quindi si accavallano per 1/2 ciclo.
Ho messo le schermate degli impulsi nella rotazione in senso orario (indicata nel codice con"counterclockwise" che si dovrebbe tradurre con "antioraria" ma in realta' l'asse gira in senso orario) e antiorario, ed aprendo le figure contemporaneamente in un programma di grafica si vedono le differenze tra le due modalita'.
Qualcuno mi saprebbe spiegare la questione 1/3 -1/2 ?
Grazie
PS per maggiore chiarezza negli oscillogrammi le diverse onde sono sfalzate sulla verticale di una divisione
PS PS la sequenza mostrata nella tabella dovrebbe essere quella conunterclockwise (NOOOO !!)
PS PS PS mannaggia, sono troppo distratto. la sequenza mostrata nella tabella dovrebbe essere quella clockwise, cioe' l'ultima della serie mostrata
Guido
Messaggi: 1443
Iscritto il: dom 18 mar 2018, 20:21

Re: Problema con motore passo -passo su kit Elegoo di Arduino.

Messaggio da Guido »

Siccome mi rendo conto che non sia molto semplice da interpretare ho rifatto gli oscilloagrammi disponendo le traccie sullo schermo dell'oscilloscopio in modo che avessero lo stesso ordine visualizzato nella tabella, e distanti verticalmente di una divisione, in modo che le traccie abbiano il seguente ordine dall'alto in basso: org (rosso), yellow, pik(verde), blu.
Nella tabella e' stato mostrato l'ordine che si otterrebbe con una rotazione definita clockwise nel manuale della Elegoo, in realta' e' antioraria. Spero che sia piu' chiaro
Ho lasciato la sequennza counterclockwise per chi volesse notare le differenze rispetto alla clockwise.
Allegati
Sequenza stepper secondo manuale Elegoo.jpg
Sequenza stepper secondo manuale Elegoo.jpg (53.61 KiB) Visto 3452 volte
dso_stepper_clockwise_2.jpg
dso_stepper_clockwise_2.jpg (121.36 KiB) Visto 3453 volte
dso_stepper_conunterclockwise_2.jpg
dso_stepper_conunterclockwise_2.jpg (127.25 KiB) Visto 3453 volte
Avatar utente
Pier Aisa
Amministratore
Messaggi: 2530
Iscritto il: ven 16 mar 2018, 9:43
Località: Bologna
Contatta:

Re: Problema con motore passo -passo su kit Elegoo di Arduino.

Messaggio da Pier Aisa »

Credo che la sovrapposizione delle forme d'onda dipenda dal numero di step rispetto ai gradi. Con 1/2 ricadiamo nella situazione del mio video https://www.youtube.com/watch?v=y8V4BPnW-kA minuto 29
Vedi questo articolo ad esempio
https://www.amci.com/industrial-automat ... k-current/
Guido
Messaggi: 1443
Iscritto il: dom 18 mar 2018, 20:21

Re: Problema con motore passo -passo su kit Elegoo di Arduino.

Messaggio da Guido »

Grazie Pier.
Ho visto in questi giorni molto materiale sui motori stepper, ma niente che sia stato spiegato cosi' bene come nel tuo video 538, che stupidamente non ho pensato di guardare. Ho visto poi il video 140 e debbo dire che l'azionamento dello stepper tramite pulsanti e' una genialata dal punto di vista didattico. In conclusione mi e' sembrato di capire che la sovrapposizione degli impulsi per 1/3 si ha quando lo stepper viene azionato a "mezzo passo" mentre invece la sovrapposizione per 1/2 si ha quando lo stpper viene azionato a passo intero.
Se quest'ultima cosa che ho scritto dimostra che non ho capito niente non disperare, quando saro' piu' grande lo capiro' :D
Grazie, ciao
Guido
Avatar utente
Pier Aisa
Amministratore
Messaggi: 2530
Iscritto il: ven 16 mar 2018, 9:43
Località: Bologna
Contatta:

Re: Problema con motore passo -passo su kit Elegoo di Arduino.

Messaggio da Pier Aisa »

Grazie Guido, come sempre. Le parti frazionarie sono figlie delle forme costruttive concordo su quanto affermi
Guido
Messaggi: 1443
Iscritto il: dom 18 mar 2018, 20:21

Re: Problema con motore passo -passo su kit Elegoo di Arduino.

Messaggio da Guido »

Pier Aisa ha scritto: lun 27 apr 2020, 21:38 Grazie Guido, come sempre. Le parti frazionarie sono figlie delle forme costruttive concordo su quanto affermi
Dopo una profonda riflessione durata due giorni e due notti insonni dovrei purtroppo dire che non ho capito :? Ad ogni modo non ti preoccupare quando saro' piu' grande lo capiro' ;) ;)
Ultima modifica di Guido il mar 28 apr 2020, 20:55, modificato 1 volta in totale.
Guido
Messaggi: 1443
Iscritto il: dom 18 mar 2018, 20:21

Re: Problema con motore passo -passo su kit Elegoo di Arduino.

Messaggio da Guido »

Dopo aver parlato un po' del motore stepper del kit Elegoo mega2560, ho provato il programma con encoder + motore stepper. Una cosa molto interessante,perche' il motore segue il verso di rotazione imposto dall'encoder. Pero' l'angolo di rotazione non segue quello dell'encoder perche' lo stepper ruota con un angolo pari ad 1/4 circa rispetto all'encoder. Forse bisognera' modificare il codice.
Ho voluto vedere che tipo di segnali escono dall'encoder ed ho ottenuto gli oscillogrammi mostrati in basso, che spero siano interessanti. L'encoder a 5 terminali : CLK, DT, SW,+ 5V,GND.
I primi tre a riposo forniscono 5 V fissi. Negli oscillogrammi e' mostrata l'uscita durante la rotazione dell'asse a mano. Si vede perche' l'inizio e la fine della rotazione avvengono a bassa velocita' e la max velocita' viene raggiunta in posizione intermedia. La bassa velocita' in certi momenti e' dimostrata dal fatto che i segnali ad onda quadra si allargano.
La cosa strana, per me, e' che il sagnale clock si allarga anch'esso a bassa velocita'.
Il senso di rotazione viene dimostrato dall'anticipo o ritardo del segnale DATA rispetto al CLK. Il segnale SW indica lo stato rilasciato/premuto dello Switch dell'encoder, che si ottiene premendo sull'asse dello stesso encoder. Stranamente non c'e' scritto nulla in proposito sul manuale.
Allegati
dso_ENCODER_orario.jpg
dso_ENCODER_orario.jpg (105.41 KiB) Visto 3410 volte
dso_ENCODER_antiorario.jpg
dso_ENCODER_antiorario.jpg (110.79 KiB) Visto 3410 volte
Rispondi