paper: 4 CIM versus 6 CIM theoretical calculations

Thread created automatically to discuss a document in CD-Media.

4 CIM versus 6 CIM theoretical calculations
by: asid61

A theoretical paper on the differences in output power between a 6 CIM and a 4 CIM drive with a simple algorithm for current limiting in both.

This whitepaper explains how a 4 CIM drive gets less acceleration than 6 CIM drive if the drivetrain is drawing a fixed current. A simple algorithm for current limiting is also included to make implementing a 6 CIM drive a bit easier. This is the first whitepaper I’ve ever made. It’s also made with a very basic understanding of how DC brushed motors work, so I’m not 100% certain that everything is correct. If anybody finds a problem with it feel free to correct me.
One thing I’m almost sure I can’t assume is that the RoboRIO browns out at 200 amps regardless of the duration, but I figure it’s good enough for a quick approximation.

TheTheoryBehind6CIMvs.4CIM.pdf (261 KB)

A great overview of the continued advantages of 6 CIMs over 4 - provided that you watch the total current!

Assuming 200A for the drive train is simplistic, but a good way to compare apples to apples. No matter what the battery state is, you will have a certain limited current you can draw from it before beginning the brownout process.

The first (and so far only) technical error was the sentence that spans from the first page to the second. It should read something like:

This does not change any of the high-level conclusions.

Another thing to consider if planning a drive train with current limiting is whether using some other motor will be more effective to your strategy than CIMs. A cursory review of the mini-CIM finds it to be inferior in most cases, as it has lower efficiency than the CIM at any given current draw, but there are probably cases where it is the proper choice, due to weight considerations or specific needs. If you’re going to do proper current/speed and/or thermal monitoring, you may want to add the 775 pro or other low thermal mass motor to your considerations.

In practice, my guess is that you can draw way more current than 200 amps. Just based off of my team’s 2016 drivetrain, which was 4 CIM with no voltage ramping, we experienced no brownouts even going from full forwards throttle to full backwards throttle. If we assume that our robot was traction limited below 40% of our max speed (a conservative assumption), we were drawing over 300 amps max.

Another cool aspect to current limiting is changing the limits in real-time based on each subsystem’s need. For example, in a 4 CIM “hard right” turn – 0% power on the right drive side, 100% on the left – you may only be drawing 50% of what the battery is able to provide. If you have 1.5 or 2 times the power and current limit, you can double the current limit on the left side so that you fully utilize the battery. This same idea can be used to change the current limits to better follow a motion profile or prioritize superstructure motions.

One last important item to keep in mind is the main breaker. A high power drivetrain with a current limit pulls the maximum current for more time than an equivalent lower power drivetrain. Because the main breaker is heat triggered, it is sensitive to prolonged periods over the 120 amp breaker limit, and therefore high power drivetrains are more likely to blackout than lower power drivetrains.

Given that the talon SRX now supports current PID, a lot of doors have been opened for teams to find performance improvements with current limiting.

Towards the end of the appendix A is a sentence that starts with “One final thought: …” Is that supposed to carry on to the last paragraph somehow or is it just incomplete?

Great paper, this was a good introduction to 6 CIM drives for me in terms of the math. The idea of current limiting sounds pretty cool and is definitely something that could be implemented with the Talon SRXs to tune performance and prevent brownouts.

  1. Mechanical power output is not everything. You need to have useful power; proper gearing. However, yes, having more mechanical power output won’t hurt.

  2. How do you magically draw a hard limit of 200 (or whatever) amps without effecting voltage input to the motors? Though you may be “limited” to 200 amps, when you’re drawing this much current, voltage dips due to both surface depletion (?) and voltage drop in the loads to the motors. This shouldn’t be ignored. When you drop away from the 12V, the motor curve you use up there is no longer valid.

Look into using kV and kT values to model things and take this voltage drop into account.

I took a decently quick read and had a few questions.

  1. I may be misunderstanding what you are stating here:

4CIM 200/524 = 38%

