Математическое моделирование двигателя постоянного тока в системе относительных единиц в Matlab и Си | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 26 октября, печатный экземпляр отправим 30 октября.

Опубликовать статью в журнале

Библиографическое описание:

Математическое моделирование двигателя постоянного тока в системе относительных единиц в Matlab и Си / А. А. Емельянов, В. В. Бесклеткин, И. М. Агзамов [и др.]. — Текст : непосредственный // Молодой ученый. — 2019. — № 11 (249). — С. 1-7. — URL: https://moluch.ru/archive/249/57298/ (дата обращения: 17.10.2024).



В данной работе показаны различные способы моделирования двигателя постоянного тока независимого возбуждения (ДПТ НВ) различными способами: Matlab-Simulink, Matlab-Script и Си. В каждом из этих способов есть свои плюсы и минусы. Одинаковыми, как будет показано ниже, будут характеристики, соответствующие одним и тем же параметрам двигателя в системе относительных единиц.

Математическая модель двигателя состоит из электрической и механической частей, описываемых системой уравнений [1]:

(1)

Первое уравнение системы (1) - баланс напряжений в электрической части двигателя. Второе - уравнение движения для механической части. Третье и четвертое - уравнения связи электрической и механической частей двигателя.

ua - напряжение источника питания, подаваемое на электрическую часть якоря двигателя (1 – подано номинальное напряжение, 0 – отключено);

ea - ЭДС, наводимая в обмотке якоря при пересечении проводников потока φ, создаваемого неподвижными полюсами;

ia - электрический ток в якорной цепи;

ra - полное электрическое сопротивление якорной цепи, включая сопротивление дополнительных полюсов и щеток;

- постоянная времени якорной цепи;

m, mс - электромагнитный и статический моменты;

ω - скорость вращения якоря;

φ - поток полюсов;

Tj - инерционная постоянная времени двигателя.

Параметры двигателя:

1. Модель ДПТ НВ в Matlab-Simulink.

В системе уравнений (1) произведем замену операторов операторами s . В этом случае перейдем к алгебраическим уравнениям:

(2)

Из первого уравнения слагаемые с токами ia перенесем в левую часть, а ЭДС ea и напряжение ua - в правую:

Далее вынесем за скобки и определим ток :

Этому равенству соответствует структурная схема, приведенная на рис. 1.

Рис. 1. Структурная схема для определения тока ia

Аналогично, из второго уравнения выразим скорость ω:

Структурная схема для определения ω приведена на рис. 2.

Рис. 2. Структурная схема для определения скорости ω

Математическая модель ДПТ НВ в Matlab-Simulink представлена на рис. 3.

C:\Program Files\MATLAB\R2015b\bin\myfig.meta

Рис. 3. Математическая модель ДПТ НВ в Matlab-Simulink

Результаты моделирования даны на рис. 4.

Рис. 4. Графики скорости ω и тока ia в Matlab-Simulink

Matlab-Simulink:

Достоинства:

− наглядность, высокая скорость и простота сборки структурной схемы из готовых блоков библиотеки с многочисленными элементами;

− простота подключений различных видов осциллографов к любой точке и вывод на экран множества переменных от времени.

Недостатки:

− сложно проследить за преобразованиями, производимыми внутри передаточной функции с оператором s;

− при увеличении числа элементов структурной схемы возможны сбои, вызванные либо делением на нуль, либо таким явлением как «алгебраические контуры».

2. Моделирование ДПТ НВ в Matlab-Script.

Из системы уравнений (1) выразим производные через конечные разности:

Тогда ток в якоре в момент времени определится:

Аналогично, для скорости ω:

Тогда математическая модель ДПТ НВ в Matlab-Script будет иметь вид (листинг 1):

Листинг 1

ra=0.107;Ta=0.034;phi=1;Tj=0.72;

ia(1)=0;w(1)=0;ea(1)=0;

