DRV8833 motor driver not working

Hi,

I bought a DRV8833 motor driver the other day to control two DC motors that came with the Magician Chassis. They’re both within the specs of the motor driver I believe, the motors are 6v and have a no load current that maxes out at 250 millamps. I’ve got all the I/O’s connected to the right places, everything except AISEN, BISEN, FLT, and SLP. Polarity is right, and the microcontroller I’m using is programmed properly, and nothing is happening. Is there something I need to know about this motor driver and how to get it started?

Thanks,

Kevin

Hi, Kevin.

All the information needed to set up the DRV8833 is accessible through its product page, but we can try to help you get it up and running. Could you tell me more about your setup? What microcontroller are you using? How are you supplying power? Also, how did you confirm that your code is working properly and your connections are right? Could you please post the code you are using and pictures of your setup including all connections?

-Derrill

Hi Derril!

Sorry for the lateness of my response. I’m using an Arduino Uno, using a 6 volt batter pack to supply power to the motor, and I confirmed my code by hooking it up to an H bridge I made with some transistors which worked fine. I’ve included a picture of the breadboard set up (I apologize for the blurriness, if you need a better pic please ask). The code is:

int backwardright = 9;
int backwardleft = 10;
int forwardright = 6;
int forwardleft = 11;
int anaread = 0;
int incomingByte = 0;

void setup() {
  pinMode(forwardright, OUTPUT);
  pinMode(forwardleft, OUTPUT);
  pinMode(backwardright, OUTPUT);
  pinMode(backwardleft, OUTPUT);
  Serial.begin(9600);
 }

void loop() {
  anaread = analogRead(0);
  Serial.print("IR SENSOR ");
  Serial.println(anaread);
    
  if (anaread >= 500) {
    digitalWrite(forwardleft, LOW);
    delay(10);
    digitalWrite(forwardright, LOW);
    delay(10);
    digitalWrite(backwardleft, HIGH);
    digitalWrite(backwardright, HIGH);
    delay(1000);
    digitalWrite(backwardright, LOW);
    delay(1000);
    digitalWrite(backwardleft, LOW);
    delay(10);
    digitalWrite(forwardleft, HIGH);
    digitalWrite(forwardright, HIGH);
  }
   else {
     analogWrite(forwardleft, 220);
     analogWrite(forwardright, 200);
     }
     
}

If you need more info please ask. Thank you for your help!

Hi, Kevin.

It looks like you have not soldered your connections. Please note that you will need to solder the header pins to the board to make good electrical connections; simply resting the board on the header pins won’t ensure reliable contact.

- Derrill