Are you saying that a 4 CIM drive should be limited to 38% per a motor in order to keep your robot below 200amps of power usage? If so, I think that the 200 Amp number is actually pretty far from the limit of the power system of a modern FRC robot; we have run 4 CIM drives without any voltage ramping and never had any issues with brownouts.*

  1. Would limiting the current draw of a motor be similar to limiting voltage? I.e. would limiting max current have a similar effect to limiting a CIM’s output to .5 (In terms of limiting the speed at which the CIM will approach maximum acceleration?)

  2. Why not simply control the Max RPM of the CIM in code rather than using a current PID?

*I suspect that part of this has been our somewhat low final RPMS from our gearbox reductions. These have both resulted in very short acceleration periods.

Thanks in advance for the answers!

He is saying that @ 0 RPMs you need to provide 38% of full voltage to draw 200 amps total. At higher RPMs you will need to provide more voltage to draw the same 200 amps. Similarly you need to provide even less voltage if the robot is traveling backwards initially.

Halving voltage halves no-load speed, halves torque, and results in 25% mechanical power. On the other hand, limiting current limits torque and thereby limits acceleration. This by itself is very helpful, even without the power increase that is mentioned in the paper, because it causes robots to be much more stable.

If you only control velocity, you will still draw high amounts of current at stall. For example, a 4 CIM drive will draw 524 amps at stall, and 1048 amps going from full forward to full reverse. This is what causes brownouts.

I fully agree with the concern, though I would consider tripping the main breaker a blackout, not a brownout.:slight_smile:

Yes, you can draw more than 220A for short durations. This does not change the primary conclusion of the original paper that 3 CIMs operated properly can provide greater mechanical power drawing from a given battery and condition. This is because the only conditions in which three motors run less efficiently than two is on the fast side of the peak of the efficiency curve, when operating near the free speed limit. In this domain, brownouts are not usually of concern. I would not use this paper as the last word in tuning a current limiting system, but I do consider it a valid argument for using a 6 CIM drive train over a 4 CIM drive train when the team’s game strategy involves pushing battles or other high-current operation.

Alternately, 6 CIMs would allow you to gear the robot faster for a given application, preserving good startup acceleration while increasing top speed, or leave gearing alone, preserving top speed while increasing startup acceleration (in torque-limited drives). This would not be nearly as much of a difference as a shifting gearbox, but it would be simpler and less expensive.

I’m a little busy to check this but I’d like to know how these calculations line up with the results in this paper:

The CIM versus mini-CIM case for the 6 motor drive is actually a lot closer of a comparison than you might think. The important thing to consider is that the more load the motors place on the electrical system, the greater the voltage drop, and the lower voltage in the system lowers the output torque / etc. There are diminishing returns on adding additional motors based on this. The performance jump from 2 to 4 CIMs is much greater than 4 to 6 CIMs. I think it was 234 that published some empirical data on this, which showed that 2 CIM + 1 mini-CIM has almost the same characteristics as a 3 CIM drive once you account for the decreased voltage drop on the entire system, and the 2+1 gearbox draws less overall current than a 3 CIM gearbox. Just some food for thought.

Thank you!
Whoops, I didn’t notice that error. Rest assured that the calculations were done the correct way (and not the way stated in the paper!) I’ll change that and re-upload soon.
I was considering a 10 775pro drivetrain just before I left for the mountains on Friday, and will do some calcs for those too soon.

You’re definitely correct, 200 amps is really conservative estimate. I couldn’t dig up any current draw graphs from this year (where we ran 4 CIM and had a few brownouts before adding a center drop), but I hope to get some more concrete data to apply to make a more optimized curve. That being said, the overall gains in efficiency and the output power still exist with a higher current draw, and I think that due to the nature of the 6 CIMs that actually might drag the gap out more.

The main reason to use 200 amps was to allow me to do just a comparison between 4 CIM and 6 CIM given other constant variables.

I’m not too worried about the main breaker. It was a problem in 2014, but main breaker blows these days are extremely rare IMO, just because brownouts happen well before blows. Early in the season we browned out many times in practice, but never faced a breaker blow.

I forgot that the SRX can do that! That makes this way easier. In that case using the function in my paper isn’t really necessary because you can just PID the current directly. That being said, coming up with a separate algorithm that takes into account battery voltage drop and max current vs. time would probably be better.

