Модельное Проектирование К Услугам Специалиста По Электроприводу. Часть 2. Эксперименты

В предыдущем статья Я рассказал, как создается векторная модель управления СДСМ, и определил параметры двигателя на основе экспериментальных данных.

В этой статье мы заставим двигатель вращаться так, как нам нужно, т.е.

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



Настройка регуляторов

Во многих материалах, например [1, 2], описывается классическая настройка регуляторов в векторной структуре управления на оптимум: токовый контур настраивается на технический (модальный) оптимум, а скоростной контур на симметричный.

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

После энной попытки решил воспользоваться готовым функция , который включен в пакет Motor Control Blockset. Он тоже настраивается на оптимум, но более точно, поскольку учитывает частоты дискретизации, на которых работают схемы, а также частоту ШИМ.

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

Правда, аргументами этой функции являются структуры данных со строго определенными полями, поэтому мне пришлось переписать в эти поля параметры моего двигателя и инвертора.

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



Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

1. Переходные процессы скорости для разных настроек контроллера Коэффициент затухания токовой петли составляет 0,707. При этом значении коэффициент оптимизации схемы для технического оптимума равен 2. Я варьировал коэффициент оптимизации контура скорости (1,5 и 2): чем он выше, тем быстрее падает производительность, но уменьшается и перерегулирование.

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



Ээксперименты

Переход от традиционной модели алгоритма к модели, предназначенной для генерации на его основе кода, был сопряжен с двумя трудностями:
  1. Необходимо было понять, как программа будет «общаться» с периферийными узлами микроконтроллера.

  2. Необходимо было решить задачу точного определения положения ротора, поскольку имеется только инкрементный (т.е.

    относительный) энкодер.



Периферийные блоки

Первая проблема решается добавлением в модель специальных блоков пакета поддержки.

Поскольку я использовал микроконтроллер серии C2000 от Texas Instruments, я скачал пакет специально для него прямо из MATLAB.

Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

2. Страница пакета поддержки микроконтроллеров серии C2000 в инструменте Add-On Explorer. Мне нужны были следующие блоки: Блок приема сигналов от энкодера .

Он сам обрабатывает сигналы А, В и Z и на выходе выдает положение контролируемого объекта.

Он также может автоматически рассчитывать скорость вращения.

Но мне эта функция не пригодилась, так как я установил блок расчета скорости из библиотеки Motor Control Blockset. Я установил рабочую частоту блока (время выборки) на 20 кГц и ширину счетчика (Position Counter) на 16 бит.

Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

3. Периферийный блок обработки сигналов с энкодера и окно его параметров.

Блок настройки и получения информации от АЦП .

В этом блоке я настроил два канала АЦП (Input Channels), так как нам нужна информация о токах двух фаз А и В, по какому внешнему прерыванию будет считываться датчик тока (источник триггера SOCx) - по прерыванию от блока ШИМ - и рабочая частота АЦП (время выборки).



Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

4. Периферийный блок приема сигналов от АЦП и окно его параметров.

ШИМ-блоки .

В микроконтроллере реализовано несколько двухканальных блоков ШИМ.

Для управления инвертором мне понадобилось использовать 3 канала (для управления 6 ключами).

Здесь огромное количество настроек, рассказ о которых занял бы целую статью.

Я только что настроил тип ШИМ (режим счета) — по центру (Вверх-вниз) для реализации SVPWM, установил частоту (период таймера) на 40 кГц и включил прерывание для АЦП.



Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

5. Блок настройки периферийного ШИМ-модуля и окно его параметров.

Блоки передачи данных через UART .

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

Мастер — это особая хост-модель, о которой я расскажу позже.

В блоке приема данных (SCI Receive) настраиваются модуль UART, тип поступающих на него данных, разрядность, частота работы модуля и очередь FIFO на прием.

Вы также можете добавить идентификаторы в начало и конец посылки.

В блоке передачи (SCI Transmit) можно выбрать только модуль, добавить идентификаторы и настроить очередь FIFO для передачи.



Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

6. Периферийный блок приема данных (UART) и окно его параметров.



Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

7. Блок передачи данных периферии по UART и окно его параметров.



Пуск с разомкнутым контуром

Решение второй проблемы потребовало добавления еще одного режима работы – разомкнутого управления.

Этот режим позволяет разогнать двигатель до тех пор, пока блок обработки сигнала от энкодера не поймает сигнал полного оборота.

