УДК 621.313

РЕАЛИЗАЦИЯ ВЕКТОРНОГО УПРАВЛЕНИЯ АСИНХРОННЫМ ЭЛЕКТРОДВИГАТЕЛЕМ НА МИКРОКОНТРОЛЛЕРЕ STM32F4

Борисевич Алексей Валерьевич1, Омельченко Никита Владимирович2
1Санкт-Петербургский государственный политехнический университет, доцент кафедры «Автоматы», кандидат технических наук
2ООО Протосенсор, инженер

Аннотация
В данной работе рассматривается векторное управление с ориентацией по полю (field oriented control, FOC). Показано, что алгоритм векторного управления может быть реализован с помощью прямой трансляции модели Simulink в исходный код на языке Си, с последующим его компиляцией и исполнением на отладочной плате STM32F4Discovery.

Ключевые слова: асинхронный электродвигатель, векторное управление, микроконтроллер


IMPLEMENTATION OF A FIELD ORIENTED CONTROL OF INDUCTION MOTOR USING STM32F4

Borisevich Aleksey Valerievich1, Omelchenko Nikita Vladimirovich2
1St. Petersburg State Polytechnical University, Ph.D, Associate Professor
2Protosensor ltd., Engineer

Abstract
In this paper the implementation of field-oriented control (FOC) for three-phase induction motor is considered. It is shown that the algorithm FOC control can be implemented with a straightforward automatic translation from Simulink model to C source code, with subsequent compilation and execution at STM32F4Discovery as target board.

Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Борисевич А.В., Омельченко Н.В. Реализация векторного управления асинхронным электродвигателем на микроконтроллере STM32F4 // Современные научные исследования и инновации. 2014. № 4. Ч. 1 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2014/04/33144 (дата обращения: 02.06.2017).

1. Введение

Векторное управление асинхронными двигателями — в настоящий момент доминирующая технология в области промышленного и транспортного электропривода переменного тока. Преимуществами векторного управления являются: обеспечение динамических характеристик, сравнимых с серводвигателями постоянного тока; увеличение КПД электропривода; возможность работы на малых скоростях в безредукторном приводе.

Структура статьи следующая: сначала кратко описывается алгоритм векторного управления по полю, потом описывается реализованная модель, далее описываются аппаратные средства и приводится результат реального испытания алгоритма.

1.1 Модель двигателя

На системном уровне описания, двигатель представляет собой элемент с тремя входами напряжения , входом момента нагрузки и выходами фазных токов , а также выходом скорости (которую мы далее будем считать электрической, т.е. отличающейся от реальной механической в p раз).

Известно, что электрические величины трехфазной цепи (например, фазные токи) могут быть представлены во вращающейся со скоростью системе координат d и q как два ортогональных компонента :

(1)

где — угловое положение вращающейся системы координат.

Преобразование вида (1) может быть аналогично применено и для фазных напряжений . Выражение (1) называется инвариантным по амплитуде преобразованием Парка [1] или dq0-преобразованием. Важно отметить, что при соответствующем выборе (при вращении системы координат синхронно с вращением вектора тока), величины становятся постоянными и при этом — амплитуда переменного тока.

Рассмотрим инверсную Г-модель двигателя с ориентацией потокосцепления ротора вдоль оси d синхронно вращающейся системы координат [2]. В пространстве состояний модель реализуется системой дифференциальных уравнений четвертого порядка:

(2)


где — токи статора во вращающейся системе dq-координат, — напряжения статора в системе dq-координат, — скорость вращения вала двигателя, — электромагнитный момент, развиваемый двигателем.

Параметры модели двигателя в (2) обозначены: — приведенное сопротивление ротора, — сопротивление статора, — приведенная индуктивность статора, — приведенная индуктивность намагничивания, — число пар полюсов, — момент инерции ротора и нагрузки.

Система dq-координат вращается с синхронной скоростью вращения двигателя:

(3)

1.2 Векторное управление с ориентацией по полю

