Отлаживаю алгоритм (модификация вот
этого, там EKF на 5 переменных, токи в dq, скорость, положение и момент нагрузки) на численной модели (модель BLDC основана на
этом, форма ЭДС синусоидальная, ШИМ обсчитывается на каждом отрезке между переключениями ключей). Появляются некоторые вопросы.
1. Ошибка по положению возростает с ростом скорости. Добился некоторого улучшения путем доработки решателя ОДУ (тот который часть EKF). Но все ещё остается ~4 градуса ошибки на ~90000 rpm электрической скорости при 20 кГц ШИМ (ошибка пропорциональна скорости и периоду, на 40кГц будет ~2 градуса). Как можно бороться с этой проблемой? Пытаться дальше уточнять решение ОДУ по моему бессмысленно, на реальной системе проявяться другие детали и будет та же проблема. Компенсировать смещение самой оценки положения после EKF тоже плохая идея, надо устранять эти "вредные" невязки которые приводят к смещенности оценки. Или может быть я хочу слишком много и надо просто увеличивать частоту ШИМ?
2. Во всей литературе по теме упоминается field weakening. Я решил проверить, на своей модели, т.к. я не понимаю каким образом ток по прямой оси может привести к уменьшению постоянной ЭДС, что вызывает сомнения в правильности модели. Задал отрицательный ток по D, и действительно скорость возросла, но почему? Глядя на уравнения BLDC или PMSM это не очевидно.
Спасибо.
Если кому не лень посмотреть, код
здесь.
Сообщение отредактировал amaora - Jan 1 2014, 18:01