Этот пример использует режим проводимости с 120 степенями, чтобы реализовать коммутационный метод с шестью шагами, чтобы контролировать скорость и направление вращения трехфазного бесщеточного DC (BLDC) двигатель. Пример использует переключающуюся последовательность, сгенерированную блоком Six Step Commutation, чтобы управлять трехфазными напряжениями статора, и поэтому, контролировать скорость ротора и направление. Для получения дополнительной информации об этом блоке, см. Шесть Коммутаций Шага.
Коммутационный алгоритм с шестью шагами требует последовательности Холла или значения обратной связи положения ротора (который получен или из квадратурного энкодера или из датчика Холла).
Квадратурный датчик энкодера состоит из диска с двумя дорожками или каналами, которые закодированы 90 электрических несовпадающих по фазе градусов. Это создает два импульса (A и B), которые имеют разность фаз 90 градусов и импульса индекса (I). Диспетчер использует фазовое соотношение между A и B-каналами и переходом состояний канала, чтобы определить скорость, положение и направление вращения двигателя.
Датчик эффекта Холла варьируется свое выходное напряжение на основе силы прикладного магнитного поля. Согласно стандартной настройке, двигатель BLDC состоит из трех датчиков Холла, расположенных электрически 120 градусов независимо. BLDC со стандартом размещение Холла (куда датчики помещаются электрически 120 градусов независимо) может обеспечить шесть допустимых комбинаций бинарных состояний: например, 001,010,011,100,101, и 110. Датчик обеспечивает угловое положение ротора в градусах во множителях 60, который использование контроллера определить сектор с 60 степенями, где ротор присутствует.
Контроллер управляет двигателем при помощи последовательности Холла или положения ротора. Это подает питание на следующие две фазы обмотки статора, так, чтобы ротор всегда обеспечил угол крутящего момента (угол между d-осью ротора и магнитным полем статора) 90 градусов с отклонением 30 градусов.
Пример включает эти модели:
Можно использовать эти модели и для симуляции и для генерации кода. Чтобы открыть модель Simulink®, можно также использовать open_system команду в командной строке MATLAB. Например, используйте эту команду для F28379D, базирующегося контроллер:
open_system('mcb_bldc_sixstep_f28379d.slx');
Для получения дополнительной информации настройки поддерживаемого оборудования, смотрите Необходимое Оборудование в Сгенерировать Коде и Разверните Модель в раздел Target Hardware.
Симулировать модель:
Motor Control Blockset™
Сгенерировать код и развернуть модель:
Motor Control Blockset™
Embedded Coder®
Embedded Coder® Support Package для процессоров Instruments™ C2000™ Техаса
Fixed-Point Designer™ (только необходимый для генерации оптимизированного кода)
1. Получите параметры двигателя. Мы предоставляем параметрам двигателя по умолчанию модель Simulink, которую можно заменить на значения или от моторной таблицы данных или от других источников.
Однако, если у вас есть оборудование блока управления приводом, можно оценить параметры для двигателя, который вы хотите использовать при помощи инструмента оценки параметра Motor Control Blockset. Для инструкций смотрите Оценку Параметры PMSM Используя Рекомендуемое Оборудование.
Инструмент оценки параметра обновляет motorParam переменную (в рабочей области MATLAB®) с предполагаемыми параметрами двигателя.
2. Если вы получаете параметры двигателя из моторной таблицы данных или из других источников, обновляете параметры двигателя и параметры инвертора в скрипте инициализации модели, сопоставленном с моделями Simulink. Для инструкций смотрите Оценочные Усиления Управления от Параметров двигателя.
Если вы используете инструмент оценки параметра, вы можете обновить параметры инвертора, но не обновляете параметры двигателя в скрипте инициализации модели. Скрипт автоматически извлекает параметры двигателя из обновленной motorParam переменной рабочей области.
Этот пример поддерживает симуляцию. Выполните эти шаги, чтобы симулировать модель.
1. Откройте модель, включенную с этим примером.
2. Выберите QEP или переключатель Hall Speed_Feedback в модели.
3. Нажмите работает на вкладке Simulation, чтобы симулировать модель.
4. Нажмите Data Inspector на вкладке Simulation, чтобы просмотреть и анализировать результаты симуляции.
Этот раздел показывает вам, как сгенерировать код и запустить алгоритм FOC на целевом компьютере.
Этот пример использует хост и целевую модель. Модель хоста является пользовательским интерфейсом к плате оборудования контроллеров. Можно запустить модель хоста на хосте - компьютере. Необходимое условие, чтобы использовать модель хоста должно развернуть целевую модель в плату оборудования контроллеров. Модель хоста использует последовательную передачу, чтобы управлять целевой моделью Simulink и запустить двигатель в управлении с обратной связью.
Необходимое оборудование
Пример поддерживает эти аппаратные конфигурации. Можно также использовать целевое имя модели, чтобы открыть модель для соответствующей аппаратной конфигурации от командной строки MATLAB®.
Контроллер LAUNCHXL-F28069M + инвертор BOOSTXL-DRV8305: mcb_bldc_sixstep_f28069mLaunchPad
Контроллер LAUNCHXL-F28379D + инвертор BOOSTXL-DRV8305: mcb_bldc_sixstep_f28379d
Для связей, связанных с этими аппаратными конфигурациями, см. LAUNCHXL-F28069M и Настройки LAUNCHXL-F28379D.
Сгенерируйте код и запущенную модель на целевом компьютере
1. Симулируйте целевую модель и наблюдайте результаты симуляции.
2. Завершите аппаратные связи.
3. Модель вычисляет ADC (или ток) значения смещения по умолчанию. Чтобы отключить эту функциональность, обновите значение 0 к переменной inverter.ADCOffsetCalibEnable в скрипте инициализации модели.
В качестве альтернативы можно вычислить значения смещения ADC и обновить их вручную в скрипте инициализации модели. Для инструкций смотрите Запуск 3-фазовые электродвигатели переменного тока в Регулировании без обратной связи и Калибруйте Смещение ADC.
4. Если вы используете квадратурный энкодер, вычисляете квадратурное значение смещения индекса энкодера и обновляете его в скрипте инициализации модели, сопоставленном с целевой моделью. Для инструкций смотрите Квадратурную Калибровку Смещения Энкодера для Двигателя PMSM.
5. Если вы используете датчик Холла, вычисляете значение последовательности Холла и обновляете его в bldc.hallsequence переменной в скрипте инициализации модели, сопоставленном с целевой моделью. Для инструкций смотрите Калибровку Последовательности Датчика Холла Двигателя BLDC.
6. Откройте целевую модель. Если вы хотите изменить настройки аппаратной конфигурации по умолчанию для модели, смотрите Параметры конфигурации Модели.
7. Выберите QEP или переключатель Hall Speed_Feedback в целевой модели.
8. Загрузите пример программы к CPU2 LAUNCHXL-F28379D. Например, можно использовать программу, которая управляет синим CPU2 Во главе с использованием GPIO31 (c28379D_cpu2_blink.slx), и гарантируйте, что CPU2 по ошибке не сконфигурирован, чтобы использовать периферийные устройства платы, предназначенные для CPU1.
9. Click Build, Deploy & Start на вкладке Hardware, чтобы развернуть целевую модель в оборудование.
10. Кликните по гиперссылке модели хоста в целевой модели, чтобы открыть связанную модель хоста. Можно также использовать open_system команду, чтобы открыть модель хоста. Используйте эту команду для F28379D, базирующегося контроллер.
open_system('mcb_bldc_host_model_f28379d.slx');
Поскольку на последовательной передаче между хостом и целевыми моделями, смотрите Целевую Хостом Коммуникацию.
11. В маске блока Host Serial Setup в модели хоста выберите имя Port.
12. Обновите значение задающей скорости в поле Reference Speed (RPM) в модели хоста.
13. В модели хоста выберите сигналы отладки, что вы хотите контролировать.
14. Нажмите работает на вкладке Simulation, чтобы запустить модель хоста.
15. Смените положение переключателя Start / Stop Motor к На, чтобы начать запускать двигатель.
16. Наблюдайте сигналы отладки от подсистемы RX в блоках Осциллографа и Отображения в модели хоста.