[RISOLTO] A4988 e Nema 17 42sth38 ...

Ciao a tutti,
ho preso questi 2 prodotti per fare un po’ di pratica e delle prove su un idea che mi è venuta.
Non avendo mai avuto a che fare con gli stepper ma sempre con motori dc , mi sono trovato un po’ in difficoltà a capire i collegamenti di questo stepper al driver a4988.

Ho seguito per il collegamento il sito della Pololu: http://www.pololu.com/product/1182 , che praticamente sembra lo stesso driver (forse il Pololu è costruito meglio…), il mio e il classico A4988 StepStick da 4-6€.

E’ nel collegare i cavi dello stepper al A4988 che mi sono fermato dopo la prima prova, non volendo fare danni.
Ho controllato qui: http://www.phidgets.com/products.php?product_id=3325 , come erano collegati a coppie i 4 fili dello stepper e praticamente da quello che ho capito il Nero e il Verde sono collegati a una bobina e il Rosso e Blu all’altra bobina dello stepper.

Nella prima prova che avevo fatto ho alimentato la logica del driver dai 5v di Arduino Mega e per i motori ho usato una batteria Li-ion da 6800Ah che può erogare max 2A.

Praticamente su Arduino lo sketch gira a modo (nel senso che il led 13 lampeggia per un verso del motore e uguale per l’altro senso), con il tester ho controllato se hai pin della logica e alimentazione motori arriva tensione e c’è, ma lo stepper non si muove , anzi sembra proprio spento.

Lo stepper lo avevo collegato cavo Nero su 1A , Verde su 1B , Rosso su 2A e Blu su 2B , con lo sketch di prova Pololu:

// testing a stepper motor with a Pololu A4988 driver board
// on an Uno the onboard led will flash with each step
// as posted on Arduino Forum at http://forum.arduino.cc/index.php?topic=208905.0

byte directionPin = 9;
byte stepPin = 8;
int numberOfSteps = 50;
byte ledPin = 13;
int pulseWidthMicros = 50;  // microseconds
int millisbetweenSteps = 50; // milliseconds

void setup() 
{ 

 Serial.begin(9600);
 Serial.println("Starting StepperTest");
 digitalWrite(ledPin, LOW);
 
 delay(2000);

 pinMode(directionPin, OUTPUT);
 pinMode(stepPin, OUTPUT);
 pinMode(ledPin, OUTPUT);
 

 digitalWrite(directionPin, HIGH);
 for(int n = 0; n < numberOfSteps; n++) {
   digitalWrite(stepPin, HIGH);
   delayMicroseconds(pulseWidthMicros);
   digitalWrite(stepPin, LOW);
   
   delay(millisbetweenSteps);
   
   digitalWrite(ledPin, !digitalRead(ledPin));
 }
 
 delay(3000);
 

 digitalWrite(directionPin, LOW);
 for(int n = 0; n < numberOfSteps; n++) {
   digitalWrite(stepPin, HIGH);
   delayMicroseconds(pulseWidthMicros);
   digitalWrite(stepPin, LOW);
   
   delay(millisbetweenSteps);
   
   digitalWrite(ledPin, !digitalRead(ledPin));
 }
 
}

void loop() 
{ 

}

Mentre aspetto che qualche utente del forum abbia compassione (scherzo! :smiley: ) e risponda mi ributto su san google per altre info.

Ciao

Mancano informnazioni:

  1. che motore é (modello preciso o link al venditore
  2. Che batteria Usi ( tensione)
  3. Come hai settato il A4988 nel senso full step o microstep?

Ciao Uwe

Ciao Uwefed,

allora il venditore e modello è questo http://www.robot-italy.com/it/3326-0-42sth38-nema-17-bipolar-stepper-with-14-1-gearbox.html.

La batteria è da 12v ioni di litio 6800Ah e max può erogare 2A.

Il driver è settato in full step, cioè i pin MS1, MS2, MS3, non sono connessi (almeno dallo schema non li collega).

IL pin enable non riesco a capire se lo devo lasciare scollegato come da schema Pololu, o devo collegarlo .

Questo è tutto.

Comunque grazie

Ciao a tutti,
ho risolto rifacendo le saldature ,che in quella cavolo di schedina gli spazi dove deve aderire lo stagno con i pin della strip, sono ridottissimi e quindi non facevano contatto.

Per cronaca chi in futuro dovesse avere il mio stesso problema nel collegare i fili del Nema 17-42sth38 con la scheda in questione:

I 4 fili sono Fase A: Nero e Verde che corrispondono ai pin dell'A4988 rispettivamente 1A , 1B.
Fase B: Rosso e Blu che corrispondono ai pin dell'A4988 rispettivamente 2A , 2B.

Bene ora posso cominciare a vedere come funzionano gli stepper. :grin:

Ciao