-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bad implementation of PWM overheating motor #38
Comments
Hi Alain,
Sorry to hear that.
I am aware of that "feature" with the bridge in slow decay mode (
https://www.precisionmicrodrives.com/tech-blog/2017/02/26/decay-modes-motor-h-bridge-drivers
).
Depending on the model of H-bridge enable pin is available or missing so I
opted for a solution that in fact shorts the motor wires (braking action)
during the OFF periods of the PWM.
If the bridge is disabled the bridge diodes will conduct the coil current
back to the power supply. I guess that is going to be softer on the motor
and will return some energy back to the supply instead of turning it all to
heat. Please let me know if you see it works better.
Thanks a lot,
Miguel
…On Mon, Dec 4, 2017 at 4:40 PM, Alain Pelletier ***@***.***> wrote:
I revisited the implementation of PWM after burning a motor (melting the
3d printed carriage) and getting a really bad electronic burning smell. It
shouldn't have gotten that hot.
I am using the l298 and I noticed this from the datasheet:
if the motor is enabled and the outputs are both high or both low, the
motor is in braking mode.
if the motor is disabled the motor coast.
I had in the past experimented with this but forgot about it.
The PWM pin should be the motor enable.
dynamic breaking should only be activated when error is 0.
otherwise the motor should be coasting.
so 3 pins are needed for correct operation. One PWM pin and two direction
pins
The current implementations make the motor turn a bit and immediately
break.
dynamic breaking makes the motor heat significantly. This is done at every
pwm cycle (31khz)
This is something I had done a while ago but completely forgot.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#38>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAccyCKY2oNcrlT3dOEYw6O8gmuP-kl2ks5s9BJvgaJpZM4Q02Uj>
.
|
Oh you don't have to be sorry... I have thousands of motors and lots of smoke left. I think different drivers implement things differently. The TB6612 calls it a short brake. it happens whenever the PWM pin is low for this chip. The reason I am so concerned is that some systems may have run the motors hot and abandoned. I am modifying my implementation for my 1 nano 2 servo which worked well.... before the destruction of the motor. 1 m/s for a small motor.... I would like to see a stepper motor do that. |
I revisited the implementation of PWM after burning a motor (melting the 3d printed carriage) and getting a really bad electronic burning smell. It shouldn't have gotten that hot.
I am using the l298 and I noticed this from the datasheet:
if the motor is enabled and the outputs are both high or both low, the motor is in braking mode.
if the motor is disabled the motor coast.
I had in the past experimented with this but forgot about it.
The PWM pin should be the motor enable.
dynamic breaking should only be activated when error is 0.
otherwise the motor should be coasting.
so 3 pins are needed for correct operation. One PWM pin and two direction pins
The current implementations make the motor turn a bit and immediately break.
dynamic breaking makes the motor heat significantly. This is done at every pwm cycle (31khz)
This is something I had done a while ago but completely forgot.
The text was updated successfully, but these errors were encountered: