I find it ironic how the game "Recycle Rush" can create so much waste. - bEdhEd [more]
 Chief Delphi Breaker Modeling
 portal register members calendar search Today's Posts Mark Forums Read FAQ rules

#1
11-20-2017, 10:57 PM
 Ryan-Greenblatt A foolish programmer FRC #0900 (Zebracorns) Team Role: Programmer Join Date: Oct 2015 Rookie Year: 2015 Location: NC Posts: 57
Breaker Modeling

With the popularity of 775 pros and generally high current robots modeling the 120 Amp breaker* seems like a good idea. By using the 120 amp breaker data sheet, I made a function (if you want exact specifications just ask) to map any current greater than 120 amps to the lower bound of how long it will take the breaker to pop**. Then, to figure out how close a breaker is to popping, I can just sum dt/function(current) where function is as described in the sentence before***. So, if the breaker would take 12 seconds to pop at 240 amps and 4 seconds to pop at 360 amps, then if it was at 240 amps for 2 seconds and 360 amps for 1 second it would be 43% "popped" (2/12+1/4). However, this model doesn't account at all for the situation where current is below the rated maximum. Does anyone have any data or ideas on what occurs in contexts such as when the breaker is at 360 amps for 3 seconds then at 40 amps for 2 seconds then at 360 amps for another 2 seconds? Any data or better ideas on how to generally model breakers would also be great.

*The model also should work for any of the PDP legal breakers as they also work (from my understanding) by having a piece of metal deform due to heating up from high current. Their data sheets are also easily available.
**This assumes an additive property which hopefully isn't too unrealistic.
***That function can also pretty easily take into account temperature derating , that calculation assumes around 25-35 degrees C
#2
11-21-2017, 01:52 AM
 AriMB The Philadelphian emigrant AKA: Ari Meles-Braverman FRC #5987 (Galaxia) Team Role: Mentor Join Date: Mar 2015 Rookie Year: 2012 Location: Haifa, Israel Posts: 1,772
Re: Breaker Modeling

I'd be interested to hear how this works out, specifically how accurate to real life it is. I think someone from 1678 posted on here a while ago that the graph on the spec sheet isn't very accurate and they saw a lot of variation in their testing they had a hard time accounting for in the graph. You might want to reach out to them and see if they want to share the results of whatever testing they did.
__________________
Studying MechE at the Technion - Israel Institute of Technology
2017-present: FIRST Israel CSA/FTAA
2017-present: FRC 5987 Technical Mentor 18isr2 18isr4 18isrcmp 18carv
2012-2016: FRC 423 Member 15njtab 15padre 16paphi
#3
11-21-2017, 02:05 AM
 phurley67 Programming Mentor AKA: Patrick Hurley FRC #0862 (Lightning Robotics) Team Role: Mentor Join Date: Apr 2014 Rookie Year: 2013 Location: Canton, Michigan Posts: 194
Re: Breaker Modeling

Any breaker analysis ignoring its temperature is probably going to fail. Notice on the data sheet there is another graph describing the temp derating curve.

Over the course of a match the breaker is constantly heating up. So if the breaker is cold a the beginning of a match you might get reliably get over 6 seconds at 360amps, and by the end of the match less than 4 seconds.

You need to model the temp changes over time. Stick an accurate temperature sensor on the breaker and gather data on how it warms over time at various loads.
__________________
Lightning Robotics -- Give me an Aaaaaaa

#4
11-21-2017, 07:09 AM
 GeeTwo Somebody Else AKA: Gus Michel II no team Team Role: Mentor Join Date: Jan 2014 Rookie Year: 2013 Location: Slidell, LA Posts: 5,999
Re: Breaker Modeling

Quote:
 Originally Posted by phurley67 Any breaker analysis ignoring its temperature is probably going to fail. ... Stick an accurate temperature sensor on the breaker and gather data on how it warms over time at various loads.
You should probably also monitor the temperature as it cools (with no current, but nothing actively cooling it) as well. Maybe not so critical for use within a match, but it would be essential for predicting longer terms.
__________________

If you can't find time to do it right, how are you going to find time to do it over?
If you don't pass it on, it never happened.
Robots are great, but inspiration is the reason we're here.
Friends don't let friends use master links.
[Quoting brennonbrimhall]: We design a new robot every year, but we can't forget that we also design a new team every year as folks come and go.
#5
11-21-2017, 08:12 AM
 philso Mentor no team Join Date: Jan 2011 Rookie Year: 2009 Location: Houston, Tx Posts: 1,712
Re: Breaker Modeling