Метод векторного управления с ориентацией системы координат полю ротора (field-oriented control, FOC) можно резюмировать следующим образом.

Измеряемыми величинами являются фазные токи статора и скорость вращения вала . Измеренные значения токов преобразуются с помощью (1) в постоянные . Для такого преобразования необходимо знать синхронную скорость , которая зависит от измеренной скорости и скольжения. Таким образом, реализация векторного управления содержит в себе блок вычисления по соотношению (3) и первому уравнению в (2). Важно заметить, что вычисление использует значение потокосцепления , которое оценивается на основе модели двигателя (2). Отсюда, важным является знание параметров двигателя .

Векторное управление для стабилизации скорости вращения двигателя состоит их трех ПИ-регуляторов, два из которых предназначены для поддержания токов статора. Обозначим — уставки соответствующих токов статора. Из второго и третьего уравнения в (2) видно, что в первом приближении динамика токов статора относительно напряжений может быть представлена как система первого порядка с возмущениями, вызванными противо-ЭДС и взаимозависимостью токов.

Динамика ПИ-регуляторов может быть записана обычным образом

(4)

При соответствующем выборе коэффициентов ПИ-регуляторов возможна достаточно точная регулировка токов и достижение . В таком случае, можно записать сокращенную модель двигателя

Заметим, что — это уставка тока намагничивания, которая определяется пользователем, обычно в процентах от номинального тока. Значение устанавливается ПИ-регулятором, обеспечивающим стабилизацию скорости :

(5)

Выходы ПИ-регуляторов (4) — это напряжения статора, которые подаются непосредственно на двигатель после обратного преобразования координат:

(6)

2. Модель в Simulink

Алгоритм векторного управления реализован в виде модели Simulink, показанной на рисунке 1.


Рисунок 1. Модель векторного управления в Simulink.

Для упрощения отладки в модель включена возможность управления в скалярном (U/f) режиме, который является частным случаем векторного, в котором , — определяет амплитуду выходного напряжения, а — уставка выходной частоты, .

Входы модели:

theta — угловое положение ротора (электрический угол);
enable — если enable=1, то активизируется векторное управление, если enable=0 — то скалярное;
I_a, I_b — токи фаз A и B с датчиков (в А);
scalar_freq — задание частоты для скалярного режима (в Гц);
omega_ref — задание частоты для векторного режима (в рад/сек);
i_sd_ref — задание тока намагничивания для векторного режима (в А);
scalar_ampl — амплитуда выходного напряжения для скалярного режима (нормированное значение, от 0 до 1).

Выходы модели:

u_abc — выходы напряжения фаз A,B,C (нормированное значение от -1 до 1);
i_s_dq — ток статора во вращающейся синхронной системе координат (в А);
slip — скорость скольжения;
debug — выход для отладочных сигналов.

Модель состоит из нескольких укрупненных подсистем:

Scalar generator — генерация для скалярного режима;
FOC — реализация регуляторов векторного алгоритма (4) и (5), а также инверсное преобразование (6) для генерации трехфазного напряжения;
Current sensors — преобразование измеренных значений тока к вращающейся системе координат, согласно (1);
Slip calculation — вычисление скорости скольжения согласно (3) и первому уравнению в (2).

Центральной частью реализации является подсистема FOC, показанная на рисунке 2. В данном блоке векторное управление реализуется в точности так, как это было описано в предыдущем разделе.


Рисунок 2. Подсистема FOC, реализующая (4), (5) и (6).

С целью оптимизации, вычисление тригонометрических функций и сосредоточено в одном месте модели.

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

3. Аппаратная реализация

В качестве аппаратной платформы выбрана плата STM32F4DISCOVERY, процессор STM32F407 которой позволяет реализовывать сложные численные алгоритмы и содержит всю необходимую периферию. Фрагменты кода для генерации ШИМ и считывания инкрементального энкодера взяты из библиотеки STM32 FOC firwmare libraries v2.0 [3].

