Aiuto per compilare uno sketch per Arduino

Saverio Stenta

Donatore generoso
#51
Prova test stepper: ho rivisto lo sketch per motore CC e modificato per il PP. L'ho tenuto in funzione per circa due ore (senza guida e senza carico), il motore scalda quando gli dai un programma di lavoro ( tipo.. M s M ) però poi quando carichi uno sketch di solo controllo ( tipo.. gira in continuazione e basta) non scalda. Perchè?
Ti allego lo sketch10 modificato per PP, forse sbaglio nella compilazione. Puoi dargli un occhiata se va bene. Grazie e buon fine settimana
 

Allegati

Mamo

Donatore generoso
#52
Prova test stepper: ho rivisto lo sketch per motore CC e modificato per il PP. L'ho tenuto in funzione per circa due ore (senza guida e senza carico), il motore scalda quando gli dai un programma di lavoro ( tipo.. M s M ) però poi quando carichi uno sketch di solo controllo ( tipo.. gira in continuazione e basta) non scalda. Perchè?
Cioè sei riuscito a far girare il motore passo passo con lo sketch che hai allegato??????
Non credo.
Al massimo avrà fatto un piccolo step.
No Saverio.
Pilotare un motore passo passo è diverso che pilotare un motore in corrente continua.
In quest'ultimo devi semplicemente dare corrente.
Nei passo passo devi dare corrente ai 4 poli ma con una certa sequenza.

Dici di essere riuscito a fare girare il motore. Probabilmente hai usato un'altro sketch.
Quindi non devi far altro che riportare la logica di funzionamento del passopasso da uno sketch all'altro.
 

Saverio Stenta

Donatore generoso
#53
Si, Mamo, ti assicuro che gira come se fosse in CC. Dallo sketch il movimento è impostato a 500 ( 500ms) quindi quando gira, compie un giro e 1/4 in continuo senza step. Nel pomeriggio appena mi libero ti allego una prova video. Ciao
 

Saverio Stenta

Donatore generoso
#54
......Pilotare un motore passo passo è diverso che pilotare un motore in corrente continua.
In quest'ultimo devi semplicemente dare corrente.
Nei passo passo devi dare corrente ai 4 poli ma con una certa sequenza......


No, aspetta, devo dirti però che lo sketch funziona con il driver Pololu A4988, che gestisce corrente ai 4 poli.
 

Mamo

Donatore generoso
#55
Si, Mamo, ti assicuro che gira come se fosse in CC. Dallo sketch il movimento è impostato a 500 ( 500ms) quindi quando gira, compie un giro e 1/4 in continuo senza step. Nel pomeriggio appena mi libero ti allego una prova video. Ciao
Cioè stai dicendo che il semplice comando (perchè nel tuo sketch c'è solo quello)
analogWrite( pinStep,Velocita );
fa girare il motore?
Stiamo parlando di un azionamento passo passo della pololu a4988 con un motore passo passo?
Mi sembra impossibile.
Anzi ho cercato un po' in giro nel web, e non ho trovato niente che parli di comandare un azionamento qualsiasi (quindi non solo pololu) con un valore analogico. (In realtà ci sono, ma sono degli azionamenti piu' intelligenti che al loro interno hanno dei generatori di impulsi - semplificando).

Qui una breve spiegazione sul modo di funzionamento dei motori passo passo.
http://it.m.wikipedia.org/wiki/Motore_passo-passo
Come vedi per funzionare (guarda il capitolo principio di funzionamento) hanno bisogno di una certa sequenza di impulsi. Pertanto anche se il valore analogico puoi essere considerato un impulso, poichè rimane costante al massimo fa compiere al motore uno step.
Mi dici esattamente che prodotti hai usato e il collegamento che hai fatto?
 

Saverio Stenta

Donatore generoso
#56
...Cioè stai dicendo che il semplice comando (perchè nel tuo sketch c'è solo quello)
analogWrite( pinStep,Velocita );
fa girare il motore?
Stiamo parlando di un azionamento passo passo della pololu a4988 con un motore passo passo?....

Si, si, non mi chiedere come è possibile. Ho solo cambiato le righe sullo sketch come da driver provando per caso, ma sicuramente (?) il fatto che riscalda il motore pp mi viene qualche dubbio. Il sistema di collegamento, sostituendo il driver FE per il motore CC con il Pololu A4988 per stepper e collegando solo i pin 2 e 3 ( Dir e Step) su arduino, tutto il resto rimane com era prima. Ti posto un grafico veloce dello schema di collegamento che sicuramente saprai leggere.

 

Allegati

Mamo

Donatore generoso
#59
Ho guardato per bene la documentazione di Arduino è ho visto che alcuni PIN tra cui il 3 possono lavorare anche in PWM (pensavo solo gli ultimi pin)
Cos'è il PWM?
In pratica se fosse stato un semplice pin digitale i possibili stati di funzionamento possibili erano due: ON e OFF
Con il PWM in pratica, abbiamo che quando il pin è ON viene generata un'onda quadra che fa andare velocemente ON e OFF il pin di continuo.
Quindi nel tuo caso è come se simulassi l'accensione e lo spegnimento continuo di quel pin e in questo modo il motore avanza.
Il valore che puoi inserire, in pratica è la velocità perchè variando quel valore in pratica vari la frequenza di accensione e spegnimento del motore.
Ti chiederai perchè allora non viene utilizzato questo sistema?
Semplice.
E' complicato calcolare lo spazio percorso, perchè si lavora in tempi e non in impulsi.
Per calcolare lo spazio percorso dovresti sapere la frequenza di generazione di questi impulsi (in caso di arduino è circa 490 Hz)
Questo valore è proporzionale al parametro che gli passi (valore da 0-255).
Ottenuto questo valore lo devi moltiplicare per un tot per conoscere per quanto tempo devi mandare questo segnale PWM.
Un po' tanto complicato e non affidabile perchè se inizi a dare il segnale quando è in off oppure in on e il ciclo successivo sei nello stato opposto in pratica perdi un passo, o più
Quindi morale della favola, funziona ma non è facilmente gestibile.
 

Saverio Stenta

Donatore generoso
#60
Ecco perchè (penso) il motore riscalda cosi pure il driver Pololu. Quindi per la gestione motore PP nello sketch 10 come devo fare. Ho visto alcuni esempi (dalla libreria di arduino) per stepper ma non riesco a capire come inserirlo nel mio caso.
Una cosa è successo, il mio arduino, (dopo tutte le prove ha subito) non carica più gli sketch ma comunque lavora con l'ultimo imposto. Mi da errore con testo giallo.
Ti posto la foto per chiarire. Ciao
 

Allegati

chi siamo

Time Lapse Italia è la community italiana dedicata alla fotografia time-lapse.

Impara la tecnica, condividi le tue esperienze e migliorati guardando i video più belli... gratuitamente ed in italiano!

© 2013-18 Time Lapse Italia - Creato da Marco Famà

invia il tuo video

Segui BENE tutte le istruzioni disponibili in questo breve tutorial e raggiungi la home-page di Time Lapse Italia
Alto