0
Offline
Newbie
Karma: 0
Posts: 9
Arduino rocks
|
 |
« on: August 12, 2010, 03:32:49 pm » |
Salve, ho acquistato Arduino Mega per gestire il driver NJU39610 in accoppiata con NJM3772. Qualcuno di voi ha idea di come gestire (attraverso le uscite di Arduino) i pin D0..D7, A0, A1, WR, CS del driver NJU39610?
Grazie.
|
|
|
|
|
Logged
|
|
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 9
Arduino rocks
|
 |
« Reply #2 on: August 13, 2010, 01:50:58 am » |
Ciao Uwefed, ti prego correggimi se sbaglio. Acquisto il componente A4983, e sostituisco NJU39610 + NJM3772. Il motore che devo controllare è un HY 200 2220 0100 AX 08 (Pilotaggio: bip. chop. par., 1,5 A/F, Resistenza di Fase 5 Ohm). Con le uscite di Arduino Mega: 1)Seleziono la risoluzione degli step, con tre uscite su MS1, MS2, MS3; 2)Enable e Reset su due uscite a 5V; 3)Con due uscite su STEP e DIR muovo il motore; Precisamente, se alzo e poi abbasso l'uscita collegata su STEP, il motore effettua uno spostamento (1.8 gradi nel mio caso)?Se è così, per quanti ms devo tenere alzata l'uscita prima di abbassarla?Cosa mi consigli per una precisione maggiore tra Full-Half-Quarter-Eighth-Sixteenth step?Grazie.  Ivano
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15746
+39 349 2158303
|
 |
« Reply #3 on: August 13, 2010, 05:23:43 am » |
ciao ivano18 Non Ti correggo, Ti rispondo. Si la schedina proposta sostituisce la coppia NJU39610 + NJM3772 e componenti esterni. Se non sei ferrato nel produrre schedine mulitayer comprati la schedina perché il componente é microscopico ( 5x5mm con i piedini sotto.) Giá la schedina é piccola 2x1,5cm. Esiste anche una versione con 2 stabilizzatori v e 3,3V. I microstep servono per avere piú risoluzione. Con un 1/16 microstep hai con un motore da 1,8 gradi 3200 passi per 360 gradi. Il motore é meno rumoroso perché la differenza di tnsione per ogni micro-passo é minore. Una volta deciso la risoluzione dei passi non serve che cambi percui MS1,MS2 e MS3 puoi metterli direttamenete su 5V o massa. Il motorino fa un passo all passaggio L-H del segnale step. L' angolo di rotazione dipende dal motore e dai microstep selezionati. ( da 1,8 gradi a 0,1125 gradi nel Tuo caso.) Per i tempi vedi pag 6 : http://www.allegromicro.com/en/Products/Part_Numbers/4983/4983.pdfIl step deve avere minimo 1µ secondo high e le entrate MS e dir devono essere validi 0,2µsecondi prima e dopo il passagio Low-High. Io userei il motore in bipolare paralello come descritto in: http://www.astelweb.com/download/pdf/prodotti/motoripp/H200/HY%20200%202220.pdfCosí hai 2A e una resistenza di 2,5Ohm. È da vedere se ti bastano 12 V o hai bisogno di 24V. Niente paura il A4983 limita la corrente e deve farlo per poter fare i microstep. Non so cosa consigliati come selezione dei Microstep; devi spiegare cosa vuoi fare col motore. Ciaouwe
|
|
|
|
« Last Edit: August 13, 2010, 05:24:16 am by uwefed »
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 9
Arduino rocks
|
 |
« Reply #4 on: August 13, 2010, 05:40:14 am » |
Grazie per l'interessamento che stai mostrando, sei molto preciso e dettagliato.Appena letto il tuo primo messaggio ho ordinato il DRIVER MINIATURA PER MOTORI PASSO-PASSO BIPOLARI - Cod. 7300-A4983 su Futura Elettronica (dovrebbe arrivarmi Martedì). Posso predisporre la scheda per avere l'alimentatore da 24 Vdc. 1)Le performance del motore aumentano? 2)Devo regolare il potenziometro sulla schedina? Con quale logica? A cosa serve? Il mio obiettivo è muovere con delle cinghie un carrello a scorrimento su guida lineare Bosch. Attendo (come fossi un innamorato ;D) i tuoi messaggi di replica! Ciao. P.s. Mi chiamo Ivano, ho 29 anni, sono Ingegnere Elettronico, di Pescara. Ho tante passioni (troppe!!), e come si dice di solito......."chi fa troppo, non fa niente" .....! 
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15746
+39 349 2158303
|
 |