Oh geez, that was supposed to say:
“One final thought: Because a 6 CIM drive hits 200 amps at almost 4,000 rpm, where as a 4 CIM drive hits 200 amps at 3,300 rpm, the 6 CIM drive will be able to utilize all 200 amps for acceleration closer to the free speed of the drivetrain. A 4 CIM drive might only be able to get 200 amps worth of torque up to 12fps in a 16fps free speed drivetrain, whereas the 6 CIM drive can get up to 14fps before dropping under 200 amps current draw.”
That makes the gap between 4 CIM and 6 CIM larger.
Thank you!

Gearing is important, definitely. I did address that a bit in my paper, but as a general rule based on my experiences I would just run ~15fps on a 4CIM and ~17fps on a 6 CIM. That lets you take advantage of the extra efficiency of the 6 CIM while still getting a bit more acceleration.
My understanding of the motor curves was that the current and RPM decrease proportionally to the proportion of 12v that you are running at. I.E. if you run a CIM at 6v, it will have a free speed of 2,640rpm and a stall current of 66 amps. What do you mean by “voltage drop in the loads to the motors”? Like losses in the wires?
I was supposed to make a new equation that took into account voltage drop and used kT and kV to make a better comparison while I was in the mountains, but I didn’t get around to it then. If you have any current draw vs. brownout graphs or anything like that I would appreciate it.

  1. You’re right that 200 amps is pretty low. But as a number to use to compare the two drives I would say it’s fine. I’m working on a more optimized model, so if you have any current data before brownout I would appreciate it.

  2. Michael got it.

  3. Current PID (or maximizing current draw without browning out) will let you get the most out of your drivetrain in terms of acceleration and safety. This is important if you want to run a drivetrain at high speeds and still not suffer from decreased acceleration and brownouts.

Shoot, I forgot about the power decreasing with different voltages and the like. That actually screws up a big portion of my paper, so I need to go back and redo a lot of calculations. The basic conclusions should be similar, however.

I’m going through it right now, and due to the mechanical power and such changing I can’t make a judgement right now. I’ll come back to it once I fix my stuff. That being said, the issue with the 234 paper is that it gears very low and assumes you are going long distances, so it’s not a perfect comparison. The plots for voltage and current will come in very handy, come to think of it.

The lead acid batteries used by FIRST are about 17 Amp-Hours. They are certainly capable of discharging in excess of 300 amps for a few seconds.

The roboRIO brown out control is based on a voltage threshold of 6.3 Volts. And thus has 5.7 volts of margin with a fully charged battery.

You could reasonably model this situation as a 12 V voltage source with 0.05 Ohms of resistance to the power distribution board; and 0.3 Ohms of resistance through each of motor controls (Talon SRX) and wiring.

A CIM motor has a stated Stall current of 131 amps at 12 volts. For the instantaneous stall current, you could model the equivalent resistance as R=V/I = 12/131=0.09 Ohms

So each CIM motor circuit would have a Series Resistance of 0.09+0.3=0.39 Ohms.

Parallel resistances are totaled as 1/Rtotal = 1/R1 + 1/R2 +…+ 1/Rn

Four CIMs have a combined parallel resistance of 0.0975 Ohms.
Six CIMS have a combined parallel resistance of 0.065 Ohms

The Four CIM total Resistance is 0.05+0.0975=0.1475 Ohms

I=V/R=12V/0.1475=81.4 Amps

The voltage drop at the RoboRio is
V=IR=0.0581.4= 4.07 Volts
The roboRIO has 1.63 Volts of margin for a brown out.

The Six CIM total Resistance is 0.05+0.065=0.0115 Ohms

I=V/R=12V/0.115=104.3 Amps

The voltage drop at the RoboRio is
V=IR=0.05104.3= 5.21 Volts
The roboRIO has 0.49 Volts of margin for a brown out.

What happens later in the match when the Battery voltage has drooped down to 10.5 Volts?

We will leave the CIM resistance unchanged, even though they are now quite hot. Same with the wiring resistances.

I=V/R=10.5V/0.1475=71.2 Amps

