0

TB6612 Help
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

TB6612 Help

by rhartl on Thu Jan 21, 2016 2:37 pm

Attached is a picture of the test circuit for my TB6612. It does not work. Apparently I missed something important. Can you help me?

TB6612.jpg
TB6612.jpg (109.86 KiB) Viewed 323 times

rhartl
 
Posts: 70
Joined: Tue Jan 27, 2015 1:31 pm

Re: TB6612 Help

by adafruit_support_mike on Fri Jan 22, 2016 1:40 am

Your jumper connections look right, but I can't get a good look at the solder joints from the photo.

Start by checking the voltages on Vm and Vcc. Make sure the breakout is really getting power. Then write a simple sketch that sends A4 and A5 high for 1 second, then low for 1 second, make sure those signals are reaching the breakout's input pins, then check to see if they're being copied to the output pins.

adafruit_support_mike
 
Posts: 45288
Joined: Thu Feb 11, 2010 2:51 pm

Re: TB6612 Help

by rhartl on Fri Jan 22, 2016 3:16 pm

Ok so here are some better pictures of the solder joints. I don't know how you tell definitively the joints are good. I resoldered everything with no change. When are the LED's supposed to light up?

FullSizeRender.jpg
FullSizeRender.jpg (101.78 KiB) Viewed 275 times


TB6612 jts2.jpg
TB6612 jts2.jpg (118.86 KiB) Viewed 275 times

rhartl
 
Posts: 70
Joined: Tue Jan 27, 2015 1:31 pm

Re: TB6612 Help

by adafruit_support_mike on Sun Jan 24, 2016 1:10 am

Most of those joints look good. The ones that sweep in a smooth arc from the pad up to the pin, like at Vcc, are exactly right.

There are a few that are more teardrop-shaped, which might indicate a problem. The two main reasons for joints to be that shape are:

1) More solder in the joint than it needs
2) Little or no connection between the solder and the pad on the PCB.

#1 is okay. The joint will work, but it's a little untidy by official standards. #2 can cause signal problems. You can solve both issues by giving the joint a dab of flux, reheating it, and using solder wick to pull some of the excess solder away.

There are no LEDs on the TB6612 breakout, just a resistor, a couple of capacitors, and a polarity-protection transistor for the chip's logic. That's why I suggested testing the pin voltages.

adafruit_support_mike
 
Posts: 45288
Joined: Thu Feb 11, 2010 2:51 pm

Re: TB6612 Help

by rhartl on Mon Jan 25, 2016 11:06 am

Can I check the continuity of the connection using the resistance function on a multimeter and then connecting one lead to the soldered pin and the other to the leads going into the chip? Will that method cause any problems with the chip?

Like this....

Like this.jpg
Like this.jpg (129.98 KiB) Viewed 227 times

rhartl
 
Posts: 70
Joined: Tue Jan 27, 2015 1:31 pm

Re: TB6612 Help

by adafruit_support_mike on Tue Jan 26, 2016 4:01 am

That's fine as long as the chip isn't powered. Ohmmeters in general get confused if they see voltage while they're trying to measure resistance.

Checking continuity won't hurt the chip at all though.

adafruit_support_mike
 
Posts: 45288
Joined: Thu Feb 11, 2010 2:51 pm

Re: TB6612 Help

by rhartl on Wed Jan 27, 2016 1:40 pm

Ok, so it looks like power is getting to everything. Here is a picture of the circuit setup.

Test Circuit.jpg
Test Circuit.jpg (496.96 KiB) Viewed 200 times


And test sketch...
Code: Select all | TOGGLE FULL SIZE

/*
  H Bridge test runs motor clockwise and counter clockwise.
 
  Table:   A      B
          High   Low     CW
          Low    High    CCW
          Low    Low     Off
          High   High   
       
 */
 
// Pins A1 and A2 for A and B putput.
// give it a name:
const int A = A4;
const int B = A5;

// the setup routine runs once when you press reset:
void setup() {               
  // initialize the digital pin as an output.
  pinMode(A, OUTPUT);     
  pinMode(B, OUTPUT); 
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(A, HIGH);   //Clockwise
  digitalWrite(B, LOW);
  delay(1000);
 
  digitalWrite(A, LOW);   //Stop
  digitalWrite(B, LOW);   
  delay(2000);
 
  digitalWrite(A, LOW);   //CClockwise
  digitalWrite(B, HIGH);
  delay(1000);
 
  digitalWrite(A, LOW);   //Stop
  digitalWrite(B, LOW);   
  delay(2000);
 
 
}

rhartl
 
Posts: 70
Joined: Tue Jan 27, 2015 1:31 pm

Re: TB6612 Help

by adafruit_support_mike on Thu Jan 28, 2016 4:12 am

The photo shows that the pins are at the same voltage, but not what the voltage is.

Move the black lead to one of the GND pins and check the values for each pin independently of the other.

adafruit_support_mike
 
Posts: 45288
Joined: Thu Feb 11, 2010 2:51 pm

Re: TB6612 Help

by rhartl on Thu Jan 28, 2016 9:55 am

Not so sure I am interpreting the statement correctly but... I have checked Vcc and it shows 3.3V. AIn1 and AIn2 have intermittent voltages 3.3V PWMA shows 3.3V and Vm+ is 5.1V. The voltage shown in the picture is the output voltage across Motor A pins which I would have thought would be 5.1V + and - depending on the status of Ain1 and Ain2. STBY is tied to ground.

rhartl
 
Posts: 70
Joined: Tue Jan 27, 2015 1:31 pm

Re: TB6612 Help

by rhartl on Thu Jan 28, 2016 10:12 am

So I misinterpreted this statement in your documentation:

"STBY - this is the standby pin for quickly disabling both motors, pulled up to Vcc thru a 10K resistor. Connect to ground to disable."

Thinking that STBY needed to be tied to ground to keep the motor on. Looking at the truth table for the chip the problem became clear. Maybe you should publish the table in your documentation.

Thanks.

rhartl
 
Posts: 70
Joined: Tue Jan 27, 2015 1:31 pm

Re: TB6612 Help

by adafruit_support_mike on Fri Jan 29, 2016 4:03 am

Glad to hear you found the problem.

adafruit_support_mike
 
Posts: 45288
Joined: Thu Feb 11, 2010 2:51 pm

Please be positive and constructive with your questions and comments.