- •Лабораторна робота № 1 Моделювання динамічних режимів електричної машини постійного струму
- •Програма роботи
- •Методичні вказівки
- •Аналітичне розв'язування диференціальних рівнянь
- •Числові методи розв'язування звичайних диференціальних рівнянь
- •Вибір кроку
- •Реалізація числових методів у математичних пакетах
- •Моделювання елементів електроприводів різницевими рівняннями
- •Модель генератора постійного струму
- •Моделювання двигуна постійного струму незалежного збудження
- •Моделювання двигуна постійного струму з регулюванням струму збудження
- •Моделювання двигуна постійного струму послідовного збудження
- •Лабораторна робота № 2 Дослідження динамічних режимів асинхронного двигуна
- •Програма роботи
- •Методичні вказівки
- •Проста модель асинхронного двигуна
- •Статичні моделі асинхронного двигуна, побудовані на основі однофазних заступних схем
- •Динамічні моделі асинхронного двигуна, побудовані на основі однофазних заступних схем
- •Математична та структурна моделі асинхронного двигуна, побудованих за г-подібною заступною схемою
- •Математична та структурна моделі асинхронного двигуна, побудованих за т-подібною заступною схемою
- •Модель асинхронного двигуна у фазних координатах
- •Лабораторна робота № 3 Дослідження динамічних та статичних режимів електроприводу за схемою генератор-двигун з паралельними зворотними зв’язками
- •Програма роботи
- •Методичні вказівки
- •Моделі тиристорних перетворювачів
- •Математичне моделювання тп в усереднених координатах
- •Модель електроприводу з паралельною корекцією
- •Лабораторна робота № 4 Дослідження динамічних та статичних режимів системи електроприводу за схемою тп-д з підпорядкованим регулюванням координат
- •Програма роботи
- •Методичні вказівки
- •Імітаційна модель тиристорного перетворювача
- •Одноразово інтегрувальна спр
- •Дворазово інтегрувальна спр
- •Математична модель пі-регулятора
- •Лабораторна робота № 5 Дослідження системи двозонного регулювання швидкості електроприводу з двигуном постійного струму незалежного збудження
- •Програма роботи
- •Методичні вказівки
- •Література
Реалізація числових методів у математичних пакетах
Позитивною стороною використання математичних пакетів є наявність у них функцій, в яких вже реалізовані числові методи для розв’язування диференціальних рівнянь, що спрощує процес моделювання з використанням таких пакетів. Нижче подано коротку інформацію про такі реалізації (слід пам’ятати, що фірми-виробники математичних пакетів постійно працюють над їх вдосконаленням, тому в нових версіях можливі зміни і доповнення).
MathCAD
rkfixed – функція призначена для розв’язування звичайних диференціальних рівнянь та системи з n диференціальних рівнянь за допомогою формули Рунґе-Кутта четвертого порядку з фіксованим кроком і є базовою в пакеті. Виклик функції:
rkfixed(y, Xmin, Xmax, Npoints, D) , де
y – вектор початкових умов у точці Xmin розміром n ;
Xmin, Xmax – початкова і кінцева точки інтервалу інтегрування;
Npoints – бажана кількість точок розв’язку на інтервалі інтегрування, визначає 1+Npoints рядків результуючої матриці, яку повертає функція rkfixed ; для стійкого розв’язку потрібно подбати, щоби значення кроку інтегрування не перевищувало значення найменшої сталої часу;
D – функція-вектор, що містить перші похідні шуканої функції, складається з n рядків;
rkfixed повертає результуючу матрицю (для прикладу назвемо її S), в якій:
перший стовпець S<0> містить значення аргументу в точках розв’язку;
наступні стовпці містять розв’язки за кожною змінною: наприклад, перший стовпець S<1> містить (1+Npoints)-елементний вектор розв’язку першої змінної, S<2> – вектор розв’язку другої змінної і т.д., відповідно, S<n> містить вектор розв’язку n-ої змінної.
Rkadapt – функція для розв’язування нежорстких систем з розв’язком, який змінюється повільно (є досить універсальною, тому її можна використовувати у багатьох випадках), використовує алгоритм з автоматичним вибором кроку інтегрування на основі формули Рунґе-Кутта четвертого порядку, але результат подається у рівновіддалених точках (як у rkfixed); функція викликається аналогічно.
Bulstoer – реалізація методу Булірш-Штура (Bulirsch-Stoer) для розв’язування гладких функцій, для яких є дещо точнішою, ніж метод Рунґе-Кутта, що реалізований в rkfixed ; викликається так само, як і попередні функції.
Stiffb – функція для розв’язування системи жорстких диференціальних рівнянь, застосовує метод Булірш-Штура.
Stiffr – функція для розв’язування системи жорстких диференціальних рівнянь, застосовує метод Розенброка (Rosenbrock); обидві функції викликаються подібно:
Stiffb(y, Xmin, Xmax, Npoints, D, J)
Stiffr(y, Xmin, Xmax, Npoints, D, J) , де
J – функція, що повертає матрицю розміром n(n+1), в якій перший стовпець містить похідні, а наступні стовпці складають матрицю Якобі системи диференціальних рівнянь.
Використання функцій розв’язування системи диференціальних рівнянь пакету MathCAD показано на прикладі: задано систему диференціальних рівнянь, що описує пуск двигуна постійного струму зі сталим потоком збудження.
Для розв’язування цієї системи використовується поданий нижче документ MathCAD.
MathCAD
N : = 100 кількість точок розв’язку tmin : = 0 tmax : = 1 межі (діапазон) інтегрування y0 : = 0 y1 : = 0 початкові умови Задаємо параметри двигуна: Ta : = 0.05 Стала часу якірного кола Ua : = 50 Напруга на якорі C : = 2.5 Стала двигуна Ra : = 0.1 Опір якірного кола J : = 2 Момент інерції приводу Ic : = 0 Статичний струм
Отримуємо розв’язок і виводимо на графік: S : = rkfixed(y, tmin , tmax , N , DiffEq)
( Для наочності масштаб швидкості збільшено у 10 разів ) |
У випадку наявності версії не нижче MathCAD 11 можливий варіант документа зі зрозумілішою формою запису системи диференціальних рівнянь із застосуванням конструкції Given … Odesolve. У цьому випадку тип числового методу ("розв'язувача") вибирається клацанням правої кнопки мишки на ключовому слові Odesolve.
MathCAD
h : = 0.005 Крок розв’язку tmin : = 0 tmax : = 1 Межі (діапазон) інтегрування Ia0 : = 0 0 : = 0 Початкові умови Задаємо параметри двигуна: Ta : = 0.05 Стала часу якірного кола Ua : = 50 Напруга на якорі C : = 2.5 Стала двигуна Ra : = 0.1 Опір якірного кола J : = 2 Момент інерції приводу Ic : = 0 Статичний струм Задаємо систему диференціальних рівнянь Given
Ia(0) ═ 0 (0) ═ 0
Отримуємо розв’язок і виводимо на графік: t : = tmin , tmin + h .. tmax
( Для наочності масштаб швидкості збільшено у 10 разів ) |
MATLAB + Simulink
У пакеті Simulink середовища MATLAB реалізовано досить широкий вибір числових методів для розв'язування звичайних диференціальних рівнянь:
ode23 – реалізація однокрокової формули Богацкі-Шемпайна (Bogacki-Shampine) порядку 2(3) з автоматичним вибором кроку інтегрування. Дану функцію можна рекомендувати як стандартну для моделювання електроприводів, автори пакету MATLAB рекомендують її як ефективнішу за ode45 для невисокої точності та для слабожорстких систем.
ode45 – реалізація формули Дормана-Прінса порядку 5(4) з автоматичним вибором кроку інтегрування. Рекомендується авторами пакету як універсальний метод, який може застосовуватися у першій спробі під час розв’язування системи диференціальних рівнянь, особливо ефективний для високої точності (10-6 і вище).
ode113 – реалізує метод "прогноз-корекція" за формулами Адамса-Бешфорта-Малтона 1-13 порядків з автоматичним вибором порядку методу і кроку інтегрування і, напевно, є одним з найкращих засобів для розв’язування нежорстких систем диференціальних рівнянь, особливо для моделей з нелінійностями. Рекомендоване значення точності – не нижче 10-4. Дана функція особливо ефективна для складних моделей, що вимагають значного часу обчислень.
ode23s – реалізує модифікований метод Розенброка (Rosenbrock) другого порядку для жорстких систем диференціальних рівнянь. Рекомендується для невисокої точності. Може застосовуватися для ряду жорстких задач, для яких функція ode15s не є ефективною.
ode15s – універсальна функція, що реалізує два методи розв’язування жорстких систем диференціальних рівнянь з автоматичним вибором кроку розв’язування:
на основі формул диференціювання назад (ФДН) порядку 1-5;
на основі родини формул числового диференціювання, запропонованих Клопфенштайном (Klopfenstein) і Райхером (Reiher) порядку 1-5, дещо ефективніших за ФДН.
ode23t – функція базується на методі трапецій і призначена для систем зі середньою жорсткістю і ефективна для невисокої точності розв’язку.
ode23tb – реалізує метод TR-BDF2, що подібний до методу Рунґе-Кутта, в якому на першому кроці застосовується формула трапецій, а на другому – формула диференціювання назад другого порядку, ефективна для невисокої точності.
Для вибору числового методу в меню вікна моделі послідовно вибираються пункти Simulation Simulation Parameters ( або просто Ctrl + E ). Для більшості моделей, які побудовані з використанням блоків Simulink, найкращим вибором будуть функції ode23 і ode113. У випадку використання блоків з бібліотеки SimPowerSystems може бути доцільним (особливо, за наявності елементів силової напівпровідникової техніки – тиристорів і силових транзисторів) використання спеціальних методів для жорстких нелінійних систем ode23tb і ode15s. Попередній приклад простої моделі двигуна, виконаний в середовищі MathCAD, виглядає наочніше з використанням бібліотеки SimPowerSystems, як показано нижче.
Simulink + SimPowerSystems
|

задаємо
функцію-вектор для обчислення похідних