Quote:
 Originally Posted by phurley67 Any breaker analysis ignoring its temperature is probably going to fail. Notice on the data sheet there is another graph describing the temp derating curve. Over the course of a match the breaker is constantly heating up. So if the breaker is cold a the beginning of a match you might get reliably get over 6 seconds at 360amps, and by the end of the match less than 4 seconds. You need to model the temp changes over time. Stick an accurate temperature sensor on the breaker and gather data on how it warms over time at various loads.
Factors such as the airflow around the breaker and the thermal mass of what the breaker are mounted to will have an effect on how it behaves. One also has the problem of how to define a current vs. time profile that makes sense since each robot will be different.

The large industrial breakers I used at previous jobs behaved the same way and were influenced by the same factors. We did some basic calculations and always did extensive testing to verify correct operation.
#6
11-21-2017, 09:13 AM
 Ryan-Greenblatt A foolish programmer FRC #0900 (Zebracorns) Team Role: Programmer Join Date: Oct 2015 Rookie Year: 2015 Location: NC Posts: 57
Re: Breaker Modeling

Quote:
 Originally Posted by phurley67 Any breaker analysis ignoring its temperature is probably going to fail. Notice on the data sheet there is another graph describing the temp derating curve. ... You need to model the temp changes over time. Stick an accurate temperature sensor on the breaker and gather data on how it warms over time at various loads.
I have taken a look at the derating curve; it is quite simple to account for ambient temperature using that data. I didn't think about accounting for changes in the temperature of the breaker housing, thanks for informing about this issue. Adding that to the model is somewhat complicated by the fact that there is a relationship between current and temperature; I don't know if when the supplied data on pop time vs % of rated current was taken, housing temperature was rising significantly over time. If 160 amps are run through the breaker, it theoretically takes about 40 seconds for the breaker to pop. In that time how much does the breaker housing heat up? If we assume that the data on current vs pop time involves no rise in housing temperature, then the curve may simply be shifted in real time using a sensor. This is probably unreasonable, but it will only make the model more conservative.

Quote:
 Originally Posted by GeeTwo You should probably also monitor the temperature as it cools (with no current, but nothing actively cooling it) as well. Maybe not so critical for use within a match, but it would be essential for predicting longer terms.
Sound like a good idea for testing. Also, all match data will be logged and eventually published along with the results of any testing we do, potentially including breaker temp data.

Quote:
 Originally Posted by philso The large industrial breakers I used at previous jobs behaved the same way and were influenced by the same factors. We did some basic calculations and always did extensive testing to verify correct operation.
I am curious what those basic calculations were and what testing was done. Also, did you end up modeling the breakers in real time?
#7
11-21-2017, 10:05 AM
 Al Skierkiewicz Chief Robot Inspector AKA: Big Al WFFA 2005 FRC #0111 (WildStang) Team Role: Engineer Join Date: Jun 2001 Rookie Year: 1996 Location: Wheeling, IL Posts: 11,120
Re: Breaker Modeling

To be sure it is not the ambient temperature that is important, it is the temp of the bimetal strip inside the breaker that matters. In my opinion, the wire does a great job at removing heat, drawing it away from the interior of the breaker. One side of the metal is welded to the contact on the outside of the breaker. The interior space will be near ambient at the start of the match.
The variation in the specification curve is more a production variance than anything else.
Please remember that FRC multiple motor drives may not have a 100% duty cycle at max current. If the robot is actually moving, CIM motor current should be considerably less than stall current. While worse case stall current on a CIM motor is 131 amps, wiring and speed controllers enter significant loss on FRC robots. On average, I would place stall currents in the 100-110 amp range for FRC robots. Many teams use a "turbo" mode in their software that runs the robot at somewhat less than full throttle for the majority of the match and then only use "full throttle" when needed for speed. While less than full throttle, max current will not occur in all motors at the same point in time. The PWM output of the motor controllers is not in sync and the motor commutators are neither running at the same speed or commutator position.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
Knowledge is power. Power UP!
#8
11-21-2017, 10:24 AM
 Ryan-Greenblatt A foolish programmer FRC #0900 (Zebracorns) Team Role: Programmer Join Date: Oct 2015 Rookie Year: 2015 Location: NC Posts: 57
Re: Breaker Modeling

Quote:
 Originally Posted by Al Skierkiewicz Please remember that FRC multiple motor drives may not have a 100% duty cycle at max current. If the robot is actually moving, CIM motor current should be considerably less than stall current.
Yep, I was planning on using the PDP's measured current as the input to the model for the 120 amp breaker. So it will account for all current flow, including from items other than motors.
#9
11-21-2017, 10:48 AM
 Ryan_Todd ye of little faith FRC #0862 (Lightning Robotics) Team Role: Mentor Join Date: Apr 2006 Rookie Year: 2005 Location: Plymouth, MI Posts: 122
