Полуточный векторный алгоритм управления

Этот пример показывает, как реализовать векторный алгоритм управления (FOC) для синхронной машины с постоянными магнитами (PMSM). Пример показывает как реализацию с одной точностью с плавающей точкой, так и реализацию с половинной точностью с плавающей точностью. Когда алгоритм содержит большие или неизвестные динамические области значений (для примера интеграторов в циклах обратной связи) или когда алгоритм использует операции, которые трудно спроектировать в фиксированной точке (для примера, atan2), может быть выгодно использовать представления с плавающей точкой. Тип данных половинной точности занимает только 16 биты памяти, но его представление с плавающей точкой позволяет ему обрабатывать более широкие динамические области значений, чем целочисленные или типы данных с фиксированной точкой того же размера.

Загрузите данные, необходимые для моделирования модели.

focModelData

Откройте ex_foc_current модель. Эта модель использует тот же исходный блок для двух версий векторного алгоритма управления. В первой версии используются типы данных с одной точностью, а во второй - типы данных с половинной точностью.

model = 'ex_foc_current.slx';
open_system(model)

Симулируйте модель. Из возможностей, что реакция реализации с одной точностью идентична реакции реализации с половинной точностью.

sim(model)
ans = 

  Simulink.SimulationOutput:
           logTestBench: [1x1 Simulink.SimulationData.Dataset] 

     SimulationMetadata: [1x1 Simulink.SimulationMetadata] 
           ErrorMessage: [0x0 char]