ARDUINO e STEPPER 17PU-h324-G2VS

Ciao
vorrei pilotare DUE stepper 17PU-h324-G2VS (che ho già) dei quali non riesco a trovare un datasheet, soprattutto per sapere a che voltaggio lavorano, comunque......

Ho bisogno di gestire due (o meglio quattro) di questi motori con un Arduino, considerando che ho già sia una MOTOR CONTROL SHIELD che una "BIG EASY DRIVER" della Sparkfun (Big Easy Driver - ROB-12859 - SparkFun Electronics) (ovviamente ce ne vorrebbero 4)
So che la MOTOR CONTROL SHIELD può gestire al massimo DUE stepper (.... potrei comunque usare due Arduino e due MOTOR CONTROL SHIELD... no problem) ma questa pilota motori fino a 0,6A (4 H-Bridges: L293D chipset provides 0.6A per bridge (1.2A peak) with thermal shutdown protection, 4.5V to 36V) e il 17PU-.... sembra assorba 1.5A. E poi, quanti gradi/steps a giro ?

Questi stepperini 17PU-h324-G2VS sono UNIPOLARI con connettore a 6 fili, ma da dove li ho recuperati venivano sicuramente usati come BIPOLARI a 4 fili (non utilizzavano il pin 2 ed il pin 5) e a me andrebbe bene anche così.

Indicazioni per l'utilizzo con Arduino ? Qualcuno ha una vaga idea del voltaggio (Credo 12V vadano bene) ?

Ho provato con la MOTOR CONTROL SHIELD, ma gli L293D ERANO INFUOCATI ed ho desistito.

Credo dovrò usare la Easy Big Driver..... come la uso con ARDUINO ? C'è uno sketch esempio che posso studiarmi ?

GRAZIE

[cancellato per eccesso di ignoranza :grin: ]

Secondo questi dati Akcesoria CNC - sklep dla robotyków z elementami automatyki przemysłowej - STAREK e la traduzione di google:

1,5 A Minebea 17PU-H324-G2VS - 6 fili
descrizione:
Motori passo-passo
Minebea 17PU-H324-G2VS
uscita sul pin 6

parametri del motore:
d?ugo??/szeroko??/wysoko??/42/42/40
18 millimetri d?.o?ki Ø 4
Peso circa 0,30 kg
resistenza di 1,2 Ohm
corrente di circa 1,5 A
tensione di 1,8 V
lungo l'asse del pignone diametro 7,5 millimetri

ha 1,5A e 1,8V per avvolgimento. Visto che é un motore unipolare e Tu lo vuoi usare come bipolare devi dimezzare la corrente.
Se usi un Big Easy Driver basta pilotarlo in corrente a micropassi tarando la corrente a 0,75A e alimentando il Driver a 12V

Il Big easy driver ha delle entrate per selezionare il numero di micropassi.
Poi ha un entrata Dir che seleziona la direzione e un entrata Step che a ogni passagi L-H fa fare un passo al motore.

Ciao Uwe

@UWEFED
Grazie per la risposta.

Ho collegato lo stepper al Big Easy Driver e Arduino, ma mi sa che sono ancora TROPPO ignorante per gli stepper.

Uso Dir e STEP connessi ai pin 2 e 3 dell'Arduino con questo Sketch. Alimento a 12V (ma non sto limitando la corrente dall'alimentatore all' Easy Big Driver)

RISULTATO:
Lo stepper continua a muoversi in modo non omogeneo e NON FA LA PAUSA !!!!
Lo Easy Big Driver scalda (un po' troppo credo)
Ho misurato la corrente sulla alimentazione dell' Easy Big Driver èd ho 1,90A di assorbimento

Con questo sketch DOVREBBE andare... GIUSTO ?

//////////////////////////////////////////////////////////////////
//©2011 bildr
//Released under the MIT License - Please reuse change and share
//Using the easy stepper with your arduino
//use rotate and/or rotateDeg to controll stepper motor
//speed is any number from .01 -> 1 with 1 being fastest -
//Slower Speed == Stronger movement
/////////////////////////////////////////////////////////////////

#define DIR_PIN 2
#define STEP_PIN 3

void setup() {
pinMode(DIR_PIN, OUTPUT);
pinMode(STEP_PIN, OUTPUT);
}

void loop(){

//rotate a specific number of degrees
rotateDeg(360, 1);
delay(1000);

rotateDeg(-360, .1); //reverse
delay(1000);

//rotate a specific number of microsteps (8 microsteps per step)
//a 200 step stepper would take 1600 micro steps for one full revolution
rotate(1600, .5);
delay(1000);

rotate(-1600, .25); //reverse
delay(1000);
}

void rotate(int steps, float speed){
//rotate a specific number of microsteps (8 microsteps per step) - (negitive for reverse movement)
//speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger
int dir = (steps > 0)? HIGH:LOW;
steps = abs(steps);

digitalWrite(DIR_PIN,dir);

float usDelay = (1/speed) * 70;

for(int i=0; i < steps; i++){
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(usDelay);

digitalWrite(STEP_PIN, LOW);
delayMicroseconds(usDelay);
}
}

void rotateDeg(float deg, float speed){
//rotate a specific number of degrees (negitive for reverse movement)
//speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger
int dir = (deg > 0)? HIGH:LOW;
digitalWrite(DIR_PIN,dir);

int steps = abs(deg)*(1/0.225);
float usDelay = (1/speed) * 70;

for(int i=0; i < steps; i++){
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(usDelay);

digitalWrite(STEP_PIN, LOW);
delayMicroseconds(usDelay);
}
}

Non so cosa fosse (e questo mi preoccupa un po' :astonished:) ma adesso tutto funziona :smiley: con la configurazione postata precedentemente.

Abbassa un po la corrente col potenziometro sul Big Easy Driver. Rischi di rompere il motore.
Spesso con i breadbord e circuiti volanti ci sono dei contatti non fissi e il risultato é queste cose strane che vanno-non vanno.
Ciao Uwe

@UWEFED

Sai come posso misurare la corrente che la Easy Big Driver eroga al motore ?

Sulla scheda c'è il riferimento che ruotando in senso ANTIORARIO si AUMENTA la corrente, ma quanta ne eroga non si capisce !!

Fai un passo molto lento e misura la corrente assorbita dalla scheda. Vedrai che a un certo passo la corrente é bassa. Quello é un passo intero e la corrente é quella di un avvolgimento.
Ciao Uwe