Теперь мы знаем нулевое положение ротора и можем перейти к векторному управлению.

Алгоритм управления с разомкнутым контуром я видел в пример Набор блоков управления двигателем:

Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

8. Модель управления двигателем с разомкнутым контуром.

Поскольку был добавлен еще один режим, нам также пришлось включить в модель планировщик задач, построенный с использованием диаграммы Stateflow:

Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

9. Планировщик задач для управления режимами работы.

Он содержит четыре основных состояния: STANDBY - двигатель не вращается, OPENLOOP - двигатель вращается в разомкнутом контуре, CLOSEDLOOP - двигатель вращается в замкнутом контуре, CALIBRATION - калибровка энкодера.

Прежде чем мы сможем управлять нашим двигателем в замкнутом контуре, нам нужно пройти через состояние OPENLOOP. Когда мы поймали сигнал полного оборота, сигнал ChangeFlap принимает значение логической единицы и возможен переход в состояние CLOSEDLOOP. Чтобы просто откалибровать датчик положения, вы можете перейти в состояние КАЛИБРОВКА.

Итоговая модель алгоритма управления выглядит так:

Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

10. Модель системы управления электродвигателем, предназначенная для генерации кода.

Он состоит из следующих подсистем:

  • АппаратныйИнит. Он содержит алгоритм калибровки АЦП во время инициализации программы.

  • Светодиод сердцебиения.

    Вспомогательная функция, сигнализирующая нам о том, что на микроконтроллере работает программа.

    Для этого используется мигающий диод.

  • Серийный прием.

    В нем находится блок приема SCI, который обрабатывает данные, полученные от UART.



Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

11. Подсистема последовательного приема

  • Обработка сигналов датчиков.

    Он объединяет две подсистемы: «Вычисление фазных токов» и «Вычисление положения и скорости», которые описаны в предыдущем разделе.

    статья .

  • Система контроля.

    Он содержит алгоритмы управления двигателем с разомкнутым и замкнутым контуром, а также планировщик задач.

  • Инверторный драйвер.

    Он включает в себя модули конфигурации ШИМ.



Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

12. Подсистема драйвера инвертора.

  • Последовательная передача.

    В нем находится блок SCI Transmit и обрабатываются данные, передаваемые через UART.

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

Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

13. Хост-модель С его помощью я генерирую пакет данных, в котором кодирую необходимый режим управления, скорость и количество сигналов, которые хочу передать в компьютер (скорость, положение, токи и т. д.).

Модель содержит несколько специальных блоков: Host Serial Setup, Host Serial Receive и Host Serial Transmit (находится в подсистеме Serial Send).

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

Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

14. Окно параметров блока Host Serial Setup. В блоке Host Serial Receive я указываю тип данных, передаваемых через порт, размер, идентификационные байты и рабочую частоту модуля приемника и другие параметры.



Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

15. Окно параметров блока Host Serial Receive. В последнем блоке указывается номер порта, а также можно добавить идентификационные байты.



Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

16. Окно параметров блока Host Serial Transmit.

Результаты

Проведя эксперимент и сравнив полученные данные с результатами моделирования, я получил практически точное совпадение переходных процессов по скорости (разница менее 2%).



Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

17. Сравнение переходных процессов по скорости.

Разница между диаграммами тока фазы А в эксперименте и при моделировании больше: около 7% в установившемся процессе.



Модельное проектирование к услугам специалиста по электроприводу.
</p><p>
 Часть 2. Эксперименты

Рис.

18. Сравнение диаграмм тока фазы А.



Заключение

Я надеюсь, что в этой и предыдущих статьях мне удалось продемонстрировать, что МОП является достаточно мощным инструментом при проектировании системы управления трехфазным двигателем.

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

Я увидел, что результаты, полученные при моделировании, практически совпадают с экспериментальными данными.



Ссылки

  1. Оптимизация контуров управления системами электропривода по симметричному оптимуму.

    Н.

    В.

    Кояин, О.

    П.

    Мальцева, Л.

    С.

    Удут

  2. Оптимизация контуров управления системами электропривода стандартными методами.

    Н.

    В.

    Кояин, О.

    П.

    Мальцева, Л.

    С.

    Удут

Теги: #Алгоритмы #Инженерные системы #Энергия и аккумуляторы #matlab #simulink #simulink #электродвигатель
Вместе с данным постом часто просматривают: