Forums » Программное обеспечение »
Векторное управление асинхронным электродвигателем без датчика скорости.
Added by trott about 11 years ago
Первая программа: управление одноуровневым трехфазным инвертором с помощью трех таймеров T1-T3. фазовый сдвиг между таймерами задается таймером T0.
Чтобы включить таймер в нужный момент времени я устанавливаю значение предделителя в этот момент времени. Таймер при этом включается
getl 0x0000001F ;clear bit 4 by write "1" wrl @1, TIM1_CR
в самом начале программы. Для нагядности результат выведен на 2 светодиода.
Makefile (380 Bytes) Makefile | |||
3timers_with_phase_shift.asm (7.73 KB) 3timers_with_phase_shift.asm |
Replies (8)
RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by krufter_multiclet about 11 years ago
А почему решили не включать таймеры регистром управления?
RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by trott about 11 years ago
Я пробовал вставить в момент включения
getl 0x0000001F ;clear bit 4 by write "1"
wrl @1, TIM1_CR
но почему-то не получилось
RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by krufter_multiclet about 11 years ago
Странно, пока у меня нет времени проверить программу, но как появится посмотрю в чём дело. У меня таймеры нормально работали. А временные диаграммы смотрели на осциллографе(они совпадают с рассчитанными)?
RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by trott about 11 years ago
в программе включение светодиодов, я проверю секундомером.
RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by trott about 11 years ago
Подключил 3 ШИМа с фазовым сдвигом на разьем Х9:5-7,10-12 и затем на инвертор с подключенным асинхронным двигателем. ШИМы сэмулированы таймерами.
А почему решили не включать таймеры регистром управления?
Удалось включать таймеры через регистр управления
getl 0x0000001F ;clear bit 4 by write "1" wrl @1, TIM1_CR
2013-11-09-124436.webm (194 KB) 2013-11-09-124436.webm | асинхронный двигатель в работе с Мультиклет (видео) | ||
2013-11-09-124745.jpg (60.9 KB) 2013-11-09-124745.jpg | асинхронный двигатель в работе с Мультиклет | ||
io_led_3timers_for_warmup.asm (7.8 KB) io_led_3timers_for_warmup.asm | |||
Makefile (389 Bytes) Makefile |
RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by Zveruga about 11 years ago
Вот отечественное предприятие разрабатывающее и производящее промышленную автоматику. www.owen.ru Как я понимаю векторное управление двигателем востребовано в частотных преобразователях, на которых построены все промышленные автоматы и умные дома. Сейчас для своих автоматов в Овен используют контроллеры на ядрах ARM с частотами 200 МГц.
trott, хватает ли производительности Мультиклета для выполнения дополнительных задач по контролю состояния внешних датчиков, анализа ситуации и изменения частоты преобразователя напряжения?
RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by trott about 11 years ago
Zveruga, спасибо за ссылку, посмотрю обязательно.
Умные дома - для этого у меня есть at91arm9200 с линуксом на борту и управлением двигателем постоянного тока из командной строки через userspace с помощью драйвера ядра. Отладочную плату можно брать у Дмитрия Черкашина([[http://www.ucrouter.ru/]]ucrouter.ru). Тема интересная, но мной пройденная.
Есть частотное управление синхронными и асинхронными двигателями с помощью задания частоты: увеличиваем частоту поля - увеличивается скорость вращения ротора. это не совсем тот случай, который мне интересен, тем более что по умолчанию у ПЧ owen.ru нет обратной связи. Собственно, для частотного управления можно использовать приведенную программу. можно добавить векторный ШИМ, т.е. использовать не просто шесть положений напряжения питания на комплексной плоскости через 60 эл. градусов, а сэмулировать промежуточные положения вероятностями нахожления вектора напряжения. Т.е. если напряжение питания половину времени находится в одном положении, например 0 эл. градусов, а вторую половину - в положении 60 эл. градусов, то эффективно вектор напряжения питания находится в положении 30 эл. градусов. Видимо этот механизм используется в ПЧ у [[www.owen.ru]]. Можно добиться того, чтобы вектор эффективно находился на окружности(имел эффективно одну длину) с помощью включения нулевых состояний, когда все ключи полумостов включены одновременно вверх или одновременно вниз.
Теория и практика [[ftp://ftp.ti.com/pub/dml/DMLrequest/Christy_FTP-10-30-12/controlSUITE/development_kits/HVMotorCtrl+PfcKit_v2.0/HVACI_Sensorless_2833x/~Docs/Sensorless%20FOC%20of%20ACI_2833x%20.pdf]] векторного управления асинхронным электродвигателем без датчика скорости достаточно хорошо развита. Есть графические средства разработки mexbios mechatronica-pro.com или матлаб [[http://sl-matlab.ru/seminars/razrabotka-algoritmov]].
От контроллеров требуется операции с плавающей точкой(DSP), хотя есть варианты у Техас инструмента с целыми числами.
Я хочу проделать этот путь с мультиклетом.
У Мультиклета не хватает АЦП для съема двух сил тока с фаз АБ и напряжения питания. Я буду использовать внешний АЦП.
Мультиклетовской математики должно хватить.
RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by krufter_multiclet about 11 years ago
Спасибо за интересную информацию и проведённый тест. На первой плате стоял только один внешний АЦП, на втором процессоре уже будет проще, поскольку будут встроенные АЦП и ЦАП. ШИМа в первой ревизии будет 4 канала, но пока без фазового сдвига. Фазовый сдвиг, синхронизация и 8 каналов ШИМ со своими периодами будут во второй ревизии процессора Р2.