View Single Post
  #6   Spotlight this post!  
Unread 12-04-2016, 15:44
Ryan_Todd's Avatar
Ryan_Todd Ryan_Todd is offline
ye of little faith
FRC #0862 (Lightning Robotics)
Team Role: Mentor
 
Join Date: Apr 2006
Rookie Year: 2005
Location: Plymouth, MI
Posts: 114
Ryan_Todd has a reputation beyond reputeRyan_Todd has a reputation beyond reputeRyan_Todd has a reputation beyond reputeRyan_Todd has a reputation beyond reputeRyan_Todd has a reputation beyond reputeRyan_Todd has a reputation beyond reputeRyan_Todd has a reputation beyond reputeRyan_Todd has a reputation beyond reputeRyan_Todd has a reputation beyond reputeRyan_Todd has a reputation beyond reputeRyan_Todd has a reputation beyond repute
Question Re: Compressed air for rapidly cooling *circuit breakers*

Quote:
Originally Posted by Ian Curtis View Post
I thought these breakers were thermal (too much heat and a bi-metallic strip trips). What does it mean that there isn't enough thermal mass? Just that the electric heat builds up too quickly for the temperature at the start of the match to matter much?

One way to find out:
MATH!
(Hold on to your hats, people; this is gonna be a bumpy ride.)


The internal temperature required to trip these breakers is quite high relative to their size: a bit over 300 degrees Fahrenheit (149 C, or 422 K), to be precise (citation). At an ambient temperature of 77 F (25 C, or 298 K), they are still guaranteed to permit at least 120 A of continuous current for an indefinite period of time without tripping; that means that the steady-state internal temperature will never exceed ~270 F under those circumstances.

Given this, we can find that for a 120 A load, the approximate steady-state temperature rise between the ambient air and the breaker snap element is...
delta T = (270 F - 77 F)
delta T = 193 degrees Fahrenheit (or 89.4 C)
From thermodynamics, we also know that the rate of heat dissipation through a solid object is directly proportional to the temperature difference between two points (in this case, one point is inside the breaker switch and the other is in the air directly next to the surface of the breaker). From this, we can find a good approximation for the rate that the breaker in question can dissipate heat energy into the surrounding air.


* For the sake of my own sanity, I’ll use SI units for the rest of the math: degrees Kelvin for temperature, Joules for energy, et cetera. *


Looking around, I can't seem to find a stat for the main breaker's electrical resistance. In the absence of a known value, I'll just roll with 0.05 ohms as a fairly reasonable guess. This gives us a thermal conductance of...
C = (power dissipated) / (temperature rise)
C = (I^2 * R) / (dT)
C = ((120 A)^2 * (.05 ohms)) / (89.4 C)
C = 8 Watts per degree Celsius
...Which means that each additional degree of difference between internal and ambient temperature will increase the rate of heat energy transmission by 8 Watts.


