Этот пример реализует метод ориентированного на поле управления (FOC), чтобы контролировать скорость трехфазного асинхронного двигателя AC (ACIM). Алгоритм FOC требует обратной связи скорости ротора, которая получена в этом примере при помощи квадратурного датчика энкодера. Для получения дополнительной информации о FOC, смотрите Ориентированное на поле управление (FOC).
Этот пример использует квадратурный датчик энкодера, чтобы измерить скорость ротора. Квадратурный датчик энкодера состоит из диска с двумя дорожками или каналами, которые закодированы 90 электрических несовпадающих по фазе градусов. Это создает два импульса (A и B), которые имеют разность фаз 90 градусов и импульса индекса (I). Поэтому диспетчер использует фазовое соотношение между A и B-каналами и переходом состояний канала, чтобы определить направление вращения двигателя.
Пример включает модель mcb_acim_foc_qep_f28379d.
Можно использовать эту модель для симуляции и генерации кода. Можно также использовать open_system команду, чтобы открыть модель Simulink®.
open_system('mcb_acim_foc_qep_f28379d.slx');
Для получения дополнительной информации на настройке поддерживаемого оборудования, смотрите, что Необходимый Раздел оборудования под Генерирует Код и Развертывает Модель в Целевой компьютер.
Симулировать модель:
Motor Control Blockset™
Сгенерировать код и развернуть модель:
Motor Control Blockset™
Embedded Coder®
Embedded Coder® Support Package для процессоров Instruments™ C2000™ Техаса
Fixed-Point Designer™ (необходимый только для генерации оптимизированного кода)
1. Получите параметры двигателя. Мы предоставляем параметрам двигателя по умолчанию модель Simulink®, которую можно заменить на значения или от моторной таблицы данных или от других источников.
2. Если вы получаете параметры двигателя из таблицы данных или других источников, обновляете параметры двигателя и инвертора в скрипте инициализации модели, сопоставленном с моделями Simulink®. Для инструкций смотрите Оценочные Усиления Управления от Параметров двигателя.
3. Скрипт инициализации также вычисляет выведенные параметры. Например, общий фактор утечки, расчетный поток, оцененный крутящий момент, статор и индуктивность ротора асинхронного двигателя.
Этот пример поддерживает симуляцию. Выполните эти шаги, чтобы симулировать модель.
1. Откройте модель, включенную с этим примером.
2. Нажмите работает на вкладке Simulation, чтобы симулировать модель.
3. Нажмите Data Inspector на вкладке Simulation, чтобы просмотреть и анализировать результаты симуляции.
Этот раздел сообщает вам о том, как сгенерировать код и запустить алгоритм FOC на целевом компьютере.
Этот пример использует хост и целевую модель. Модель хоста является пользовательским интерфейсом к плате оборудования контроллеров. Можно запустить модель хоста на хосте - компьютере. Необходимое условие, чтобы использовать модель хоста должно развернуть целевую модель в плату оборудования контроллеров. Модель хоста использует последовательную передачу, чтобы управлять целевой моделью Simulink® и запустить двигатель в управлении с обратной связью.
Необходимое оборудование
Этот пример поддерживает следующую аппаратную конфигурацию. Можно также использовать целевое имя модели, чтобы открыть модель для соответствующей аппаратной конфигурации от командной строки MATLAB®.
Контроллер LAUNCHXL-F28379D + инвертор BOOSTXL-DRV8305: mcb_acim_foc_qep_f28379d
Для связей, связанных с предыдущей аппаратной конфигурацией, см. LAUNCHXL-F28069M и Настройки LAUNCHXL-F28379D.
Сгенерируйте код и запущенную модель на целевом компьютере
1. Симулируйте целевую модель и наблюдайте результаты симуляции.
2. Завершите аппаратные связи.
3. Модель автоматически вычисляет ADC (или ток) значения смещения. Чтобы отключить эту функциональность (включил по умолчанию), обновите значение 0 к переменной inverter.ADCOffsetCalibEnable в скрипте инициализации модели.
В качестве альтернативы можно вычислить значения смещения ADC и обновить их вручную в скриптах инициализации модели. Для инструкций смотрите Запуск 3-фазовые электродвигатели переменного тока в Регулировании без обратной связи и Калибруйте Смещение ADC.
4. Откройте целевую модель. Если вы хотите изменить настройки аппаратной конфигурации по умолчанию в модели, смотрите Параметры конфигурации Модели.
5. Загрузите пример программы к CPU2 LAUNCHXL-F28379D, например, программа, которая управляет синим LED CPU2, при помощи контакта GPIO31 (c28379D_cpu2_blink.slx), чтобы гарантировать, что CPU2 по ошибке не сконфигурирован, чтобы использовать периферийные устройства платы, предназначенные для CPU1.
6. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.
7. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста. Можно также использовать open_system команду, чтобы открыть модель хоста.
open_system('mcb_acim_foc_host_model.slx');
Для получения дополнительной информации о последовательной передаче между хостом и целевыми моделями, смотрите Целевую Хостом Коммуникацию.
8. В маске блока Host Serial Setup модели хоста выберите имя Port.
9. Обновите значение Задающей скорости в модели хоста.
10. В разделе сигналов Отладки выберите сигнал, что вы хотите контролировать.
11. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.
12. Смените положение переключателя Start / Stop Motor к На начать запускать двигатель.
13. Наблюдайте сигналы отладки от подсистемы RX в осциллографе времени SelectedSignals модели хоста.
ПРИМЕЧАНИЕ: Этот пример зависит от положительной обратной связи скорости для положительного вращения векторов пробела. Если двигатель не запускается, попробуйте эти шаги, чтобы решить вопрос:
Попытайтесь обменяться любыми двумя моторными связями фазы.
Измените и используйте Запуск в качестве примера 3-фазовые электродвигатели переменного тока в Регулировании без обратной связи и Калибруйте Смещение ADC с обратной связью скорости и подтвердите положительное направление вращения для положительной задающей скорости.