Rezime:Vòltaj sikwi ouvè NiMH a prèske plat, isterèz la pwononse, epi efikasite koulombik la pa janm rive nan 100%, kidonk de metòd konsepsyon BMS ityòm yo, rechèch vòltaj ak kontaj koulomb, tou de separe. Apati elektwochimi a, atik sa a bati yon modèl senk eta (RC dezyèm lòd + isterèz yon sèl eta + polarizasyon aktyèl), derive chak Jakobyen EKF, epi li fè yon simulation Python endepandan ki mete de apwòch yo youn kont lòt. Avèk yon offset detèktè 20 mA ak yon erè SoC inisyal 30 pwen, kontaj koulomb la toujou ap derive a 5.8% apre sis èdtan; EKF a etabli toupre 0.5% RMSE pandan dènye èdtan li a. Atik la fini ak yon achitekti referans pou filtraj kwen plis idantifikasyon paramèt nwaj.
Kontni
- Poukisa eta chaj NiMH a tèlman difisil pou estime
- Modèl la: dezyèm lòd RC + isterèz + polarizasyon aktyèl
- Derivasyon EKF la: chak Jakobyen, pa gen anyen ki sote
- Kòd konplè, ki ka fonksyone
- Rezilta simulation ak entèpretasyon
- Pwoblèm jeni espesifik pou NiMH
- Yon achitekti referans sou Huawei Cloud IoT
- Rezime ak direksyon pou travay ki vin apre yo
1. Poukisa eta chaj NiMH a tèlman difisil pou estime
SOC (eta chaj, kapasite ki rete a kòm yon pousantaj) se varyab eta ki pi enpòtan nan yon sistèm jesyon batri. Metòd yo itilize sou selil ityòm yo deja byen devlope, men lè yo aplike yo nan nikèl-metal idrid, yo rankontre kat pwoblèm.
Pwoblèm youn: koub vòltaj sikwi ouvè a prèske plat.Vòltaj yon selil NiMH deplase sèlman pa plizyè dizèn milivolt atravè fenèt SoC 20% a 80%. Anba modèl ki itilize la a, pant mitan an se apeprè0.8 mV pou chak 1% SoC, pandan yon ADC òdinè plis bout devan echantiyonaj li kontribye 1 a 2 mV bri. Nan lòt mo,Planche bri a poukont li vo anviwon 2% nan SoC la., epi vòltaj la pa ka distenge 40% ak 60%.
Pwoblèm dezyèm: isterèz chaj/dechaj la pwononse.Nan menm SoC la, vòltaj repoze ki mezire apre chaj la ak vòltaj repoze ki mezire apre dechaj la diferan ant dis ak plizyè dizèn milivolt. Atik sa a sipoze 15 mV; divize pa 0.8 mV/% ki apeprè19% nan erè SoCSan yon modèl isterèz, pa gen okenn kantite filtraj ki ka retire patipri sistematik la.
Pwoblèm twa: efikasite koulonbik la pa 100%.Prèske plen chaj, yon pil NiMH fè gwo reyaksyon segondè (evolisyon oksijèn), epi yon pati nan kouran chaj la transfòme an chalè olye de chaj ki estoke. Konte Coulomb ki sipoze 100% efikasite pral egzajere SoC la.
Pwoblèm kat: detèktè aktyèl la gen yon offset, epi erè a akimile san limit.Yon offset zewo 20 mA entegre a 0.12 Ah nan sis èdtan, yon erè SoC 6% sou yon selil 2000 mAh, epi li kontinye ap grandi, li pa janm retounen poukont li.
Konklizyon an: metòd vòltaj sèlman yo ralanti akòz isterèz ak bri; kontaj koulomb la ralanti akòz offset. Sa ki nesesè se yon kad travay ki fizyone de yo epi estime offset la li menm. Kad travay sa a se EKF la.
2. Modèl la: RC dezyèm lòd + isterèz + polarizasyon aktyèl
2.1 Sikwi ekivalan
R0 R1 R2 +---[OCV+M*h]---/\/\/\--+--/\/\/\--+--+--/\/\/\--+---- V(tèminal) | | | | +----||---+ +----||---+ C1 C2 R0: rezistans ohmik, responsab pou etap vòltaj enstantane a lè kouran an chanje.R1||C1polarizasyon rapid (pwosesis transfè chaj), konstan tan nan lòd segonn.R2||C2Polarizasyon ralanti (pwosesis difizyon), konstan tan soti nan minit rive nan èdtan. Difizyon nan NiMH ralanti; yon RC premye lòd poukont li vizibman pa matche rekiperasyon vòltaj la apre yon repo long.heta isterèz nan [-1, 1], echèl pa anplitid laMepi ajoute nan vòltaj sikwi ouvè a.
2.2 Ekwasyon eta diskrè
Vektè eta a sex= [SOC,V1, V2, h, b]T, kotebse polarizasyon detèktè aktyèl la. Konvansyon aktyèl:I> 0 vle di egzeyat, kouran reyèl la seIk = Ikmezi−bk, epi peryòd echantiyonaj la se Δt.

