Before using this motor I setup the PID using the example code at the end of the controlled motor module documentation. During this configuration period I burned some controlled motor board without obvious reason.
So I run an investigation about it, and here is the investigation step and results.
Before trying to fix anything I need to understand why those boards burn with this particular motor. So I will need to sacrifice some for the good of the community and try to catch why and when it burn.
As I mention previously I have quite a big power supply in my setup so there is no chance that this small motor puts it KO. To be sure I just try to monitor input voltage of the board and input curent of the motor :
The blue line is current at 2A/div
The yellow line is the input voltage 5V/div and the bottom of this line is 12V.
As you can see, there is a voltage spike around 50V.
That’s obviously why some boards die. This big spike is due to the motor back EMF, in other words when the motor break the inertia of the reduction and load off the motor are transformed into curent by the motor. If nothing is able to consume this current fast the voltage raise.
So the solution is to put something consuming this current.
Trying to patch it using thing I have
My solution to consume this current is to use a zener diode, so I need to find a 12V zener diode. I noticed that there is something like a diode on smp2dynamixel :
So I plug it between my power supply and the power input of the motor and here is the result of the same measurement with the same movement :
As you can see the voltage input spike is now 40V max.
This is not perfect but it works. If I put a zener diode at the input of the board results could be really better.
trying to patch it using specific component.
I buy some 24V 3W zener to compare. I solder it directly into the board :
And here is my results :
As you can see there is no more big overvoltage. The zener just clamp it to 24V (the max voltage allowed on actual Luos boards).