Powering 12V DC motors

Hi,

I have troubles with powering my two 12V DC motors which are controled by L298N H-bridge. I'm not sure how big battery pack and how many volts should I use. I am using 18650 3,7V batteries. I also know that L298N H-bridge is quite inefficient and that there is 2-5V drop. The question is, how many 18650 3,7V batteries do I need? If I use 3 of them it's 11.1V - even less due to the L298N drop, that is probably not sufficient for the 12V DC motors, or is it? On the other hand if I use 4 batteries, it's 14,8V, isn't that too much? Is it possible to destroy the motors giving them higher voltage? I'm not sure how to solve that, because the L298N has unstable voltage drop, so it's useless to use DCDC step-down, because there would still be fluctuations. If I use 4 bateries, it's 14,8V, which is 2,8V more that 12V, so depending on the L298N drop the voltage on motors will fluctuate between 10-12,8V, is that OK? Would it destroy the motors?

thanks in advance!!

What destroys motors is too much current which causes overheating. Without any form of power control a higher voltage will, of course, result in a higher current. If you were to connect the 14.8v LiPo directly to a 12v motor it might cause overheating.

But as you are feeding the power through the L298 you have {A} the voltage drop within the L298 and {B} the opportunity to use analogWrite() to limit the energy available to the motor. You would need to experiment but it might be prudent to start by assuming that the max value for analogWrite() should be 200

...R

Robin2:
What destroys motors is too much current which causes overheating. Without any form of power control a higher voltage will, of course, result in a higher current. If you were to connect the 14.8v LiPo directly to a 12v motor it might cause overheating.

But as you are feeding the power through the L298 you have {A} the voltage drop within the L298 and {B} the opportunity to use analogWrite() to limit the energy available to the motor. You would need to experiment but it might be prudent to start by assuming that the max value for analogWrite() should be 200

...R

Thanks very much for your advice! I am going to epxeriment with analogWrite(), but how should I test the voltage on motors? I have the digital multimeter, so should I test the voltage attaching the +/- cables from multimetr to +/- joint of the motor with wires going from L298?

thanks!!

Motor current is controlled by the combination of voltage input and load on the motors. Too much is definitely bad for them as Robin says but if your motors are not heavily loaded then a little extra voltage is not a problem. It just makes them run a little faster. You may also watch out heat build up if the motor is running for a long time.

The voltage specification for DC motors is basically just a recommendation. I've spent years running 6V motors (in model aircraft mainly) on anything up to 9.6V without problems.

BTW 3.7V is just a nominal voltage for lithium batteries. Fully charged they're 4.2V for a short while. But that's still not likely to be a real problem.

Steve

fotsirk:
but how should I test the voltage on motors?

I would not bother with that.

It would be more useful to measure the current - but that may not be necessary either. Just put your fingers on the motors and see if they feel too hot.

...R

Feeling hot things is not the best method and prone to error (or an occasional burn)

My wife think I have hands of steel as I am able to pick things up hotter than she could tolerate.

Measure the heat generated and compare it with the motor spec is the better method.
A lot of multimeters are also capable of measuring temperature with a small thermal sensor.
That would be my own method.

ballscrewbob:
Measure the heat generated and compare it with the motor spec is the better method.
A lot of multimeters are also capable of measuring temperature with a small thermal sensor.
That would be my own method.

As you are being pernickety that should be "measure the temperature and compare ..." :slight_smile:

Measuring heat is not easy.

I agree that a temperature measurement would be more precise than finger-touching but in this case I was assuming that if the OP's motor was too hot to touch it would be too hot period.

...R

Manual workers, welders and a whole raft of other trades etc tend to have a higher threshold for heat tolerance.
So I could say the motor is lukewarm and somebody else could say it was burning hot and offer up a blister to show me.

That was the point of my comment.

Then there is the old "spit on your finger and see if it sizzles" touch method :grin:

So not pernicus just an onest pov.

Robin2:
As you are being pernickety that should be "measure the temperature and compare ..." :slight_smile:

Measuring heat is not easy.

I agree that a temperature measurement would be more precise than finger-touching but in this case I was assuming that if the OP's motor was too hot to touch it would be too hot period.

...R

