تخمین پارامتر یک مدل باتری انبوه وابسته به زمان
معرفی
این آموزش از رویکرد “جعبه سیاه” برای تعریف مدل باتری بر اساس مجموعه کوچکی از پارامترهای توده ای استفاده می کند که نیازی به دانش ساختار داخلی یا طراحی الکترودهای باتری یا انتخاب مواد ندارد. ورودی های مدل ظرفیت باتری، حالت اولیه شارژ (SOC) و ولتاژ مدار باز در مقابل منحنی SOC، در ترکیب با داده های تجربی چرخه بار هستند.
تخمین پارامتر پارامترهای یکپارچه با استفاده از مرحله مطالعه برآورد پارامتر به دست می آید.
تعریف مدل
این مدل را میتوان بهعنوان نسخهای از یک مدل ذرهای منفرد، مدلسازی انتقال لیتیوم درونی در یکی از الکترودها مشاهده کرد. تا زمانی که باتری عمدتاً توسط فرآیند انتشار فقط در یکی از الکترودها کنترل می شود، این ساده سازی می تواند انگیزه داشته باشد. روش مدلسازی تک ذره در مثال کتابخانه کاربردی مدل تک ذره باتری لیتیوم یونی مثال زده شده است .
این مدل از رابط Lumped Battery استفاده میکند و ولتاژ سلول E سلول (V) را بر اساس یک سلول I سلول وابسته به زمان اعمال میکند . پارامترهای مورد استفاده در مدل در جدول 1 توضیح داده شده است . علاوه بر این، مدل به داده های ولتاژ مدار باز باتری، E OCV (V) به عنوان تابعی از حالت شارژ نیاز دارد.
پارامتر | واحد | شرح |
سلول Q ، 0 | آه | ظرفیت باتری |
SOC 0 | 1 | وضعیت شارژ اولیه |
η IR, 1C | V | مازاد پتانسیل اهمی در 1C |
J0 _ | 1 | جریان مبادله شارژ بدون ابعاد |
تی | س | ثابت زمان انتشار |
تلفات احتمالی ناشی از فرآیندهای اهمی و انتقال شارژ
اتلاف ولتاژ توده ای مرتبط با فرآیند اهمی در الکترولیت و الکترودها به شرح زیر است:

که در آن η IR,1C (V) مازاد پتانسیل اهمی در 1C است، سلول I جریان اعمال شده است و جریان 1C، I 1C (A) به صورت زیر تعریف می شود:

که در آن سلول Q ، 0 (C) ظرفیت سلول باتری است.
جریان تبادل بار بدون بعد J 0 برای تعریف تلفات ولتاژ توده ای مرتبط با واکنش های انتقال بار (پتانسیل فعال سازی بیش از حد) در هر دو سطح الکترود مثبت و منفی استفاده می شود.

که در آن R ثابت گاز مولی، T دما، و F ثابت فارادی را نشان می دهد.
تلفات احتمالی ناشی از فرآیندهای انتشار
اثرات مازاد پتانسیل غلظت را می توان در رابط باتری توده ای یا بر اساس انتشار در یک ذره ایده آل یا با استفاده از یک جفت RC (یک مقاومت خطی که به موازات یک خازن جفت شده است) به حساب آورد. در این مدل، انتشار ذرات در نظر گرفته شده است. در این مورد، انتشار فیکی یک متغیر SOC بدون بعد در یک بعد شبه اضافی 1 بعدی مربوط به بعد ذره به طول 1 با X به عنوان متغیر فضایی بدون بعد، با استفاده از تقارن کروی (برای ذرات کروی)، حل می شود.

جایی که τ (s) ثابت زمانی انتشار است. بازه نشان دهنده یک ذره متوسط از الکترود حاکم بر باتری است که در آن X = 0 و X = 1 به ترتیب مرکز و سطح ذره را نشان می دهند.
شرایط مرزی در مرکز و سطح ذره به شرح زیر است:

که در آن شکل N برای ذرات کروی 3 است. حالت شارژ سلول اولیه توسط SOC 0 مشخص می شود . سطح حالت بار، سطح SOC ، در سطح ذره تعریف می شود ( X = 1). میانگین حالت بار، میانگین SOC ، با ادغام در حجم ذره، به طور مناسب مختصات کروی تعریف می شود و به صورت تعریف می شود.
(1)

تلفات ولتاژ یکپارچه مرتبط با پتانسیل بیش از حد غلظت به صورت زیر تعریف می شود:

پتانسیل سلولی و تخمین پارامتر
در نهایت، سلول E ولتاژ سلول باتری به صورت تعریف شده است

با معرفی عبارت η conc ، سلول E را نیز می توان به صورت تعریف کرد

این آموزش شامل سه بخش است. در قسمت اول، یک مدل باتری انبوه (با ظرفیت 12 Ah) تنظیم شده و برای جریان باتری وابسته به زمان اجرا می شود. در بخش دوم، تخمین پارامتر پارامترهای ηIR ، 1C ، τ و J 0 با استفاده از دادههای تجربی انجام میشود. این با استفاده از یک مرحله مطالعه تخمین پارامتر با استفاده از حلکننده بهینهسازی Levenberg-Marquardt انجام میشود. در بخش سوم، پیشبینی ولتاژ سلول با استفاده از مقادیر پارامتر یکپارچه بهینهشده که در مطالعه تخمین پارامتر قبلی بهدستآمده بود، انجام شد و با دادههای تجربی مقایسه شد. دو مطالعه اول از یک چرخه بار 300 ثانیه استفاده می کنند. مطالعه پیشبینی سوم از یک چرخه بار کامل با 300 ثانیه اضافی استفاده میکند.
نتایج و بحث
شکل 1 ولتاژ سلول مدل شده را با استفاده از مقادیر پارامتر برازش جدول 2 به همراه ولتاژ سلول تجربی و ولتاژ مدار باز مربوطه، برای سیکل بار 300 ثانیه نشان می دهد.

