Go Down

Topic: tips to protect a motor .  (Read 446 times) previous topic - next topic

amine2

Hello Guys .

i have 5 of this motor :

https://www.amazon.com/gp/product/B0751LTRF3/ref=ox_sc_act_title_3?smid=A31G33MT63S07E&psc=1

and i am working on a project that calls for exactly 5 motors . and due to our limited resources here , we can't order more . if we would they won't come , that's why i am looking for tips for me not to burn it or break the gear box .

to control the motors i will be using the L293D chip , the voltage input for the entire circuit will be a 12V DC , 3A  jack (standard) , the circuit has 5 motors and an Atmega328 .

1) -is it true that it's useful to use 5 seperate voltage regulators for the Arduino and each of the motors ?

2) -is it true that driving current through the motor when the shaft is fixed can break the gear box ? (i am asking for this because i am planning to detect the motor getting to it's maximal position by it stopping (the encoder signaling a stop) while the current is still supplied to the motor .

3) - most of the time the motors will undergo maximal load that would get them to just stop while the current is still supplied to them , is that risky ?

4) - the motors might be forced to turn when no current is supplied to them , i heard that that might generate some electrical current , is there anyway i might be able to protect the circuit from that ?


please pardon me for being such an ignorant .
it's all about the melons .

MorganS

1) No. Usually you don't want to use a voltage regulator on a motor. It just burns up a lot of power in the regulator.

These motors will run just fine on 12V, so long as you never set analogWrite() to more than 128. You may even be able to go higher with no problems.

2) Probably not. Usually you would expect that the designer has put together a gearbox that is just a little bit stronger than the motor.

I would be careful not to hit the end stops with high speed. The inertia of the motor's little rotor is quite high because it is spinning much faster than the output. When you are testing the limits, keep analogWrite() to small values like 20 or 80.

However long periods of no movement with full power applied to the motor will burn out the motor, even if you stay within the specified 6.0V limit. The motor needs to move to push cool air through the motor and moving also reduces the power heating up the motor because the power is turned into motion instead of heat.

3) Probably not. Particularly if you can detect this and reduce the driving voltage while it's stopped.

4) You can do four things with power generated by the motor:
  1 - feed it back into the battery.
  2 - short-circuit the motor in "braking mode". This will not completely stop a moving motor but the drag produced is very high.
  3 - open-circuit the motor - let the output voltage rise to whatever voltage it will rise to.
  4 - any combination of the above 3.

I don't know exactly which motor driver you have, but it likely has protection diodes which mean it will do a combination of 3 and 1. If the motor generates voltage less than the power supply voltage, it will behave like 3. If that voltage rises above the power supply, it will be 'clamped' to the power supply voltage by directing the excess current back into the power supply.

As a fun experiment, take one of your motors and turn the shaft by hand. Easy? Now connect a short wire across the motor terminals. Suddenly it is much harder to turn. This is 'braking mode'. A good motor controller will let you switch this on and off, to control how quickly the motor comes to a stop.
"The problem is in the code you didn't post."

amine2

thank you very much Sir , i highly appreciate that .
i am your 1000th Karma giver :D it's a mile-stone .
it's all about the melons .

amine2

1) No. Usually you don't want to use a voltage regulator on a motor. It just burns up a lot of power in the regulator.

just one more thing , i am sorry if i am being a pain .. but wouldn't there be a problem if the motors are not isolated from the Arduino ? after all the arduino and the motors are both drawing current from the same power supply , if the motors go under heavy load , wouldn't they take the power away from the atmega ? (i am sorry if it's a stupid question)
it's all about the melons .

MorganS

Thanks. It takes a long time to get that many points.

The Arduino isn't directly powered from the 12V input. There's a regulator to step the power down to 5V. So long as the input is above the regulator's dropout voltage the 5V line will never know there's anything wrong.

Of course no existing regulator is perfect. Changes in the 12V input will cause noise on the 5V power. Usually it's never enough to cause a problem.
"The problem is in the code you didn't post."

amine2

Thanks. It takes a long time to get that many points.

The Arduino isn't directly powered from the 12V input. There's a regulator to step the power down to 5V. So long as the input is above the regulator's dropout voltage the 5V line will never know there's anything wrong.

Of course no existing regulator is perfect. Changes in the 12V input will cause noise on the 5V power. Usually it's never enough to cause a problem.
thank you very much Sir , i highly appreciate you giving me a snippet from your time , you have my most sincere gratitude and prayers and yet one more karma point .
it's all about the melons .

Go Up