« Reply #5 on: August 13, 2010, 07:57:42 am » |
ciao ivano18 1) il motore fa piú passi e é piú silenzionso e vibra di meno. 2) col potenziometro devi regolare la corrente massima. Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 9
Arduino rocks
|
 |
« Reply #6 on: August 13, 2010, 04:15:04 pm » |
Ciao, vediamo se ho chiaro il concetto: associo le seguenti uscite di Arduino e faccio le seguenti operazioni:
//Imposto i valori fissi OUT1=MS1=Low OUT2=MS2=Low OUT3=MS3=Low OUT4=Enable=High OUT5=Reset=High
//specifico la direzione attendo 200ns; OUT6=DIR=High; attendo 1000ns; OUT6=DIR=Low; attendo 200ns;
//effettuo il passo OUT7=STEP=High; attendo 1000ns; OUT7=STEP=Low; attendo 1000ns;
1)Avendo scelto Full Step, se ripeto l'ultimo blocco per altre 199 volte ho fatto completare un giro di 360 gradi al motore? 2)La logica e' corretta? 3)Con il linguaggio di programmazione di Arduino, riesco ad attendere per 200ns (meno di un microsecondo)?
Grazie.
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15746
+39 349 2158303
|
 |
« Reply #7 on: August 13, 2010, 05:44:02 pm » |
ciao ivano18 no; i tempi che ti avevo nominato erano tempi minimi.
Il dir lo metti LOW o HIGH e lo lasci finche non cambi direzione.
1) sí 2) abbastanza 3) No, ma non Ti serve. Il motore non reggerá quella velocitá.
Devi sceglier la velocitá del motore a seconda del uso che fai. diciamo che vuoi fare 400 passi al minuto. Allora Ti calcoli il tempo per ogni passo 60 secondi/400 passi= 0,15 secondi Dividi il tempo per 2 e ottieni il ritardo. E adesso ogni 75 milisecondi cambi stato del pin dei passi. //effettuo il passo OUT7=STEP=High; attendo 75ms; OUT7=STEP=Low; attendo 75ms;
Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 9
Arduino rocks
|
 |
« Reply #8 on: August 14, 2010, 01:49:43 am » |
Ok, ho capito. 1)Quindi, in riferimento all'esempio che hai fatto, il motore farebbe un giro completo di 360 gradi in mezzo minuto? 2)E' meglio se aggiungo gli 8 diodi veloci a massa e a Vmm, alle 4 uscite dell'A4983, verso il motore, come di solito si fa per assorbire i picchi di corrente? 3)La mia idea è quella di separare l'alimentazione della scheda Arduino e del A4983, dall'alimentazione del motore: il primo sfruttando un alimentatore da 12Vdc, ed in cascata uno stabilizzatore per portare la tensione a 5Vdc, con una corrente erogabile di circa 500 mA, il secondo sfruttando un alimentatore da 24 Vdc e 5A di corrente. Ti sembra una buona idea? 4)Se voglio gestire insieme due motori (stesse caratteristiche), uno per lo spostamento x, l'altro per lo spostamento y, devo acquistare un altro A4983 e gestirlo in parallelo con altre 7 uscite di Arduino? 5)Se volessi essere 6 volte più veloce, (giro completo in 5s) facendo 2400 passi al minuto, avrei 60/2400=0,025 s. Poi 0,025/2=0,0125 s. Effettuo il passo ogni 12,5 ms: //effettuo il passo OUT7=STEP=High; attendo 12,5ms; OUT7=STEP=Low; attendo 12,5ms; Il motore ce la farebbe? Da cosa vedrei che non ce la fa? Grazie. 
|
|
|
|
« Last Edit: August 14, 2010, 02:16:56 am by ivano18 »
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15746
+39 349 2158303
|
 |
