Go Down

Topic: Is there a loss in voltage to motor through motor driver? (Read 286 times) previous topic - next topic

DryRun

Hello,

I'm using 2 DC motors, each rated at 6V which means that they will give optimal performance at 6 V.

To control these two motors at optimal performance, i am using a TB6612 motor driver and two 18650 batteries which give about 7.4 V through a 6V step-down voltage regulator which is then connected to the VMOT pin of the motor driver.

My question: does this mean that exactly 6 V reaches the motors, through the AO1, AO2, BO1 and BO2 pins? Is there no voltage drop when the voltage goes through the TB6612 driver?



This is the TB6612 driver: https://www.pololu.com/product/713 and it has a schematic on that same page, but i can't figure it out:


slipstick

Like every other semiconductor switching device a TB6612 will drop some voltage depending on the current the motor is taking. The specification says 0.5V at 1A which is reasonable.

Steve

DryRun

Like every other semiconductor switching device a TB6612 will drop some voltage depending on the current the motor is taking. The specification says 0.5V at 1A which is reasonable.

Steve
Thanks for the reply. To solidify my understanding, did you obtain these values from the Output saturating voltage of the TB6612 datasheet?
IO = 1 A, VCC = VM = 5 V
Datasheet: https://www.pololu.com/file/0J86/TB6612FNG.pdf

slipstick

That's the one. Though I started from the headline features which gives Output Resistance as 0.5 Ohms and therefore 0.5V @ 1A.

Steve

MarkT

Specifically the output upper and lower FETs total on-resistance is quoted as 0.5 ohms (typical) in the datasheet,
and from the saturation spec its clear worst-case is 0.7 ohms.

So for a motor pulling 0.5A at 7.4V supply, it should see about 7V worst case (drop of 0.35V).

Do not use a regulator for Vmot, take the 7.4V straight from the battery pack.  Power electronics
is all about switching, not linear regulation.  You'll only create lots of unwanted heat and waste
power using a regulator (as well as need more components).  Use lots of decoupling (220uF or more)
on the Vmot if possible to reduce switching noise.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

DryRun

Specifically the output upper and lower FETs total on-resistance is quoted as 0.5 ohms (typical) in the datasheet,
and from the saturation spec its clear worst-case is 0.7 ohms.

So for a motor pulling 0.5A at 7.4V supply, it should see about 7V worst case (drop of 0.35V).

Do not use a regulator for Vmot, take the 7.4V straight from the battery pack.  Power electronics
is all about switching, not linear regulation.  You'll only create lots of unwanted heat and waste
power using a regulator (as well as need more components).  Use lots of decoupling (220uF or more)
on the Vmot if possible to reduce switching noise.
Thank you for your advice. I am actually aiming to obtain a linear variation between the voltage supplied to the motors (PWM from my Arduino UNO) and the torque/speed produced by the motors. So, that's the reason why i think that although you are right, i will still need to provide a regulated voltage to the Vmot pin on the TB6612 motor driver.

Slumpert

I am actually aiming to obtain a linear variation between the voltage supplied to the motors.
To be clear, the only "vary" that driver can supply to your motors is On/Off.

To supply the motors with variable voltage you would need to adjust the supply voltage going to the driver or add a variable resistance between the driver and the motor.

jremington

Quote
i will still need to provide a regulated voltage to the Vmot pin on the TB6612 motor driver.
Doing so will waste considerable energy and gain you nothing.

DryRun

To be clear, the only "vary" that driver can supply to your motors is On/Off.

To supply the motors with variable voltage you would need to adjust the supply voltage going to the driver or add a variable resistance between the driver and the motor.
I am controlling the power to the 2 DC motors via the motor driver connected to my Arduino UNO. I am using the PWM pins on the Arduino to send a value between 0 and 255 to control the speed and hence torque of the motors.

Doing so will waste considerable energy and gain you nothing.
If i take 7.4 V directly from the battery, then there are at least 2 main problems that i can think of, assuming that i am correct:
1. The motors are rated at 6 V, which means that they have optimal performance at 6 V and supplying any other voltage would mean that the performance is not going to be linear.
2. As the battery voltage drops with time, the voltage to the motors will also drop (unless a voltage regulator is used to maintain the voltage at a fixed value) and this will cause the torque to drop. For example, if i am getting a specific torque value for a PWM of 150 sent by my Arduino UNO to the motor driver, then as the voltage naturally drops with time due to using the motors, the torque at PWM=150 will be less. And my goal is to have a fixed torque for a PWM value, so that i do not have to constantly adjust the PWM value. I want to make a graph of average voltage sent to the motor (set by the PWM value from Arduino) against torque, and have this graph be valid over time, since it will not be possible without always making sure that a fixed voltage is being sent to the motor. For example, initially, when the battery is fully charged, it has 7.4 V, and a PWM of 255 would give the motors 7.4V, but after maybe 15mins of using the robot, the battery is now 6.5V and the same PWM of 255 from the Arduino would be giving a voltage of 6.5V, etc. So, that's the reason why i am considering to include a voltage regulator to supply voltage to the motors.


jremington

1. You have some unusual misconceptions and a lot to learn about motors. Do continue this journey by taking the time to experiment with some.

2. If the torque drops due to battery voltage drop, increase the PWM percentage to compensate, like everyone else does.

Aside: you seem to have chosen an appropriate user name. This is all purely theoretical, right?

DryRun

1. You have some unusual misconceptions and a lot to learn about motors. Do continue this journey by taking the time to experiment with some.

2. If the torque drops due to battery voltage drop, increase the PWM percentage to compensate, like everyone else does.

Aside: you seem to have chosen an appropriate user name. This is all purely theoretical, right?
Well, i'm just looking for help... This is actually all for my project at school. I appreciate any help although i would rather not be looked down upon, as i just want to learn.

If the PWM is already at 255, then when the battery voltage drops, it's not possible to increase the PWM further...?

P.S. My username is more of a 'feeling' and also about the fact that there is not enough time to read whole books to learn leisurely about every single component in just one semester, so lots of online research and self-learning by doing (and failing often) involved but it's definitely not purely theoretical since i am using all the hardware mentioned in my posts and i'm trying hard to get things to work as expected but i just need guidance...

jremington

Quote
it's not possible to increase the PWM further...?
Obviously. If you need more torque and power than that, the robot design is inadequate for the task.

Lots of great electro-mechanical design info, practical advice and calculators at http://www.societyofrobots.com/

Go Up