I’ve learned a lot about the behavior of DC motors from the book Introduction to Mechatronic Design. Much of what I will discuss in this post comes from chapter 20 of this book. Electrical engineers reading this post will laugh at how elementary some of this information is, but it was news to me as a mechanical engineer.
I find that I solidify my understanding of ideas and concepts by writing about them. So what follows is a brief book report on a phenomena often called inductive kickback, which I believe was the cause of the wiring failure on my robot.
A motor is an inductor. Inductors store energy in magnetic fields. When you apply voltage to a motor, a magnetic field is created around the motor. A unique characteristic of inductors is that they resist changes in the flow of electricity through them.
If you were to suddenly disconnect the voltage source, the magnetic field would try to keep electricity flowing through the motor. But because there is no where for that electricity to go, the voltage across the motor terminals increases instead. And it can increase to very high levels, sometimes thousands of volts.
The energy stored in the motor’s magnetic field has to go somewhere. What usually happens is the voltage becomes high enough across the motor terminals that a nearby component becomes a target for electricity to arc through and flow out of the motor.
I didn’t state it in my previous post, but to power on the deck motors I’m using a large relay. To turn them off you have to open the relay, and you end up creating exactly the inductive kickback situation described above. And with nowhere for electricity to flow, I think the voltage between some of my wires became so large that it arced through the insulation.
The damaged wires in the picture above are the + voltage wire on the motors and a battery ground wire, curiously enough. And notice how close they are to each other: a perfect place for electricity to arc. Better than the contacts inside the relay, which was still functional, surprisingly.
I now know why wires are voltage rated: it has nothing to do with the conductor material or size, and everything to do with the insulation. The insulation will only prevent arcing below a certain voltage threshold. And in the field several weeks ago, it looks like I greatly exceeded that threshold, whatever it was for those wires.
I checked the Posi-Lock website, and their connectors are rated for 600V. I don’t remember where I got my wire from. I’m sure it was the cheapest knock-off stuff I could find. The insulation has no identifying marks, so I’m not sure it’s voltage rated at all.
Next post I’ll describe the changes I’m going to make to robustify the wiring and electrical components in the robot mower.
4 thoughts on “Inductive Kickback”
I found this out the hard way: If you have a fuse in your circuit, and it blows for any reason, you will have the exact same problem as your open relay. Current suddenly stops flowing to your motors, the fields collapse, and the resulting inductive spike will try to fry your wiring (or motor controllers!) Also, if you have regenerative motor controllers and the path back to the battery is open from a blown fuse, they may fry other things if you try to break quickly. The solution to the latter is to put a (very) large diode backwards in parallel with the fuse so there is always a return path for regen power. I don’t know a good solution to the former though, if you want the motor to be bidirectional (for unidirectional motors, use a flyback diode.) Maybe TVS diodes?
I think have read all your 70+ pages regarding this project… great work… providing me with lots of ideas. Your experiences and failures will certainly save me a few dollars and time; for which I am grateful.
Thanks for the kind words, Max. I saw a post of yours on the Ardupilot forums and responded to it there. Let me know if I can help.
I look forward to seeing what you come up with for your robot mower!
I think a proper relay setup would short the motor which allows the surge to be dissipated as braking energy. Not fast enough to prevent or reduce a voltage spike. Use a diode will prevent reverse flow. I use diodes on all relay coils to prevent zapping controllers. See Alltrax documentation for examples.