Current Measurement

Our programming team would like the ability to measure the current drawn by the various motors on our robot. The new Jaguars are supposed to have this ability built in but unfortunately we are not allowed to use that feature this year.

I do not know enough about measuring current to guide them but have searched the various electronics supply house catalogs (Digikey, Mouser, Allied, etc.) for current sensors, etc. and am now convinced I know even less than I thought I knew before. I had been under the impression that we were never allowed to place anything inline between the power distribution and the speed controllers but under careful rereading of rule <R44> I’m not so sure that is the case:

<R44> Custom circuits shall NOT directly alter the power pathways between the battery, Power Distribution Board, speed controllers, relays, motors, or other elements of the robot control system (including the power pathways to other sensors or circuits). Custom high impedance voltage monitoring or low impedance current monitoring circuitry connected to the ROBOT’S electrical system is acceptable, because the effect on the ROBOT outputs should be inconsequential.

Could someone please assist me in how we can measure current drawn by the motors while maintaining compliance with the rules? Specific part numbers, links to online references, schematics/circuits that teams have used in the past, etc. would be most helpful. I am NOT an electrical engineer but I am envisioning a sensor that connects between the power distribution board and the speed controller and then to the analog inputs that has a 0-5V output proportional to the current being drawn by the motor. For those that are familiar with them, we have a Medusa Power Analyzer that we use in testing and are looking for similar “real time” functionality on the robot during competition.


This is the sensor I used for current monitoring for the battery monitoring boards:

Pretty easy to use, though I’m not sure I like the accuracy. Benefit is that it is easy to change the sensor’s range.

Allegro sells some internal hall effect current sensors.

Many years ago we developed Stangsense using a MAX4172 Maxim high side current monitor. We simply made a series of one foot long #10 wires with a sense lead at each end. The MAX4172 then measures the voltage drop across the wire (which is ~0.1 volt/ft/100amp) and then ported that to a A/D and some multiplex circuitry to a digital input on the IFI controller. It then allowed us to port that into the dashboard stream which we configured a Palm to accept data from and we had data on current from a variety of motors along with the sampled battery voltage which was part of the dashboard stream as well as other useful items. I believe the schematic resides on CD here someplace for the price a search.

Thanks for the info guys! Keep it coming!

Al, I searched and boy “Stang Sense” was way back there starting about 2002! I read through the treads and most of the links to the schematics seem to be broken though. This oneasks for a username and password. Is there anywhere else it might still be available?

Shameless plug for my workplace.

You need to use something called a shunt for accurate current measurement:

pn9230 Analog Meter Shunt 100A/50mV

This means that at 100A there is a 50mv difference in voltage at the sense leads. Amplify this, and run it to an Analog port on the cRIO.

Here is an application note that will explain it all for you:

Ok, after some more searching I think I have found a current sensor exactly like what I had envisioned but I still don’t know if it is legal per the wording highlighted above in <R44>.

Are these Phidgets line of current sensors legal per <R44>? I know CD in not the official word on legalities, I am asking if the general opinion is or is not that these Phidgets current sensors would be considered “low impedance current monitoring circuitry” per <R44>?

50A : Manual
30A : Manual
20A : Manual

If they are legal then they seem like they would be easy to connect to the cRIO analog inputs and program to read the current draw thus exactly solving our problem.

These are available from several places including Trossen Robotics.

I am having the same problem and it won’t allow my user and password in. I found the schematic here on my home computer so I have attached it. I am pretty sure it exists here on CD someplace but here it is again.



The manual says that the current conductor resistance is 100 micro Ohms, which in my opinion is “low impedence”.

So I think that is what the rule considers to be “low impedance current monitoring circuitry”.

I cant read that schematic but it looks way more complicated then it needs to be. The MAX4372 from Maxim-IC requires basically no additional circuitry and will allow you to use a resistor or more properly a shunt of very low resistance.
normally what one would do if they wanted upto 10A is use a 10 miliohm resistor and then put a 50v/v amplifier on that.

