Current Sensors

So I have been pushing our team to use current sensors for as long as I can remember but have had no success.

My questions are these:

Does your team use current sensors? on which motors?

If so what current sensors do you use? are they ICs or shunts?

What does your team do with the current sensor data?

I am looking for technical data, suppliers, and details about implementation any help would be greatly appreciated.

A number of years ago, Team 111 designed a current monitor system using the MAX4172 Maxim chip and a Motorola micro. This chip is designed to monitor charge current in laptop computer power supplies. What makes it ideal is it designed for a single ended power supply and is scalable for current. We used it with modified 1’ sections of #10 wire and monitored supply current to the Victors feeding our high current motors. The #10 had a small guage wire attached to each end that to the Maxim chip. The output was then fed to the micro D?A input and the data was then ported to the RC where it in turn was sent back to the OI. Another device at the OI then ported the dashboard data to a color Palm Pilot and would signal the driver when the motors were in normal or high current by changing the color on the Palm readout. By saving the data along with the time ticks from the dashboard and RC battery voltage monitor, we were able to analyze a direct relationship between high current draw and low battery voltage. And the data proved very important in electrical design in the years since. We used a portable version for a while to help analyze other robots. One of the more telling tales came when testing the Thunder Chicken multi-motor transmission. We were able to determine a failed motor in one of their systems.
I will try and find the schematic for this system.

Thank you very much for this information. It will be very helpful. I would love to see a schematic of the board that you built and any other information that you could provide.

Thanks again

What changes in the design came as a result of knowing this information? And what impact did those changes have on the robot’s performance?

Myself and the other mentors on my team that have discussed the topic have figured that the existing inefficiencies in the system far overshadow any possible inefficiencies in wiring. After all, we don’t have a choice in the motor controllers we use, or the wires used to connect the components (the wire has to be copper, and 12 gauge copper wire has a resistance of 1.6 milliohms per foot). Only the lengths and placement of the wires is up to us, and the resistance and inductance of even the longest wire that could feasibly be attached to the robot is so small that the results are effected more by the variances in manufacturing processes of the transistors within the victor and the attached motors. Beyond that, all of the sensors, relays, pneumatic valves, and anything not a motor uses less energy over the course of an entire match than one of the drive motors does in a second of a pushing match that stalls the motor.

So rather than focus on building with the shortest wires possible, we teach about neat wiring and accessible designs that allow for repair of any part. But if a real performance gain can be made, then we would certainly want to research this.

If I remember correctly, you don’t “have” to use 12 gauge wire, you just have to use at least 12 gauge wire, so 10 or 8 is an option as well. All things considered though, the minute decrease in resistance is probably not even worth the extra weight of the wire.

10 AWG is about one milliOhm per foot, while 12 AWG is about 1.6 milliOhm per foot.

Let’s consider a hypothetical robot motor circuit using 2 ft. of red and 2 ft. of black to connect a Victor with a CIM motor. The CIM’s maximum power point (per its 2005 data sheet) is 337 Watts and at this power its specified current draw is 67.9 Ampere. At that draw, 12 AWG wiring would dissipate 4 x 0.0006 x 67.9^2 = 11 Watts more than 10 AWG wiring. As a fraction of the 337 Watt motor output that’s about 3.3%. Seen in terms of battery current, that’s about one Ampere more (11W / 12V = 0.92A).

Of course your robot won’t load the CIM to its maximum power point very often – at least we all hope that it won’t, because that would indicate a serious design problem that has nothing to do with wiring. However, on a intermittent basis the loading could be even higher, since the CIM’s stall current is 133 Amperes – at that loading the extra dissipation and extra battery current draw that could be avoided by using 10 AWG instead of 12 AWG would be about four times what was calculated in the example above.

Now let’s consider the weight difference. 10 AWG is 0.0314 lb/ft, while 12 AWG is 0.0198 lb/ft. So the four feet used in this hypothetical circuit would weigh an extra 0.05 lb if 10 AWG is used instead of 12 AWG.

Does the difference in current draw and wasted power seem small? Is it worth the increase in weight to avoid it? Engineering is full of decisions like this one.

My question is how did the specific information gathered actually impact design and eventually performance of the robot in the face of all other attributes of the system… the difference is between the real and the theoretical.

When my team put cim motors to our dyno and ran them under loads last season, the motors didn’t draw anywhere near the specified current, even with multiple batteries connected in parallel, even as the motors approached stall. I don’t remember what they drew when stalled for a second or two, but it wasn’t enough to blow the fuse.


[edited to remove bad math]
Thanks for pointing that out, Richard.

I think my favorite engineering question of all comes up – is the data that’s being interpreted here used in the correct context or is the whole question negligible? I think that when you connect a 10AWG wire to a 12AWG wire that comes of the CIM, the 1 ampere improvement becomes diminished, if not altogether negligible.

For fun, I have some evidence where 1885 used the proper gauge wire but due to bad connections and/or soldering, a resistance was created that was high enough to burn through the plastic casing that housed the connection. This was discovered in Atlanta '07 coming off of one of our CIM motors. After it was replaced, we saw much improved performance in our speed – go figure :rolleyes:. Would have been interesting to have a current sensor giving us feedback data from this.

/edit - note - the blue plastic housing got hot enough to melt and deform a bit, allowing it to sag to the side it’s skewed on. The connectors appear to be difference sizes, however this is not the case. A terrible lesson to learn had this gone unnoticed for a few more matches.

