exponenta event banner

Управление двигателем секции для многопроцессорных MCU

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

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

  • Разделите приложение на задачи в режиме реального времени, такие как законы управления, и задачи в режиме, отличном от реального времени, такие как внешняя связь, диагностика или машинное обучение

  • Разделение алгоритма управления на несколько ЦП для достижения более высокой скорости цикла

  • Запуск одного и того же приложения в нескольких процессорах для критически важных для безопасности приложений

В этом примере показано, как разделить приложение управления двигателем на два ЦП F28379D TI Delfino для достижения более высокого времени дискретизации/частоты ШИМ.

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

  • Плата на базе TI Delfino F28379D LaunchPad или TI Delfino F2837xD

  • BOOSTXL-DRV8305EVM плата привода двигателя

  • Двигатель Teknic M-2310P-LN-04K PMSM

Алгоритм управления двигателем секции

Откройте модель soc_pmsm_singlecpu_foc. Эта модель моделирует один контроллер двигателя ЦП, содержащийся в модели soc_pmsm_singlecpu_ref, для синхронной машины с постоянными магнитами (PMSM).

Мы разделяем алгоритм управления, выполняя текущее управление на CPU2, и управление скоростью и оценку положения на CPU1 соответственно. Передача данных между CPU обрабатывается блоком межпроцессного канала данных. Дополнительные сведения см. в разделе Межпроцессная передача данных через выделенное аппаратное периферийное устройство (блок SoC).

Откройте модель soc_pmsm_dualcpu_foc.

open_system('soc_pmsm_dualcpu_foc');

На вкладке System on Chip нажмите Hardware Settings, чтобы открыть окно Configuration Parameters. На вкладке Hardware Implementation параметр Processing Unit имеет значение «None», указывающее на то, что он является моделью системы верхнего уровня.

Откройте модель soc_pmsm_cpu1_ref и откройте модель soc_pmsm_cpu2_ref для просмотра алгоритмов, настроенных для каждого ЦП. Ссылки на модели, содержащиеся в системной модели, настроены на выполнение на c28xCPU1 (CPU1) и c28xCPU2 (CPU2).

На вкладке Моделирование (Simulation) щелкните Воспроизведение (Play), чтобы смоделировать модель. Откройте инспектор данных моделирования и просмотрите сигналы. На этом рисунке показаны результаты моделирования и развертывания моделей с одним и двумя процессорами.

Повышение производительности при параллельном выполнении

Использование обоих ЦП для выполнения алгоритмов управления позволяет достичь более высокой пропускной способности контроллера. В исходной модели одного ЦП алгоритм управления занимает чуть более 25us для выполнения. Для обеспечения запаса прочности в модели одного ЦП используется частота ШИМ 20kHz, эквивалентная периоду 50us.

После разделения время выполнения CPU1 и CPU2 уменьшается до менее 20us. Позволяет увеличить частоту ШИМ до 40kHz. В mcb_pmsm_foc_sensorless_f28379d_data.m , установите для PWM_frequency значение 40e3 и запустите сценарий для настройки модели на новую частоту ШИМ. При более быстрой выборке токов коэффициенты усиления контроллера могут быть затем настроены для достижения более быстрого времени отклика.

Разверните модель на TI Delfino F28379D LaunchPad с помощью инструмента SoC Builder (SoC Blockset). Чтобы открыть инструмент, на вкладке Система на кристалле щелкните Настроить, Построить и развернуть и следуйте инструкциям.

На этом рисунке показана реакция контроллера от моделирования и развертывания при 25us токовом контуре с 40kHz частотой ШИМ по сравнению с 50us токовым контуром при 20kHz частоте. Как и ожидалось, время повышения скорости увеличивается при более быстрой петле тока приблизительно на 50 процентов.

Отклик на скорость является колебательным из-за алгоритма без датчика, для получения дополнительной информации см. Сенсорный полевой контроль PMSM

Для более высокой степени детализации моделирования установите вывод блока интерфейса PWM в режим коммутации и измените вариант модели установки для использования моделирования MOSFET.

См. также

Авторское право 2020-2021 The MathWorks, Inc.