شکل 1: ولتاژ سلول مدلسازی شده با استفاده از مقادیر پارامتر نصب شده، ولتاژ سلول تجربی، و ولتاژ مدار باز متناظر، برای سیکل بار 300 ثانیه.
پارامتر | ارزش | واحد |
η IR, 1C | 4.5 | mV |
J0 _ | 1.16 | 1 |
تی | 1375 | س |
شکل 2 تلفات ولتاژ مربوط به اهمی، فعال سازی و غلظت را برای سیکل بار 300 ثانیه با استفاده از مقادیر پارامتر نصب شده نشان می دهد.

شکل 2: تلفات ولتاژ اهمی، انتقال بار و تغلیظ با استفاده از مقادیر پارامتر نصب شده، برای سیکل بار 300 ثانیه. بار جریان سلول مربوطه در محور y دوم نشان داده شده است.
شکل 3 ولتاژ سلول پیش بینی شده را با استفاده از مقادیر پارامتر بهینه شده جدول 2 به همراه ولتاژ سلول تجربی و ولتاژ مدار باز متناظر، برای سیکل بار کامل 600 ثانیه نشان می دهد. (توجه داشته باشید که نیمه اول (300 ثانیه) ولتاژ سلول پیش بینی شده دقیقاً مشابه شکل 1 است ، همانطور که انتظار می رود).

شکل 3: ولتاژ سلول پیش بینی شده با استفاده از مقادیر پارامتر بهینه، ولتاژ سلول تجربی و ولتاژ مدار باز متناظر، برای چرخه بار کامل 600 ثانیه.
مطالعه | انحراف معیار |
شبیه سازی منحنی بار | 0.031 |
تخمین پارامتر | 0.015 |
پیش بینی منحنی بار کامل | 0.014 |
مقادیر انحراف استاندارد ولتاژ سلول مدل شده از مقادیر تجربی برای هر سه مطالعه در جدول 3 نشان داده شده است . مقدار انحراف استاندارد اولین مطالعه شبیهسازی منحنی بار بالا است، همانطور که انتظار میرود، با توجه به اینکه مقادیر پیشفرض پارامترهای یکپارچه برای شبیهسازی ولتاژ سلول استفاده میشود. مقدار انحراف استاندارد دومین مطالعه تخمین پارامتر و سومین مطالعه پیشبینی منحنی بار کامل بسیار کمتر و تقریباً یکسان است. (توجه داشته باشید که محاسبه انحراف استاندارد مطالعه پیش بینی فقط از نیمه دوم چرخه بار کامل استفاده می کند). مقادیر تقریباً یکسان انحراف استاندارد مطالعه دوم و سوم نشان میدهد که کیفیت پیشبینی تنها به اندازه کیفیت برآورد و بهینهسازی پارامتر خواهد بود.
نکاتی درباره پیاده سازی COMSOL
در مدل، معکوس J 0 ، invJ0 ، به عنوان پارامتر برازش استفاده شده است. این کار به منظور جلوگیری از تقسیم بر 0 در عبارت مازاد پتانسیل فعال سازی در طول فرآیند بهینه سازی انجام می شود.
ارجاع
1. H. Ekström، B. Fridholm و G. Lindbergh، “مقایسه مدل های انتشار توده ای برای پیش بینی ولتاژ یک سلول باتری لیتیوم یونی در طول بارهای دینامیکی،” J. Power Sources ، جلد. 402، صفحات 296-300، 2018.
مسیر کتابخانه برنامه: Battery_Design_Module/Batteries,_Lithium-ion/lumped_li_battery_parameter_estimation
دستورالعمل های مدل سازی
این آموزش از سه بخش تشکیل شده است. در قسمت اول شما یاد خواهید گرفت که چگونه یک مدل باتری یکپارچه بسازید و یک شبیه سازی برای جریان باتری وابسته به زمان اجرا کنید. در قسمت دوم تخمین پارامتر را با استفاده از داده های تجربی انجام خواهید داد. در بخش سوم، یک مطالعه پیشبینی را با استفاده از مقادیر پارامتر یکپارچه بهینهشده که در مطالعه تخمین پارامتر قبلی بهدست آمد، انجام میدهید و با دادههای تجربی مقایسه میکنید.
از منوی File ، New را انتخاب کنید .
جدید
در پنجره جدید ، روی
Model Wizard کلیک کنید .

مدل جادوگر
1 | در پنجره Model Wizard روی ![]() |
2 | در درخت Select Physics ، Electrochemistry>Batteries>Lumped Battery (lb) را انتخاب کنید . |
3 | روی افزودن کلیک کنید . |
4 | ![]() |
5 | در درخت انتخاب مطالعه ، General Studies>Time Dependent را انتخاب کنید . |
6 | ![]() |
تعاریف جهانی
پارامترهای 1
پارامترهای مدل را از یک فایل متنی وارد کنید.
1 | در پنجره Model Builder ، در قسمت Global Definitions روی Parameters 1 کلیک کنید . |
2 | در پنجره تنظیمات برای پارامترها ، بخش پارامترها را پیدا کنید . |
3 | ![]() |
4 | به پوشه Application Libraries مدل بروید و روی فایل lumped_li_battery_parameter_estimation_parameters.txt دوبار کلیک کنید . |
تعاریف
جریان باتری و ولتاژ سلول آزمایشی وابسته به زمان هستند. بنابراین باید اینها را به عنوان متغیر تعریف کنید. (متغیر ولتاژ سلول آزمایشی فقط در طول پس پردازش استفاده خواهد شد.)
متغیرهای 1
1 | در پنجره Model Builder ، در قسمت Component 1 (comp1) روی Definitions کلیک راست کرده و Variables را انتخاب کنید . |
2 | در پنجره تنظیمات برای متغیرها ، بخش متغیرها را پیدا کنید . |
3 | ![]() |
4 | به پوشه Application Libraries مدل بروید و روی فایل lumped_li_battery_parameter_estimation_variables.txt دوبار کلیک کنید . |
عبارات موجود در لیست متغیرها با رنگ نارنجی مشخص شده اند که عملگرها و توابع ناشناخته را نشان می دهد. اکنون به اضافه کردن تابع درون یابی گمشده برای ولتاژ و جریان سلول در مقابل زمان ادامه خواهید داد.
نتایج
ما بار باتری و داده های ولتاژ سلول تجربی را به صورت جدول وارد می کنیم و از این جدول هم برای تعریف عملکردهای جریان باتری وابسته به زمان و ولتاژ آزمایشی و هم برای تابع هدف استفاده شده در قسمت دوم آموزش استفاده می کنیم.
داده های چرخه بارگذاری
1 | در پنجره Model Builder ، گره Results را گسترش دهید . |
2 | روی Results>Tables کلیک راست کرده و Table را انتخاب کنید . |
3 | در پنجره تنظیمات جدول ، Load Cycle Data را در قسمت متن برچسب تایپ کنید . |
4 | قسمت Data را پیدا کنید . روی Import کلیک کنید . |
5 | به پوشه Application Libraries مدل بروید و روی فایل lumped_li_battery_parameter_estimation_E_I_vs_t_data.txt دوبار کلیک کنید . |
جدول
1 | به پنجره Table بروید . |
فایل داده شامل سه ستون مختلف است: زمان، جریان و ولتاژ.
تعاریف
درون یابی – E و I در مقابل t
1 | در نوار ابزار صفحه اصلی ، روی ![]() |
2 | در پنجره تنظیمات برای Interpolation ، Interpolation – E و I vs. t را در قسمت نوشتار Label تایپ کنید . |
3 | قسمت Definition را پیدا کنید . از فهرست منبع داده ، جدول نتیجه را انتخاب کنید . |
(توجه داشته باشید که به جای استفاده از جدول، می توانید فایل داده را مستقیماً در اینجا نیز وارد کنید.)
4 | زیربخش توابع را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
نام تابع | موقعیت در پرونده |
E_cell_exp | 1 |
I_cell_exp | 2 |
5 | قسمت Units را پیدا کنید . در جدول Argument تنظیمات زیر را وارد کنید: |
بحث و جدل | واحد |
ستون 1 | س |
باتری پر شده (پوند)
اکنون شروع به تعریف مدل باتری خواهید کرد.
1 | در پنجره Model Builder ، در قسمت Component 1 (comp1) روی Lumped Battery (lb) کلیک کنید . |
2 | در پنجره Settings for Lumped Battery ، بخش Operation Mode را پیدا کنید . |
3 | در قسمت متن I app ، I_cell_exp را تایپ کنید . |
4 | قسمت تنظیمات باتری را پیدا کنید . در فیلد متنی سلول Q ، Q_cell0 را تایپ کنید . |
5 | در فیلد متنی سلول SOC ، SOC_0 را تایپ کنید . |
Q_cell0 و SOC_0 در فایل متنی پارامتری که قبلاً وارد کردهاید، تعریف شدهاند.
( پارامتر حجم باتری فقط برای محاسبه منبع گرما در واحد W/m 3 استفاده می شود و در این مدل مورد نیاز نیست.)
پتانسیل تعادل سلولی 1
داده های ولتاژ مدار باز را در دمای مرجع از یک فایل متنی بارگیری کنید. توجه داشته باشید که در این مدل دمای مرجع با دمای شبیه سازی یکسان است.
1 | در پنجره Model Builder ، در قسمت Component 1 (comp1)> Lumped Battery (lb) روی Cell Equilibrium Potential 1 کلیک کنید . |
2 | در پنجره تنظیمات برای پتانسیل تعادل سلولی ، بخش Open Circuit Voltage را پیدا کنید . |
3 | ![]() |
توجه داشته باشید که پاک کردن جدول قبل از بارگیری داده ها از فایل متنی مهم است.
4 | ![]() |
5 | به پوشه Application Libraries مدل بروید و روی فایل lumped_li_battery_parameter_estimation_E_OCP_data.txt دوبار کلیک کنید . |
6 | در قسمت متن T ref ، T را تایپ کنید . |
توجه داشته باشید که در این گره می توانید داده هایی را برای مشتق دمای ولتاژ مدار باز اضافه کنید که برای محاسبه وابستگی دمایی ولتاژ مدار باز استفاده می شود. علاوه بر این، این داده ها در محاسبه سهم برگشت پذیر (آنتروپیک) و گرمای سهم اختلاط به منبع حرارت کل استفاده می شود. با این حال، این داده ها در این مدل مورد نیاز نیست.
تلفات ولتاژ 1
فعلاً مقادیر پیشفرض پارامترهای تلفات ولتاژ را حفظ کنید، اما پتانسیل بیش از حد غلظت را نیز فعال کنید.
1 | در پنجره Model Builder ، روی Voltage Losses 1 کلیک کنید . |
2 | در پنجره تنظیمات برای تلفات ولتاژ ، بخش تمرکز بیش از حد پتانسیل را پیدا کنید . |
3 | چک باکس Include غلظت overpotential را انتخاب کنید . |
مطالعه 1 – شبیه سازی منحنی بار
مدل باتری اکنون برای حل آماده است.
1 | در پنجره Model Builder ، روی Study 1 کلیک کنید . |
2 | در پنجره تنظیمات برای مطالعه ، Study 1 – Load Curve Simulation را در قسمت نوشتار Label تایپ کنید . |
مرحله 1: وابسته به زمان
1 | در پنجره Model Builder ، در مطالعه 1 – Load Curve Simulation روی مرحله 1: وابسته به زمان کلیک کنید . |
2 | در پنجره تنظیمات مربوط به زمان وابسته ، قسمت تنظیمات مطالعه را پیدا کنید . |
3 | در قسمت متن زمان خروجی ، range(0,1,300) را تایپ کنید . |
تنظیمات بالا به حل کننده می گوید که یک شبیه سازی را به مدت 300 ثانیه اجرا کند و هر ثانیه راه حل را ذخیره کند.
4 | از لیست Tolerance ، User controlled را انتخاب کنید . |
5 | در قسمت متنی Relative tolerance ، 0.001 را تایپ کنید . |
6 | در نوار ابزار صفحه اصلی ، ![]() |
نتایج
ولتاژ سلول
تعدادی نمودار به صورت پیش فرض ایجاد شد. اکنون نمودار اول را برای مقایسه ولتاژ سلول مدل شده با داده های تجربی اصلاح خواهید کرد.
1 | در پنجره تنظیمات برای گروه طرح 1 بعدی ، ولتاژ سلول را در قسمت متن برچسب تایپ کنید . |
2 | برای گسترش بخش عنوان کلیک کنید . از لیست نوع عنوان ، هیچکدام را انتخاب کنید . |
3 | قسمت Plot Settings را پیدا کنید . چک باکس Two y-axes را پاک کنید . |
4 | قسمت Legend را پیدا کنید . از لیست موقعیت ، پایین سمت راست را انتخاب کنید . |
جهانی 1
1 | در پنجره Model Builder ، گره Cell Voltage را گسترش دهید ، سپس روی Global 1 کلیک کنید . |
2 | در پنجره تنظیمات برای جهانی ، بخش y-Axis Data را پیدا کنید . |
3 | در جدول تنظیمات زیر را وارد کنید: |
اصطلاح | واحد | شرح |
lb.E_cell | V | ولتاژ سلول مدل شده |
جهانی 3
1 | در پنجره Model Builder ، روی Global 3 کلیک کنید . |
2 | در پنجره تنظیمات برای جهانی ، روی Replace Expression در گوشه سمت راست بالای بخش y-Axis Data کلیک کنید . از منو، Component 1 (comp1)>Definitions>Variables>E_cell_exp – Experimental cell Voltage – V را انتخاب کنید . |
ولتاژ سلول
1 | در پنجره Model Builder ، روی Cell Voltage کلیک کنید . |
2 | در پنجره Settings for 1D Plot Group ، بخش Axis را پیدا کنید . |
3 | تیک گزینه Manual axis limits را انتخاب کنید . |
4 | در قسمت متن حداکثر x ، 305 را تایپ کنید . |
5 | در فیلد متن حداقل y ، 3.35 را تایپ کنید . |
6 | در قسمت متن حداکثر y ، 4.2 را تایپ کنید . |
7 | در نوار ابزار Cell Voltage ، روی ![]() ![]() |
وضعیت شارژ سلول (پوند)
همچنین نمودار حالت شارژ در مقابل زمان به طور پیش فرض ایجاد شد:

تلفات ولتاژ و بار
برای ایجاد نموداری که تلفات ولتاژ مختلف در مدل را مقایسه می کند، به صورت زیر عمل کنید:
1 | در نوار ابزار صفحه اصلی ، روی ![]() |
2 | در پنجره تنظیمات برای گروه طرح 1 بعدی ، تلفات ولتاژ و بارگذاری را در قسمت متن برچسب تایپ کنید . |
جهانی 1
1 | روی Voltage Losses and Load کلیک راست کرده و Global را انتخاب کنید . |
2 | در پنجره تنظیمات برای جهانی ، روی Replace Expression در گوشه سمت راست بالای بخش y-Axis Data کلیک کنید . از منو، Component 1 (comp1)> Lumped Battery>Overpotentials>lb.eta_ir – Ohmic overpotential – V را انتخاب کنید . |
3 | روی Add Expression در گوشه سمت راست بالای بخش y-Axis Data کلیک کنید . از منو، Component 1 (comp1)> Lumped Battery>Overpotentials>lb.eta_act – Activation Overpotential – V را انتخاب کنید . |
4 | روی Add Expression در گوشه سمت راست بالای بخش y-Axis Data کلیک کنید . از منو، Component 1 (comp1)> Lumped Battery>Overpotentials>lb.eta_conc – Concentration overpotential – V را انتخاب کنید . |
5 | قسمت x-Axis Data را پیدا کنید . از لیست Parameter ، Expression را انتخاب کنید . |
6 | در قسمت Expression text، t را تایپ کنید . |
جهانی 2
1 | در پنجره Model Builder ، روی Voltage Losses and Load کلیک راست کرده و Global را انتخاب کنید . |
2 | در پنجره تنظیمات برای جهانی ، روی Replace Expression در گوشه سمت راست بالای بخش y-Axis Data کلیک کنید . از منو، Component 1 (comp1)> Lumped Battery>lb.I_cell – Cell current – A را انتخاب کنید . |
3 | قسمت x-Axis Data را پیدا کنید . از لیست Parameter ، Expression را انتخاب کنید . |
4 | در قسمت Expression text، t را تایپ کنید . |
5 | برای گسترش بخش Coloring and Style کلیک کنید . زیربخش Line style را پیدا کنید . از لیست خط ، نقطه نقطه را انتخاب کنید . |
6 | از لیست رنگ ، سیاه را انتخاب کنید . |
تلفات ولتاژ و بار
1 | در پنجره Model Builder ، روی Voltage Losses and Load کلیک کنید . |
2 | در پنجره Settings for 1D Plot Group ، قسمت Title را پیدا کنید . |
3 | از لیست نوع عنوان ، هیچکدام را انتخاب کنید . |
4 | قسمت Plot Settings را پیدا کنید . |
5 | کادر بررسی برچسب محور y را انتخاب کنید . در قسمت متن مربوطه، Overvoltage (V) را تایپ کنید . |
6 | چک باکس Two y-axes را انتخاب کنید . |
7 | در جدول، کادر Plot on secondary y-axis را برای Global 2 انتخاب کنید . |
8 | قسمت Axis را پیدا کنید . تیک گزینه Manual axis limits را انتخاب کنید . |
9 | در قسمت متن حداکثر x ، 305 را تایپ کنید . |
10 | در قسمت حداقل y متن، -0.4 را تایپ کنید . |
11 | در قسمت متن حداکثر y ، 0.2 را تایپ کنید . |
12 | در فیلد متن حداقل y Secondary ، -350 را تایپ کنید . |
13 | در قسمت متنی Secondary y حداکثر ، 200 را تایپ کنید . |
14 | قسمت Legend را پیدا کنید . از لیست موقعیت ، پایین سمت چپ را انتخاب کنید . |
15 | در نوار ابزار Voltage Losses and Load ، روی ![]() ![]() |
باتری پر شده (پوند)
تلفات ولتاژ 1
1 | در پنجره Model Builder ، در قسمت Component 1 (comp1)> Lumped Battery (lb) روی Voltage Losses 1 کلیک کنید . |
2 | در پنجره تنظیمات برای تلفات ولتاژ ، بخش ورودی مدل را پیدا کنید . |
3 | در قسمت متن T ، T را تایپ کنید . |
اکنون مقادیر پیش فرض تلفات ولتاژ را تغییر دهید تا به جای آن از مقادیر تعریف شده در گره Parameters استفاده کنید .
4 | بخش Overpotential اهمی را پیدا کنید . در قسمت متن η IR,1C ، eta_IR_1C را تایپ کنید . |
5 | قسمت Activation Overpotential را پیدا کنید . در قسمت نوشتاری J 0 ، J0 را تایپ کنید . |
6 | قسمت Concentration Overpotential را پیدا کنید . در قسمت متن τ ، tau را تایپ کنید . |
ریشه
مرحله بعدی راه اندازی حل کننده بهینه سازی مورد استفاده برای تخمین پارامتر است. ما این کار را در یک گره مطالعه جدید انجام خواهیم داد.
اضافه کردن مطالعه
1 | در نوار ابزار Home ، روی ![]() |
2 | به پنجره Add Study بروید . |
3 | زیربخش مطالعات را پیدا کنید . در درخت انتخاب مطالعه ، General Studies>Time Dependent را انتخاب کنید . |
4 | روی Add Study در نوار ابزار پنجره کلیک کنید . |
5 | در نوار ابزار Home ، روی ![]() |
مطالعه 2 – برآورد پارامتر
1 | در پنجره Model Builder ، روی Study 2 کلیک کنید . |
2 | در پنجره تنظیمات برای مطالعه ، Study 2 – Parameter Estimation را در قسمت نوشتار Label تایپ کنید . |
3 | بخش تنظیمات مطالعه را پیدا کنید . تیک Generate defaults defaults را پاک کنید . |
بخش اول آموزش اکنون کامل شده است. در قسمت دوم نحوه اجرای یک حل کننده بهینه سازی برای انجام تخمین پارامترهای مختلف تلفات ولتاژ را خواهید آموخت.
تخمین پارامتر
1 | در نوار ابزار مطالعه ، روی ![]() |
مرحله مطالعه تخمین پارامتر برای ساخت تابع هدف استفاده می شود که باید توسط حل کننده بهینه سازی حداقل شود. تابع هدف در این حالت با مجموع اختلاف مجذور بین ولتاژ سلول مدل سازی شده و آزمایشی برای تمام زمان های ذخیره شده در داده ها برابر خواهد بود.
2 | در پنجره تنظیمات برای تخمین پارامتر ، بخش داده های تجربی را پیدا کنید . |
3 | از فهرست منبع داده ، جدول نتیجه را انتخاب کنید . |
توجه داشته باشید که می توانید به جای استفاده از جدول، یک فایل داده را مستقیماً در اینجا وارد کنید.
4 | قسمت تنظیمات ستون را پیدا کنید . در جدول، برای انتخاب سلول در ردیف شماره 2 و ستون شماره 3 کلیک کنید. |
5 | در جدول تنظیمات زیر را وارد کنید: |
ستون ها | تایپ کنید | تنظیمات |
بار) | زمان | واحد زمان=s |
ولتاژ (V) | ارزش | Model express=comp1.lb.E_cell، Name=col2، Weight=1 |
جریان (A) | ستون نادیده گرفته شد |
6 | در قسمت متن عبارت Model ، comp1.lb.E_cell را تایپ کنید . |
عبارت Model می گوید که داده ها با چه مقداری در مدل مطابقت دارند.
7 | در قسمت متن واحد ، V را تایپ کنید . |
حال تعریف کنید که برای چه پارامترهایی (متغیرهای کنترلی) باید تخمین پارامتر را اجرا کنیم:
8 | قسمت Parameters را پیدا کنید . سه بار ![]() |
اکنون باید سه متغیر کنترلی در جدول وجود داشته باشد. برای بهبود بهینهسازی باید مقیاسهای مناسبی برای آنها تهیه کنید ( ستون مقیاس در جدول).
9 | در جدول تنظیمات زیر را وارد کنید: |
نام پارامتر | مقدار اولیه | مقیاس | کران پایین | کران بالا |
eta_IR_1C (مازاد پتانسیل اهمی در 1C، پارامتر برازش) | 10 [mV] | 0.01 | ||
invJ0 (جریان تبادل شارژ معکوس بدون بعد، پارامتر برازش) | 1 | 1 | ||
تاو (ثابت زمان انتشار، پارامتر برازش) | 1000[s] | 1000 |
(ستونهای کران پایین/بالا توسط حلکننده Levenberg-Marquardt پشتیبانی نمیشوند، اما حلکنندههای دیگر (مانند IPOPT و SNOPT) به شما این امکان را میدهند که در طول بهینهسازی، محدودههایی را روی متغیرهای کنترلی قرار دهید.)
Levenberg -Marquardt برای مشکلات حداقل مربعات جهانی مناسب است.
10 | قسمت Parameter Estimation Method را پیدا کنید . از لیست روش ، Levenberg-Marquardt را انتخاب کنید . |
11 | زیربخش تنظیمات Solver را پیدا کنید . از لیست روش حداقل مربعات زمان/پارامتر ، از حداقل مربعات هدف را انتخاب کنید . |
تعاریف (COMP1)
پروب متغیر جهانی 1 (var1)
با افزودن پروب برای پارامترهای برازش (متغیرهای کنترل) می توانید نحوه تغییر این پارامترها را در طول بهینه سازی نظارت کنید.
1 | در پنجره Model Builder ، در قسمت Component 1 (comp1) روی Definitions کلیک راست کرده و Global Variable Probe را انتخاب کنید . |
2 | در پنجره تنظیمات برای پروب متغیر جهانی ، بخش Expression را پیدا کنید . |
3 | در قسمت متن Expression ، eta_IR_1C را تایپ کنید . |
پروب متغیر جهانی 2 (var2)
1 | روی Definitions کلیک راست کرده و Global Variable Probe را انتخاب کنید . |
2 | در پنجره تنظیمات برای پروب متغیر جهانی ، بخش Expression را پیدا کنید . |
3 | در قسمت متن Expression ، invJ0 را تایپ کنید . |
پروب متغیر جهانی 3 (var3)
1 | روی Definitions کلیک راست کرده و Global Variable Probe را انتخاب کنید . |
2 | در پنجره تنظیمات برای پروب متغیر جهانی ، بخش Expression را پیدا کنید . |
3 | در قسمت Expression text، tau را تایپ کنید . |
مطالعه 2 – برآورد پارامتر
مشکل تخمین پارامتر اکنون برای حل آماده است. از آنجایی که مدل چندین بار اجرا می شود تا حداقل تابع هدف را بیابد، اجرای این محاسبات کمی بیشتر از مطالعه اول طول می کشد (حدود یک دقیقه).
1 | در نوار ابزار مطالعه ، ![]() |
نتایج
برای ترسیم نتایج مطالعه برآورد پارامتر، داده هایی را که نمودارها به آنها اشاره می کنند، تغییر دهید ( شکل 1 و شکل 2 ).
ولتاژ سلول
1 | در پنجره Model Builder ، در بخش Results روی Cell Voltage کلیک کنید . |
2 | در پنجره Settings for 1D Plot Group ، بخش Data را پیدا کنید . |
3 | از لیست مجموعه داده ، مطالعه 2 – تخمین پارامتر /راه حل 2 (sol2) را انتخاب کنید . |
4 | در نوار ابزار Cell Voltage ، روی ![]() |
تلفات ولتاژ و بار
1 | در پنجره Model Builder ، روی Voltage Losses and Load کلیک کنید . |
2 | در پنجره Settings for 1D Plot Group ، بخش Data را پیدا کنید . |
3 | از لیست مجموعه داده ، مطالعه 2 – تخمین پارامتر /راه حل 2 (sol2) را انتخاب کنید . |
4 | در نوار ابزار Voltage Losses and Load ، روی ![]() |
مطالعه 2 – برآورد پارامتر
نمودار ولتاژ سلول را می توان در حین حل برای نظارت بر فرآیند بهینه سازی در پنجره گرافیکی در حین محاسبه به عنوان خروجی تنظیم کرد.
تخمین پارامتر
1 | در پنجره Model Builder ، در مطالعه 2 – تخمین پارامتر ، روی برآورد پارامتر کلیک کنید . |
2 | در پنجره تنظیمات برای تخمین پارامتر ، کلیک کنید تا بخش خروجی هنگام حل گسترش یابد . |
3 | کادر Plot را انتخاب کنید . |
اکنون ممکن است سعی کنید راه حل را دوباره محاسبه کنید تا ببینید منحنی های ولتاژ سلول تجربی و مدل در طول بهینه سازی چگونه به یکدیگر نزدیک می شوند.
نتایج
بخش دوم آموزش هم اکنون کامل شده است. بخش آخر راه اندازی یک مطالعه جدید برای پیش بینی ولتاژ سلول است. توجه داشته باشید که دو مطالعه قبلی از داده های چرخه بار 300 ثانیه استفاده کردند. برای مطالعه پیشبینی، از یک چرخه بار کامل با 300 ثانیه اضافی استفاده خواهد شد. ابتدا دادههای چرخه بار کامل شامل بار باتری و دادههای ولتاژ سلول تجربی را مانند قبل به صورت جدول وارد میکنیم و از این جدول برای تعریف جریان باتری وابسته به زمان و عملکردهای ولتاژ آزمایشی استفاده میکنیم. (توجه داشته باشید که 300 ثانیه اولیه داده های چرخه بار کامل دقیقاً مشابه داده های چرخه بار وارد شده برای مطالعه قبلی است).
داده های چرخه بار کامل
1 | در نوار ابزار نتایج ، روی ![]() |
2 | در پنجره تنظیمات جدول ، Full Load Cycle Data را در قسمت نوشتاری Label تایپ کنید . |
3 | قسمت Data را پیدا کنید . روی Import کلیک کنید . |
4 | به پوشه Application Libraries مدل بروید و روی فایل lumped_li_battery_parameter_estimation_E_I_vs_t_fulldata.txt دوبار کلیک کنید . |
جدول
1 | به پنجره Table بروید . |
این فایل داده نیز مانند قبل شامل سه ستون مختلف است: زمان، جریان و ولتاژ.
تعاریف (COMP1)
درون یابی – E و I در مقابل t (کامل)
1 | در نوار ابزار صفحه اصلی ، روی ![]() |
2 | در پنجره تنظیمات برای درون یابی ، Interpolation – E و I vs. t (کامل) را در قسمت نوشتار Label تایپ کنید. |
3 | قسمت Definition را پیدا کنید . از فهرست منبع داده ، جدول نتیجه را انتخاب کنید . |
4 | از لیست Table from ، Full Load Cycle Data را انتخاب کنید . |
5 | زیربخش توابع را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
نام تابع | موقعیت در پرونده |
E_cell_exp_full | 1 |
I_cell_exp_full | 2 |
6 | قسمت Units را پیدا کنید . در جدول Argument تنظیمات زیر را وارد کنید: |
بحث و جدل | واحد |
ستون 1 | س |
متغیرهای 1
در مرحله بعد، متغیرهای مربوط به جریان باتری وابسته به زمان و ولتاژ سلول آزمایشی چرخه بار کامل را تعریف می کنیم. (متغیر ولتاژ سلول آزمایشی فقط در طول پس پردازش استفاده خواهد شد.)
متغیرها 2
1 | در پنجره Model Builder ، در قسمت Component 1 (comp1)>Definitions روی Variables 1 کلیک راست کرده و Duplicate را انتخاب کنید . |
2 | در پنجره تنظیمات برای متغیرها ، بخش متغیرها را پیدا کنید . |
3 | در جدول تنظیمات زیر را وارد کنید: |
نام | اصطلاح | واحد | شرح |
I_cell_exp | I_cell_exp_full(t)[A] | آ | جریان سلول تجربی – چرخه بار کامل |
E_cell_exp | E_cell_exp_full(t)[V] | V | ولتاژ سلول تجربی – چرخه بار کامل |
ریشه
یک مطالعه جدید وابسته به زمان برای پیشبینی چرخه بار کامل 600 ثانیه اضافه کنید. پیکربندی مدل برای این مرحله مطالعه را برای غیرفعال کردن Variables1 (که متشکل از متغیرهای مربوط به چرخه بار 300 ثانیه است) تغییر دهید. همچنین، مطالعه را برای استفاده از مقادیر پارامتر یکپارچه بهینه شده از مطالعه تخمین پارامتر قبلی تنظیم کنید.
اضافه کردن مطالعه
1 | در نوار ابزار Home ، روی ![]() |
2 | به پنجره Add Study بروید . |
3 | زیربخش مطالعات را پیدا کنید . در درخت انتخاب مطالعه ، General Studies>Time Dependent را انتخاب کنید . |
4 | روی Add Study در نوار ابزار پنجره کلیک کنید . |
5 | در نوار ابزار Home ، روی ![]() |
مطالعه 3 – پیش بینی منحنی بار کامل
1 | در پنجره Model Builder ، روی Study 3 کلیک کنید . |
2 | در پنجره تنظیمات برای مطالعه ، Study 3 – Full Load Curve Prediction را در قسمت نوشتار Label تایپ کنید . |
مرحله 1: وابسته به زمان
1 | در پنجره Model Builder ، در مطالعه 3 – پیشبینی منحنی بار کامل، روی مرحله 1: وابسته به زمان کلیک کنید . |
2 | در پنجره تنظیمات مربوط به زمان وابسته ، قسمت تنظیمات مطالعه را پیدا کنید . |
3 | در قسمت متنی زمان خروجی ، range(0,1,600) را تایپ کنید . |
4 | از لیست Tolerance ، User controlled را انتخاب کنید . |
5 | در قسمت متنی Relative tolerance ، 0.001 را تایپ کنید . |
6 | قسمت Physics and Variables Selection را پیدا کنید . تیک Modify model configuration for study step را انتخاب کنید . |
7 | در درخت، Component 1 (comp1)>Definitions>Variables 1 را انتخاب کنید . |
8 | ![]() |
9 | برای گسترش بخش Values of Dependent Variables کلیک کنید . مقادیر اولیه متغیرهای حل شده برای زیربخش را بیابید . از لیست تنظیمات ، کنترل کاربر را انتخاب کنید . |
10 | مقادیر متغیرهای حل نشده را برای بخش فرعی پیدا کنید . از لیست تنظیمات ، کنترل کاربر را انتخاب کنید . |
11 | از لیست روش ، راه حل را انتخاب کنید . |
12 | از لیست مطالعه ، مطالعه 2 – تخمین پارامتر ، وابسته به زمان را انتخاب کنید . |
13 | در پنجره Model Builder ، روی Study 3 – Full Load Curve Prediction کلیک کنید . |
14 | در پنجره تنظیمات برای مطالعه ، قسمت تنظیمات مطالعه را پیدا کنید . |
15 | تیک Generate defaults defaults را پاک کنید . |
قبل از اینکه مطالعه پیشبینی را محاسبه کنیم، ممکن است برای کاملتر شدن، بهروزرسانی پیکربندی مدل برای دو مرحله مطالعه قبلی برای غیرفعال کردن Variables2 (که متشکل از متغیرهای متناظر با چرخه بار کامل 600 ثانیه است) مفید باشد.
مطالعه 1 – شبیه سازی منحنی بار
مرحله 1: وابسته به زمان
1 | در پنجره Model Builder ، در مطالعه 1 – Load Curve Simulation روی مرحله 1: وابسته به زمان کلیک کنید . |
2 | در پنجره تنظیمات مربوط به زمان وابسته ، قسمت Physics and Variables Selection را پیدا کنید . |
3 | تیک Modify model configuration for study step را انتخاب کنید . |
4 | در درخت، Component 1 (comp1)>Definitions>Variables 2 را انتخاب کنید . |
5 | ![]() |
مطالعه 2 – برآورد پارامتر
مرحله 1: وابسته به زمان
1 | در پنجره Model Builder ، در مطالعه 2 – تخمین پارامتر ، روی مرحله 1: وابسته به زمان کلیک کنید . |
2 | در پنجره تنظیمات مربوط به زمان وابسته ، قسمت Physics and Variables Selection را پیدا کنید . |
3 | تیک Modify model configuration for study step را انتخاب کنید . |
4 | در درخت، Component 1 (comp1)>Definitions>Variables 2 را انتخاب کنید . |
5 | ![]() |
مطالعه 3 – پیش بینی منحنی بار کامل
در نوار ابزار صفحه اصلی ،
روی محاسبه کلیک کنید .

نتایج
نتایج مطالعه پیش بینی ( شکل 3 ) را می توان با کپی کردن شکل ولتاژ سلول ترسیم کرد .
ولتاژ سلول: پیش بینی سیکل کامل
1 | در پنجره Model Builder ، روی Cell Voltage کلیک راست کرده و Duplicate را انتخاب کنید . |
2 | در پنجره تنظیمات برای گروه طرح 1 بعدی ، ولتاژ سلولی: پیشبینی چرخه کامل را در قسمت نوشتار برچسب تایپ کنید . |
3 | قسمت Data را پیدا کنید . از لیست مجموعه داده ها ، مطالعه 3 – پیش بینی منحنی بار کامل / راه حل 3 (sol3) را انتخاب کنید . |
4 | قسمت Axis را پیدا کنید . در قسمت حداکثر متن x ، 610 را تایپ کنید . |
5 | قسمت Legend را پیدا کنید . از لیست موقعیت ، پایین سمت چپ را انتخاب کنید . |
جهانی 1
1 | در پنجره Model Builder ، گره Cell Voltage: Full Cycle Prediction را گسترش دهید ، سپس روی Global 1 کلیک کنید . |
2 | در پنجره تنظیمات برای جهانی ، بخش y-Axis Data را پیدا کنید . |
3 | در جدول تنظیمات زیر را وارد کنید: |
اصطلاح | واحد | شرح |
lb.E_cell | V | ولتاژ سلول پیش بینی شده |
4 | در نوار ابزار Cell Voltage: Full Cycle Prediction ، روی ![]() |
ارزیابی جهانی: انحراف معیار (مطالعه 1)
در نهایت، میتوانید ارزیابیهای کلی را برای محاسبه انحراف استاندارد ولتاژ سلول مدلسازی شده از مقادیر تجربی برای هر سه مطالعه به شرح زیر تنظیم کنید:
1 | در نوار ابزار نتایج ، روی ارزیابی ![]() |
2 | در پنجره تنظیمات برای ارزیابی جهانی ، ارزیابی جهانی: انحراف استاندارد (Study1) را در قسمت متن برچسب تایپ کنید . |
3 | قسمت Expressions را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: |
اصطلاح | واحد | شرح |
lb.E_cell-E_cell_exp | V |
4 | بخش عملیات سری داده را پیدا کنید . از لیست Transformation ، انحراف استاندارد را انتخاب کنید . |
5 | ![]() |
ارزیابی جهانی: انحراف معیار (مطالعه2)
1 | روی Global Evaluation: Standard Deviation (Study1) کلیک راست کرده و Duplicate را انتخاب کنید . |
2 | در پنجره تنظیمات برای ارزیابی جهانی ، ارزیابی جهانی: انحراف استاندارد (Study2) را در قسمت نوشتار برچسب تایپ کنید . |
3 | قسمت Data را پیدا کنید . از لیست مجموعه داده ، مطالعه 2 – تخمین پارامتر /راه حل 2 (sol2) را انتخاب کنید . |
4 | ![]() |
ارزیابی جهانی: انحراف معیار (مطالعه3)
1 | روی Global Evaluation: Standard Deviation (Study2) کلیک راست کرده و Duplicate را انتخاب کنید . |
2 | در پنجره تنظیمات برای ارزیابی جهانی ، ارزیابی جهانی: انحراف استاندارد (Study3) را در قسمت متن برچسب تایپ کنید . |
3 | قسمت Data را پیدا کنید . از لیست مجموعه داده ها ، مطالعه 3 – پیش بینی منحنی بار کامل / راه حل 3 (sol3) را انتخاب کنید . |
برای به دست آوردن انحراف استاندارد مطالعه پیش بینی، فقط می توانید نیمه دوم چرخه بار کامل را انتخاب کنید.
4 | از لیست انتخاب زمان ، دستی را انتخاب کنید . |
5 | در قسمت متنی شاخص های زمان (1-601) ، محدوده (302,1,601) را تایپ کنید . |
6 | ![]() |