ee_calculateFluxPartialDerivatives

Вычислите частные производные потока для блока FEM-Parameterized PMSM

Описание

пример

[dFdA,dFdB,dFdC,dFdX] = ee_calculateFluxPartialDerivatives(A,B,C,X,F) вычисляет частные производные от потокосцепления. Для улучшаемой числовой производительности, кладки блоков FEM-Parameterized PMSM с частными производными потокосцепления, а не непосредственно с потокосцеплением. Если ваш моторный Design Tool конечного элемента не имеет опции, чтобы вывести частные производные, то можно использовать эту функцию, чтобы вычислить частные производные от потокосцепления. Потокосцепление F должна быть четырехмерная матрица с первыми тремя измерениями, соответствующими AB, и C токи фазы и четвертая размерность, соответствующая углу ротора X. Функция возвращает четырехмерные матрицы для этих четырех частных производных. Используйте этот синтаксис в сочетании с 4-D вариантом Data блока.

пример

[dFdA,dFdB,dFdC,dFdX,D,Q] = ee_calculateFluxPartialDerivatives(A,B,C,X,F) возвращает два дополнительных выходных аргумента, соответствующие d- ось и q- токи оси, соответственно. В этом случае эти четыре частные производные 3D, первые две размерности, соответствующие d- ось и q- токи оси и третья размерность, соответствующая углу ротора. Используйте этот синтаксис в сочетании с 3-D вариантом Data блока.

Примеры

свернуть все

Предположим, что F является четырехмерной матрицей, содержащей данные о потокосцеплении, экспортированные вашим моторным Design Tool конечного элемента. Матричные размерности соответствуют трем токам фазы и углу ротора, соответственно. Данные цикличны в четвертой размерности, соответствуя углу ротора.

Совет

Если у вас нет данных из моторного Design Tool конечного элемента для вашего PMSM, чтобы предотвратить ошибку симуляции, прежде, чем запустить код для этого примера, сначала сгенерируйте необходимую матрицу F путем выполнения Генерировать 4-D Матрица Потокосцепления пример F для ee_generateIdealPMSMfluxData функция.

Или непосредственно импортируйте или воссоздайте текущие векторы. Например, при воссоздании текущего вектора с равномерно расположенными с интервалами значениями между-250 и шаг на 5 А и на 250 А, затем:

iA = linspace(-250,250,5);
iB = iA;
iC = iA;

Импортируйте или задайте количество пар полюса.

N = 6;

Импортируйте угловой вектор ротора или воссоздайте его на основе количества пар полюса.

X = pi/180*linspace(0,360/N,180/N+1);

Вычислите частные производные потокосцепления.

[dFdA,dFdB,dFdC,dFdX] = ee_calculateFluxPartialDerivatives(iA,iB,iC,X,F);

Функция возвращает четыре 4-D матрицы для частных производных потокосцепления. Эти четыре матрицы соответствуют трем токам фазы и углу ротора, соответственно. Матричные размерности также соответствуют трем токам фазы и углу ротора.

Предположим, что F является четырехмерной матрицей, содержащей данные о потокосцеплении, экспортированные вашим моторным Design Tool конечного элемента. Матричные размерности соответствуют трем токам фазы и углу ротора, соответственно. Данные цикличны в четвертой размерности, соответствуя углу ротора.

Совет

Если у вас нет данных из моторного Design Tool конечного элемента для вашего PMSM, чтобы предотвратить ошибку симуляции, прежде, чем запустить код для этого примера, сначала сгенерируйте необходимую матрицу F путем выполнения Генерировать 4-D Матрица Потокосцепления пример F для ee_generateIdealPMSMfluxData функция.

Или непосредственно импортируйте или воссоздайте текущие векторы. Например, при воссоздании текущего вектора с равномерно расположенными с интервалами значениями между-250 и шаг на 5 А и на 250 А:

iA = linspace(-250,250,5);
iB = iA;
iC = iA;

Импортируйте или задайте количество пар полюса.

N = 6;

Импортируйте угловой вектор ротора или воссоздайте его на основе количества пар полюса.

X = pi/180*linspace(0,360/N,180/N+1);

Вычислите частные производные потокосцепления.