Re: Breaker Modeling

If you have any inclination to integrate a proper thermal analysis into your model, I've already done most of the legwork.

Original post here, discussing the effect of pre-cooling a main breaker with canned compressed air before the start of a match:
https://www.chiefdelphi.com/forums/s...4&postcount=44
(WARNING, this original post made an incorrect assumption of the main breaker's series resistance, and so the final numbers are off by a factor of 6.)

I unfortunately can't edit the original post anymore, so I updated the calculations and published the result as a white paper:
https://www.chiefdelphi.com/media/papers/3404
__________________

Last edited by Ryan_Todd : 11-21-2017 at 01:14 PM. Reason: word choice
#10
11-21-2017, 11:28 AM
 InFlight 3574 - The King's of Bling AKA: Jim FRC #3574 (High Tekerz) Team Role: Mentor Join Date: Mar 2014 Rookie Year: 2012 Location: Seattle Area Posts: 276
Re: Breaker Modeling

The nominal main circuit breaker trip current is an i^(constant) x t relationship.

This FRC 120 amp breakers trip appears to be around i^(.4) x time based on the spec sheet.

The circuit breaker is in a molded (insulated) case which will reduce the effective heat transfer rate.

At room temperature (77° F) the trip current is about 113% of rated. The resistive heating will be related to a function of integrated V*I with time. At some point the heat transfer rates will tend to stabilize the internal temperature. I’d suspect this would be warm enough to bring the internal temp to close to 100° F or more, and reduce the trip current to the rated 120 Amps or a bit less.

You could measure the breaker metal terminal temperatures to get a better idea of internal temperature vs time.
__________________
#11
11-21-2017, 11:36 AM
 GeeTwo Somebody Else AKA: Gus Michel II no team Team Role: Mentor Join Date: Jan 2014 Rookie Year: 2013 Location: Slidell, LA Posts: 5,999
Re: Breaker Modeling

Quote:
 Originally Posted by InFlight ...The circuit breaker is in a molded (insulated) case which will reduce the effective heat transfer rate.
As Al noted, the main route to sink the breaker heat is the wires, not the case.

Quote:
 Originally Posted by InFlight ... You could measure the breaker metal terminal temperatures to get a better idea of internal temperature vs time.
Definitely better than the case.
__________________

If you can't find time to do it right, how are you going to find time to do it over?
If you don't pass it on, it never happened.
Robots are great, but inspiration is the reason we're here.
Friends don't let friends use master links.
[Quoting brennonbrimhall]: We design a new robot every year, but we can't forget that we also design a new team every year as folks come and go.
#12
11-21-2017, 11:50 AM
 Mike Schreiber Registered User FRC #0067 (The HOT Team) Team Role: Mentor Join Date: Dec 2006 Rookie Year: 2006 Location: Milford, Michigan Posts: 605
Re: Breaker Modeling

Let's put some physics to this.

Breakers trip because of heat. So we should do an energy balance and consider this an open system with no work being done. Heat energy enters the system because the breaker / wire assembly has a small resistance. Heat energy leaves the system via conduction or convection.

Q_breaker = Q_resistance - Q_cooling

All power dissipated in a resistor is converted to heat energy. This is expressed as P = I^2 * R. This gives you a result in Watts. Current can be measured with acceptable accuracy through the PDP.

Modelling the heat loss via conduction or convection gets a bit more complicated but can be assumed to be linear over time based on the governing equations.

To test the validity of this method let's generate a curve that hopefully matches reasonably well with the data sheet using these equations.

Using arbitrary numbers let's say we believe the breaker trips after applying 150 amps for 500 seconds (based roughly on the data sheet, in reality you'll want to determine this experimentally). We'll assign a resistance value of 0.001 Ohms (it's arbitrary and doesn't really impact the calculations). We'll also arbitrarily say that the breaker has 2 W of cooling via conduction.

Q_resistance = [(150 amps)^2 * 0.001 Ohms * 500 seconds] = 11250 Joules
Q_cooling = - (2 J/s * 500 seconds) = 1000 Joules

So we can say that the breaker will trip when it reaches 10250 Joules of heat (this corresponds to a temperature via a specific heat value) Note that I didn't look up specific heat values or resistances for anything for the sake of quick math so my Joules are probably way off from realistic numbers.

Now to solve for time to breaker trip at a different current we can do some algebra.

Q_breakerpop = I^2*R*t - P_cooling*t

t = Q_breakerpop / (I^2*R - P_cooling)