Robin2:
As you are being pernickety that should be "measure the temperature and compare ..." :slight_smile:

thanks a lot! You say it's better to measure the heat or the current. I am able to measure the current with multimetr or heat with thermometr (which I have to buy somewhere) the question is what is the good and bad temperature to run the motors or what is the current that I am looking for?
I have these specs for my DC motors:

25 mm gear motor
Speed: 330 rpm
Current: 550 mA (no load) 4.8 A (at stop)
Noise: 56 dB
Operating voltage: 12 VDC
Torque: 13 kg.cm
Max efficiency: load 4.0kg.cm/235rpm/2.5W/0.58A
Max power: load 7kg.cm/215rpm/3.1w/0.65A
Payload: 5kg

thanks for any advice!

4.8A stall current is WAY too much for an L298N. The voltage will be o.k. but you really need a better motor driver.

In your case the motor isn't the problem, it's the L298N that will fail if the current is more than about 1.5A so you could measure that but much better to use something more suitable than the ancient inefficient L298N.

Steve

fotsirk:
thanks a lot! You say it's better to measure the heat or the current.

Let's try and keep this simple.

If you briefly touch your finger to the motor does it feel extremely hot? If so it is too hot.

If it feels warm (like the temperature of water in a hot, but comfortable, bath) then everything is fine.

I doubt very much that any motor is going to fail because of the difference between the sensitivity of my delicate fingers compared to Bob's work hardened fingers. :slight_smile: :slight_smile:

...R

slipstick:
4.8A stall current is WAY too much for an L298N. The voltage will be o.k. but you really need a better motor driver.

In your case the motor isn't the problem, it's the L298N that will fail if the current is more than about 1.5A so you could measure that but much better to use something more suitable than the ancient inefficient L298N.

Steve

Thanks for pointing that out! That is not ideal situation for me, do you have any idea of better motor driver?

thank you

Is it even possible that 12V DC motor with current 550 mA (no load) have stall current 4.8A, isn't that mistake?

The stall current is usually a large multiple of the no-load current.

The Pololu website has a good selection of motor drivers and lots of information about them.

...R

Robin2:
The stall current is usually a large multiple of the no-load current.

The Pololu website has a good selection of motor drivers and lots of information about them.

...R

Thanks, I have checked that out, the one that I need costs 50$ plus shipping to europe is in total around 100$, pretty pricy for motor driver :slight_smile:

There are plenty of other sources for large current motor drivers

And a few more

The internet is your friend if you want it to be.

OK, I ended up buing this one:

I also purchased Motor Shield VNH2SP30, is there any disadvatage of using a shield?

thanks for generous help!

Just be aware that a lot of motor shields may have a jumper or trace to swap from Arduino power to shield power.
Whenever possible use the shields power system but do NOT forget to check the jumper etc is in the correct place.

The amazon item you link to would have been on the very bottom of my list BTW as it uses the old L298 which are quite power hungry devices of ancient origin.

ballscrewbob:
Just be aware that a lot of motor shields may have a jumper or trace to swap from Arduino power to shield power.
Whenever possible use the shields power system but do NOT forget to check the jumper etc is in the correct place.

The amazon item you link to would have been on the very bottom of my list BTW as it uses the old L298 which are quite power hungry devices of ancient origin.

Thanks! I am going to use the 12V power supply for the shield circuit that is dedicted to the motors, that means it does not power the shield, I was also wondering how to power the shield with arduino? Is it possible through the Vin pin on the shiled (similar way as arduino is powered)? the Vin pin on arduino is obviously covered by the shield, so the question is, if the Vin pin on the shield power the shiled as well as the arduino?

thanks a lot for your help so far!

fotsirk:
I also purchased Motor Shield VNH2SP30, is there any disadvatage of using a shield?

Why would you buy a motor shield as well as a motor driver? Do you have two motors to control?

What is the max motor current that the motor shield can provide? (you did not provide a link to its datasheet).

Thanks, I have checked that out, the one that I need costs 50$ plus shipping to europe is in total around 100$, pretty pricy for motor driver

I assume you are referring to some Pololu product. Most of their products are available from suppliers in the UK - I don't know about other European countries. And equivalent products are available from other producers.

...R