« Reply #9 on: August 14, 2010, 05:54:27 am » |
ciao ivano18
Ti consiglio di non sceglier full step, ma almeno half o quarter Step. 1) sí. 2) Non serve, sono integrati e c'é anche una modalitá durante certi momenti del pilotaggio dove intervengono anche i transistori. 3) Buona idea; non serve uno stabilizzatore ma puoi usare il connettore di alimentazione nero. Se devi coprare un alimentatore a posta é preferibile uno da 9V. 4) sí, un a4983 per motore. come detto, quasi tutte le entrate del Stepper driver Pololu non necessitano di modifiche ma seconda le tue scelte le colleghi in modo permanente a High o ripettivament Low. Rest da pilotare solo DIR, STEP e se vuoi in certi momenti non alimentare i Motori SLP Allora Ti bastano 2 o 3 uscite del Arduino. 5) sí, ma considera le caratteristiche del Tuo motore e le particolaritá dei motori passo passo. Hanno una velocitá massima sopra la quale si bloccano senza nessun preavviso e devi fermarli per farli ripartire. Devi anche prevedere una rampa di acelerazione e di frenata. In linea di massima la coppia massima che li fa bloccare dipende dai giri e diminuisce con i giri alti.
Ciao Uwe
|
|
|
|
« Last Edit: August 14, 2010, 05:56:18 am by uwefed »
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 9
Arduino rocks
|
 |
« Reply #10 on: August 19, 2010, 02:53:50 am » |
Buongiorno. Mi hanno consegnato la scheda A4983. Per evitare di fare danni, avrei bisogno di sapere: 1)che tensione devo fornire al pin Vref? 2)Su http://www.futurashop.it/index.html ricercando A4983, appare l'immagine che descrive i pin della scheda. Ci sono diversi pin di alimentazione (GND, 5V, VDD, 3.3V, GND e poi in basso a destra VDD, GND). Quali devo alimentare con l'alimentatore da 5 o 9 Vdc? Che differenze hanno? 3)L'uscita di Arduino la posso collegare direttamente all'ingresso di tale scheda o inserisco una Resistenza? Che valore? 4)Riguardo Arduino Mega, invece, se è collegata al Pc tramite cavo Usb, devo comunque collegare il Jack di alimentazione (7-12V)? Grazie. 
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 9
Arduino rocks
|
 |
« Reply #11 on: August 22, 2010, 05:29:40 pm » |
uwefed ci sei? Mi hai consigliato una soluzione e poi mi hai abbandonato? 
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15746
+39 349 2158303
|
 |
« Reply #12 on: August 22, 2010, 05:37:00 pm » |
scusami; Ti rispondo con calma domani Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15746
+39 349 2158303
|
 |
« Reply #13 on: August 23, 2010, 03:56:12 pm » |
Ciao Ivano Che motore passo passo hai? Mi basta sapere la corrente e la resistenza del avvolgimanto. 1) Vref é la tensione per regolare la limitazione della corrente del motore. Sulla schedina hai un potenziometro per questo. Non devi collegare niente su quel pin. Questo é necessario se vuoi usare microsteps perché in quel caso il a4983 deve regolare la corrente per i due avvolgimenti del motore in modo pa poter dare per esempio 1/4 della corrente ad un avvolgimento e 3/4 al altro per posizionarlo ad un quarto tra i 2 passi interi. C'é una spiegazione quá: http://www.pololu.com/catalog/product/1202 È lo stesso che vende la Futura Elettronica. 2) Il a4983 ha 2 alimentazioni; quella per far funzionare la logica (sono 3,3 o 5V) e quella per i motori (fino 35V) Sul pin VDD puoi alimentare la schedina con 5V o 3,3V (a secondo la tensione di alimentazione del Arduino) Oppure con i stabilizzatori presente sulla schedina puoi alimentare con i 2 ponticelli la schedina con 5V o 3,3V Vmot é la tensione con cui vengono alimentate i motori e il stabilizzatore 5V della schedina. Non so se per il motore ti bastano i 9V. 3) si, direttamente 4) no, prende l' alimentazione dalla USB, devi collegare le masse (Arduino e alimentatore che alimenta la schedina del motore). Quando vuoi fare andare l' arduino senza PC in quel casi sí. é indifferente se alimenti con 9V sulla presa nera o con 5V dal pin 5V. Ciao Uwe
|
|
|
|
« Last Edit: August 23, 2010, 03:58:51 pm by uwefed »
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 9
Arduino rocks
|
 |
« Reply #14 on: August 24, 2010, 02:59:58 pm » |
Ciao, grazie ancora per la disponibilità che stai mostrando.  Il motore è HY 200 2220 0100 AX08. Il link è lo stesso che mi inviasti tu: http://www.astelweb.com/download/pdf/prodotti/motoripp/H200/HY%20200%202220.pdfDa come leggo Corrente di Fase Nominale = 1 A Resistenza di Fase = 5 Ohm Occorre sfruttare la formula ITripMAX = VREF / ( 8 * RS) per la regolazione del potenziometro? In che modo devo utilizzare il Tester per farlo? Attendo una tua spiegazione. Grazie.
|
|
|
|
|
Logged
|
|
|
|
|
|