Для силового модуля был использован частотный преобразователь китайского производства. Он состоит из платы управления и платы ключей, соединяемых проводом-шлейфом. Плата STM32F4DISCOVERY была подключена вместо штатной платы управления.

В качестве датчиков тока использовались LEM HX03-P, сигнал с которых нормировался к интервалу 0 — 3 В с помощью операционного усилителя. Компенсация дрейфа нуля датчиков в микроконтроллере реализована с помощью скользящего среднего с интервалом 1 с для динамической калибровки нуля.

Задание скорости осуществляется с помощью переменного резистора, подключенного к микроконтроллеру. Для отображения числовой информации к микроконтроллеру также был подключен ЖКИ индикатор 20×4 типа AV2040.

Схема задействованных выводов микроконтроллера и их подключение представлена на рисунке 3.


Рисунок 3. Подключение микроконтроллера.

Модель Simuink алгоритма векторного управления была транслирована в код на языке Си с помощью встроенного в MATALB средства Embedded Coder [4]. В качестве стратегии интегрирования выбрана одношаговая схема (ode1). Вся арифметика алгоритма реализована с плавающей точкой одинарной точности (float), которую аппаратно поддерживает микроконтроллер STM32F4. Ядро процессора работает на частоте 168 МГц. Время расчета одного цикла алгоритма — 150 мкс. Частота дискретизации алгоритма была выбрана в 500 мкс.

В качестве компилятора исходного кода использовался KEIL uVision 4.70. Откомпилированная программа занимает 25 кБайт памяти.

Для отладки внутренние сигналы алгоритма управления выводились на два встроенных в микроконтроллер ЦАП.


Рисунок 4. Общий вид макета векторного управления электродвигателем.

Для испытаний был выбран двигатель DRS71S4 производства SEW Eurodrive, для которого известны параметры Ом, мкГн. Для тестирования механической нагрузки, шкив двигателя был соединен с управляемым серводвигателем, создающим постоянный тормозящий момент 2 Нм. Отработка профиля скорости показана на рисунке 5.


Рисунок 5. Уставка и действительное значение скорости .

Заключение

В результате испытаний было установлено, что алгоритм векторного управления может быть реализован с помощью автоматической генерации кода из модели в Simulink. Возможностей и быстродействия микроконтроллера STM32F4 достаточно для выполнения алгоритма векторного управления с вычислениями с плавающей точкой. Наличие встроенного в микроконтроллер АЦП, а также интерфейса с энкодером позволяет создать компактное и дешевое устройство для промышленной реализации частотного преобразователя, а также в исследовательских целях для разработки новых алгоритмов управления.

В заключение, стоит сказать, что все представленные модели, а также проект для компилятора Keil можно скачать в архиве по ссылкам
https://sites.google.com/site/akpc806a/VFD_Models_post.rar
https://sites.google.com/site/akpc806a/Project_STM32F4_FOC_Post.rar


Библиографический список
  1. Калачев Ю.Н. Векторное регулирование (заметки практика). Методическое пособие. — М.: ЭФО, 2013. — 63 с.
  2. Riccardo Marino, Patrizio Tomei, Cristiano M. Verrelli, Induction Motor Control Design (Advances in Industrial Control), — Springer, 2010. — 350 pp.
  3. UM0483, STM32F103xx AC induction motor IFOC software library V2.0. [Электронный ресурс] — Режим доступа. — URL: http://www.stmcu.org/download/index.php?act=down&id=3275 (дата обращения 16.10.2013).
  4. Материалы семинара «Генерация кода из моделей Simulink и последующая проверка в реальных условиях», 14 октября 2010 [Электронный ресурс] — Режим доступа. — URL: http://www.compel.ru/wordpress/wp-content/uploads/2011/12/Генерация-кода-из-моделей-Simulink.pdf (дата обращения 16.10.2013)


Все статьи автора «Борисевич Алексей Валерьевич»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: