Servomotor protection circuit
-
I occasionally see people posting about using servomotors here. One thing you should know about them is that they can wipe out your controller board, power supply, and any other connected electronics if you are not very careful in their use. I was uncareful and learned this the hard way when I was building the Arrakis sand table.
I had slightly reduced the size of the corexy mechanism, but failed to update the travel limits in the config.g file. I then ran an old pattern file that was generated at the original, larger size on the new, smaller mechanism. I think all this happened before I had my morning coffee. The machine homed itself then took off at 1500 mm/sec and promptly slammed into the physical end of the Y axis, bringing the servomotors to an abrupt halt. That caused a voltage surge on the power supply line that destroyed the Duet2 WiFi controller board, the power supply, and some buck converters that were used to power LED strips.
Someone pointed me at an app note on the Gecko Drives web site that will protect from exactly this sort of problem (and mechanical failures like seized bearings, or someone/something (cats?) blocking the mechanism. This is the circuit:
I designed a PCB, ordered parts, and after waiting months for backordered connectors, decided not to wait any more. I built a couple boards and ran a test of the circuit prior to installing the servomotors in my 3D printer. The protection circuit appears to work as expected. The abruptly stopped motor generates a voltage spike that gets dissipated in the 33 Ohm 10W resistor and the spike is never seen by the power supply.
-
@mrehorstdmd Ugh, bummer and good for you!
When I wrote the firmware for the Sleep Number adjustable bed, we had to load the bed frame with four 300 pound piles of sand, run the bed full-speed down and do an EStop.
It reset the CPU and radio pretty reliably, but we had no parts damage.
I wish the EEs had known about something like this. Our solution was about 10 high-wattage Zener diodes to dissipate the spike. It worked, so all was good.
-
@dc42 is this kind of protection circuit built into the 1XD boards?
-
@oliof said in Servomotor protection circuit:
@dc42 is this kind of protection circuit built into the 1XD boards?
No it isn't. If you are using a 48V PSU to power both the servos and the 1XD, then you must ensure that the voltage seen by the 1XD doesn't exceed its rating. This rating is nominally 50V, but short peaks up to 56V should not cause damage.
-
Without knowing what sort of voltage spike to expect I'd say the safest thing to do is power those servos from a supply that is separate from the one that powers the controller board. You might not need to protect the power supply if you use an old-school, unregulated linear supply with plenty of capacitance.
The servo driver you use with the 1XD board might have some protection built in- I'd check the documentation. I used the cheapest servos available and their integrated drivers seem to be able to withstand the spikes (maybe they just used high voltage rated components), but the spikes definitely get outside the motor, requiring some protection circuit.
The REDump circuit might not be able to handle voltage spikes coming from a 48V motor as is. I'd probably use higher voltage rated Darlington transistor, diode, and capacitor. You might want to check the diode current rating against the motor peak current rating, too.