Как вы управляете линейным приводом с помощью Arduino?

Что такое Ардуино?

Ардуино это платформа для создания прототипов электроники с открытым исходным кодом, основанная на гибком, простом в использовании аппаратном и программном обеспечении. Он предназначен для DIY-проектов, художников, дизайнеров, любителей и всех, кто интересуется созданием интерактивных проектов. Arduinos - это платы микроконтроллеров, которые содержат все необходимое для удобного взаимодействия с микроконтроллером. Микроконтроллер похож на мини-компьютер для встроенных систем, и тип включенного микроконтроллера будет зависеть от стиля Arduino. Ардуино варьируется от большего Ардуино Мега к среднему размеру Ардуино Уно меньшим Arduino Pro Mini. Платы разного размера будут обеспечивать все большее количество контактов ввода / вывода и дополнительных функций, и самой популярной из этих плат является Uno. Arduino также предоставляет бесплатный открытый исходный код для использования IDE для программирования микроконтроллеров. В среде Arduino IDE используется простой для понимания язык программирования, и из-за популярности Arduino вы можете найти в Интернете множество полезных примеров, которые помогут вам написать код для вашего конкретного приложения. Если это ваш первый проект Arduino, Комплект Arduino предоставит вам все необходимое, от соединительных кабелей до датчиков и реле, и включает в себя Arduino Uno для начала работы.

Как вы управляете линейным приводом с помощью Arduino?

Зачем использовать Arduino для управления линейным приводом?

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

Управление линейным приводом с помощью Arduino

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

Реле

Как обсуждалось Вот, реле представляют собой электромагнитные переключатели, которые управляются включением и отключением питания катушки для размыкания и замыкания переключателя. Arduino может использоваться для управления реле путем включения и выключения катушки с помощью одного контакта ввода / вывода. В зависимости от типа используемого вами реле изменится степень вашего контроля над линейным приводом, но взаимодействие с Arduino довольно простое, просто подайте питание на катушку с помощью контакта ввода-вывода. Вам необходимо убедиться, что номинальное напряжение катушки примерно равно рабочему напряжению Arduino (5 В), иначе Arduino не сможет подать на катушку достаточно энергии, чтобы выключатель замкнулся.

Реле SPDT, управляемое с помощью Arduino

Выше приведен пример взаимодействия Arduino с конфигурацией реле с двумя SPDT. В этой конфигурации, которая описана здесь, два реле используются для переключения полярности напряжения на линейный привод, а также для отключения питания от привода. В примере кода, показанном ниже, Arduino активирует верхнее реле, чтобы выдвинуть привод на 2 секунды, установив контакт 7 на низкий уровень, а затем остановит привод на 2 секунды, отключив верхнее реле, установив оба контакта на высокий уровень. Чтобы убрать привод, Arduino активирует второе реле на 2 секунды, установив контакт 8 на низкий уровень, затем остановит привод на 2 секунды, снова установив все контакты на высокий уровень. Поскольку этот код находится в разделе цикла программы, Arduino будет повторять этот код снова и снова. Очевидно, вы могли бы реализовать более элегантное решение кодирования для своего приложения, но если вам нужен еще больший контроль, вы захотите использовать драйвер двигателя.

https://gist.github.com/OMikeGray/6bf644b6cda85bfe8c898ccd44ec6d78

Драйвер двигателя

А водитель мотора представляет собой конструкцию интегральной схемы, специально предназначенную для управления двигателями постоянного тока, которые приводят в действие линейные приводы постоянного тока. Драйверы двигателей обычно используют H-образный мост для управления как направлением, так и скоростью. Как именно подключить Arduino к драйверу двигателя, будет зависеть от конкретного драйвера двигателя, но для этого потребуется как минимум два контакта ввода / вывода, и один из них будет сигналом PWM. ШИМ или широтно-импульсная модуляция - это метод изменения сигнала между значениями включения и выключения для эффективного обеспечения напряжения ниже рабочего. Затем водитель мотора может использовать этот сигнал для регулировки скорости вращения мотора.

Arduino, управляющая драйвером двигателя 

Выше пример нашего Сильноточный привод двигателя постоянного тока взаимодействует с Arduino. Для этого драйвера двигателя вам необходимо отправить два сигнала ШИМ: один для выдвижения привода, а другой - для втягивания. ШИМ задается в виде байта без знака, что означает, что он находится в диапазоне от 0, отсутствие напряжения, до 255, максимальное напряжение (5 В), которое будет пропорционально скорости двигателя. Поскольку PWM не является двоичным значением, нам нужно использовать выводы PWM Arduino и использовать функцию аналоговой записи, как показано в примере ниже. Контакты PWM будут обозначены на Arduino знаком ~ или просто помечены как контакты PWM.

https://gist.github.com/OMikeGray/c4e0196704a4d62db5507ad8297708f4

В приведенном выше примере кода Arduino будет выдвигать привод на полной скорости в течение двух секунд, посылая драйверу двигателя полные 5 В с вывода 10 на вывод LPWM на драйвере двигателя. Затем Arduino останавливает привод, не посылая никакого сигнала ни на один из входных контактов драйвера двигателя. Затем Arduino втягивает привод на половину скорости, посылая сигнал драйвера двигателя, который наполовину включен, а наполовину выключен, с контакта 11 на вывод RPWM на драйвере двигателя. Затем снова останавливает привод. Поскольку этот код находится в разделе цикла программы, Arduino будет повторять этот код снова и снова. Еще раз, вы можете реализовать более элегантное решение кодирования, которое подходит вашему приложению, особенно если вы добавляете входы для управления своим приводом. 

Добавление входов

Как только вы сможете управлять своим исполнительным механизмом с помощью Arduino, вы можете реализовать входы в Arduino для большей автоматизации и контроля. Эти входы могут быть переключатели, широкий спектр датчиков или даже обратная связь от самого привода. Поскольку существует широкий спектр вариантов ввода, способы их реализации будут разными, но есть несколько общих моментов, которые вам следует знать. Если вход предоставляет двоичный вход, например переключатель, вы захотите использовать цифровые контакты на Arduino, которые будут помечены на плате или в таблице данных, и использовать функцию digitalRead () в Arduino IDE. Если ваше устройство ввода обеспечивает аналоговый сигнал, вам необходимо использовать аналоговые контакты, которые будут помечены на плате или в таблице данных, и использовать функцию AnalogRead ().


 

Tags:

Share this article

серия обогащения

Нужна помощь в поиске правильного привода?

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