Как написать код Arduino для шагового двигателя, чтобы двигать руку вперед и назад на 180 градусов

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

Шаговый двигатель должен перемещать рычаг вперед и назад на 180 градусов, чтобы собирать и размещать пластиковые шарики. Но я не уверен, как написать код для этого, так как я новичок в кодировании Arduino. Любая форма помощи будет принята с благодарностью. Заранее спасибо.

, 👍0

Обсуждение

вы не сможете повернуть руку на 180 градусов, пока не научитесь поворачивать шаговый двигатель.... начните с непрерывного перемещения двигателя в обоих направлениях.... затем научитесь перемещать только определенное количество шагов, @jsotola

В сети уже полно примеров. Вы можете найти их через поисковую систему., @MichaelT


1 ответ


1

Недостаточно информации о вашем шаговом двигателе, поэтому давайте предположим некоторые: давайте использовать шаговый двигатель с шагом 1,8 градуса (очень популярный шаговый двигатель), и мы будем управлять без микрошагов.
Для выполнения задачи вам потребуется:

  • Ардуино,
  • шаговый двигатель,
  • драйвер шагового двигателя (например, EasyDriver или что-то вроде Драйверы Pololu)
  • блок питания. Чтобы избежать помех, я бы посоветовал подключить Arduino к ПК (через USB-порт) и дополнительному мощному блоку питания только для двигателя/драйвера двигателя.

Теперь вам нужно передать по крайней мере два сигнала от Arduino к драйверу шагового двигателя (здесь я говорю о примере EasyDriver). Сигналы DIR и STEP. DIR выбирает направление вращения двигателя. В зависимости от подключения шагового двигателя к печатной плате драйвера у вас может быть вращение по часовой стрелке, когда сигнал находится в одном состоянии, и против часовой стрелки, когда DIR находится в противоположном состоянии. STEP принимает импульсы для перемещения шагового двигателя. Драйвер перемещает шаговый двигатель, когда на входе STEP появляется передний фронт. Один передний фронт равен одному шагу = 1,8 градуса (опять же, это применимо, если вы не используете микрошаг). Чтобы повернуть мотор на 180 градусов, нужно сделать 100 шагов.
Подводя итог:

  • Используйте два порта (самое простое решение здесь с EasyDriver): один определен как DIR, другой как STEP.
  • DIR low (выбор одного из направлений)
  • Шаговый импульс 100 раз (шаговый двигатель поворачивается на 180 градусов)
  • пауза (для всего, что нужно сделать)

  • DIR высокий (противоположное направление вращения)

  • Шаговый импульс 100 раз (шаговый двигатель поворачивается на 180 градусов в исходное положение)
,