dt=0.001;t=0;t1=5;

cnt=t1/dt;

for i=1:cnt

if(t>=1)

uy=1;

else

uy=0;

end;

if(t>=3)

mc=0.5;

else

mc=0;

end;

ia(i+1)=ia(i)+(uy-ea(i)-ia(i)*ra)*dt/(Ta*ra);

m(i+1)=phi*ia(i+1);

w(i+1)=w(i)+(m(i+1)-mc)*dt/Tj;

ea(i+1)=phi*w(i+1);

t=t+dt;

mass_t(i)=i*dt;

mass_w(i)=w(i+1);

mass_ia(i)=ia(i+1);

end;

figure(1);

plot(mass_t,mass_w,'b');

grid on;

figure(2);

plot(mass_t,mass_ia,'r');

grid on;

Результаты моделирования ДПТ НВ в Matlab-Script приведены на рис. 5.

Рис. 5. Графики скорости ω и тока ia в Matlab-Script

Matlab-Script:

Достоинство:

− дифференцирование заменяется численными методами с конечными разностями и появляется возможность самому произвести простейшие операции на каждом шаге и определить переменные к концу времени задаваемого шага dt – шага интегрирования. Появляется возможность проверки компьютерного расчета ручным на небольшом интервале времени, соответствующем нескольким шагам dt.

Недостатки:

− нет той наглядности, которая присутствует при сборке структурной схемы в Matlab-Simulink;

− требуется много времени для прописывания программы по выводу на появляющийся экран характера изменения во времени нескольких переменных и тем более во многих точках системы.

3. Моделирование ДПТ НВ на языке программирования Си.

Математическая модель ДПТ НВ на языке программирования Си дана в листинге 2.

Листинг 2

#include

#undef __STRICT_ANSI__

#include

#include "gnuplot_i.h"

#define FILENAME "tmp.txt"

int main(void) {

// параметры двигателя постояного тока

const double ra = 0.107, // сопротивление обмотки якоря, о.е.

Ta = 0.034, // электромагнитная постоянная времени цепи якоря двигателя, с

phi = 1, // номинальный магнитный поток

Tj = 0.72; // инерционная постоянная времени

// переменные математической модели двигателя постоянного тока

double ua = 0, // управляющее воздействие

ea = 0, // эдс двигателя

m = 0, // электромагнитный момент двигателя

mc = 0, // момент статического сопротивления

ia = 0, // ток якоря

w = 0; // скорость вращения

//double func = 0; // переменная под значение функции, которую будем интегрировать

//double y0 = 0, // старое значение

// y1 = 0; // новое значение

double dt = 1e-3; // шаг интегрирования

double t = 0; // текущее значение времени

double t1 = 5; // конечное значение времени расчета

unsigned int cnt = t1/dt; // количество точек

// Создаем временный файл, в который будем записывать текущие значения

FILE *fp = fopen(FILENAME, "w");

// цикл расчета

for (unsigned int i = 0; i < cnt; i++) {

// подача управляющего воздействия

if (t >= 1.0f)

ua = 1.0f;

else

ua = 0.0f;

// подача возмущающего воздействия

mc = (t >= 3.0f)? 1.0f: 0.0f;

// расчет мат модели двигателя пост тока

ia = ia + dt * (ua - ea - ra * ia)/(ra*Ta);

m = ia * phi;

ea = w * phi;

w = w + dt * (m - mc)/Tj;

// записываем точки во временный файл

fprintf(fp,"%f\t%f\t%f\n", t, ia, w);

// увеличиваем переменную время

t = t + dt;

}

// Закрываем текстовый файл с текущими значениями

fclose(fp);

// Рисуем графики

gnuplot_ctrl *h;

h = gnuplot_init();

gnuplot_cmd(h, "set grid xtics ytics"); // вкл сетка

gnuplot_cmd(h, "plot '%s' u 1:2 w li lt rgb 'red' ti 'ia',\

'%s' u 1:3 w li lt rgb 'blue' ti 'w'", FILENAME, FILENAME);

getchar();

gnuplot_close(h);

// Удаляем временный файл с точками

if (!remove(FILENAME))

printf("Deleting file is complete\n");

else

printf("Temp file does not delete\n");

return 0;

}

Результаты моделирования ДПТ НВ на языке программирования Си даны на рис. 6.

Рис. 6. Графики скорости ω и тока ia на языке программирования Си

Язык Си:

Достоинство:

− программу, написанную на языке Си, можно загрузить в микроконтроллер, но для этого необходимо прописать адреса цифрового ввода.

Недостатки:

− с целью увеличения быстродействия необходимо в программе прописать только необходимые файлы из конкретных библиотек;

− вводится сокращенная форма записи, например, инкремент (быстрое увеличение на единицу) i++, означающий i = i+1.

Литература:

  1. Шрейнер Р.Т. Системы подчиненного регулирования электроприводов: учеб. пособие / Р.Т. Шрейнер. - Екатеринбург: Изд-во ГОУ ВПО «Рос. гос. проф.-пед. ун-т», 2008. – 279 с.
  2. Васильев А.Н. Matlab. Самоучитель. Практический подход. – СПб.: Наука и Техника, 2012. – 448 с.
  3. Васильев А.Н. Программирование на C++ в примерах и задачах. – М.: Издательство «Э», 2017. – 368 с.
Основные термины (генерируются автоматически): FILENAME, структурная схема, математическая модель, ток, временный файл, график скорости, механическая часть, параметр двигателя, результат моделирования, якорная цепь.


Похожие статьи

Моделирование САР скорости асинхронного двигателя с переменными is – ψr в системе относительных единиц в Matlab и Си

Моделирование асинхронного двигателя с переменными is – ψm в системе относительных единиц в Matlab и Си

Моделирование асинхронного двигателя с переменными is — ψr в системе относительных единиц в Matlab и Си

Математическая модель асинхронного двигателя с переменными в произвольной системе координат на основе интегрирующих звеньев в системе Script-Simulink

Моделирование САР скорости асинхронного двигателя с переменными is – ψr в Matlab-Script в системе относительных единиц

Моделирование САР скорости асинхронного двигателя с переменными ψm – is в Matlab-Script в системе относительных единиц

Моделирование САР скорости асинхронного двигателя с переменными ΨR - IS в системе абсолютных единиц в Matlab-Script

Моделирование асинхронного двигателя с переменными is – ψr в Matlab-Script в системе относительных единиц

Моделирование контура тока системы «ТП – Д» в Matlab-Simulink и Си

Моделирование асинхронного двигателя с переменными ψm – is в Matlab-Script в системе относительных единиц

Похожие статьи

Моделирование САР скорости асинхронного двигателя с переменными is – ψr в системе относительных единиц в Matlab и Си

Моделирование асинхронного двигателя с переменными is – ψm в системе относительных единиц в Matlab и Си

Моделирование асинхронного двигателя с переменными is — ψr в системе относительных единиц в Matlab и Си

Математическая модель асинхронного двигателя с переменными в произвольной системе координат на основе интегрирующих звеньев в системе Script-Simulink

Моделирование САР скорости асинхронного двигателя с переменными is – ψr в Matlab-Script в системе относительных единиц

Моделирование САР скорости асинхронного двигателя с переменными ψm – is в Matlab-Script в системе относительных единиц

Моделирование САР скорости асинхронного двигателя с переменными ΨR - IS в системе абсолютных единиц в Matlab-Script

Моделирование асинхронного двигателя с переменными is – ψr в Matlab-Script в системе относительных единиц

Моделирование контура тока системы «ТП – Д» в Matlab-Simulink и Си

Моделирование асинхронного двигателя с переменными ψm – is в Matlab-Script в системе относительных единиц

Задать вопрос