Problema con Driver DRV8825
salve tutti.
sto creando una sorta di robot/ macchinina telecomandata e sto usando questi motori nema 17 come ruote, con una batteria 12v e 7.2 ah per alimentarli.
inizialmente utilizzavo come driver easydriver 4.4, ma mi hanno fatto giustamente notare che questi driver fornivano solo 750 ma contro 1.7a richiesti dai motori, cosi ho deciso di passare ai driver drv8825.
il problema è che ora, con lo stesso codice che utilizzavo prima, le ruote non partono più. non riesco capire se è un problema di codice che va adattato per nuovi driver, oppure se ho sbagliato qualcosa nei collegamenti dei cavi.
ho seguito questa immagine per collegamenti quindi:
- pin step e dir collegati ai pin 4 e 5 di arduino
- pin sleep e reset collegati 5v
- pin vmot e gnd collegati al polo positivo e negativo della mia batteria
- pin b2 b1 a1 a2 collegati ai 4 cavi dei miei stepper
- pin fault vuoto
- pin gnd collegato ovviamente gnd
- gli altri pin vuoti
penso che collegamenti vadano bene ma se qualcuno ha qualche accorgimento ben venga, non capisco perchè le ruote con lo stesso codice non vadano più (prima con vecchi driver andava)
questo è il codice:
ringrazio in anticipo chiunque mi aiuterà
sto creando una sorta di robot/ macchinina telecomandata e sto usando questi motori nema 17 come ruote, con una batteria 12v e 7.2 ah per alimentarli.
inizialmente utilizzavo come driver easydriver 4.4, ma mi hanno fatto giustamente notare che questi driver fornivano solo 750 ma contro 1.7a richiesti dai motori, cosi ho deciso di passare ai driver drv8825.
il problema è che ora, con lo stesso codice che utilizzavo prima, le ruote non partono più. non riesco capire se è un problema di codice che va adattato per nuovi driver, oppure se ho sbagliato qualcosa nei collegamenti dei cavi.
ho seguito questa immagine per collegamenti quindi:
- pin step e dir collegati ai pin 4 e 5 di arduino
- pin sleep e reset collegati 5v
- pin vmot e gnd collegati al polo positivo e negativo della mia batteria
- pin b2 b1 a1 a2 collegati ai 4 cavi dei miei stepper
- pin fault vuoto
- pin gnd collegato ovviamente gnd
- gli altri pin vuoti
penso che collegamenti vadano bene ma se qualcuno ha qualche accorgimento ben venga, non capisco perchè le ruote con lo stesso codice non vadano più (prima con vecchi driver andava)
questo è il codice:
code: [select]
#include <accelstepper.h>
#include <softwareserial.h>
int rx = 3;
int tx = 2;
int speeda1 = 0;
int speeda2 = 0;
int signa2 = 1;
int signa1 = -1;
char y;
softwareserial bluetooth(rx, tx);
accelstepper stepperanteriore2(accelstepper::driver, 11, 12);
accelstepper stepperanteriore1(accelstepper::driver, 5, 4);
void setup()
{
serial.begin(9600);
bluetooth.begin(9600);
stepperanteriore1.setmaxspeed(4000);
stepperanteriore2.setmaxspeed(4000);
stepperanteriore1.setspeed(0);
stepperanteriore2.setspeed(0);
}
//////////////////////////////////metodo per il calcolo della velocità e direzione dei motori
void speed (int signa1, int signa2) {
stepperanteriore1.setspeed(signa2 * speeda1);
stepperanteriore2.setspeed(signa1 * speeda2);
}
void loop()
{
/////////////////////////////////////rilevazione del bluetooth
char c;
while(bluetooth.available()) {
c = bluetooth.read();
switch (c) {
case '4': //avanti
delay(500);
signa2 = 1;
signa1 = -1;
speeda1 = 200;
speeda2 = 200;
speed(signa1, signa2);
break;
case 'r': //indietro
delay(500);
signa2 = -1;
signa1 = 1;
speed(signa1, signa2);
break;
case 's': //stop
signa1 = 0;
signa2 = 0;
speed(signa1, signa2);
break;
case '1': //modifica velocità
if (speeda1 >=1000) { speeda1 = 500;} else { speeda1 += 250; }
if (speeda2 >=1000 ) { speeda2 = 500;} else { speeda2 += 250; }
break;
case '2': //curva destra
speeda1 = 250;
speeda2 = 1000;
speed(signa1, signa2);
break;
case '3': //curva sinistra
speeda1 = 1000;
speeda2 = 250;
speed(signa1, signa2);
break;
}
}
stepperanteriore1.runspeed();
stepperanteriore2.runspeed();
}
ringrazio in anticipo chiunque mi aiuterà
hai regolato il trimmer che limita la corrente massima?
Arduino Forum > International > Italiano > Hardware (Moderator: leo72) > Problema con Driver DRV8825
arduino
Comments
Post a Comment