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.
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
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 ...
/* 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);
}