Stall testing 775 Pro, surprisingly poor result


Would you say this is an accurate statement:

If the Talon’s current limit is set to 10A then the motor voltage hangs around 4ish volts and the motor lived for at least 60 seconds?

Something close to that. We only tested at 9A, and 11A, and it started to fail at 11A. I’d be a little more conservative and say “current limit set to 9A and motor hangs out around 3ish volts and the motor lived (in full health) for at least 60 seconds”. Attached is a chart of the measured currents and voltages.

775pro stall test current readings 5406 17Aug2018.pdf (793 KB)
775pro stall test voltage readings 5406 17Aug2018.pdf (840 KB)

Forgive me if this is a bad question, but don’t stall torque/current scale linearly with input voltage in many of the DC motor models used? As in if the stall current is ~130A at 12V, shouldn’t current limiting at ~10A theoretically correspond with an output voltage of about 1V?

The confusing thing is the talon measures current into the controller (at ~12V) but voltage out of the controller. So it would be 10A at 12 V, or 120W in. That’s actually more like 36A out of the Talon, which does scale linearly to the rated stall current (3.3V/12V130A = 36A, 36A3.3V = 118W)

Ah that makes more sense. Misleading that the Phoenix library documentation says output current: “Talon SRX can limit the output current to a specified maximum threshold.”

The inductance will not smooth the current but it will modify it. You need to know the inductance of the motor to make that calculation. Since I could not find a value for a 775 motor, I estimated inductance based on the CIM motor which has a similar stall current/winding resistance. I fudged the value for the smaller size and therefore less iron in the armature. Based on a value of .2 micro henries, the rise time (the time it takes to reach full current) would equate to about 11 microseconds. At 15kHz, rep rate is 66 microseconds so the current will not reach maximum stall current during any throttle value below about ~30%. (The pulse width has to be less than 11 microseconds) For the smaller throttle values, the current in the inductance would reduce to zero during the off period of the controller.

Chris, the speed controllers do not vary output voltage. They vary Pulse time and therefore average current. The output voltage is always reaching the input voltage less any internal losses. The only way to accurately determine current vs. input voltage to the motor is to use a motor test fixture. This has a very high current, low impedance voltage source that can be varied. That is the device that is used to plot the curves for motors and do quality control testing.

A reason for the pulsed output is that it will take a certain amount of current to get the motor to overcome all the frictional losses (brushes, bearings and air resistance) to get the motor turning. Having the high voltage but short pulse width gets the motor to move at low throttle values. By only varying the input voltage, the motor will not move until the input power overcomes the losses.

Update: I got an email from CTRE saying “This probably isn’t something we would add.” :frowning:

And how do modern current control mode motor controllers (both inside and outside FRC) control current? By adjusting the average output voltage to limit the current.

A magnetic induction based DC-DC switching converter like the boost-buck in the VRM works on the same principle. If you have a 12v input and 5v output do your loads on the 5v output need to be rated for 12v because the 12v input supply will be connected to the inductor and the load when it is in it’s ON state? No, obviously not.

For a more textbook definition a FRC motor controller, a switching converter and the common FRC battery charger all use a form of chopper circuits. While a chopper circuit can be used to control current I think you’ll be hard pressed to find any academic source that chopper circuits do not vary output voltage.

Can you cite any source for this? This does not seem to be true as of current.

From an electrical standpoint, there are two choices, switch current or switch Voltage. Most converters switch Voltage - Voltage sources are more prevalent than current sources.

FRC motor drives, and most commercial units, share this characteristic. What this means is that Voltage is applied - or removed - to a load circuit. The circuit reacts to the applied Voltage through current flow; Applied Voltage induces currents in the loads.

The difference between FRC drives and more sophisticated drives is the control loops that are implemented. Top line motor drives will close a current loop around the motor- in the case of AC machines, typically two current loops - Quadrature and Direct. The reason for this is to gain control over motor torque. FRC motor drives apply Voltage for a portion of time; better FRC motor drives apply Voltage for a portion of time or until current exceeds a limit.

There may be a few; however, most motor drives and converters operate electric switches either on or off. That is, there isn’t a linear operating mode. For FRC motor drives the power switches either apply bus Voltage to the load (when on) or clamp the load (when off). When we think of applying, for example, 3 Volts to a motor what we are really doing is applying 12 Volts to the motor for 25% of the time; the average Voltage is then 3 Volts.

There has been some discussion of inductance and it’s affect. One of the important affects of inductance is to limit the instantaneous change in current through the load. At the instant the FET switches in FRC motor drives turn on the current does not change; however, at this point in time the current starts to increase. Assuming that we have a slowly operating motor, the current is primarily a function of the electrical parameters - R and L - as well as the switch on time. Once the switch turns off, current continues to flow through the circuit. The conductive path for this is the body diode within the FET switches. In this mode, the current will tend to decay.

The best way to observe these - Voltages and currents - is using an oscilloscope (or scope) with the proper instrumentation.

I hope this helps.

Thanks, this is a good overview of how it works. The only thing I would point out is that all modern FRC motor controllers are synchronously rectified so they do not use body diodes to decay the current but instead switch the FETs to allow it to decay. This increases efficiency of the motor controller allowing it to stay cooler.

The brake/coast mode setting on modern FRC motor controllers somewhat misleadingly refer to the method used to decay the current. Coast is fast decay and brake is slow decay. You can find more about it here

It’s really easy to do in your own code though.

Curious where this value came from (0.2uH). I measure 90uH on a CIM and 40uH on a 775. This kinda changes things a lot.

