The Stochastic KiBaM ... or how charging probably keeps batteries alive Holger Hermanns, Jan Krčál, Gilles Nies Saarland University May 5, 2015 Alpine Verification Meeting 2015
What 3 items would you take to a deserted island? 1 / 21
What items up to 1 kg & 1 liter would you take? 2 / 21
What items up to 1 kg & 1 liter would you take? 2 / 21
Fly Your Satellite! educational program Cube satellites for educational or scientific use ◮ Limits: 1 kg & 1 liter ◮ Mission time: up to 4 years A Cube Satellite What do we have to squeeze in there? 3 / 21
Fly Your Satellite! educational program Cube satellites for educational or scientific use ◮ Limits: 1 kg & 1 liter ◮ Mission time: up to 4 years A Cube Satellite What do we have to squeeze in there? We will focus on the battery! 3 / 21
The kinetic battery model (KiBaM) The two-wells illustration c 1 − c Parameters b ( t ) 1 − c a ( t ) ◮ c – Width of available charge tank c b ( t ) a ( t ) ◮ p – Diffusion rate between tanks p I KiBaM ODE System � b ( t ) 1 − c − a ( t ) � a ( t ) = − I + p ˙ c � a ( t ) − b ( t ) � ˙ b ( t ) = p 1 − c c 4 / 21
KiBaM (ctd.) The model supports: Example (Unbounded KiBaM) ◮ Discharging: Load is positive ( I > 0 ) available bound ◮ Charging: 9000 Load is negative ( I > 0 ) 5000 ◮ Depletion: Available charge reaches 0 1500 400 load ( a ( t ) ≤ 0 ) 0 Analysis hard if load is not -600 piecewise constant... 10 40 55 5 / 21
Why is the KiBaM a good model? The KiBaM captures some realistic effects: Rate-capacity effect 5000 available bound 2500 Recovery effect 5000 0 available bound load 500 2500 0 5 10 15 20 25 5000 0 available load bound 0 2500 -1 0 5 10 15 20 25 30 35 0 load 700 0 5 10 15 20 25 6 / 21
Solution of KiBaM ODEs Solution of ODE system a 0 � � � � a 0 q a ( t ) r a ( t ) s a ( t ) K t , I ⇒ Linear in a 0 , b 0 and I = · b 0 q b ( t ) r b ( t ) s b ( t ) b 0 I Coefficients ( 1 − c ) e − kt + c ( 1 − c )( e − kt − 1 ) q a ( t ) = s a ( t ) = − t · c − ( 1 − c ) e − kt + ( 1 − c ) k q b ( t ) = ( 1 − c )( 1 − e − kt ) − c · e − kt r a ( t ) = + c s b ( t ) = − t · ( 1 − c ) k c · e − kt r b ( t ) = + ( 1 − c ) ⇒ Not linear in t 7 / 21
What can be added to the KiBaM? available available bound bound 9000 9000 5000 5000 1500 1500 400 load 400 load 0 0 -600 -600 10 40 55 10 40 55 0.0622 0.0622 0.0622 15 0.1 0.1 10 0.08 0.08 available density available density 0.06 5 0.06 0.04 0.04 0 0.02 0.02 -5 0 0 -5 0 5 10 15 -5 0 5 10 15 0.0308 0.0308 0.0308 8 / 21
Capacity bounds ◮ Switching ODE systems Example (Bounded KiBaM) � a max − b ( t ) � ˙ b ( t ) = p c 1 − c available bound ( ... can be solved ) 9000 ◮ if current high enough 5000 b tresh ( I ) = b max + I · 1 − c 1500 p 400 load 0 ◮ But when? -600 10 40 55 � u − w � v · e − w t = − W v v 9 / 21
Capacity bounds Example (Underapproximated charging current) available available bound bound 9000 9000 5000 5000 1500 1500 400 load 400 load 0 0 -600 -600 10 40 55 10 40 55 Underapproximate charging load such that capacity bound is hit when load changes I ( a 0 , b 0 ) = − q a · a 0 − r a · b 0 + a max ¯ . s a s a s a 10 / 21
Random SoC and load Example (Random initial SoC with random load) 15 0.16 0.14 10 0.12 0.1 available density 5 0.08 Random load + Random SoC = 0.06 0 0.04 0.02 -5 0 -5 0 5 10 15 bound t = 0 t = 20 t = 60 15 15 0.1 10 10 0.08 density 0.06 5 � 5 � 0.04 0 0 0.02 -5 -5 0 -5 0 5 10 15 -5 0 5 10 15 -5 0 5 10 15 11 / 21
How do we handle ? Definition (Transformation Law of Random Variables) For f X -distributed vector X , injective and continuously differentiable function g : R d → R d , express density of Y : = g ( X ) as � �� � g − 1 ( y ) � � f Y ( y ) = f X · � det J g − 1 ( y ) � ◮ Transform density of SoC conditioned on I = i : � � � � e kT � K − 1 f T ( a , b | i ) = f 0 T , i [ a ; b ] · � ◮ Integrate information of the load afterwards � ∞ � � · e kT · g ( i ) d i . K − 1 f T ( a , b ) = T , i [ a ; b ] f 0 −∞ 12 / 21
Bounded random SoC and load + Example (Evolution over time) t = 0 t = 20 t = 60 15 15 0.1 10 10 0.08 density 5 0.06 5 � � 0.04 0 0 0.02 -5 -5 0 -5 0 5 10 15 -5 0 5 10 15 -5 0 5 10 15 0.0622 0.0622 0.0622 0.1 0.08 Imposing bounds 0 density 0.06 = ⇒ � and 10 0.04 0.02 0 0.0308 0.0308 0.0308 13 / 21
What can happen at the capacity bound? The upper bound scenario bound charge K T ,0 ( a max ,¯ ( a max , b ) K ( a max , b ′ ) ( a max , B ( a , b )) b ) ¯ K T • T • • • , 1 available charge K ••• K T , i • T , I a = b • ( a t , i T , b ) K ≤ ( a , b ) t • ( a i , b i ) K T , i ≤ • 0 ∀ • . . . . . . ◮ Moving within the bounds ◮ Sliding along the bound ◮ Moving from the capacity bound back within the bounds. I ( a , b ) = ( a max e − kt − r b a − q b b ) / ( r a s b − r b s a ) , B ( a , b ) = − q b a + q a b + ( q b s a − q a s b ) · I ( a , b ) . 14 / 21
GOMX–1 Cubesat ◮ 2-Unit Cube Satellite ◮ launched 21.11.2013 ◮ tracking airplanes using their ADS-B signal ◮ Logging plenty of internal (battery) data 15 / 21
Satellite Model Markov Task Process ◮ Orbit Time: 99 min. 2 2 2 5 5 5 (1/3 in eclipse) 90 min. 190 mA 90 mA 250 mA ◮ Communication: when High start Low Middle close to Aalborg, DK 1 90 min. 1 90 min. 1 8 4 8 ◮ Battery: 5000 mAh, 7.2 3 3 3 5 5 5 V, Li-Ion Transfer ◮ Solar charge: 400 mA 5 min. 400 mA 1 2 Additional Randomness: ◮ SoC uniformly distributed between 70% and 90% full (battery in equilibrium) 16 / 21
Satellite Model Markov Task Process ◮ Orbit Time: 99 min. 2 2 2 + N ( 0,5 ) 5 + N ( 0,5 ) 5 + N ( 0,5 ) 5 (1/3 in eclipse) 90 min. 190 mA 90 mA 250 mA ◮ Communication: when High start Low Middle close to Aalborg, DK 1 90 min. 1 90 min. 1 8 4 8 ◮ Battery: 5000 mAh, 7.2 3 3 3 5 5 5 V, Li-Ion Transfer ◮ Solar charge: 400 mA 5 min. 400 mA + N ( 0,5 ) 1 2 Additional Randomness: ◮ SoC uniformly distributed between 70% and 90% full (battery in equilibrium) ◮ White noise in the workload model 16 / 21
Computation ◮ Iterative approach stacks integrals : � ∞ · e kT · g ( i ) d i . � � K − 1 f T ( a , b ) = f 0 T , i [ a ; b ] −∞ ◮ We discretize the battery SoC, we keep continuous time 17 / 21
Computation ◮ Iterative approach stacks integrals : � ∞ · e kT · g ( i ) d i . � � K − 1 f T ( a , b ) = f 0 T , i [ a ; b ] −∞ ◮ We discretize the battery SoC, we keep continuous time We tried other SHS tools ◮ SiSat ◮ Faust 2 17 / 21
Computation ◮ Iterative approach stacks integrals : � ∞ · e kT · g ( i ) d i . � � K − 1 f T ( a , b ) = f 0 T , i [ a ; b ] −∞ ◮ We discretize the battery SoC, we keep continuous time We tried other SHS tools ◮ SiSat ◮ Faust 2 = ⇒ Cannot handle the KiBaM system, cannot compare with our accuracy 17 / 21
Results – SoC Distribution after 1 year SoC distribution for decreasing battery size 0 . 5167 0 . 5167 0 . 5167 0 -50 -100 -150 5000 mAh: -200 -250 -300 -350 1 . 7 · 10 − 63 1 . 7 · 10 − 63 1 . 7 · 10 − 63 18 / 21
Results – SoC Distribution after 1 year SoC distribution for decreasing battery size 0 . 5167 0 . 5167 0 . 5167 0 . 5167 0 . 5167 0 . 5167 0 0 -50 -50 -100 -150 5000 mAh: 2500 mAh: -100 -200 -250 -150 -300 -350 -200 1 . 7 · 10 − 63 1 . 7 · 10 − 63 1 . 7 · 10 − 63 6 . 6 · 10 − 31 6 . 6 · 10 − 31 6 . 6 · 10 − 31 18 / 21
Results – SoC Distribution after 1 year SoC distribution for decreasing battery size 0 . 5167 0 . 5167 0 . 5167 0 . 5167 0 . 5167 0 . 5167 0 0 -50 -50 -100 -150 5000 mAh: 2500 mAh: -100 -200 -250 -150 -300 -350 -200 1 . 7 · 10 − 63 1 . 7 · 10 − 63 1 . 7 · 10 − 63 6 . 6 · 10 − 31 6 . 6 · 10 − 31 6 . 6 · 10 − 31 0 . 5167 0 . 5167 0 . 5167 0 -20 -40 -60 1250 mAh: -80 -100 -120 -140 -160 1 . 7 · 10 − 10 1 . 7 · 10 − 10 1 . 7 · 10 − 10 18 / 21
Results – SoC Distribution after 1 year SoC distribution for decreasing battery size 0 . 5167 0 . 5167 0 . 5167 0 . 5167 0 . 5167 0 . 5167 0 0 -50 -50 -100 -150 5000 mAh: 2500 mAh: -100 -200 -250 -150 -300 -350 -200 1 . 7 · 10 − 63 1 . 7 · 10 − 63 1 . 7 · 10 − 63 6 . 6 · 10 − 31 6 . 6 · 10 − 31 6 . 6 · 10 − 31 0 . 5167 0 . 5167 0 . 5167 0 . 4978 0 . 4978 0 . 4978 0 -20 -20 -40 -40 -60 1250 mAh: 625 mAh: -80 -60 -100 -80 -120 -140 -100 -160 1 . 7 · 10 − 10 1 . 7 · 10 − 10 1 . 7 · 10 − 10 0 . 0365 0 . 0365 0 . 0365 18 / 21
Results – SoC Distribution after 1 year Effect of noisy loads (1250 mAh battery) ◮ without noise: ◮ with noise: 0 . 5167 0 . 5167 0 . 5167 0 . 563 0 . 563 0 . 563 0 0 -20 -20 -40 -40 -60 -60 -80 -80 -100 -100 -120 -120 -140 -140 -160 -160 -180 1 . 7 · 10 − 10 1 . 7 · 10 − 10 1 . 7 · 10 − 10 2 . 2 · 10 − 10 2 . 2 · 10 − 10 2 . 2 · 10 − 10 19 / 21
Recommend
More recommend