[dFdA,dFdB,dFdC,dFdX,iD,iQ] = ee_calculateFluxPartialDerivatives(iA,iB,iC,X,F);

Функция возвращает четыре 3-D матрицы для частных производных потокосцепления и два вектора для d- ось и q- текущие значения оси. Эти четыре матрицы соответствуют трем токам фазы и углу ротора, соответственно. Матричные размерности соответствуют d- ось и q- токи оси и угол ротора.

Входные параметры

свернуть все

Текущая A-фаза, в амперах в виде вектора. Вектор должен монотонно увеличиваться, и двухсторонний (содержите и положительные и отрицательные величины). Лучшая практика должна включать нулевой ток как одну из точек.

Типы данных: double

Текущая B-фаза, в амперах в виде вектора. Вектор должен монотонно увеличиваться, и двухсторонний (содержите и положительные и отрицательные величины). Лучшая практика должна включать нулевой ток как одну из точек.

Типы данных: double

Текущая C-фаза, в амперах в виде вектора. Вектор должен монотонно увеличиваться, и двухсторонний (содержите и положительные и отрицательные величины). Лучшая практика должна включать нулевой ток как одну из точек.

Типы данных: double

Угол ротора, в радианах в виде вектора. Значения должны быть в диапазоне от нуля до 2π/N, где N является количеством пар полюса.

Типы данных: double

Потокосцепление, в weber-поворотах в виде четырехмерной матрицы, с размерностями, соответствующими трем токам фазы и углу ротора. Данные должны быть цикличными в четвертом (угол ротора) размерность, то есть, для всего i, j и k, F (i, j, k, 0) = F (i, j, k, 2π/N), где N является количеством пар полюса.

Типы данных: double

Выходные аргументы

свернуть все

Частная производная потокосцепления относительно текущей A-фазы, возвращенной как матрица. Для синтаксиса, используемого с 4-D вариантом Data блока, матрица является четырехмерной. Для синтаксиса, используемого с 3-D вариантом Data блока, матрица 3D, первые две размерности, соответствующие d- ось и q- токи оси и третья размерность, соответствующая углу ротора.

Частная производная потокосцепления относительно текущей B-фазы, возвращенной как матрица. Для синтаксиса, используемого с 4-D вариантом Data блока, матрица является четырехмерной. Для синтаксиса, используемого с 3-D вариантом Data блока, матрица 3D, первые две размерности, соответствующие d- ось и q- токи оси и третья размерность, соответствующая углу ротора.

Частная производная потокосцепления относительно текущей C-фазы, возвращенной как матрица. Для синтаксиса, используемого с 4-D вариантом Data блока, матрица является четырехмерной. Для синтаксиса, используемого с 3-D вариантом Data блока, матрица 3D, первые две размерности, соответствующие d- ось и q- токи оси и третья размерность, соответствующая углу ротора.

Частная производная потокосцепления относительно угла ротора, возвращенного как матрица. Для синтаксиса, используемого с 4-D вариантом Data блока, матрица является четырехмерной. Для синтаксиса, используемого с 3-D вариантом Data блока, матрица 3D, первые две размерности, соответствующие d- ось и q- токи оси и третья размерность, соответствующая углу ротора.

D- текущая ось, в амперах, возвратилась как вектор. Это - дополнительный выходной аргумент, чтобы использоваться, когда это необходимо, чтобы сгенерировать 3-D частные производные потокосцепления. Вектор задает d- текущие значения оси, в которых определяются частные производные.

Q- текущая ось, в амперах, возвратилась как вектор. Это - дополнительный выходной аргумент, чтобы использоваться, когда это необходимо, чтобы сгенерировать 3-D частные производные потокосцепления. Вектор задает q- текущие значения оси, в которых определяются частные производные.

Алгоритмы

Функция вычисляет частные производные с помощью сплайнов Акима, тот же метод, который используется для smooth интерполяция на языке Simscape™ tablelookup функция. Для получения дополнительной информации смотрите makima. Сплайны Акима подходят для оценки частных производных из-за их сглаженного характера и тенденции не ввести локальные реверсирования градиента.

Смотрите также

Введенный в R2017a