Powering a motor directly from DIO?

Topics about the Hardware of Revolution Pi
Post Reply
User avatar
Boris Crismancich
KUNBUS
Posts: 23
Joined: 21 Apr 2017, 12:04
Answers: 0

Powering a motor directly from DIO?

Post by Boris Crismancich »

Hi,

we have an actuator (ball valve motor) that is specified with 24V DC / 2W.
DIO is specified with 500mA. The motor has 2W / 24V = 0,083A = 83 mA so that should be fine.

But I heard that it's always better to use a relay for a motor. Now I'm wondering what is right.

When switched off, Motors can be moved on by the weight of whatever they move. Then they act like a dynamo. So there should be a diode to protect the dio from current running towards the output.
But is there anything else that could happen?

Viele Grüße,
Boris Crismancich
Kind regards / Herzliche Grüße / Cordiali saluti
Boris Crismancich
User avatar
volker
Posts: 1046
Joined: 09 Nov 2016, 15:41
Answers: 1

Re: Powering a motor directly from DIO?

Post by volker »

Hi Boris,
what you are discussing is known as EMF (electromotive force, German EMK= elektromotorische Kraft) which is a voltage produced by moving a magnetic field over a conductor or vice versus. A turning motor is producing a "back-emf" (bemf or cemf=counter-emf) which is inverse to the driving voltage. The coils are always "seeing" the difference between the driving voltage minus bemf and this is the reason while the driving current rises the higher the accelerating force needs to be. Yes, if a turning motor is stopped by switching it off it will go on moving for a small period generating bemf which then results in a negative overall voltage. if you are using the DIO outputs as high side switches you do not shorten the motor when switching it off and thus the DIO output driver will see the negative bemf (same when turning the switched off motor by any external force).
But even more serious is the effect of "self-induction" which is based on EMF: If you switch off the current through an inductance (coil of valve or motor) you suddenly change the magnetic field around a conductor which similar to moving the field across => emf is produced. This is often described as "inductance is very conservative: it always tries to keep things as they are". This means self-induction when switching off does produce a current trying to keep the current as it was before switching off. The voltage of this self-induction is proportional to the inductance and dB/dt (B being the magnetic field) which is a really high value for a suddenly switched of magnetic field. This is why the EMF of an inductance can be extremely high voltages.
DIO outputs are well protected against EMF from turning motors or self-induction. The data sheet of the MAX14900E chip says:
"In high-side mode, when the high-side switch turns off, an inductive load will cause the O_ voltage to swing negative in order to continue sourcing the load’s inductive current while the inductor field collapses. The internal diodes support turn-off of inductive loads of up to 1.5H and currents of up to 1.9A."
and for surge protection it says:
"The MAX14900E O_ pin is tolerant to ±600V/(42Ω + 0.5μF) 1.2μs/50μs surge testing, when only using a TVS diode on VDD"
The latter is far enough for emf generated by switched off turning motors and both protection methods together are sufficient for your case.

But it is always wise to protect semiconductor outputs from self-induction of connected coils by using flyback diodes (German "Freilaufdioden") which are very often soldered directly between the pins of coils or motors. Of course you must connect flyback diodes in inverse direction - otherwise you would shorten the semiconductors output current and not the self-induction current of the coil. best choice for your project would be a cheap 1N4004 soldered between the pins of the motor. If you add 2 capacitors of 47 nF/250V from the motor pins to any functional earth (which you should have already connected to the DIO power connector) you get an additional EMV protection.
Unser RevPi Motto: Don't just claim it - make it!
Post Reply