Next, we can find a full equation for temperature (big T) as a function of time (little t), given the following constants: current (I), resistance (R), thermal conductance (big C), and initial temperature (Ti). We will also need the main breaker's specific heat capacity (little c), which will be a constant representing how much energy (in Joules) is required to raise the breaker's temperature by 1 degree Celsius. Here's how we work that out:
Temperature = (specific heat capacity) * (total heat energy)
T = c * E
Now to find the change in temperature over time, we take the derivative:
(rate of change in temperature) = c * (rate of change in heat energy)
dT/dt = c * dE/dt
Expand:
dT/dt = c * ((power usage) – (C * (T - Tambient))
dT/dt = c * (I^2 R – CT + CTambient)
dT/dt = c * (I^2 R – CT + CTambient)
Integrating this over the time range (0-t) lets us find the final temperature with respect to time:
T(t)= c*∫(0-->t)(I^2 R–CT+CTambient)dt
Well, this is fun. Looks like we've got ourselves a full-blown differential equation, which means that our dependent variable can't be extracted completely from the independent variable. To avoid the tedium of university-level DiffEq, then, we'll use a computer to help us from here on out.
T(t)=(I^2 R)/C+k1 e^(-Cct)+Tambient
Here, k1 is a constant of integration; that means that we need to solve for that value before we can proceed any further. If we set t = 0, that should help:
T(0) = (I^2 R)/C+k1 e^(-Cc(0))+Tambient
Ti = (I^2 R)/C+k1 e^0+Tambient
Ti = (I^2 R)/C+k1 (1)+Tambient
Ti = (I^2 R)/C+k1+Tambient
Solving for k1, we get:
k1 = Ti-(I^2 R)/C-Tambient

That’s pretty ugly, but we’ll plug it back into the big equation anyways:
T(t)=(I^2 R)/C+(Ti-(I^2 R)/C-Tambient ) e^(-Cct)+Tambient
T(t)=(I^2 (.05))/8+(Ti-(I^2 (.05))/8-Tambient ) e^(-8ct)+Tambient
T(t)=I^2/160+(Ti-I^2/160-Tambient ) e^(-8ct)+Tambient
Next step: solve for the specific heat constant (c)!
Consulting the main breaker's data sheet again, we find that 5 seconds is the time it takes for the breaker to trip if you start from room temperature (defined as 25 C) and run about 3.66 times the rated current. Our battery can't actually deliver this kind of current, but that doesn't matter just yet. These numbers still give us a useful data point (Ti = Tambient= 298 K, I = 439 A, t = 5 s, Tfinal = 422 K, ), which is precisely the sort of information we need to find (c)! Feeding this into our equation, we get:
T(t)=I^2/160+(Ti-I^2/160-T_ambient ) e^(-8ct)+Tambient
422=439^2/160+(298-439^2/160-298) e^(-8c5)+298
c = 1/40 (-3 log(3)-log(19)-log(337)+2 log(439))
c = 0.002716 degC / Joule
Plugging that result back in, we get our final equation for the breaker's internal temperature with respect to time, given the starting conditions (Ti), (Tambient), and (I):
T(t)=I^2/160+(Ti-I^2/160-Tambient ) e^(-8(0.002716)t)+Tambient
T(t)=I^2/160+(Ti-I^2/160-Tambient ) e^(-0.02173t)+Tambient


Now we consider the case of a 6-CIM drivetrain, running on 40 A snap-action breakers. If you manage to stall out all 6 motors, you'll approach the battery's maximum discharge current of 270 A (citation) for a few brief, glorious moments before something gives out. Let's leave aside the guaranteed RoboRIO brownout condition after only a couple seconds of this (citation), and also ignore the fact that the battery can only handle that kind of current draw for up to 5 seconds before it starts to sustain permanent damage. We'll even neglect the fact that (depending on manufacturing tolerances) the snap-action breakers might start to cut you off as soon as 4 seconds into the stall (citation); all this, so that we can focus on the main breaker by itself.
Subjected to 270 amps' worth of abuse, the main breaker is rated to hold out for anywhere from 6-25 seconds (there’s your manufacturing tolerance again) if you start from room temperature. For a quick sanity check, let’s throw this data point into our new equation and make sure it jives:
Tfinal = 300 F = 422 K
Ti = Tambient = 77 F = 298 K
I = 270 A
422=270^2/160+(298-270^2/160-298) e^(-0.02173t)+298
0.7278=e^(-0.02173t)
t = 14.6 seconds before the breaker trips
Cha-CHING! This number is squarely in the middle of the range where we expected to find it.


With that success in hand, we can find out exactly how long it takes for the inside of the breaker to cool down after a hard match. Just plug in the following values:
Ti = 270 F = 405 K
Tambient = 77 F = 298 K
I = 0 A (robot is off)
…And since we know that temperature changes are asymptotic (the final value is never quite equal to ambient; it just gets really, really close), we’ll ask for a Tfinal of 80 F = 300 K. Plug that all in, and solve for t:
300=0^2/160+(405-0^2/160-298) e^(-0.02173t)+298
2=107e^(-0.02173t)
t=183 seconds
All it takes is 2.5 minutes after a hard match, and the innermost parts of the main breaker are already back down to room temperature.


Now let’s investigate what happens if you chill the main breaker down to, say, -60 degrees Fahrenheit (source) by spraying it with a can of gas duster propellant. Will it still be cold by the time the match starts?
Ti = -60 F = 222 K
Tambient = 77 F = 298 K
I = 0.8 A (idle current)
Tfinal = 74 F = 296 K
296=0.8^2/160+(222-0.8^2/160-298) e^(-0.02173t)+298
-2=-76e^(-0.02173t)
t=167 seconds
Once again, it only takes a couple of minutes for the innermost parts of the main breaker to get back up to room temperature.

Okay, so we know that the extra chill doesn’t last all that long, but I’m still not quite convinced that there isn’t any benefit to be had. 167 seconds is still longer than a match, after all! What happens if we chill the main breaker at the last second before loading the bot onto the field, then start the match by immediately ramming an opponent and stall out our 6-CIM drivetrain? That’s the real situation where we might want the extra chill, after all. Exactly how much longer can we keep drawing the max current before the main breaker trips?
Part 1: load the bot onto the field
Ti = -60 F = 222 K
Tambient = 77 F = 298 K
t = 20 seconds
I = 0.0 A (robot is off)
Tfinal =0^2/160+(222-0^2/160-298) e^(-0.02173(20))+298
Tfinal =248.8 K=-11.8 F
Part 2: wait for match to start
Ti = 248.8 K
Tambient = 77 F = 298 K
t = 40 seconds
I = 0.8 A (idle current)
Tfinal =0.8^2/160+(248.8-0.8^2/160-298) e^(-0.02173(40))+298
Tfinal =277.4 K=39.7 F

Part 3: stall the drivetrain
Ti = 277.4 K
Tambient = 77 F = 298 K
Tfinal = 300 F = 422 K
I = 270 A (max possible current from battery)
422 =270^2/160+(277.4-270^2/160-298) e^(-0.02173t)+298
t=16.7 seconds
Our previous max stall time was 14.6 seconds, so the most benefit that we can possibly expect to get from chilling the main breaker is 2.1 extra seconds of stalling out the drivetrain once the match starts.

So now it seems like this could make the difference between dying in auto and surviving until teleop...but wait! Remember that the RoboRIO would brown out long before that happens, and that you'd probably also start tripping the snap-action breakers before you get to that point as well? That means that it's practically impossible to trip the main breaker before teleop, regardless of whether or not we chill it first...

So, what do you think?
Is it really worth risking the possibility of damage to your robot and/or yourself, or is this just a solution in search of a problem?
__________________

Last edited by Ryan_Todd : 13-04-2016 at 13:11. Reason: Expand analysis of real-world benefit
Reply With Quote