This reasonably creates a similar arc as the data sheet generates, but likely needs a lot of tuning via experimental values.

Since I is obviously not constant in a match a model could be generated tracking heat generated using the PDP data.
Attached Thumbnails

__________________
Mike Schreiber

Kettering University ('09-'13) University of Michigan ('14-'18)
FLL ('01-'02), FRC Team 27 ('06-'09), Team 397 ('10), Team 3450/314 ('11), Team 67 ('14-'??)
#13
11-21-2017, 03:10 PM
 philso Mentor no team Join Date: Jan 2011 Rookie Year: 2009 Location: Houston, Tx Posts: 1,712
Re: Breaker Modeling

Quote:
 Originally Posted by Ryan-Greenblatt I am curious what those basic calculations were and what testing was done. Also, did you end up modeling the breakers in real time?
We did the calculations that people have already discussed. We also added a 25% factor to account for surge currents in our application.

Quote:
 Originally Posted by Mike Schreiber Let's put some physics to this. Breakers trip because of heat. So we should do an energy balance and consider this an open system with no work being done. Heat energy enters the system because the breaker / wire assembly has a small resistance. Heat energy leaves the system via conduction or convection. Q_breaker = Q_resistance - Q_cooling All power dissipated in a resistor is converted to heat energy. This is expressed as P = I^2 * R. This gives you a result in Watts. Current can be measured with acceptable accuracy through the PDP. Modelling the heat loss via conduction or convection gets a bit more complicated but can be assumed to be linear over time based on the governing equations. To test the validity of this method let's generate a curve that hopefully matches reasonably well with the data sheet using these equations. Using arbitrary numbers let's say we believe the breaker trips after applying 150 amps for 500 seconds (based roughly on the data sheet, in reality you'll want to determine this experimentally). We'll assign a resistance value of 0.001 Ohms (it's arbitrary and doesn't really impact the calculations). We'll also arbitrarily say that the breaker has 2 W of cooling via conduction. Q_resistance = [(150 amps)^2 * 0.001 Ohms * 500 seconds] = 11250 Joules Q_cooling = - (2 J/s * 500 seconds) = 1000 Joules So we can say that the breaker will trip when it reaches 10250 Joules of heat (this corresponds to a temperature via a specific heat value) Note that I didn't look up specific heat values or resistances for anything for the sake of quick math so my Joules are probably way off from realistic numbers. Now to solve for time to breaker trip at a different current we can do some algebra. Q_breakerpop = I^2*R*t - P_cooling*t t = Q_breakerpop / (I^2*R - P_cooling) This reasonably creates a similar arc as the data sheet generates, but likely needs a lot of tuning via experimental values. Since I is obviously not constant in a match a model could be generated tracking heat generated using the PDP data.
Because the breaker is a thermal device, and the trip current is dependent on the actual absolute temperature of the trip element, the ambient temperature around the breaker DOES affect the actual trip current. The thermal mass of the other parts of the breaker and the thermal conductivity to the ambient also has a significant effect. Because the thermal mass of the breaker components has an effect, the "history" of the current profile over time will have an effect. Calculations that don't take these factors into account will most likely give misleading results.

Thus, one would have to characterize the breaker behaviour for each particular robot to get an accurate estimate of the trip point. This characterization work makes sense if one is building a bunch of very similar robots. Typically, each team will have a different environment for their breakers so it will be difficult to use the results for one team on a different robot.

It seems that the OP may be trying to use the breakers as a current limiting device. Breakers are meant only to serve as protection devices and are never designed to have a precise trip level. If your objective is to prevent the breakers from tripping in high current applications, the proper way would be to set the current limit of all of the motor controllers in each application (drivetrain, winch, shooter) to the same level, ensuring that level is below the minimum trip current of the breakers, taking into account any de-rating factors. The current limit level of the motor controllers should be more consistent, from one unit to another. It should also be largely insensitive to the ambient temperature and the history.

Last edited by philso : 11-21-2017 at 03:19 PM.
#14
11-21-2017, 05:25 PM
 phurley67 Programming Mentor AKA: Patrick Hurley FRC #0862 (Lightning Robotics) Team Role: Mentor Join Date: Apr 2014 Rookie Year: 2013 Location: Canton, Michigan Posts: 194
Re: Breaker Modeling

Quote:
 Originally Posted by philso If your objective is to prevent the breakers from tripping in high current applications, the proper way would be to set the current limit of all of the motor controllers in each application (drivetrain, winch, shooter) to the same level, ensuring that level is below the minimum trip current of the breakers, taking into account any de-rating factors.
