Этот пример позволяет вам использовать любое пользовательское оборудование блока управления приводом (оборудование, не используемое в примерах Motor Control Blockset™), чтобы запустить трехфазный постоянный магнит синхронный двигатель (PMSM) с помощью ориентированного на поле управления (FOC). Используя рабочие процессы экспорта алгоритма, которые включают генерирующийся код для алгоритма управления при помощи Simulink® и Embedded Coder® и затем интеграции его или с вручную записанным или с внешне сгенерированным кодом драйвера оборудования. Этот пример объясняет рабочие процессы экспорта алгоритма наряду с промежуточными шагами.
Пример использует следующее оборудование в качестве ссылки, но можно использовать любое оборудование блока управления приводом:
Контроллер: STMicroelectronics® STM32F302R8
Инвертор: STMicroelectronics® X-NUCLEO-IHM07M1
Двигатель: BLY171D (включает квадратурный датчик энкодера),
Можно использовать этот пример, чтобы настроить алгоритм управления и интегрировать его с драйверами для оборудования блока управления приводом. В этом примере мы используем STM32 Cube MX
программное обеспечение, чтобы сконфигурировать и сгенерировать код для драйверов оборудования. Этот пример поддерживает любой трехфазный PMSM.
Для реализации алгоритма FOC нужна обратная связь положения ротора в реальном времени. Этот пример использует квадратурный датчик энкодера, чтобы измерить положение ротора. Для получения дополнительной информации о FOC, смотрите Ориентированное на поле управление (FOC).
Пример включает три рабочих процесса.
1. Регулирование без обратной связи и ADC возмещают калибровку — Этот рабочий процесс использует алгоритм, который запускает PMSM, использующий регулирование без обратной связи (также известный как скалярное управление или управление Вольтами/Гц). Можно использовать этот рабочий процесс, чтобы проверять целостность аппаратных связей и вычислить смещения ADC для датчиков тока, доступных на оборудовании.
2. Квадратурный энкодер возместил калибровку — Этот рабочий процесс использует алгоритм, который вычисляет перемещение между d
- ось ротора и положения импульса индекса, как обнаружено квадратурным датчиком энкодера. Алгоритму управления (доступный в ориентированном на поле рабочем процессе управления) нужно это смещение, чтобы точно вычислить положение ротора, которое необходимо, чтобы реализовать FOC.
3. Ориентированное на поле управление — Этот рабочий процесс использует алгоритм, который запускает PMSM использование ориентированного на поле управления (FOC) с обратной связью. Рабочий процесс использует ADC и квадратурные смещения датчика как входные параметры.
Каждый рабочий процесс включает эти шаги, чтобы подготовить, развернуть, и запустить алгоритм на вашем оборудовании:
1. Сгенерируйте код для алгоритма управления с помощью Embedded Coder®
2. Получите код С для драйверов оборудования
3. Интегрируйте код алгоритма управления с кодом драйвера
4. Разверните интегрированный код в оборудование
5. Управляйте двигателем с помощью хоста модель Simulink®.
Используйте один из этих методов, чтобы открыть проект MATLAB:
Нажмите Open Example.
Запустите команду mcb_FOCAlgorithmExportDemoStart
в командной строке.
Проект содержит три папки, один для каждого рабочего процесса, требуемого запускать итоговый алгоритм FOC. Каждая папка содержит это содержимое:
Скрипт данных, содержащий двигатель, инвертор и детали целевого компьютера.
Модель Algorithm для генерации кода для алгоритма управления. Сгенерированный код будет доступен в папке [project_root]/work/code
.
Модель хоста для связи с целевым компьютером.
Код С, который показывает, как интегрировать сгенерированный код алгоритма и код драйвера оборудования (характерный для STM32F302R8 & X-NUCLEO-IHM07M1).
В дополнение к этим трем папкам проект также включает .IOC
файл. Можно использовать этот файл с MX Куба STM32, чтобы сконфигурировать периферийные устройства цели и сгенерировать код. .IOC
файл, доступный в проекте, характерен для оборудования X-NUCLEO-IHM07M1 и STM32F302R8.
Следуйте за этими рабочими процессами в последовательности.
1. Регулирование без обратной связи и калибровка смещения ADC