# Motor ID Through Inverter

Проект для идентификации параметров асинхронного двигателя через инвертор без механической фиксации ротора.

Цель: разделить задачу на безопасный эксперимент на приводе и offline-обработку телеметрии. На первом этапе проект не управляет силовой частью напрямую, а задает формат измерений и алгоритм расчета параметров.

## Что определяем

- `Rs` - активное сопротивление статора.
- `Rr` - приведенное сопротивление ротора.
- `Lls`, `Llr` - индуктивности рассеяния статора и ротора.
- `Lm` - взаимная индуктивность / кривая намагничивания.
- Производные величины: `Ls`, `Lr`, `sigma`, `Tr`.

## Базовый сценарий

1. Калибровка инвертора: смещения токов, `Udc`, dead-time, падения на ключах.
2. DC-тест `Rs`: несколько уровней тока, желательно с полярностями `+I` и `-I`.
3. AC sweep на неподвижном свободном валу: пульсирующий ток по одной оси, частоты 1..10 Гц или шире.
4. Тест намагничивания: ступени `Id`, интегрирование `V - Rs * I`.
5. Offline-fit T-образной схемы замещения по CSV.

## Структура

- `docs/experiment_protocol.md` - как проводить измерения.
- `docs/model.md` - используемая модель двигателя и ограничения.
- `data/example_measurements.csv` - пример формата телеметрии.
- `tools/fit_ad_params.py` - обработка CSV и оценка параметров.

## Быстрый запуск

```powershell
python .\motor_id_inverter\tools\fit_ad_params.py .\motor_id_inverter\data\example_measurements.csv
```

Скрипт печатает JSON с оценками параметров и диагностикой качества. Для реального привода сначала замените пример CSV на выгрузку измерений с вашего инвертора.