But that means we would be slower/less powerful/etc than someone else who pushes the envelope. Our auto shifting 6 cim drive train would easily exceeded the current limit for short periods of time. We also had code that monitored how long we were above a calibrated max current level and would force a downshift, and a second monitor that would kill the drive motors if we exceeded it (that never happened in play), with the assumption it is better to lose a battle, than to trip a main breaker and be out for a match. Those calibrated values were educated guesses made based on these charts, some math, and real world experience.

All of that said, under the RoboRIO, we were far more likely to experience brown outs, and adjusting everything to avoid/minimize brownouts will make it very unlikely to ever trip the main breaker. We ran test runs, adjusted motor ramping, current limits, etc until under abusive driving conditions with a fresh battery, brownouts were very rare and when they did occur they were of the very short variety. This combined with a fairly smart auto-downshift, and a traction limited low gear; we did not have any issues with the main breaker all season.
__________________
Lightning Robotics -- Give me an Aaaaaaa

#15
11-21-2017, 06:48 PM
 philso Mentor no team Join Date: Jan 2011 Rookie Year: 2009 Location: Houston, Tx Posts: 1,712
Re: Breaker Modeling

Quote:
 Originally Posted by phurley67 But that means we would be slower/less powerful/etc than someone else who pushes the envelope. Our auto shifting 6 cim drive train would easily exceeded the current limit for short periods of time. We also had code that monitored how long we were above a calibrated max current level and would force a downshift, and a second monitor that would kill the drive motors if we exceeded it (that never happened in play), with the assumption it is better to lose a battle, than to trip a main breaker and be out for a match. Those calibrated values were educated guesses made based on these charts, some math, and real world experience. All of that said, under the RoboRIO, we were far more likely to experience brown outs, and adjusting everything to avoid/minimize brownouts will make it very unlikely to ever trip the main breaker. We ran test runs, adjusted motor ramping, current limits, etc until under abusive driving conditions with a fresh battery, brownouts were very rare and when they did occur they were of the very short variety. This combined with a fairly smart auto-downshift, and a traction limited low gear; we did not have any issues with the main breaker all season.
With ALL things equal (including your driver's driving style/strategy), allowing higher motor currents might give you an advantage. Of course, all things are not really equal so it is possible to have a robot with lower motor currents outperform one with higher motor currents.

It will be better for teams to implement current limit through the motor controller than to have the breakers open, even the snap action ones in the PDP. Pushing the envelope, as you are suggesting, might give you 5-10% more peak current, for periods of 1 second or less, but you will have a greater risk of opening a breaker. It also makes you vulnerable to variations in factors such as the ambient temperature and part-to-part variations (breakers are not tightly calibrated). Will that slightly higher peak motor current really make a measurable difference in your performance? Is the risk of opening a breaker acceptable to your strategy? Can you devise a way to get better overall performance by not pushing the motor power envelope so hard so you can have reliable power? Why are you allowing abusive driving conditions? The sustained high current draw conditions will wear out your batteries faster.

 Thread Tools Display Modes Rate This Thread Linear Mode Rate This Thread: 5 : Excellent 4 : Good 3 : Average 2 : Bad 1 : Terrible

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts vB code is On Smilies are On [IMG] code is On HTML code is Off
 Forum Jump User Control Panel Private Messages Subscriptions Who's Online Search Forums Forums Home Announcements     User Announcements FIRST     General Forum     Rumor Mill     Career     Robot Showcase Technical     Technical Discussion     Robotics Education and Curriculum     Motors     Electrical         CAN     Programming         NI LabVIEW         C/C++         Java         Python     Sensors     Control System     Pneumatics     Kit & Additional Hardware     CAD         Inventor         SolidWorks         Creo     IT / Communications         3D Animation and Competition         Website Design/Showcase         Videography and Photography         Computer Graphics Competition     Awards         Chairman's Award     Rules/Strategy         Scouting     Team Organization         Fundraising         Starting New Teams         Finding A Team         College Teams     Championship Event     Regional Competitions     District Events     Off-Season Events     Thanks and/or Congrats     FRC Game Design     OCCRA         OCCRA Q&A Other     Chit-Chat         Games/Trivia         Fantasy FIRST     Car Nack's Corner     College & University Education     Dean Kamen's Inventions     FIRST-related Organizations         The Blue Alliance     FIRST In the News...     FIRST Lego League     FIRST Tech Challenge     VEX     Televised Robotics     Math and Science     NASA Discussion ChiefDelphi.com Website     CD Forum Support     Extra Discussion

All times are GMT -5. The time now is 05:51 AM.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.

 -- English (12 hour) -- English (24 hour) Contact Us - Chief Delphi - Rules - Archive - Top