Nope, DC brushed motor speed is a function of armature current and magnetic field strength. By varying the “on” time, a motor controller varies the average armature current. In testing **with a variable voltage source **the armature current will vary with input voltage. However, it is not efficient nor feasible to vary voltage as too much power is lost. Think what adding a variable resistor in series with the motor actually accomplishes. The voltage across the motor varies because the current through both the motor and the series resistor varies as the resistor changes value. Simple Ohm’s Law. If the motor had a series resistance of 0.09 ohms and the series resistor also was 0.09 ohms, then the voltage across the resistor and the motor would be 6 volts. However, the resistor would also be dissipating 400 watts in that condition.

The switching regulators vary output voltage by varying the switching frequency and therefore current in the series inductor(s) or transformers. As the frequency varies, the inductance provides a different impedance and therefore varying current. There is also a feedback circuit that manages the voltage regulation and an output filter to smooth the switching frequency in the output. Typical values for these little devices is in the 100kHz + range because components become very small as the frequency goes up.

You will need to look at the output of motor controllers with a scope to see that the switching circuitry does not change output voltage. The FRC controllers use a common method to vary current in DC motors by pulse width modulation of the output voltage swing. In the Talons, this is the input voltage less the wiring voltage drop, the series current sense resistor and the “ON” resistance of the MOSFETs. For all intents and purposes, this is ~10.5 volts (typical) with a fully charged battery. The output of the Talon is a varying pulse width, 10.5 volt peak square wave at full charge. Search “pwm motor controller output waveform” for some great pictures and discussion.

Well you can look most anywhere for details on DC motor control. I was first introduced to this issue when investigating a motor control circuit for a model train in about 1965. Without the pulse to get the motor moving, model trains have a “jump” response when started. That means that when advancing the throttle, the train would not move even though lights on the train might glow until the throttle reached a high enough value to get the motor moving. Then all of a sudden it was moving pretty fast. Slowing down is a different story as the motor is already moving. It will eventually stop even with some voltage on the motor, but the friction has been overcome and the energy of the moving train will make that throttle value less than the start throttle value.

I knew I was going to screw that up. I was doing more than one problem at a time. I got the value of 59uH from here…

I figured a nice value would be a third of that, but put 0.2uH into the calculation instead of 20uH. That makes the numbers significantly higher. Full voltage across the motor would take ~1mSec not 11uSec. So the voltage across the motor will never reach full value until at full throttle.
I should have looked back a previous discussion with Ether many years ago where this effect caused a more linear response in higher switching frequencies. The IFI controllers switching frequency was 150 Hz.

Ah, so now I see why your confused. Your knowledge is from early pulsed power model trains which replaced rheostats (actual current control motor drivers).These controllers typically would pulse at 120 times per second leaving enough time for the inductor to decay before receiving it’s next pulse. In this case your understanding would be correct.

The issue is modern FRC controllers pulse at 15000 times per second, 125 times faster. In this case the inductor does not have enough time to decay fully leading to a smoothing effect on the voltage. The reason we do this is because it generates far less heating in the motor and smoother control.

Microchip Brushed DC Motor Fundamentals

The speed of a BDC motor is proportional to the voltage
applied to the motor. When using digital control, a
pulse-width modulated (PWM) signal is used to generate
an average voltage. The motor winding acts as a
low pass filter so a PWM waveform of sufficient
frequency will generate a stable current in the motor
winding. The relation between average voltage, the
supply voltage, and duty cycle is given by:


Speed and duty cycle are proportional to one another.
For example, if a BDC motor is rated to turn at 15000
RPM at 12V, the motor will (ideally) turn at 7500 RPM
when a 50% duty cycle waveform is applied across the
The frequency of the PWM waveform is an important
consideration. Too low a frequency will result in a noisy
motor at low speeds and sluggish response to changes
in duty cycle. Too high a frequency lessens the
efficiency of the system due to switching losses in the
switching devices. A good rule of thumb is to modulate
the input waveform at a frequency in the range of 4 kHz
to 20 kHz. This range is high enough that audible motor
noise is attenuated and the switching losses present in
the MOSFETs (or BJTs) are negligible. Generally, it is a
good idea to experiment with the PWM frequency for a
given motor to find a satisfactory frequency.

New data!

Last week, one of our mentors asked “if the safe stall current on a 775 pro is so low because it’s fan isn’t doing any cooling, why not add cooling?” Well 5406 can’t let a good idea go without obsessive study, so yesterday we repeated our stall test + reverse-dyno health test, but with a slight modification to the test rig. The attached photo shows a 120V, 8A Shop Vac, connected to back end of the test motor, blowing as much air as possible through the wrong way :slight_smile:

The test results are also attached. With this setup we were able to increase the stall current limit to 29A (into the Talon, ~55A into the motor) without observing any damage. We probably could have gone higher. This is a pretty significant improvement! It’s enough that we could run the same current limit at stall as we do for regular driving (15-20A for an 8x775 pro drive, maybe 25-30A for 6x775 pro?).

The next question is how much of the Shop Vac’s airflow is actually needed per motor, and what are the best frc-legal ways to deliver it to each potentially-stalled motor. We’ve already got a bunch of ideas churning. Maybe the whole effort won’t be worth it, but at least my team is excited to be doing legit science.

Sounds like you guys are blowing a lot of hot air over there…


1 Like

Cool results! Pardon the pun :slight_smile:

Moving a modest amount of air over a hot component can increase the amount of heat removed quite dramatically.

Har har. I can tell these puns have been smoldering for a while.

To be thoroughly clear, you used the exhaust end of the shop vac?

Considering the traditional legalities of pneumatic vs. vacuum systems that could impact implementation of these findings, I’m curious how much the numbers vary if you pull a vacuum instead.