modulo per motore passo passo

sono intensionato ad utilizzare un motore passo passo bipolare ma non so a quale scheda accoppiarlo.
ho cercato un po in rete e vedo che qualcuno suggerisce la A4988 altri la L298N.

non devo fare niente di particolare:
all'accensione di arduino deve spostarsi in "home position"
al mio segnale deve fare una rotazione di 90° lentamente, attendere un paio di secondi e poi ritornare in "home position" un po più velocemente.

che scheda devo prendere?

grazie

Ciao :slight_smile:

Per consigliarti una scheda, ci servirebbe sapere le caratteristiche del Motore in modo particolare la corrente assorbita... :slight_smile:

MD

Il driver dipende dal motore.
Certi motori possono essere pilotati in corrente e altri no.
Il driver deve reggere o limitare la corrente nominale del motore.
Ciao Uwe

Ho bisogno di parecchia coppia quindi pensavo ad un motore tipo il 17HS8401.
È sicuramente una cineseria ma non essendo sicuro del risultato al massimo butto pochi euro, poi se tutto funziona posso passare ad un motore più serio

posso provare a consigliarti questo....

vedi tu.... :slight_smile:

MD

17HS8401 1.7A 1.8 Ohm
Serve almeno un DRV8825 alimentato a un minimo di 12V ( meglio se di più )

brunello22:
17HS8401 1.7A 1.8 Ohm
Serve almeno un DRV8825 alimentato a un minimo di 12V ( meglio se di più )

Ecco, allora ho preso il dvr8825 ma ho guardato gli scratch di esempio dell'ide ma non sono compatibili perché lavorano con 4 pin, mentre il driver con 2 soli

Se lavori con soli due pin, i comandi glie li devi dare tu da sketch ... per la "home", ti servira' per forza uno switch o una forcella ottica (altrimenti la MCU non puo sapere se il motore e' arrivato o no in posizione home) ... poi dai il comando al dir (alto giri in un senso, basso nell'altro), e sullo step dai il numero di passi necessari a fare i tuoi 90 gradi (che ovviamente saranno un quarto di quelli totali per giro), la velocita' con cui gli dai i passi determina la velocita' di rotazione ... per tornare indietro, o gli dai lo stesso numero di passi dopo aver cambiato la polarita' al pin dir, o lo rimandi di nuovo ad home, come preferisci ...

Etemenanki:
Se lavori con soli due pin, i comandi glie li devi dare tu da sketch ... per la "home", ti servira' per forza uno switch o una forcella ottica (altrimenti la MCU non puo sapere se il motore e' arrivato o no in posizione home) ... poi dai il comando al dir (alto giri in un senso, basso nell'altro), e sullo step dai il numero di passi necessari a fare i tuoi 90 gradi (che ovviamente saranno un quarto di quelli totali per giro), la velocita' con cui gli dai i passi determina la velocita' di rotazione ... per tornare indietro, o gli dai lo stesso numero di passi dopo aver cambiato la polarita' al pin dir, o lo rimandi di nuovo ad home, come preferisci ...

Grazie della dritta.. Questa sera provo

/*     Simple Stepper Motor Control Exaple Code
    by Dejan Nedelkovski, www.HowToMechatronics.com
*/
// defines pins numbers
const int stepPin = 3;
const int dirPin = 4;

void setup() {
  // Sets the two pins as Outputs
  pinMode(stepPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
}
void loop() {
  digitalWrite(dirPin, HIGH); // Enables the motor to move in a particular direction
  // Makes 200 pulses for making one full cycle rotation
  for (int x = 0; x < 200; x++) {
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(500);
    digitalWrite(stepPin, LOW);
    delayMicroseconds(500);
  }
  delay(1000); // One second delay

  digitalWrite(dirPin, LOW); //Changes the rotations direction
  // Makes 400 pulses for making two full cycle rotation
  for (int x = 0; x < 400; x++) {
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(500);
    digitalWrite(stepPin, LOW);
    delayMicroseconds(500);
  }
  delay(1000);
}