УПРАВЛЕНИЕ ПОЛОЖЕНИЕМ ДВИГАТЕЛЯ ПОСТОЯННОГО ТОКА С ПОТЕНЦ...

Источник:

Используемые вещи:

Arduino Uno R3 x1 https://www.sparkfun.com/products/11021
Потенциометр B10K x1 https://www.sparkfun.com/products/9939
Двигатель постоянного тока N20 x1 https://www.sparkfun.com/products/12285
L293D Shield для Uno/ или специальный драйвер H-Bridge, который потребуется перекодировать x1 https://www.sparkfun.com/products/315

История

Двигатели постоянного тока используются повсюду в робототехнике благодаря простоте управления и способности обеспечивать как скорость, так и мощность. Но есть одна ключевая проблема: им не хватает встроенной обратной связи. Итак, чтобы точно контролировать их движение, нам нужна внешняя помощь.

Один из распространенных способов сделать это — использовать серводвигатель, который представляет собой двигатель постоянного тока со встроенным потенциометром и схемой управления. Серводвигатель может вращаться на определенный угол в зависимости от входного сигнала контроллера. Однако серводвигатели могут быть дорогими, и им может не хватать крутящего момента или скорости для некоторых приложений.

Другой способ управления положением двигателя постоянного тока — использовать отдельный потенциометр в качестве устройства обратной связи. Потенциометр — это переменный резистор, значение которого меняет значение сопротивления в зависимости от вращения ручки. Прикрепив один к валу двигателя и измерив напряжение на нем, мы можем оценить положение двигателя. Затем в дело вступает Arduino, который сравнивает желаемое положение с фактическим, соответствующим образом регулируя скорость и направление двигателя.

В этом проекте я буду использовать мотор-редуктор постоянного тока N20, известный своими небольшими размерами и впечатляющей мощностью благодаря металлическому редуктору, который увеличивает крутящий момент при одновременном снижении скорости. Я также буду использовать корпус и шестерни, распечатанные на 3D-принтере, чтобы прикрепить потенциометр к двигателю. В корпусе есть паз для двигателя и потенциометра, а шестерни имеют 10 и 30 зубцов соответственно, что обеспечивает соотношение 3:1 между двигателем и потенциометром. Это означает, что при каждом полном обороте двигателя потенциометр будет поворачиваться только на 120 градусов.

Я буду использовать Arduino Uno вместе с экраном L293D для управления двигателем. Этот щит действует как драйвер, способный управлять четырьмя двигателями постоянного тока или двумя шаговыми двигателями. Он имеет четыре входных и выходных контакта для каждого двигателя, обеспечивающих ток до 600 мА на канал, а также регулятор 5 В и переключатель питания, и его можно установить поверх Arduino.

Arduino считывает аналоговое значение с потенциометра (отображенное в диапазоне от 0 до 1023) и желаемое положение, отправляемое через последовательный вход компьютера. Затем он вычисляет ошибку между этими двумя значениями и использует алгоритм пропорционального управления (с постоянным коэффициентом, называемым Kp), чтобы регулировать скорость и направление вращения двигателя. Этот алгоритм в основном преобразует ошибку в выходной сигнал (от 0 до 255), отправляемый на экран L293D. Затем экран преобразует этот сигнал в сигнал ШИМ, который соответствующим образом управляет двигателем.

Чтобы отслеживать, что происходит, Arduino отображает текущие и желаемые положения вместе с ошибкой на последовательном мониторе. Это позволяет вам видеть, как ведет себя двигатель, и даже позволяет вводить новые желаемые положения, чтобы проверить реакцию системы в режиме реального времени.

Благодаря этой настройке у вас есть экономичный и точный способ управления положением вашего двигателя постоянного тока, открывающий захватывающие возможности для ваших проектов в области робототехники!

Контроль положения «взрыв-взрыв»

Ардуино

Arduino считывает аналоговое значение с потенциометра (отображенное в диапазоне от 0 до 1023) и желаемое положение, отправляемое через последовательный вход компьютера. Затем он вычисляет ошибку между этими двумя значениями и использует алгоритм пропорционального управления (с постоянным коэффиц��ентом, называемым Kp), чтобы регулировать скорость и направление вращения двигателя. Этот алгоритм в основном преобразует ошибку в выходной сигнал (от 0 до 255), отправляемый на экран L293D. Затем экран преобразует этот сигнал в сигнал ШИМ, который соответствующим образом управляет двигателем.

Чтобы отслеживать, что происходит, Arduino отображает текущие и желаемые положения вместе с ошибкой на последовательном мониторе. Это позволяет увидеть, как ведет себя двигатель, и даже позволяет вводить новые желаемые положения, чтобы проверить реакцию системы.

11:21
4
Нет комментариев. Ваш будет первым!

Ссылка появится после регистрации

Похожие модели

Корпус для адаптера питания
📁 Корпус для преобразователя питания сПодробнее
Корпус для DC регулируемого источника
📁 Корпус для DC регулируемого источникаПодробнее
Крепление "народного" налобного фонаря
📁 Крепление «народного» налобного фонаряПодробнее
Ручка настройки Yaesu FT-817
📁 Ручка VFO для FT-817/818. ИспользуйтеПодробнее
Модель кнопки для Imax B6
Вам понадобится капля клея, чтобыПодробнее
Антенный изолятор "орешек"
Это стандартный изолятор дляПодробнее
Адаптер питания Yaesu FT-817
📁 Вертикальный адаптер под коннекторыПодробнее
Корпус для ESP32 WROOM
📁 Корпус для ESP32 WROOM 📐 STL 🪵 PETGПодробнее
Корпус для ESP32
📁 3D модель корпуса для платы NodeMCU наПодробнее
Станок для намотки катушек с филаментом
📁 Станок для намотки катушек сПодробнее
Кабельный ввод
📁 3D модель для печати кабельнойПодробнее
Кабельный ввод #2
📁 Компактный контейнер с завинчивающейсяПодробнее
Кабельный гермоввод #3
📁 3D модель для печати кабельногоПодробнее
Кабельные вводы различных размеров
📁 Кабельные вводы различных размеровПодробнее
Распределительная коробка
📁 3D модель для печати распределительнойПодробнее
Водозащищенный кабельный ввод
📁 3D модель кабельного ввода сПодробнее
Кабельный ввод #4
📁 3D модель для печати качественногоПодробнее
Распределительная коробка с креплением на стену
📁 Распределительная коробка с креплениемПодробнее
Адаптеры для SIM карт - 3D модель для печати
📁 Адаптеры для SIM карт — 3D модель дляПодробнее
Корпус для метеодатчика на ESP8266
📁 Корпус для метеодатчика на ESP8266Подробнее
Улучшенный дрон «Nano Long Range» на 1х18650
📁 Улучшенный дрон «Nano Long Range» наПодробнее
Электронные "песочные часы"
📁 Электронные «песочные часы» 📐 STLПодробнее
Контейнер для батарей ft-817
📁 Контейнер для аккумулятора FT-817 сПодробнее
Защитный каркас Yaesu FT 817
📁 Защитные рельсы для Yaesu FT 817 и 818Подробнее
YAESU FT-817 Рельсы
📁 Рельсы с подвесом для тангенты иПодробнее
Портативный настольный источник питания
📁 Портативный настольный источникПодробнее
Кейс для хранения батарей ( 21700, 18650, AA, AAA)
📁 Кейс для хранения батарей ( 21700Подробнее
Каркас для батарей 18650
📁 Корпус для Heltec V4 с GPS, проектПодробнее
Корпус для датчика на esp8266
📁 Корпус для датчика на esp8266 📐 STLПодробнее
Корпус для метеодатчика с анемометром
📁 Корпус для метеодатчика с анемометромПодробнее
Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.