How to prevent swerve drive motor burnout

Hello,
This is our first year doing a swerve drive and we want to prevent the motors we chose for the SDS MK4i swerve drive from burning up. We heard it can be a problem if the bot is not programmed right. We have not yet built our whole drive base yet but we are close and our mentors do not want to risk ruining the motor because they are extremely hard for us to replace. Our code base that I am working on is the swerve template provided by SDS.
Thank you!

Motors pull the most current when accelerating under load.
For your first steps, you can minimize the load by putting your robot on a stand (books) such that the wheels don’t touch the ground.
Eventually, you of course need to drive it on the ground, and there you can reduce acceleration by using a SlewRateLimiter filter on the joystick inputs, Slew Rate Limiter — FIRST Robotics Competition documentation . Some motor controllers like the Talon offer settings to limit the current or the ‘ramp’. Such filters and limits will make the robot more “sluggish”, so you can remove them over time as you’re becoming more comfortable with the robot, as you measure the motor currents and determine that you’re not overloading them.

3 Likes

Current limits would be a great idea in this case.

Neos and falcons should have that as an option.

20-30A limit should be plenty to test your code and make sure everything works. Then you can adjust from there.

Thank you for the replies they were a great help!

A SlewRateLimiter is a great way to stop your robot from tipping over, but I wouldn’t recommend it as a way to prevent burnout.

I wrote up some notes on current limiting. Please let me know if you find them useful.

1 Like

Your #1 tool is a current limit! I know it feels like a violation of the “more power more better” rule, but well chosen limits will actually IMPROVE you bot’s performance!

The 20-30 amp limit for the drive is a good, safe choice. You could get away with lower on the steer. But, if you are like my kids, you arent 100% sure which motor is which :wink:

Our inagural swerve is SDS MK4 L2 with NEOs, in case you want to consult or commiserate…

1 Like

Re: picking a current limit - try placing your drive against a wall and slowly ramping voltage to the drive motors until they slip against the floor (ideally, on a surface similar to competition carpet). Record the applied current during this exercise. Your current limit has no reason to ever be above the peak current drawn per motor during this test, which occurs approximately at the time traction breaks.

3 Likes

Also, DO NOT STALL your motors. If you have a good current limit applied, this may not be an all caps thing. But, there’s no reason to do this for any length of time. If you have a stand, be sure the wheels are free to steer and can’t get blocked by the stand. Be careful when using any kind of mechanical lock to fix your steering in place.

This is a good source of information on this case. When stalled, 100% of the electrical power turns to heat, and the current is maxed out, so this is the worst-case. As you can see, this will start your motor heating up, and effectively starts a clock on cooking the innards. Get in the habit of feeling the temps on your motors after running them for a while.

2 Likes