The voltage drop at the RoboRio is
V=IR=0.0571.2= 3.5 Volts
The roboRIO has 0.7 Volts of margin for a brown out.

Six CIMS**
I=V/R=10.5V/0.115=91.3 Amps

The voltage drop at the RoboRio is
V=IR=0.0591.3= 4.57 Volts
***The roboRIO is -0.37 Volts below the brownout voltage.

**Summary: **
Standard four CIM Drives consistently maintain a 1 Volt higher brown out margin than six CIM drives. While a Six total CIM Drive can accelerate 150% faster than a Four CIM drive, it does come at considerable more risk of brownout event. Each team will have to balance drivetrain performance vs. robot reliability for the entire match.

That’s some nice math you got there. :smiley: I’m not sure if your model is perfect however. Are you assuming a stalled CIM? A CIM’s resistance becomes less important as it speeds up, although I assume that you are doing the math for starting from a standstill.
A possible solution to this could be just basic speed ramping.

Every forum needs a lurking electrical engineer.

This was just at the initial state of powering the motors, with no initial velocity.

My resistance values for the wiring resistances are just reasonable guesses. The actual amperage values could be larger or smaller, but the trends with the brownout margins would be consistent.

The other note is the motors windings only get a fraction of the full stall current; because the battery and wiring system resistance can’t deliver that much current.

Also, what happens if you go from full forwards to full reverse? Theoretically, you get 2x stall current. Practically speaking, you’ll start saturating magnetic fields at some point, so it gets hard to model. Stall is a good starting point.

I would caution against using the 775 Pro motor in a drivetrain application. This is an air cooled motor with an internal fan. There is no effective cooling at low speed near stall current conditions. One defensive pushing match will let the smoke out of these motors. The much higher speed output would require additional gear stages as well.

The Mini-CIMs is really the equivalent to 1/2 a CIM in terms of torque and current. If a team wanted a competive advantage of running a three motor gearbox per side; the combination of two CIMs and one Mini CIM would be a better choice. It would provide 125% the performance of a 2 CIM drive, with more brownout margin than a 3 CIM drive.

This is not correct. Check the data, which I can vouch for. It was measured correctly by people who know their motor physics, and their FRC design.

The Mini CIM has about 2/3 the active material (armature core length, permanent magnets) compared to the CIM, and it has the same commutator.

This is why the Mini CIM performs well during prolonged heavy loading – it does not heat up as fast internally as a CIM under the same load proportional to its size. Look at the test results provided by VexPro; after 60 seconds at peak load, the Mini CIM is still providing 200 Watts shaft output (87% of what it developed starting out with room-temperature innards), while the CIM is down to 230 Watts shaft output, only 70% of what it developed cold. Pound for pound in the heat of combat, the Mini CIM outperforms its big brother.

Actually, I know of a few teams that did 775pro drivetrains without problems this year (and a few that did have problems). 3310 is one example of a 775pro drivetrain done well, I believe.
1296 had a super light and compact robot, but ran only 4 775pros in their drivetrain which caused numerous burnt motors. They upgraded to 4 CIMs for champs.

I explicitly said that this was worth considering if you’re going to do proper speed and thermal monitoring. As I recall, the 775 Pro has better efficiency and far lower weight than the CIM, though by the time you gear down it will be reduced or possibly dissapear. My point here was simply that WITH MONITORING, it is worth looking at these motors. Oh - I also seem to recall an inverse differential based gearbox a few months ago that might make air cooled motors more viable for drive trains (though I was never convinced).

Looking at the numbers a year or two ago, I came up with 2/3, based (IIRC) on the peak power and stall torque. The free speed is also a bit faster.

Edit: Wow - sniped on both points, by different posters.

The Mini-CIM has 58% of the rated stall torque at 68% Amps of the CIM. A tank drive with 3 Mini-CIMs provides 87% of the initial performance compared to 2 CIMS.

When hot if we just use the 87%/70% = 1.24 performance ratio. The three Mini-CIM drive would now be 1.08% of the performance of a two CIM drive. The three CIM drive would be heavier, and need extra motor controllers.