Н.В. Клиначев

Прототип программного кода для процессора частотного преобразователя с функцией ослабления поля статора СДПМ (Flux-weakening CCCP control of PMSM)

Рабочие файлы: [Настройка част.преобр.] [◄ | ►] [Си ARM Sensorless PMSM]
[Код CVCP] [Код CCCP] [Код CVMT] [IQsqrt]

Данный интерактивный документ предназначен для настройки программного кода управляющего процессора частотного преобразователя, к которому подключен синхронный двигатель с возбуждением от постоянных магнитов. Двигатель разработан для применения в электромеханической трансмиссии транспортного средства. Для расширения диапазона регулирования скорости применена стратегия ослабления поля статора, предполагающая ограничение мощности и питание машины максимальным током (Flux-weakening CCCP control of PMSM), позволяющая питать машину напряжением ниже противо-ЭДС.

Повторим. Формально, питание машины максимальным током при ограничении мощности – это один из способов расширения диапазона скорости. Но цель его применения на практике другая. Главная особенность такого способа питания заключается в том, что машина может работать на холостом ходу, потреблять от первичного источника минимальный ток, а вот по обмотке статора и по ключам силового моста будет протекать предельно допустимый ток. Это идеальные условия для тепловых испытаний: машины, системы охлаждения силового моста и цепей тепловой защиты электропривода.

Особенности кода:

  1. Ослабление поля реализовано кодом "Вычислителя Пределов Тока", см. структуру fwl.
  2. В условиях ослабления поля статора нельзя использовать наблюдатель скорости вала эквивалентного ДПТ. Но его оценка адекватна для повышения точности регулятора тока по оси момента (методом комбинированного управления).
  3. Наблюдаемая скорость вала – это одна из координат следящего за вектором потокосцепления контура ФАПЧ. Её можно использовать для замыкания контура скорости. Но она имеет небольшую колебательную составляющую с периодом равным периоду тока. Программный код содержит усредняющий фильтр (два апериодических звена). Но их постоянная времени не вынесена в общий фрагмент кода, где определены параметры всей системы.
  4. Электрические двигатели переменного тока, которые проектируются с учетом возможности ослабления поля, характеризуется сравнительно большим падением напряжения на индуктивном сопротивлении обмотки статора. По этой причине целесообразно вычислить ортогональные составляющие упомянутого падения напряжения и повысить точность регуляторов тока (методом комбинированного управления). Но в данном коде это реализовано частично.
  5. Конченый пользователь может понижать уставку моментной составляющей тока ниже номинальной величины. Но недопустимо уменьшать предел выходной координаты регулятора напряжения (который ослабляет поле). Этот предел должен быть равен номинальному току. Если регулятор насытиться – возможность ослабления поля будет исчерпана. Должна сработать защита (ORF).
  6. Код функций IQdiv и IQsqrt описан и отлажен в других документах сайта. Эти функции возвращают правильный результат лишь в случае, если глобальная константа GL_Q четная.
  7. В данной модели оценка максимального коэффициента усиления пропорционального канала регуляторов тока (KP_C = TI_C / TIMESTEP / 2.0) дала более точный результат.
/*************************************************************************
                                                                 Таблица 1
+------------------+---+----+--------+-------+----------+----------------+
|     Тип СДПМ     | m | Zp |   Ke   |   J   | L_ф  R_ф | I_фm  Mн   Pн  |
|                  | Y        В/рад/с  kg*m^2   uH  mOm     A   Nm   kW  |
| длинная  обмотка | 3   6     1.71     ---    300   20   625  ---  ---  |
| короткая обмотка | 3   6     0.57     ---     90  6.8   625  ---  ---  |
+------------------+---+----+--------+-------+----------+----------------+
Kt = 1.5 * Ke,   Mн = I_фm * Kt,   omega_н = Pн / Mн,   Eфm = omega_н * Ke

Крейсерская скорость:                   8500 об/мин == 890 рад/с == 850 Гц
Напряжение шины постоянного тока в бульдозерном режиме:  566 В (Uфm 310 В)
*************************************************************************/

Линейная непрерывная динамическая модель векторного
электропривода. Контроль СДПМ с ослаблением поля.
Стратегия ограничения мощности и тока
(Flux-weakening CCCP control of PMSM)

Листинг 1. Программный код dll-блока (javascript)

В листинге кода определены два варианта функций-оберток (_IQ, _IQmpy, _IQsqrt, ...). Убедитесь в том, что реализация регуляторов на ЦВМ с целочисленным АЛУ ни чуть не уступает версии, использующей математический сопроцессор. По умолчанию транслируется код с плавающей точкой. Если определить ненулевое количество разрядов в слове под дробную часть (см. константу GL_Q), то код будет обрабатывать сигналы командами целочисленной арифметики.

Выполните серию экспериментов. Меняйте тип данных для кодирования чисел с плавающей точкой (константе GL_Q присваивайте значения 24, 22, 20). В первом случае на дробную часть числа отводиться 24 бита, во втором – 22, в последнем – 20 (старшие биты – это целая часть числа и знак). Убедитесь в том, что мантисса целочисленного АЛУ не перегружается и код остается работоспособным. Уточните, при каких типах данных (_iq27 и _iq15) нарушается работоспособность системы управления.

Реализация бездатчиковых электроприводов с функцией ослабления поля, как правило, затруднена. Но прототип кода реализует наблюдатель вектора потокосцепления, следящий за ним контур ФАПЧ, усредняющий фильтр скорости. В данной модели приведенный момент инерции выбран малым, чтобы вычислительный эксперимент не затягивался, и изображающая точка проходила все четыре квадранта в плоскости механической характеристики. Быстродействие всех регуляторов на пределе. И в бездатчиковом режиме они раскачивают друг друга. Деактивируйте режим работы с датчиком положения ротора – IsSENS = false. Запустите вычислительный процесс. Убедитесь в том, что система управления функционирует.

Иметь в системе управления, ограничитель мощности привода полезно и без функции ослабления поля статора. Отключите задание на контур регулирования тока по оси поля, ir_d.gI = 0; // fwl.uId; //. Убедитесь в том, что система управления ограничивает мощность, но не ограничивает напряжение.

Тестирование впервые включаемого технического устройства предполагает вероятность ошибки. Меняйте уставки: тока (IS в #define-секции), скорости (2.25 в модели), мощности (PE_PU), минимального предела отсечки по мощности (0.1 в коде). Попробуйте разобраться можно ли начать тестирование с малых значений тока. Можно ли использовать первичный источник малой мощности. Можно ли ограничить перегрузку источника во время запуска. Какие виды защиты силового моста потребуются.

Примечание. Математическое ядро программы Jigrein4WEB вызывает функцию tune перед первым шагом симуляции. Её необходимо использовать для сброса начальных условий в регистрах задержки. Функцию calcStep математическое ядро может вызывать множество раз на каждом шаге симуляции (в зависимости от типа активированных решателей). Реализованный в ней код не должен обладать эффектом памяти (результат преобразований должен завесить исключительно от входных сигналов). Функция stepEnd вызывается на каждом шаге симуляции только один раз после всех вызовов функции calcStep и предназначена для обновления регистров задержки.

8.03.2017