Project

General

Profile

Векторное управление асинхронным электродвигателем без датчика скорости.

Added by trott over 10 years ago

Первая программа: управление одноуровневым трехфазным инвертором с помощью трех таймеров T1-T3. фазовый сдвиг между таймерами задается таймером T0.
Чтобы включить таймер в нужный момент времени я устанавливаю значение предделителя в этот момент времени. Таймер при этом включается

        getl 0x0000001F ;clear bit 4 by write "1" 
        wrl @1, TIM1_CR

в самом начале программы. Для нагядности результат выведен на 2 светодиода.


Replies (8)

RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by krufter_multiclet over 10 years ago

А почему решили не включать таймеры регистром управления?

RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by trott over 10 years ago

Я пробовал вставить в момент включения
getl 0x0000001F ;clear bit 4 by write "1"
wrl @1, TIM1_CR
но почему-то не получилось

RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by krufter_multiclet over 10 years ago

Странно, пока у меня нет времени проверить программу, но как появится посмотрю в чём дело. У меня таймеры нормально работали. А временные диаграммы смотрели на осциллографе(они совпадают с рассчитанными)?

RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by trott over 10 years ago

в программе включение светодиодов, я проверю секундомером.

RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by trott over 10 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 over 10 years ago

Вот отечественное предприятие разрабатывающее и производящее промышленную автоматику. www.owen.ru Как я понимаю векторное управление двигателем востребовано в частотных преобразователях, на которых построены все промышленные автоматы и умные дома. Сейчас для своих автоматов в Овен используют контроллеры на ядрах ARM с частотами 200 МГц.

trott, хватает ли производительности Мультиклета для выполнения дополнительных задач по контролю состояния внешних датчиков, анализа ситуации и изменения частоты преобразователя напряжения?

RE: Векторное управление асинхронным электродвигателем без датчика скорости. - Added by trott over 10 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 over 10 years ago

Спасибо за интересную информацию и проведённый тест. На первой плате стоял только один внешний АЦП, на втором процессоре уже будет проще, поскольку будут встроенные АЦП и ЦАП. ШИМа в первой ревизии будет 4 канала, но пока без фазового сдвига. Фазовый сдвиг, синхронизация и 8 каналов ШИМ со своими периодами будут во второй ревизии процессора Р2.

    (1-8/8)