Калибровка последовательности датчиков Холла двигателя BLDC

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

Датчик эффекта Холла изменяет свое выходное напряжение на основе силы приложенного магнитного поля. Согласно стандартного строения DC (BLDC) состоит из трех датчиков Холла, расположенных электрически на 120 степени друг от друга. Двигатель BLDC со стандартным размещением Hall (где датчики расположены электрически на 120 степени друг от друга) может обеспечить шесть допустимых комбинаций двоичных состояний: например, 001,010,011,100,101 и 110. Датчик обеспечивает угловое положение ротора в степенях, кратных 60, которые контроллер использует, чтобы определить сектор 60 градусов, где ротор присутствует.

Целевая модель запускает двигатель на низкой скорости (10 об/мин) в разомкнутом контуре и выполняет управление V/f двигателем. На этой скорости d-ось ротора тесно совпадает с вращающимся магнитным полем статора.

Когда ротор достигает нулевого положения разомкнутого контура, он выравнивается по оси а фазы статора. В этом положении (соответствующем состоянию Холла) шестиступенчатый алгоритм коммутации возбуждает следующие две фазы обмотки статора, так что ротор всегда поддерживает угол крутящего момента (угол между осью ротора D и магнитным полем статора) 90 степени с отклонением 30 степеней.

Алгоритм калибровки последовательности Холла управляет двигателем на полном механическом обороте и вычисляет последовательность датчика Холла относительно нулевого положения ротора при регулировании без разомкнутого контура.

Примечание. Этот пример работает для всех соединений датчика фазы двигателя или Холла.

Модели

Пример включает в себя следующие модели:

Можно использовать эти модели только для генерации кода. Чтобы открыть модель Simulink ®, можно также использовать команду open_system в командной строке MATLAB ®. Для примера используйте эту команду для основанного на F28379D контроллера:

open_system('mcb_hall_calibration_f28379d.slx');

Для получения дополнительной информации о поддерживаемом строении оборудования см. «Необходимое оборудование» в разделах «Генерация кода» и «Развертывание модели на целевом компьютере».

Необходимые продукты MathWorks ®

  • Motor Control Blockset™

  • Embedded Coder ®

  • Пакет поддержки Embedded Coder ® для процессоров Instruments™ C2000™ в Техасе

  • Fixed-Point Designer™ (требуется только для оптимизированной генерации кода)

Сгенерируйте код и развертывайте модель на целевом компьютере

В этом разделе показано, как сгенерировать код и запустить двигатель с помощью регулирования без разомкнутого контура.

Этот пример использует хост и целевую модель. Модель хоста является пользовательским интерфейсом к аппаратной плате контроллера. Можно запустить главную модель на хост-компьютер. Необходимым условием для использования модели хоста является развертывание целевой модели на аппаратной плате контроллера.

Модель хоста использует последовательную связь, чтобы командовать целевой моделью и запустить двигатель в строении без разомкнутого контура с помощью управления V/f. Модель хоста отображает вычисленную последовательность датчиков Холла.

Необходимое оборудование

Пример поддерживает эти аппаратные строения. Можно также использовать имя целевой модели, чтобы открыть модель для соответствующего аппаратного строения, из командной строки MATLAB ®.

Для подключений, связанных с этими аппаратными строениями, смотрите LAUNCHXL-F28069M и LAUNCHXL-F28379D Строений.

Сгенерируйте код и запустите модель на целевом компьютере

1. Завершите аппаратные подключения.

2. Откройте целевую модель для оборудования строения, которую вы хотите использовать. Если вы хотите изменить настройки аппаратного строения по умолчанию для целевой модели, см. Раздел «Параметры конфигурации модели».

3. Обновите эти параметры двигателя на панели « Строении» целевой модели.

  • Количество пар полюсов

  • Частота ШИМ [Гц]

  • Тип данных для алгоритма управления

  • Номинальная скорость мотора

  • Vd Ссылка на напряжение в относительных единицах

4. Загрузите пример программы в CPU2 LAUNCHXL-F28379D. Например, можно использовать программу, которая управляет CPU2 синим светодиодом при помощи GPIO31 (c28379D_cpu2_blink.slx), и гарантирует, что CPU2 не ошибочно сконфигурирована, чтобы использовать периферийные устройства платы, предназначенные для CPU1.

5. Щелкните Сборка, Развертывание и запуск на вкладке Оборудование, чтобы развернуть целевую модель на оборудовании.

6. Щелкните гиперссылку модели хоста в целевой модели, чтобы открыть связанную модель хоста. Можно также использовать команду open_system, чтобы открыть модель хоста. Используйте эту команду для F28379D контроллера:

open_system('mcb_hall_calibration_host_f28379d.slx');

Для получения дополнительной информации о последовательной связи между хостом и целевыми моделями, смотрите Host-Target Communication.

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

7. В маске блока Host Serial Setup в модели хоста выберите имя.

8. Щелкните Запуском на вкладке Симуляции, чтобы запустить модель хоста и запустить калибровку последовательности Холла для шестиступенчатого управления коммутацией. Двигатель запускается и калибровка начинается, когда вы начинаете симуляцию. После завершения процесса калибровки симуляция заканчивается, и двигатель останавливается автоматически.

Примечание: Если двигатель не запускается или вращается плавно, увеличьте значение Vd Ref в поле Per Unit voltage (максимальное значение 1) на панели « Строении». Однако, если двигатель потребляет большой ток, уменьшите это значение.

В качестве соглашения шестиступенчатое управление коммутацией использует прямое направление вращения, которое идентично направлению вращения, используемому во время калибровки последовательности Холла. Чтобы изменить направление вперед, замените провода фазы мотора, снова выполните калибровку последовательности Холла, а затем запустите двигатель с помощью шестиступенчатого управления коммутацией.

9. Смотрите эти светодиоды на модели хоста, чтобы узнать состояние процесса калибровки:

  • Светодиод Calibration in progress становится оранжевым, когда двигатель начинает вращаться. Заметьте положение ротора и изменение значения последовательности Холла в возможности (сигнал положения указывает сигнал наклона с амплитудой от 0 до 1). После завершения калибровки этот светодиод становится серым.

  • Светодиод Calibration complete становится зеленым, когда процесс калибровки завершен. Затем в поле Calibration Output отображается вычисленное значение последовательности Холла.

Примечание. Этот пример не поддерживает симуляцию.

Чтобы немедленно остановить двигатель во время чрезвычайной ситуации, нажмите кнопку Emergency Motor Stop.

Для примеров, которые используют шестиступенчатую коммутацию с помощью датчика Холла, обновите вычисленное значение последовательности Холла в переменной bldc.hallsequence в скрипте инициализации модели, связанном с примером. Для получения инструкций смотрите Оценку коэффициентов усиления из параметров двигателя.

Для просмотра документации необходимо авторизоваться на сайте