In the documentation for a Falcon 500, I see that the maximum power draw is at around 3000RPM. For our climber, we need to use that power to lift ourselves off the ground. In terms of programming, what approach should I take to tell the motor I want to draw the maximum power? Should I just use a percentage of the max RPM with ControlMode.PercentOutput, which would be something like 3000/6300 = 0.476? Or should I do closed loop velocity control so the motor makes sure it holds the max power draw RPM? Or is there some other method that I am overlooking. Thank you in advance. Java is our programming language
I think one key step is to choose your gear ratio so you CAN life the bot in the middle of the power band.
It already has a sufficient gear ratio. I meant to use “max power” as an example for any arbitrary specific power I deicide to use. Lets say I wanted to use half power, how would I go about commanding the motors to that output?
Yeah, it’s a little more complicated than setting a percent output, especially as you will have some current limit that prevents you from ever getting the power shown on Vex’s motor curves.
For a climber, I’d do this:
- Start at the peak power point on the motor curve (~3000 rpm)
- Read off the torque at that speed (~2.25 N*m)
- Read off the current draw at that speed (~125A - way more than you can supply in one circuit)
- Look at the constant current test results and pick a current you’re comfortable delivering for the time you’re climbing (say, 50A). Set the motor current limit to that (note the default is higher I think, meaning the motor will trip on temperature quickly unless you change this). Get a torque scale factor by dividing this value by the un-limited current (50/120 =~ 0.4).
(Note that this means you’re only going to get 350 to 450 watts out of the motor, not 780W as dubiously suggested by the motor curve) - Multiply the torque from 2 by the scale factor from 4 (2.25 * 0.4 = 0.9Nm), since torque is proportional to current.
- Now figure out how much torque your mechanism takes to lift the robot (will depend on your specific geometry, usually the winch diameter)
- Divide the torque requirement by the motor output from step 5 to get the gear ratio you need.
- Multiply that gear ratio by some safety factor between about 2 and 4 to account for:
– any mistakes in your math
– inefficiencies in the gearbox
– the extra torque needed to accelerate your climber from a stand still to full speed
– the fact that the battery will likely be well under 12V during the climb at the end of the match
– underperforming motors
If you really want, you can do all that, build your robot (and climber gearbox) and then monitor the actual current draw during a climb. If the current doesn’t get to 40 or 50A, go back and change the gear ratio until it does.
Power is proportional to voltage squared. So if you want to reduce power by half, you could reduce voltage (duty cycle) to ~70%.
Thank you for the detailed and quick answer! Will look into this.
Alternatively you can look at the motor curve to find where it runs at ~50A without current limiting (about 6000 rpm), read the torque at that speed (~0.25 N*m) and then gear for that. That approach will put you higher on the efficiency curve, but may not deliver as much power. But please don’t take my word for it without double checking my math.
And here’s another approach: Plug some guesses into ReCalc until you get the speed, current and power you want
[edit] Although, hmmm, it looks like ReCalc doesn’t let you put in a current limit. That’s too bad.
soon ™
Max output power is only achieved with max input power, if you need to reduce input power to maintain an rpm then you will not be making peak power and your climb will be slower. Take a look at the motor curves on the Vex website. That peak power rpm of ~3000 is for 12v, if you look at the 10v curve you’ll find peak power occurs at ~2600 rpm, 8v it is down to ~2100 rpm.
In other words you can’t make the robot climb faster by slowing down the motor through software.
So if your goal is minimizing the time to climb it is all about using the correct gear ratio so the torque on the mechanism is equal to the motor’s torque output at the desired operating rpm.
For most purposes I’d agree with this but for a climber I don’t see any reason to set the current limit that low, particularly if the goal is to minimize the time to climb. It takes about a minute to reach the thermal protection with a 60a current limit. If the robot takes that long to climb with a Falcon 500 something is very wrong.
Super good point. Either way, from Vex’s curves, it looks like about 1 N*m is about the most torque you can expect to get out of a Falcon 500 for more than ~30s without hitting the thermal trip and/or popping a breaker. That torque will occur at 3000 to 5000 rpm (~300 to ~500 W), depending on how low the battery voltage sags and/or how much current limit cuts the voltage.
One of the takeaways from this is the counter-intuitive idea that a higher gear ratio (slowing down) may get you a faster climb because you can deliver more power.
A climb is moving stored energy the battery into gravitational potential energy. The amount you need is set by the robot weight and the height you move the CG to. Those Joules are power x time. More power, less time!
A side note: if you add a gear mesh to get the higher reduction ratio, the efficiency loss may hurt too much. Might be as high as 5% additional loss, not less than 2%…
I’ve always used the rule of thumb that each spur gear mesh is a 1% loss of efficiency.
This rule of thumb works pretty well for normal spur gears. However, for the higher profile shifted gear meshes (aka, ones at the Motor pinion) it is closer to 3% due to the higher sliding friction especially with larger gears.
More importantly, because of things like bearing mounts, misalignment, etc for FRC robots I always just use .95 efficiency for each spur gear stage for FRC robots.
I’ll also recommend you check out the mechanism calculator in my AMB Calculator. It will show you the gear ratio needed to get max power for any applied voltage, and also the loaded speed depending on the gear ratio and load, along other things.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.