There is a nice table on page 7

I’ve used a couple of the Allegro current sensors with good results. You can order free samples !

The chip to which you refer was not available at the time. The chip called for is easily scaled by one external resisitor to produce a usuable range for the input current we expected. Please note that this is a multichannel device intended to look at up to eight different current sense inputs and channel them for our use to the OI. We also developed this for a handheld unit which we then used to help teams troubleshoot problems. One of the first was the ThunderChickens which were using a multimotor transmission that year. It pointed out a dead motor in that system after team mentors had been scratching their heads for a while.
For anyone trying to develop another method, please remember that there does not exist a bipolar power supply on the robot to which standard analog options can be connected.

Oh dont get me wrong what you did I am sure was great, I just cant read the schematic (too blurry). Things change with time, I know that the meters that I have made over the last eight years a very different. Keep up the good work.

IMHO these would be legal, assuming the supplier qualifies as FIRST legal. IMHO such hall effect units are the best solution because they are electrically isolated from the power leads.

Note that they are good for 500% overload i.e. 250 amps.

50 amps is probably not enough range for all conditions. You could probably replace the 50 amp parts with the 200 amp allegro parts. That would enable you to measure currents near stall conditions.

All, thanks for the info. I’m glad to hear that I am not the only one that would consider the Phidgets current sensors “low impedance” and thus legal.

Al, I as well can’t make out the details of the schematic but it’s no big deal. It looks like the Phidgets devices are a COTS solution to our problem.

I haven’t gone back and double checked but I think Trossen Robotics was even listed as an official supplier in the Kit of Parts when they were flashing the suppliers and sponsors before the start of the Kickoff. The Phidgets devices are available as COTS from several internet suppliers so I don’t see any reason they wouldn’t be legal COTS from that persective.

As long as they meet FIRST’s idea of “low impedance” then I think they are legal.

I’m not sure why we would ever need more than 50A. We can’t have any motor on a breaker greater than 40A so why wouldn’t 50A be enough. Same with the 20A and 30A Phidgets on 20A or 30A breakers. Please explain further if I am missing something.

The motors can draw a pretty big current spike under some conditions, without popping the breaker.

Motor currents can approach the stall current for short periods of time. You can have loads of 60 amps for 2 second and 100 amps for hundreds of ms without exceeding the capabilities of the battery, breakers, or speed controllers.

If you limit yourself to breaker amperage, your measurements will be clamped at 50 amps during these periods. This may or not matter to your application.

In this years game, friction may limit the maximum torques and consequent motor current for drives. But you could still have higher currents in your mechanism, especially shooters.

Also keep in mind that the speed controllers are PWM. Your current is pulsed (around 100hz for victors, 15kHz for jaquars). You need to integrate the current over time to have an meaningful values.

Thanks, I wasn’t really thinking about spikes. Where did you find that they are good for 500% over their measrement range?

We are interested in current measurement mostly for use in traction control so I am guessing large spike due to stalled drive motors may not be a huge problem this year. I am assuming that a jammed or locked mechanism driven by a CIM would stall the motor long enough for the breaker to kick out but I could see that brief large spikes would occur when say a CIM shifts from full forward to full reverse. Any thoughts as to if these Phidgets would smoke on a brief spike like this or just max their reading?

See the datasheet for the allegro sensors. 500% will protect them from damage. The way these work is that the sense terminals go through the IC package so that the magnetic current in the wire is sensed by hall effect inside the package. There are electically isolated. I think they can withstand 500% overload indefinitely.

This will add to your confusion…
All motors are in stall when power is applied and the rotor is not moving…i.e. when starting.
Snap action breakers can withstand a 600% over current without trip for a second or two, 200% overload for up to 10 seconds.
Snap action breakers reset almost immediately.
CIM motor is 129 amps at stall,
Battery is capable of delivering 600+ amps at full charge.