![]()
![]()
![]()
Ekwasyon obsèvasyon:
![]()
Sa ekwasyon isterèz la vle di fizikman:Eta isterèz la avanse an fonksyon debi chaj la, pa an fonksyon de tan. Nan repoI= 0 akhse bloke, ki se jisteman konpòtman mezire nan pil NiMH yo, ki gen vòltaj toujou pa pral retounen nan pwen mitan an apre yon repo long. Anba dechajhdeplase nan direksyon -1; anba chaj li deplase nan direksyon +1.
3. Derive EKF la: chak Jakobyen, pa gen anyen ki sote
3.1 Jakobyen tranzisyon eta A = ∂f/∂x

Senkyèm kolòn nan se sa ki fè metòd sa a fonksyone:Polarizasyon an rive nan vòltaj tèminal la sou de chemen, kouran pou ale nan chaj pou ale nan vòltaj sikwi ouvè, ak kouran pou ale nan vòltaj polarizasyon.Filtè a rezoud gwosè offset la apati rezidi long tèm ki akimile sou toude.
3.2 Observasyon Jakobyen H = ∂g/∂x

Remake byen ke dènye antre a se +R0paskeI = Imezi−b, li swiv ke ∂(−R0I)/∂b= +R0Bay siy sa a yon move rezilta se erè ki pi komen nan tout derivasyon an, epi sa fè estimasyon patipri a divèje.
3.3 Analiz obsèvabilite (seksyon ki pi enpòtan an isit la)
Nan rejyon plat koub vòltaj sikwi ouvè a,dOCV/dSOC ≈ 0.08 V pou chak inite SoC. Plis tèm sa a piti, se mwens pòsyon nan benefis Kalman an ki aloke pou koreksyon SoC la. Kidonk:
- SoC ak patipri yo prèske inséparabl nan rejyon plat la.Yon erè SoC ak yon erè polarizasyon tou de prezante tèt yo kòm "vòltaj k ap derive dousman".
- Filtè a ka sèlman distenge yo yon fwa pwofil fonksyònman an pase nan yon pati apik nan koub OCV a (SoC trè ba oswa trè wo), oswa li gen ase ranvèsman chaj/dechaj.
Se poutèt sa yon NiMH EKFtoujou konvèje pi dousman pase yon lityòmLè w ap ajiste a, pa atann konvèjans nan kèk minit, e sa a se kle tou pou li rezilta simulation yo pi ba.
3.4 Rekirsyon EKF estanda a
![]()
![]()
![]()
De lòt etap nesesè nan kòd pwodiksyon an: limite SoC a [0, 1] epihrive nan [-1, 1] apre chak mizajou, epi simetrizePkidonk li pa derive nimerikman sou long tèm.
4. Kòd konplè, ki ka fonksyone
NumPy se sèl depandans lan. Paramèt yo sevalè ilustratifPou yon pil AA 2000 mAh NiMH; yon pwodwi reyèl dwe idantifye yo ak HPPC (karakterizasyon pouvwa pulsasyon ibrid), gade Seksyon 6.
enpòte numpy kòm np np.random.seed(42) # ---------- Paramèt selil (AA 2000 mAh, ilistratif) ---------- Q = 2.0*3600 # kapasite [As] R0 = 0.030 # rezistans ohmik [Ohm] R1, C1 = 0.015, 2000.0 # polarizasyon rapid (transfè chaj) R2, C2 = 0.020, 60000.0 # polarizasyon dousman (difizyon) M, GAMMA = 0.015, 30.0 # anplitid isterèz [V], to isterèz ETA_CHG = 0.90 # efikasite koulonbik chaj dt = 1.0 def ocv(s): s = np.clip(s, 0.0, 1.0) retounen 1.22 + 0.08*s - 0.06*np.exp(-s/0.06) + 0.05*np.exp((s-1)/0.04) def docv(s): s = np.clip(s, 1e-4, 1.0) retounen 0.08 + 0.06/0.06*np.exp(-s/0.06) + 0.05/0.04*np.exp((s-1)/0.04) a1, a2 = np.exp(-dt/(R1*C1)), np.exp(-dt/(R2*C2)) def eta(i): retounen 1.0 si i >= 0 sinon ETA_CHG # i>0 egzeyat def etap(x, i): s, v1, v2, h = xe = eta(i) ah = np.exp(-abs(e*i*GAMMA*dt/Q)) retounen np.array([s - e*i*dt/Q, a1*v1 + R1*(1-a1)*i, a2*v2 + R2*(1-a2)*i, ah*h - (1-ah)*np.sign(i)]) def meas(x, i): s, v1, v2, h = x retounen ocv(s) + M*h - R0*i - v1 - v2 # ---------- Pwofil: pulsasyon dechaj + repo + chaj, anviwon 6 èdtan ---------- N = 6*3600 I = np.zeros(N) k = 0 pandan k < N: mòd = np.random.choice(['dis', 'rest', 'chg'], p=[0.40, 0.25, 0.35]) L = np.random.randint(60, 900) amp = {'dis': np.random.uniform(0.2, 1.5), 'rest': 0.0, 'chg': -np.random.uniform(0.2, 1.0)}[mode] I[k:k+L] = amp; k += LI = I[:N] # Verite tè x = np.array([0.80, 0, 0, 0]); X = []; V = [] pou i nan I: x = step(x, i); x[0] = np.clip(x[0], 0, 1) X.append(x.copy()); V.append(meas(x, i)) X = np.array(X); V = np.array(V) # Capteur: offset kouran +20 mA, 10 mA bri; bri vòltaj 2 mV I_m = I + 0.020 + np.random.normal(0, 0.010, N) V_m = V + np.random.normal(0, 0.002, N) # ---------- Konte Koulomb ---------- def koulomb(s0): s = s0; soti = [] pou i nan I_m: s -= eta(i)*i*dt/Q; out.append(s) retounen np.array(out) # ---------- EKF (5 eta: SOC, V1, V2, h, polarizasyon aktyèl b) ---------- def ekf(s0): x = np.array([s0, 0, 0, 0, 0.0]) P = np.diag([0.1**2, 1e-4, 1e-4, 0.5**2, 0.05**2]) Qn = np.diag([1e-10, 1e-8, 1e-8, 1e-6, 1e-11]) Rn = 0.002**2 * 4 out = [] pou im, vm nan zip(I_m, V_m): i = im - x[4] # aktyèl korije pou polarizasyon e = eta(i); ah = np.exp(-abs(e*i*GAMMA*dt/Q)) # predi xp = np.empty(5) xp[:4] = step(x[:4], i); xp[4] = x[4] A = np.diag([1, a1, a2, ah, 1.0]) A[0, 4] = e*dt/Q # dSOC/db A[1, 4] = -R1*(1-a1) A[2, 4] = -R2*(1-a2) P = A @ P @ AT + Qn # mizajou H = np.array([docv(xp[0]), -1, -1, M, R0]) # dV/db = +R0 y = vm - meas(xp[:4], i) S = H @ P @ H + Rn K = P @ H / S x = xp + K*yx[0] = np.clip(x[0], 0, 1); x[3] = np.clip(x[3], -1, 1) P = (np.eye(5) - np.outer(K, H)) @ PP = 0.5*(P + PT) out.append(x.copy()) retounen np.array(out) vre = X[:, 0] cc_ok = coulomb(0.80) cc_bad = coulomb(0.50) E = ekf(0.50) def rmse(a): retounen np.sqrt(np.mean((a-vre)**2))*100 def final(a): retounen abs(a[-1]-vre[-1])*100 def conv(a, tol=0.03): err = np.abs(a-vre) move = np.where(err > tol)[0] retounen 0 si len(move)==0 sinon (move[-1]+1)/60 enprime(f"SOC truth range {true.min():.2f}~{true.max():.2f}") pou non, yon nan [('CC (correct init)', cc_ok), ('CC (init 0.5)', cc_bad), ('EKF (init 0.5)', E[:,0])]: enprime(f"{name}: RMSE={rmse(a):.2f}% final error={final(a):.2f}% dènye fwa deyò +/-3%={conv(a):.1f}min") enprime(f"EKF dènye èdtan RMSE={np.sqrt(np.mean((E[-3600:,0]-true[-3600:])**2))*100:.2f}%") enprime(f"final bias estimation={E[-1,4]*1000:.1f} mA (verite 20 mA)") Nòt sou akòd:
- La
1e-10sou dyagonal SOC laQnse yon valè ki piti anpil espre: chanjman nan chaj la deja dekri nèt pa kouran an ak modèl la, kidonk bri pwosesis la egziste sèlman pou absòbe erè kapasite a. Si ou mete l twò gwo, estimasyon SoC a kòmanse tranble ansanm ak bri vòltaj la. Rnli fikse sou kat fwa varyans bri vòltaj la pou absòbe erè modèl la (erè tablo OCV, derive tanperati, elatriye). Sa a se chwa ki pi solid la.- La
1e-11Sou dyagonal polarizasyon an, li fikse vitès estimasyon polarizasyon an ka swiv chanjman an. Deriv zewo detèktè a anjeneral se yon deplasman dousman, akòz tanperati a, kidonk li dwe trè piti.
5. Rezilta simulation ak entèpretasyon
Vrè SoC inisyal la se 80%, epi filtè a te kòmanse espre a 50% (yon erè 30 pwen) pou imite yon aparèy ki fèk rekòmanse ak yon SoC enkoni:
| Metòd | RMSE, kouri konplè | Erè a 6 èdtan | Dènye fwa deyò ±3% |
|---|---|---|---|
| Konte Coulomb (SoC inisyal kòrèk) | 3.36% | 5.82%, toujou ap grandi | pa janm retounen andedan ±3% |
| Konte Coulomb (SoC inisyal 50%) | 32.96% | 35.82% | pa janm retounen andedan ±3% |
| EKF 5 eta (SoC inisyal 50%) | 4.01% (ki gen ladan konvèjans) | 0.35% | apeprè 116 minit |
Pandan dènye èdtan li a, erè kare mwayèn EKF la se0.53%Lè yo refè analiz la avèk de lòt grenn o aza (7 ak 2026), sa bay menm konklizyon an: RMSE pou dènye èdtan an se 0.58% / 0.63%, ak konvèjans nan 140 / 130 minit.
Twa obsèvasyon ki vo lapenn rete sou yo:
- Menm avèk yon valè inisyal ki kòrèk, kontaj koulomb la kontinye ap derive.Diferans ki genyen ant liy ble tire a ak verite a ap ogmante avèk tan, li rive nan 5.8% nan sis èdtan, prèske egzakteman 20 mA × 6 h ÷ 2 Ah. Kontaj Coulomb pa gen okenn mekanis koreksyon erè ditou.
- EKF a konvèje an de etap.Nan premye minit yo, li sote soti nan 50% pou rive nan anviwon 60%, paske vòltaj inisyal la chita sou yon pati relativman apik nan koub OCV a. Apre sa, li antre nan rejyon plat la epi koreksyon an ralanti anpil, li pran anviwon de zèdtan pou l rive nan ±3%. Se egzakteman analiz obsèvabilite Seksyon 3.3 la ki parèt nan done yo.
- Estimasyon patipri a konvèje dousman, e se konklizyon ki pi onèt nan atik sa a.Nan sis èdtan, estimasyon patipri a li 30.8 mA kont yon vrè 20 mA. Lè nou pwolonje estimasyon an a douz èdtan, li ale 64 → 47 → 37 → 31 → 28 → 25.4 → 24.5 mA, li vrèman apwoche verite a, men dousman.Estimasyon SoC a deja egzat anvan estimasyon patipri a., paske filtè a asiyen erè SoC ak erè polarizasyon ansanm. Nan pwodiksyon, si presizyon polarizasyon an vrèman enpòtan, kalibre pwen zewo a dirèkteman pandan pake a an repo (kouran zewo) epi bay sa kòm yon obsèvasyon adisyonèl.
6. Pwoblèm jeni espesifik pou NiMH
6.1 Tablo OCV a bezwen koub chaj ak dechaj separe, stratifye pa tanperati.Metòd: pran echantiyon chak 5% SoC, mezire OCV respektivman apre yon repo apre chaj ak apre yon repo apre dechaj; sèvi ak mwayèn de koub yo kòmOCV(SOC)ak mwatye diferans yo kòm anplitid isterèz laMNiMH OCV a sansib a tanperati, kidonk karakterize l omwen a 0 / 25 / 45 °C epi entèpole l pandan l ap fonksyone.
6.2 Idantifye R0, R1, C1, R2, C2 avèk HPPC.Aplike yon pulsasyon dechaj 10 segonn ki swiv pa yon repo nan plizyè pwen SoC:
- etap vòltaj enstantane a nan kòmansman pulsasyon an, divize pa kouran an, bay
R0; - Ajiste rekiperasyon vòltaj la pandan repo a avèk yon doub eksponansyèl pou jwenn de konstan tan τ1 ak τ2 ansanm ak R ak C yo:
![]()
- τ2 pou yon selil NiMH ka dire plizyè dizèn minit, kidonk repoze pou omwen inèdtan; sinon paramèt polarizasyon dousman yo ap gen yon patipri.
6.3 Fen chaj la se yon pwen kalibrasyon natirèl.Yon pil NiMH plen bay de siyal karakteristik: adelta vòltaj negatif (-ΔV, tipikman 5 a 10 mV pa selil), ak yon ogmantasyon rapid nan tanperati a (dT/dt apeprè 1 °C/min). Lè yo detekte tou de, retabli SoC a 100% dirèkteman epi sere tèm SoC la.PSa pi fyab pase nenpòt algoritm filtraj.
6.4 Efikasite chaj la ta dwe varye selon SoC la.Pou senplifye, atik sa a kenbe l nan yon fiks 0.9. An reyalite, efikasite a prèske 1 anba anviwon 70% SoC epi li diminye anpil lè selil la apwoche chaj konplè a. Sèvi ak yon mòso pa mòso.η(SOC, T)sinon estimasyon SoC a pandan chaj la ap sistematikman wo.
6.5 Ou pa ka inyore oto-dechaj la.Yon pil NiMH konvansyonèl ka dechaje tèt li ant 15% ak 30% pa mwa nan tanperati chanm; kalite ki gen dechaj tèt li ba (LSD) yo pi bon anpil men yo toujou bezwen konpansasyon apre yon bon bout tan depo. Lè yon aparèy reveye nan dòmi, soustrè dechaj tèt li a selon dire dòmi an ak tanperati a, epi gonfle tèm SoC la.Pkonsa filtè a konnen li pa gen konfyans konsa ankò.
7. Yon achitekti referans sou Huawei Cloud IoT
Prensip gid la:Mete matematik rapid la nan limit la, ak matematik ralanti ki bezwen anpil done nan nwaj la.
[MCU pake batri] echantiyon V/I/T @1 Hz → EKF 5-eta (kwen) → rapòte SOC/P/rezime kri chak 60 s │ MQTT ▼ [Huawei Cloud IoTDA, aksè aparèy] modèl bagay: vòltaj/kouran/tanperati/soc/soc_var/polarizasyon │ motè règ, transfè done ▼ [File mesaj (pa egzanp DMS pou Kafka)] │ ├─► [Sèvis Cloud (deplwaye sou CCE/ECS)] │ ├─ estimasyon kapasite/SOH (mwens kare fenèt long, fonksyone chak jou) │ ├─ idantifikasyon rezistans entèn sou entènèt → tandans aje │ └─ ekriti paramèt: pouse tab Q/R0/OCV kwen mete ajou atravè downlink pwopriyete IoTDA │ └─► [Baz done seri tanporèl] → tablodbò / alèt anomali (anòmal dT/dt, so patipri) Ki sib transfè motè règ la sipòte depann de opsyon ki ofri kounye a nan konsole IoTDA a.
Poukisa divize l konsa?
- EKF nan kwen anYon etap matris 5×5 se sèlman kèk santèn operasyon pwen flotan, kidonk yon MCU nan klas Cortex-M4F la fè l fonksyone a 1 Hz san okenn pwoblèm, epi li kontinye fonksyone menm lè lyen an koupe.
- Nwaj pou estimasyon kapasite ak eta sante (SOH)kapasite a ap diminye dousman avèk vyeyisman epi li bezwen done ki kouvri plizyè sik chaj/dechaj pou estime avèk presizyon, sa ki fè li yon chwa natirèl pou pwosesis pakèt nan nwaj la. Yon fwa yon nouvo
QepiR0yo te estime, ekri yo tounen nan aparèy la atravè fonksyonalite property-downlink IoTDA a, fèmen yon bouk de-tan: filtraj an tan reyèl nan kwen an, koreksyon ralanti nan nwaj la. - Rapòte dyagonal la
P, pa sèlman valè SoC lanwaj la ka jije ki aparèy ki gen estimasyon ki pa fyab (kole nan rejyon plat la pandan plizyè èdtan, pa egzanp, ak yon varyans ki toujou gwo) epi pwograme chaj kalibrasyon yo kòmsadwa. Nan echèl flòt, sa vrèman itil.
8. Rezime ak direksyon pou travay kap vini yo
- Estimasyon eta chaj NiMH a difisil paskeVòltaj sikwi ouvè a plat, isterèz la pwononse, efikasite koulonbik la anba 100%, epi konpansasyon detèktè a akimile san limit.; enfòmasyon sou vòltaj ak kouran yo dwe fizyone.
- Yon EKF senk eta ki bati sou RC dezyèm lòd + isterèz + polarizasyon konvèje soti nan yon erè inisyal 30 pwen pou rive nan apeprè 0.5% nan simulation.
- Obsèvabilite nan rejyon plat la fèb, e sa se yon kesyon fizik olye de ajisteman. Pratik enjenyè a dwe konpanse pou li ak obsèvasyon ekstèn: kalibrasyon -ΔV chaj konplè, kalibrasyon pwen zewo nan eta repo, ak sou sa.
- Deplwaman an se yon kolaborasyon edge-cloud: edge la fè filtraj an tan reyèl, nwaj la fè idantifikasyon paramèt ak estimasyon aje.
Direksyon pou plis travay:
- Ranplase EKF la ak yonUKF / CKF(filtè Kalman san pafen oswa kibabilite) pou evite twòp erè linearizasyon sou pati apik koub OCV a;
- Sèvi ak yonAlgorit adaptatif Sage-Husaestime
Rsou entènèt epi absòbe diferans bri ki genyen ant pakèt detèktè yo; - Sèvi ak yondoub EKFpou estime eta ak paramèt (
R0,Q) ansanm, sa ki pote estimasyon vyeyisman an nan limit tou; - Antrene yon ti rezo newòn sou done mezire pou korije rezidyèl tablo OCV a, pou fòme yon apwòch ibrid "modèl fizik + ki baze sou done".
Remak: tout done ki nan atik sa a soti nan yon simulation modèl parametrize, epi paramèt selil yo se pou egzanp. Pou yon pwodwi reyèl, idantifye paramèt selil pa w la avèk tès HPPC ak tès vòltaj sikwi ouvè anvan w itilize li.
Dat piblikasyon: 28 oktòb 2026