exponenta event banner

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

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

Датчик эффекта Холла изменяет свое выходное напряжение в зависимости от напряженности приложенного магнитного поля. Согласно стандартной конфигурации, бесщеточный постоянный ток (BLDC) состоит из трех датчиков Холла, расположенных электрически на расстоянии 120 градусов друг от друга. Двигатель BLDC со стандартным расположением Холла (где датчики расположены электрически на расстоянии 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 ®

  • Blockset™ управления двигателем

  • Встроенный кодер ®

  • Пакет поддержки встроенного кодера ® для процессоров Texas Instruments™ C2000™

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

Создание кода и развертывание модели на целевом оборудовании

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

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

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

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

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

Соединения, связанные с этими конфигурациями оборудования, см. в разделе Конфигурации LAUNCHXL-F28069M и LAUNCHXL-F28379D.

Создание кода и выполнение модели на целевом оборудовании

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

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

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

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

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

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

  • Базовая скорость двигателя

  • Vd Ref на единицу напряжения

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');

Дополнительные сведения о последовательной связи между моделью хоста и целевой моделью см. в разделе Связь хоста с целевой моделью.

Можно использовать Область (Scope) в главной модели для контроля положения ротора с разомкнутым контуром и значений последовательности Холла.

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

8. Щелкните Выполнить (Run) на вкладке Моделирование (Simulation), чтобы запустить главную модель и начать калибровку последовательности Холла для шестишагового управления коммутацией. Двигатель запускается и калибровка начинается при запуске моделирования. После завершения процесса калибровки моделирование завершается, и двигатель автоматически останавливается.

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

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

9. Для получения информации о состоянии процесса калибровки см. следующие светодиодные индикаторы на модели хоста:

  • При запуске двигателя индикатор калибровки становится оранжевым. Обратите внимание на положение ротора и изменение значения последовательности Холла в области (сигнал положения указывает на линейный сигнал с амплитудой от 0 до 1). После завершения процесса калибровки этот светодиодный индикатор становится серым.

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

Примечание.Этот пример не поддерживает моделирование.

Для немедленной остановки двигателя во время аварийной ситуации нажмите кнопку «Аварийная остановка двигателя».

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