запущен проект motor identification c терминалкой

This commit is contained in:
2026-06-05 12:15:36 +03:00
commit 177431f3d2
1383 changed files with 840275 additions and 0 deletions

View File

@@ -0,0 +1,81 @@
# Протокол экспериментов
## 0. Общие условия безопасности
Перед подачей тестовых воздействий должны быть заданы пределы:
- максимальный фазный ток;
- максимальное и минимальное напряжение DC-звена;
- максимальная скорость;
- максимальная температура;
- таймаут каждого теста.
Если нагрузка на валу может создавать опасное движение при малом моменте, тест выполняется только с механически безопасной схемой: тормоз, ограничение перемещения или разомкнутая нагрузка.
## 1. Калибровка инвертора
До идентификации нужно измерить:
- нули датчиков фазных токов;
- масштаб `Udc`;
- реальное dead-time;
- эффективное падение напряжения на ключах и диодах.
Для малых токов ошибка модели инвертора легко становится больше полезного напряжения на двигателе. Поэтому все оценки `Rs` и низкочастотных индуктивностей должны использовать не просто команду ШИМ, а восстановленное фазное напряжение.
## 2. Определение Rs
Рекомендуемый тест:
1. Подать постоянный ток `+I1`, дождаться установления, усреднить `U` и `I`.
2. Подать `-I1`, повторить.
3. Подать `+I2` и `-I2`, повторить.
4. Выполнить линейную аппроксимацию `U = Rs * I + Uerr`.
Использование обеих полярностей позволяет частично отделить сопротивление обмотки от смещения напряжения инвертора.
## 3. AC sweep без фиксации ротора
Вместо опыта короткого замыкания с зафиксированным ротором используется пульсирующее поле:
- ток задается по одной неподвижной оси;
- средний электромагнитный момент близок к нулю;
- вал не требуется фиксировать;
- частоты выбираются низкими: например 1, 2, 3, 5, 10 Гц.
Для каждой частоты записываются:
- `freq_hz`;
- действующие значения `v_rms`, `i_rms`;
- активная мощность `p_w`;
- при возможности синфазная и квадратурная компоненты напряжения относительно тока.
Дальше строится комплексное входное сопротивление:
```text
R = P / I_rms^2
|Z| = V_rms / I_rms
X = sqrt(|Z|^2 - R^2)
Z = R + jX
```
## 4. Намагничивание Lm
Подаются несколько ступеней тока намагничивания. Для каждой ступени:
```text
psi = integral((V - Rs * I) dt)
Lm = psi / I - Lls
```
Лучше сохранять не одно значение `Lm`, а таблицу `Lm(I)`, потому что насыщение магнитной цепи заметно влияет на векторное управление.
## 5. Работа с нагрузкой
С подключенной нагрузкой возможны два режима:
- при неподвижном валу: использовать маломоментные DC/AC тесты, если нагрузка не создает опасного движения;
- на ходу: доуточнять `Rs` и `Rr/Tr` адаптивным наблюдателем или RLS при малых тестовых добавках.
Все параметры одновременно на ходу без специальных возмущений надежно не наблюдаются.