Recently, we’ve come across a major issue concerning the two Falcon 500s that drive our shooter mechanism. When we run both motors for over 30 seconds at practically any velocity above 1000 rpm, they rapidly heat to over 80 degrees Celsius and shut down due to high temperatures. We are not sure if this heating has to do with our design or our PIDF values. We would appreciate any suggestions on how to solve this issue.
Additional Info:
Our Gear Ratio is 1:3.4
We are controlling both motors at the same speed using the Phoenix VoltageVelocity Control Scheme.
Are the motors coupled mechanically or are they completely independent? If they’re coupled mechanically you should make one follow the other, not run control loops on both.
They are not coupled mechanically. We have also tried running one motor as a follower of the other, yet the overheating issue still persisted. I do agree, though, that having a follower is probably better practice, so will do.
What happens if you remove one motor completely? If the other can run the system without overheating, that will help you narrow down your focus to the impact the two of them have together. If the one still overheats, then you would know something else is going on. It might be worth looking at the power draw on that channel of the PDP, investigating how much friction is in the system, or logging what the control loop is doing to see if there is anything unexpected there.
Have you setup any Stator Current Limits? If you have, it would be good to add that info to your initial post. If not, have you tried adding them or at least looked at the stator/supply current draws of the 2 motors? - seems like it would be a logical next step.
Do you have any stator or supply current limits? Setting one or both is a Big Hammer approach to eliminating the symptom (overheating) without tangling with the problem.
Use follower mode, the control loops will fight otherwise.
How fast is your system trying to spin? How much power does it consume (amps*volts) to stay at that velocity? 1:3 is a pretty big “up-duction” and a flywheel sitting on hex bearings at 15krpm will consume plenty of power…
You do know there is a cooling port on that motor? It is designed to pass cooling air through the motor. That being said, please take a look at the motor curves and where you motors are running. You might see a connection to a very inefficient part of the motor curve. Over the years, I have seen teams fight this very same issue. In looking closely at the way they have assembled the mechanism, just a little misalignment cause a huge amount of friction. Check that everything is moving freely.
Are you running Phoenix 6? I’ve read about some teams having mysterious heating issues with motors out of the blue, and we’ve experienced something similar.
Wanted to add onto this - we had a very similar heating issue with one of our Falcons the other day on the latest firmware (Phoenix 6 v24.2.0.0). In fact, the TalonFX (and just the controller) died outright after smoke came out of it, despite the Falcon (motor) being perfectly fine.
Data from our log suggests that the temperature rose rapidly under normal operation to >100C, and that the configured stator current limit was not respected (the stator current climbed and settled way higher than the configured limit, i.e. 80A configured, ~200A observed)
CTRE said they’re working on a few fixes and have heard the report of these similar~ish issues from teams.
We do not currently have any stator or supply current limits. What are reasonable values for each type for a Falcon 500?
Can we look at stator/supply current draw in Pheonix Tuner?
Also, our mechanism does have some friction, so that may contribute to the heating issue. Although, I have trouble believing that it is entirely the fault of friction.
Unfortunately, it depends. Your supply current is how much current the motor is drawing from the supply/battery, while the stator current is how much current is in the motor windings. A limit on the former is typically used to prevent brownouts, while a limit on the latter is used to limit torque output (current related to accel related to torque) and reduce heat buildup.
The actual limits you set depend on the mechanism you’re controlling (shooter) and how fast you want your flywheels to get up to speed (acceleration). To be safe, i would probably set your supply current limit to 40A and stator current limit to 40-60A - these are just limits that should keep the motor from ever heating up enough to cause a thermal shutdown, you will probably have to change them to fit your needs.
Only through Phoenix Tuner X. Not through the legacy Tuner. You can find the relevant signals in the Plots panel for a specific device.
I doubt thats the main factor here. My understanding from talking with CTRE is that the rapid/unexpected heating is primarily caused by something unrelated to user usage under normal conditions, if that makes sense. Still waiting on a more detailed confirmation though, so take that with a grain of salt.