Arduino & TB6612FNG Dual Motor Driver

Ok I am trying to run some motors and simply getting no response.

Pololu - 150:1 Micro Metal Gearmotor HP 6V + http://www.pololu.com/catalog/product/713 + 4AA batteries + Arduino

The circuit should be OK.

Here is my code.

int out_A_pwm = 3; //pwm of motor A
int out_A_in_1 = 9; 
int out_A_in_2 = 8; 
int out_stby = 12; 

void setup(){
 
 pinMode(out_A_pwm,OUTPUT);
 pinMode(out_A_in_1,OUTPUT);
 pinMode(out_A_in_2,OUTPUT);
 pinMode(out_stby,OUTPUT);
 
digitalWrite(out_stby,HIGH);
    
}

void loop(){
  
    digitalWrite(out_A_in_1,LOW);
    digitalWrite(out_A_in_2,HIGH); 
    analogWrite(out_A_pwm,200);
}

Anything obvious I could be missing?

Have you tried pulldown resistor to the ground?

You may need to show us the schematic you are using, plus a picture of your hookup. Your code looks ok, based on what I can see on Pololu's site and the spec sheet for the chip. So, a few dumb questions:

Is the battery pack supplying both the motors and the Arduino? Instead, use "separate" supplies. I would personally do this by using a 7.2 volt R/C car pack (so you have the current available for the motors), and running that through a 7805 to supply 5VDC to VCC on the Arduino and VCC on the motor controller board (pin 20 on the chip, VCC on the board). I would hook the pack directly up, though (not thru a regulator), to the motor supply inputs on the controller board (pins 13 & 14 on the chip, VMOT on the board). Hook ALL the grounds together.

Alternatively, you could use separate battery packs; a six-volt one for the Arduino (hook it to the external power supply connector, then run a wire from VCC on the Arduino to VCC on the motor control board to give it 5VDC to run the circuits), and a separate six-volt one for the motor controller VMOT connection; again, hook all the grounds together.

I would hazard to guess that somewhere you don't have something connected right, and/or that by using a single power supply source not enough current it being supplied everywhere to run everything, or it is dropping almost as soon as current is applied to the motor (too fast for you to notice), either tripping or resetting something to keep it from running.

Pictures and schematics would be a big help...good luck, and I hope this helps!

:slight_smile:

Thanks for the quick reply.

Here is my circuit as it stands. Again, no response from the motor.


Using a 9V battery would clearly be much more convenient, however I am limited to AA batteries for this project.

I have 5 identical motors and 4 identical drivers. I have tried different combinations of. I have also run the motors by themselves from the 4xAA power source. Thus, there is nothing wrong with the drivers or motos. It must be something with my circuit. I have hooked everything right into the TB6612FNG at the correct locations...
yellow: PWMA
blues: AIN1,AIN2
gery: STBY
white: GNDx3
red: A01,VMOT
black: A02,GND
green: VCC

This is the first time hooking up motors so I have likely made some basic blunder. Im not sure why there are 3 independent grounds, maybe someone could explain this to me...

Thanks again for the help.

Hello, I am having the same problem with a very similar setup to you.
Any luck with getting the right circult?

Do you know the current required to power the motor and the board and the motor controller?

I think my wiring is right . ( I can post an image ). But I think I need my power as I am using my usb power atm. Which I doubt is giving enough current for all 3 things

Hello.

I realize this is a very late reply, and I hope you got your drivers working a long time ago, but I wanted to wrap up this thread for the benfit of others who might read it. Your problem is clear from your pictures: you didn't solder the motor drivers to the header pins. You cannot expect to create sufficient electrical connections by just placing the driver on the pins.

  • Ben

Edit: And to address this question:

Im not sure why there are 3 independent grounds, maybe someone could explain this to me...

Your motor driver needs to have a common ground connection with your logic voltage supply, your motor voltage supply, and your control source (in your case, an Arduino). If you are using a breadboard, you can pretty easily connect the grounds from all three to the same driver pin, but this isn't necessarily convenient if you want to make connectiosn directly to the board. The three grounds are there for convenience, and they are connected internally, so are free to leave unneeded ground pins disconnected.