Many crimp contacts intended for use with 10-12 AWG wire are insulated with yellow plastic. The blue-plastic insulated contacts are usually intended for use with 14-16 AWG wire. Forcing 12 (or 10!) AWG wire into a blue-plastic insulated contact usually results in some missing strands, a poor crimp, and a potential hot spot. That appears to be what happened in the case shown by your picture.

Definitely good to know, thanks!

There is a lot to answer here. (You guys need to give me some time to respond, I leave work about 2 most days and Monday night is robot team night)
Phil, the analysis showed that even the addition of one foot of wire in the design of the layout results in two feet of additional loss. The split of the power wiring to high current and low current loads not only affects the series resistance but also the voltage drop that the other loads see down stream. Placing a critical device down stream from the motor wiring causes all of the currents to add together. So although the #6 is only half the series of resistance of the #10, in some designs in handles a lot of current. Think of it this way, one foot of #10 at 100 amps drops 0.1 volt (100 amps x .001 ohms). The same current flowing in a #6 drops half of that or .05 volts/ft. However, most robot designs have four Chalupas on the floor driving the robot so with just the motors the drop now becomes 0.2 volts/ft. If your team uses the full length (24" each side of the Anderson connector) of the #6 wire supplied then you are dropping 1.6 volts in the wire feeding your robot. (4 ft. x 2 wires x 400 amps x .0005 ohms) Add to that the .011 ohms of internal resistance in the battery and you suddenly get down to the critical 8 volt cutout of the RC. A simple method of looking at things is a term I use called the “wire foot”. This term simplifies calculations if one remembers that 100 amps in one foot of #10 is 0.1 volt drop. With that in mind, the battery has 11 wire feet of loss, the #6 is 0.5 wire feet of loss/ft, etc. and it easy to see that even standard loads will quickly degrade the available voltage for motors, compressor and RC.
Due to the analysis we now minimize #6 wire runs, split the load as close to the main breaker as possible and separate and minimze the length of wire that feeds the RC. The RC then always becomes the first load on the fuse panel so that the other load currents don’t draw the supply down. In recent years, the RC backup battery was added, but at the time we did the analysis, a drop below 8 volts shut down the RC for several critical seconds. If you run the calculations on just the battery alone, 11WF x 400 amps= 4.4 volts. And with the other motors running the current on a fully charged battery is even higher. Remember, (and this is critical) every motor that is not moving is in stall. So everytime one of your motors starts, it is drawing stall current. If you use tank design for your robot (without omni wheels), the drive motors are at or near stall in every turn.
So you bring up the #12 on the Chalupa, but if you reduce that length, the drop in the motor wire is reduced. Don’t forget the other losses to consider, a Victor has some “ON” resistance and amounts to about 6 WF, a breaker may have 1 WF of loss, bad crimps can amount to 3-4 WF, loose screw terminals as much as 10 WF, etc. It is obvious then if care isn’t taken in the layout and design, proper crimps, tight hardware, and correct load balance that your are lucky if the motors turn at all. Another way to look at the issue is to examine a motor curve. Add up your losses, perhaps as much as 30 WF, and then slide the motor curve down from 12 volts to 9 volts and see where your designs start to fall apart. Add that to every one of the six drive motors and your hoped for 10 ft./sec drive speed may have fallen to 8 or even six. That difference can mean beating the competition to a ball or climbing the ramp at the end of the match.

Al’s answer is more from an electrical side. From the general robot design side, we found a few key things that year.

We found that we were popping breakers just by driving around. I don’t recall the numbers but we were drawing a lot of current. We were using two motor types on our drive system that had been used in previous years (Fisher Price and drill) and the assumption was made that the motor characteristics were the same as before. It turned out that the specs were different for one of the motors and the gearing was insufficient. We found that before ship and were able to fix it.

Another thing that we found from our competition data was that certain combinations of activity caused large current spikes. Once again, I don’t remember the exact details, but it was something like we were spiking if we tried to drive with the drop down tank while shooting. This information helped us to train the drivers to use the robot a certain way to do our best to prevent tripped breakers or RC cutout.

I have posted the schematic as a jpg here…

Dave’s post above reminded me that the FP motor design changed that year. No info was given on the change but it was a significant difference from prior years.
2001 FP
Motor no-load speed 15,000 RPM
Motor stall current 57 A
Motor stall torque 0.363 N-m

As I remember the stall current on the new motor was 94 amps and free speed near 20000 RPM.

The specs I have for 2005 are
148 stall amps
24000 RPM

The design for that year as Dave pointed out was two drill and two FP. The effect was the FP was doing all the work and dragging the drill motors along for the ride. Consequently, FP current was through the roof and drill current was next to nothing.

Regarding the StangSense current monitor:

First, it looks like a nice schematic, and well documented (a thousand thanks for that), and the Maxim current sense amps look like a good choice. I’m guessing that the Moto microP handles A/D conversions, plus either parallel to serial conversion or some multiplexing of the 8 motor inputs to 1 parallel digital output? If you use fewer motors, could you just run the current sense amp outputs to the RC’s analog inputs?


You need to check the Maxim design criteria. Off the top of my head I don’t remember what we scaled the output voltage for. This chip is essentially a current to voltage convertor with the output range set by the output resistance. Don’t forget that the analog input of the RC is expecting a voltage source through a variable resistance in series with it’s internal resistance. If you keep that in mind you should be able to make it work without blowing up the RC.