Проект MotorControlDemo для микроконтроллеров серии 1921ВК01
Модераторы: ea, dav, bkolbov, Alis, pip, _sva_
-
- Сообщения: 111
- Зарегистрирован: 15 фев 2017, 18:07
Re: Проект MotorControlDemo для микроконтроллеров серии 1921ВК01
Необходимо для STM-подобного микроконтроллера. А если использовать эмуляцию CAN?
Помнится я сам пользовался в MotorControl и обмен шёл по UART (пусть и медленнее). Есть же такая опция?
Помнится я сам пользовался в MotorControl и обмен шёл по UART (пусть и медленнее). Есть же такая опция?
- Лашкевич
- Сообщения: 379
- Зарегистрирован: 13 май 2015, 12:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: Проект MotorControlDemo для микроконтроллеров серии 1921ВК01
Да, мы тоже таким баловались в STM, работой через UART. Но там будет куча ограничений - нет прошивки по такому интерфейсу, медленная скорость обновления параметров и загрузки графиков, невозможность соединить несколько устройств в одну сеть. Но опять же это кастомная сборка драйвера под конкретный проц должна быть.
-
- Сообщения: 111
- Зарегистрирован: 15 фев 2017, 18:07
Re: Проект MotorControlDemo для микроконтроллеров серии 1921ВК01
Максим, перехожу по теме MotorControl в эту ветку.
Пытаюсь запустить привод с контуром положения (режим 10). Пока ничего на получилось.
Привод, только пытается дёрнуться и возникает авария (превышение тока по фазе...).
Датчик обратной связи он же датчик положения ротора - абсолютный энкодер - работает. Контур скорости отлажен.
Вот что заметил: UniCon в группе параметров контура положения нет реакции на вращения вала двигателя.
Параметр "обратная связь" [5103.03] к какой переменной привязан? На что обратить внимание в коде для режима 10?
Пытаюсь запустить привод с контуром положения (режим 10). Пока ничего на получилось.
Привод, только пытается дёрнуться и возникает авария (превышение тока по фазе...).
Датчик обратной связи он же датчик положения ротора - абсолютный энкодер - работает. Контур скорости отлажен.
Вот что заметил: UniCon в группе параметров контура положения нет реакции на вращения вала двигателя.
Параметр "обратная связь" [5103.03] к какой переменной привязан? На что обратить внимание в коде для режима 10?
- Лашкевич
- Сообщения: 379
- Зарегистрирован: 13 май 2015, 12:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: Проект MotorControlDemo для микроконтроллеров серии 1921ВК01
"Параметр "обратная связь" [5103.03] к какой переменной привязан?" открываете либо CoodEdit, либо файл cood.c, там смотрите к какой переменной привязан параметр.
Если происходит авария превышения тока, значит контур тока не отлажен, либо защита стоит очень близко к заданию. В любом случае, нужна осциллограмма процесса пуска. Токи d,q, скорость, задание по q. Для начала. Из этого будет понятно, что делать дальше.
Если происходит авария превышения тока, значит контур тока не отлажен, либо защита стоит очень близко к заданию. В любом случае, нужна осциллограмма процесса пуска. Токи d,q, скорость, задание по q. Для начала. Из этого будет понятно, что делать дальше.
-
- Сообщения: 111
- Зарегистрирован: 15 фев 2017, 18:07
Re: Проект MotorControlDemo для микроконтроллеров серии 1921ВК01
Проверил настройки и работу контуров по d и q, а также контура скорости.
При запуске режима 10 с абсолютным энкодером (доделал код) всё равно возникает авария.
Вот итоги измерений:
Фазные токи (режим 2) ; токи d и q Контур скорости при аварии
При запуске режима 10 с абсолютным энкодером (доделал код) всё равно возникает авария.
Вот итоги измерений:
Фазные токи (режим 2) ; токи d и q Контур скорости при аварии
-
- Сообщения: 111
- Зарегистрирован: 15 фев 2017, 18:07
Re: Проект MotorControlDemo для микроконтроллеров серии 1921ВК01
... и момент аварии
Что я не предусмотрел в настройках? Может ошибка в определении положения с абсолютного энкодера?- Лашкевич
- Сообщения: 379
- Зарегистрирован: 13 май 2015, 12:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: Проект MotorControlDemo для микроконтроллеров серии 1921ВК01
Просьбы:
1. Ставить курсоры в осциллографе в характерных местах - в начале развития проблемы, перед самой аварией. По клеточкам сложно ориентироваться.
2. Ставить одинаковые масштабы для одинаковых величин (на последней осце токи масштаб то 2А, то 10А).
3. На последнюю осцу вместо задания тока d, которое ноль, вывести угол с ДПР. Расставить курсоры и можно думать дальше.
4. Режим 5 у вас с абсолютным энкодером работает? Который просто с контуром скорости. Он попроще.
интуитивно кажется, что вы токи поворачиваете на один угол, а напряжения на другой (park и ipark получают разные углы). И векторка разваливается.
1. Ставить курсоры в осциллографе в характерных местах - в начале развития проблемы, перед самой аварией. По клеточкам сложно ориентироваться.
2. Ставить одинаковые масштабы для одинаковых величин (на последней осце токи масштаб то 2А, то 10А).
3. На последнюю осцу вместо задания тока d, которое ноль, вывести угол с ДПР. Расставить курсоры и можно думать дальше.
4. Режим 5 у вас с абсолютным энкодером работает? Который просто с контуром скорости. Он попроще.
интуитивно кажется, что вы токи поворачиваете на один угол, а напряжения на другой (park и ipark получают разные углы). И векторка разваливается.
-
- Сообщения: 111
- Зарегистрирован: 15 фев 2017, 18:07
Re: Проект MotorControlDemo для микроконтроллеров серии 1921ВК01
Видимо я как-то неправильно настраиваю dlog. Слегка запутался. Поэтому либо останавливаю непрерывный поток осциллограмм, либо после аварии просто вывожу выборку. Какой бит dlog следует поставить в 1?1. Ставить курсоры в осциллографе в характерных местах - в начале развития проблемы, перед самой аварией. По клеточкам сложно ориентироваться.
Да, режим 5 с абсолютным энкодером.Режим 5 у вас с абсолютным энкодером работает? Который просто с контуром скорости. Он попроще.
Единственное, где я дописывал код - это в файле датчика SSI, чтобы получить значение скорости. Остальной код оригинальный из Demo. (Кстати с инкрементальным энкодером контур положения работал правильно!). Посмотрю код в файлах для park и ipark.интуитивно кажется, что вы токи поворачиваете на один угол, а напряжения на другой. И векторка разваливается.
- Лашкевич
- Сообщения: 379
- Зарегистрирован: 13 май 2015, 12:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: Проект MotorControlDemo для микроконтроллеров серии 1921ВК01
В оригинальном MotorControlDemo при аварии осц останавливается сам, никакие битики не нужны. Вот код:
Режим 10 по-умолчанию на SSI энкодер не сделан, там используется напрямую угол с инкрементального. Нужно руками поменять на SSI в park.ang и ipark.ang. Покажите код вашего стейта режима 10.
так что просто добавляете в осц переменные, ставите предысторию 90%, делитель 1, нажимаете Обновить (чтобы это всё прописалось один раз в контроллер), потом делаете Пуск, у вас вылезает авария. Нажимаете Обновить, юникон говорит, что записаны данные, соглашаетесь отобразить. Проверяйте угол.
Режим 10 по-умолчанию на SSI энкодер не сделан, там используется напрямую угол с инкрементального. Нужно руками поменять на SSI в park.ang и ipark.ang. Покажите код вашего стейта режима 10.
-
- Сообщения: 111
- Зарегистрирован: 15 фев 2017, 18:07
Re: Проект MotorControlDemo для микроконтроллеров серии 1921ВК01
Максим!
В своём ответе от 8 числа Вы обратили внимание на возможную причину аварии.
Перепроверил код в реализации режима 10. Действительно, в одном месте забыл изменить
источник информации о текущем положении вала с учётом применения абсолютного энкодера.
Всё заработало!
Спасибо!
В своём ответе от 8 числа Вы обратили внимание на возможную причину аварии.
Перепроверил код в реализации режима 10. Действительно, в одном месте забыл изменить
источник информации о текущем положении вала с учётом применения абсолютного энкодера.
Всё заработало!
Спасибо!