Управление двигателем постоянного тока с энкодером
-
- Рядовой
- Сообщения: 77
- Зарегистрирован: 28 окт 2024, 04:02
- Откуда: Белогорск
- Имя: Илья
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Управление двигателем постоянного тока с энкодером
Подскажите, че то не могу найти нигде блок или какой то код в ФЛ прое для управления двигателем постоянного тока с энкодером.
Пробовал писать различные варианты выходного управления двигателем с PWM и без. Наткнулся на то, что мотор не может в конце корректно остановиться и найти позицию с большим PWM. Почитав в инете, понял что нужен ПИД регулятор. В каком виде и что подключать для этого? Как использовать ПИД регулятор для управления двигателем? Может кто то делал уже такое? На форуме не могу найти. Подскажите пожалуйста куда копать?
Пробовал писать различные варианты выходного управления двигателем с PWM и без. Наткнулся на то, что мотор не может в конце корректно остановиться и найти позицию с большим PWM. Почитав в инете, понял что нужен ПИД регулятор. В каком виде и что подключать для этого? Как использовать ПИД регулятор для управления двигателем? Может кто то делал уже такое? На форуме не могу найти. Подскажите пожалуйста куда копать?
- montirovka
- Капитан
- Сообщения: 728
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 173 раза
Re: Управление двигателем постоянного тока с энкодером
Что такое двигатель постоянного тока с энкодером? Энкодер оптический? Что за проект будет? Подробнее можно?
-
- Рядовой
- Сообщения: 77
- Зарегистрирован: 28 окт 2024, 04:02
- Откуда: Белогорск
- Имя: Илья
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: Управление двигателем постоянного тока с энкодером
montirovka писал(а): 01 апр 2025, 07:44 Что такое двигатель постоянного тока с энкодером? Энкодер оптический? Что за проект будет? Подробнее можно?
Драйвер двигателя я использую TB6612FNG c PWM входом.
Как использовать скоростной счетчик для пинов энкодера? Как правильно считывать показания энкодера для счета импульсов? Нужен ли квадратурный счетчик? Проект делаю на ESP32Wroom может есть какие возможности в этом камне для реализации управления по энкодеру?
Последний раз редактировалось Alhim20 01 апр 2025, 10:38, всего редактировалось 2 раза.
- montirovka
- Капитан
- Сообщения: 728
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 173 раза
Re: Управление двигателем постоянного тока с энкодером
Что за проект будет? Подробнее можно? Покрутить вправо лево это одно, а реально работающий проект это порой совсем другое.
Двигатель чем и от чего будет управляться?
Двигатель чем и от чего будет управляться?
-
- Рядовой
- Сообщения: 77
- Зарегистрирован: 28 окт 2024, 04:02
- Откуда: Белогорск
- Имя: Илья
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: Управление двигателем постоянного тока с энкодером
Это проект управления заслонкой вентиляции. Ездить она должна в вертикальной плоскости, с возможностью открываться в положения от 0 до 100% с шагом 10%.montirovka писал(а): 01 апр 2025, 08:08 Что за проект будет? Подробнее можно? Покрутить вправо лево это одно, а реально работающий проект это порой совсем другое.
Двигатель чем и от чего будет управляться?
- montirovka
- Капитан
- Сообщения: 728
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 173 раза
Re: Управление двигателем постоянного тока с энкодером
Уже более понятно. А кто задает угол открытия заслонки? Какой коэффициент редукции у редуктора? Положение ноль как будете определять? По микрику?
-
- Рядовой
- Сообщения: 77
- Зарегистрирован: 28 окт 2024, 04:02
- Откуда: Белогорск
- Имя: Илья
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: Управление двигателем постоянного тока с энкодером
Не угол открытия, а количество шагов двигателя для отодвигания заслонки на определенную высоту и задвигания обратно посредством ременной передачи от 0 доя 100% процентов размера ширины шахты воздуховода. Коэффициент редуктора 1:2098. Положение 0 определяется датчиком холла.montirovka писал(а): 01 апр 2025, 08:18 Уже более понятно. А кто задает угол открытия заслонки? Какой коэффициент редукции у редуктора? Положение ноль как будете определять? По микрику?
- montirovka
- Капитан
- Сообщения: 728
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 173 раза
Re: Управление двигателем постоянного тока с энкодером
Так кто или что задает количество шагов двигателя для отодвигания заслонки на определенную высоту?Alhim20 писал(а): 01 апр 2025, 09:04Не угол открытия, а количество шагов двигателя для отодвигания заслонки на определенную высоту и задвигания обратно посредством ременной передачи от 0 доя 100% процентов размера ширины шахты воздуховода. Коэффициент редуктора 1:2098. Положение 0 определяется датчиком холла.montirovka писал(а): 01 апр 2025, 08:18 Уже более понятно. А кто задает угол открытия заслонки? Какой коэффициент редукции у редуктора? Положение ноль как будете определять? По микрику?
-
- Рядовой
- Сообщения: 77
- Зарегистрирован: 28 окт 2024, 04:02
- Откуда: Белогорск
- Имя: Илья
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: Управление двигателем постоянного тока с энкодером
Переменная со значением в процентах от 0 до 100 %montirovka писал(а): 01 апр 2025, 09:13Так кто или что задает количество шагов двигателя для отодвигания заслонки на определенную высоту?Alhim20 писал(а): 01 апр 2025, 09:04Не угол открытия, а количество шагов двигателя для отодвигания заслонки на определенную высоту и задвигания обратно посредством ременной передачи от 0 доя 100% процентов размера ширины шахты воздуховода. Коэффициент редуктора 1:2098. Положение 0 определяется датчиком холла.montirovka писал(а): 01 апр 2025, 08:18 Уже более понятно. А кто задает угол открытия заслонки? Какой коэффициент редукции у редуктора? Положение ноль как будете определять? По микрику?
- montirovka
- Капитан
- Сообщения: 728
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 173 раза
Re: Управление двигателем постоянного тока с энкодером
Так это двигатель постоянного тока или шаговый?
Абсолютно разные алгоритмы управления . Для постоянника придется реализовать три контура управления (в каждом свой пид-регулятор): положение - регулятор Р, скорость- регулятор РI и ток- регулятор РI . Это амбициозная задача. Для шаговика все проще. вы задаете кол-во импульсов для перемещения от 0...до 100% и контролируете положение через инкрементальный квадратурный энкодер. ( для ESP 32 блока обработки оптического датчика я не видел, но есть на форуме для АVR от Дрюнделя)
Абсолютно разные алгоритмы управления . Для постоянника придется реализовать три контура управления (в каждом свой пид-регулятор): положение - регулятор Р, скорость- регулятор РI и ток- регулятор РI . Это амбициозная задача. Для шаговика все проще. вы задаете кол-во импульсов для перемещения от 0...до 100% и контролируете положение через инкрементальный квадратурный энкодер. ( для ESP 32 блока обработки оптического датчика я не видел, но есть на форуме для АVR от Дрюнделя)
- montirovka
- Капитан
- Сообщения: 728
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 173 раза
Re: Управление двигателем постоянного тока с энкодером
В теме написано.MM33 писал(а): 01 апр 2025, 09:52 Так это двигатель постоянного тока или шаговый?
Абсолютно разные алгоритмы управления . Для постоянника придется реализовать три контура управления (в каждом свой пид-регулятор): положение - регулятор Р, скорость- регулятор РI и ток- регулятор РI . Это амбициозная задача. Для шаговика все проще. вы задаете кол-во импульсов для перемещения от 0...до 100% и контролируете положение через инкрементальный квадратурный энкодер. ( для ESP 32 блока обработки оптического датчика я не видел, но есть на форуме для АVR от Дрюнделя)
-
- Рядовой
- Сообщения: 77
- Зарегистрирован: 28 окт 2024, 04:02
- Откуда: Белогорск
- Имя: Илья
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: Управление двигателем постоянного тока с энкодером
Для шагового двигателя есть блок в Фл проге, проблем нет. Правда он вроде де как без Step/Dir. А вот с коллекторником как оказывается есть подводные камни на больших скоростях в конце операции, при позиционировании энкодера на нужное количество шагов (MM33 писал(а): 01 апр 2025, 09:52 Так это двигатель постоянного тока или шаговый?
Абсолютно разные алгоритмы управления . Для постоянника придется реализовать три контура управления (в каждом свой пид-регулятор): положение - регулятор Р, скорость- регулятор РI и ток- регулятор РI . Это амбициозная задача. Для шаговика все проще. вы задаете кол-во импульсов для перемещения от 0...до 100% и контролируете положение через инкрементальный квадратурный энкодер. ( для ESP 32 блока обработки оптического датчика я не видел, но есть на форуме для АVR от Дрюнделя)
Последний раз редактировалось Alhim20 01 апр 2025, 10:23, всего редактировалось 1 раз.
Re: Управление двигателем постоянного тока с энкодером
написано , но также и про шаги написано. решение на постояннике крайне не простое. Для реализации еще потребуется и контроллер движения с реал тайм пристроить с контурным режимом управления.
А для решения задачи на шаговике есть наработки от Aleks Crane и Дрюнделя. ( Если шаговик с запасом по моменту то и энкодер нужен только для подстраховки)
А для решения задачи на шаговике есть наработки от Aleks Crane и Дрюнделя. ( Если шаговик с запасом по моменту то и энкодер нужен только для подстраховки)
- montirovka
- Капитан
- Сообщения: 728
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 173 раза
-
- Лейтенант
- Сообщения: 450
- Зарегистрирован: 26 фев 2018, 21:27
- Откуда: Haifa
- Имя: Alex
- Благодарил (а): 2 раза
- Поблагодарили: 5 раз
Re: Управление двигателем постоянного тока с энкодером
Использование Двигателя постоянного тока для позиционирования довольно сложная задача,тк существует выбег двигателя,небольшой момент при малых изменениях управляемого параметра и тд и тп.
Для управления заслонкой достаточно применить ШД,даже без энкодера,можно ограничиться концевиком или совсем без него,главное что бы небыло пропусков шагов ,что при правильно выбранном ШД вполне реально.
Не плохо бы было знать,какой параметр будете контролировать,температуру,влажность ,скорость потока,с какой точностью должнен быть контролируемый параметр,от этого будут зависить коэффициенты ПИД регулятора.
Для управления заслонкой достаточно применить ШД,даже без энкодера,можно ограничиться концевиком или совсем без него,главное что бы небыло пропусков шагов ,что при правильно выбранном ШД вполне реально.
Не плохо бы было знать,какой параметр будете контролировать,температуру,влажность ,скорость потока,с какой точностью должнен быть контролируемый параметр,от этого будут зависить коэффициенты ПИД регулятора.
- montirovka
- Капитан
- Сообщения: 728
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 173 раза
Re: Управление двигателем постоянного тока с энкодером
В TB6612FNG предусмотрен режим стоп. 10-50 шагов вылета роли не сыграют, так как редуктор с достаточно большим коэффициентом
Хорошее описание TB6612FNG здесь.
Также описаны все режимы работы с двигателем.
Поворотные механизмы спутниковых тарелок поворачиваются с помощью маленького двигателя на валу которого стоит магнит а рядом датчик холла. Я про те которые с хоботом. Работают годами без нареканий..
Хорошее описание TB6612FNG здесь.
Также описаны все режимы работы с двигателем.
Поворотные механизмы спутниковых тарелок поворачиваются с помощью маленького двигателя на валу которого стоит магнит а рядом датчик холла. Я про те которые с хоботом. Работают годами без нареканий..
-
- Рядовой
- Сообщения: 85
- Зарегистрирован: 01 дек 2015, 15:49
- Откуда: Бобруйск
- Имя: Александр
- Поблагодарили: 2 раза
Re: Управление двигателем постоянного тока с энкодером
Читаю тему и диву даюсь.
ТС указал задачу, а в ответ куча не относящихся к делу вопросов, чисто для интереса, не хочу даже цитировать...
Эмоции, извиняюсь.
По существу: т.к. задача в установке с дискретностью 10%, особой точности не требуется. Число(данные) с энкодера можно делить на 10, 100 и т.п.
Вход умножаем(или нет) на 2, 3, 4 или любое понравившиеся для простоты сравнения с данными от энкодера.
Направление вращения по знаку разности между двумя переменными.
Простым изменением ШИМ, со 100% до, допустим, 40%, при подходе к нужной точке, за 1, 5, 10 ..., замедляем двигатель, при совпадении с заданным останавливаем. Плату выключаем до изменения входной переменной.
Выбег в данном случае вообще не критичен.
ПИД излишен по своей сути.
При каждом включении устройства ( подаче питания) нужно предусмотреть алгоритм калибровки в точке 0 или 100. Это проще, но можно заморочиться и с памятью.
ИМХО.
Приводов заслонок и клапанов на моей текущей работе сотни. Есть и с двигателями постоянного тока - там ОС на переменном резисторе, но большинство бесколлекторные, с подсчётом тактов. Пиды есть только в VAV, но там они следят за расходом воздуха(LMV-D3).
ТС указал задачу, а в ответ куча не относящихся к делу вопросов, чисто для интереса, не хочу даже цитировать...
Эмоции, извиняюсь.
По существу: т.к. задача в установке с дискретностью 10%, особой точности не требуется. Число(данные) с энкодера можно делить на 10, 100 и т.п.
Вход умножаем(или нет) на 2, 3, 4 или любое понравившиеся для простоты сравнения с данными от энкодера.
Направление вращения по знаку разности между двумя переменными.
Простым изменением ШИМ, со 100% до, допустим, 40%, при подходе к нужной точке, за 1, 5, 10 ..., замедляем двигатель, при совпадении с заданным останавливаем. Плату выключаем до изменения входной переменной.
Выбег в данном случае вообще не критичен.
ПИД излишен по своей сути.
При каждом включении устройства ( подаче питания) нужно предусмотреть алгоритм калибровки в точке 0 или 100. Это проще, но можно заморочиться и с памятью.
ИМХО.
Приводов заслонок и клапанов на моей текущей работе сотни. Есть и с двигателями постоянного тока - там ОС на переменном резисторе, но большинство бесколлекторные, с подсчётом тактов. Пиды есть только в VAV, но там они следят за расходом воздуха(LMV-D3).
Re: Управление двигателем постоянного тока с энкодером
это целевые позиции с шагом 10%. Про точность позиционирования разговора не было. Пр алгоритму приведенному выше без пид регулятора ошибка может быть достаточно большой, от бонального недостижения целевой позиции до автоколебательного режима. Все зависит от свойств механики и настроек, а с течением времени и с изменением условий окружающей среды свойства механики могут изменяться. соответственно может изменятся и сервоошибка. Изменение ШИМ - это по сути изменение напряжения приложенного к двигателю и без ОС по скорости и пид регулятора невозможно гарантировать достижение целевой позиции.
Использование переменного резистора в качестве ОС по положению оправдано так как это по сути абсолютный датчик.
Использование переменного резистора в качестве ОС по положению оправдано так как это по сути абсолютный датчик.
- montirovka
- Капитан
- Сообщения: 728
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 173 раза
Re: Управление двигателем постоянного тока с энкодером
Резистор это прошлый век. Есть магнитный энкодер AS5600, который является абсолютным датчиком. Ни какого трения и выхода из строя резистивного слоя. Цена в районе 100 рублей.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость