Шаговый двигатель не движется
Это мой второй проект на Arduino, и я пытаюсь понять, почему мой шаговый двигатель не вращается. Мне удалось заставить работать простой шаговый двигатель 28byj-48, используя stepper.h и несколько примеров кода.
Сейчас я пробую новую настройку, но никакого вращения не происходит. Я вижу питание на шаговом двигателе Arduino и блоке питания, и слышу жужжание двигателя, но он просто не вращается при загрузке кода Arduino:
#define STEP_PIN 9
#define DIR_PIN 8
void setup() {
pinMode(STEP_PIN, OUTPUT);
pinMode(DIR_PIN, OUTPUT);
digitalWrite(DIR_PIN, HIGH); // или LOW для изменения направления
}
void loop() {
for (int i = 0; i < 8000; i++) {
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(100);
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(100);
}
}
Настройка:
Мощность: Адаптер питания переменного/постоянного тока 24 В, 10 А, 240 Вт
Мотор: Биполярный шаговый двигатель STEPPERONLINE Nema 17, 2 А
Шаговый драйвер: Драйвер шагового двигателя ЧПУ STEPPERONLINE 1,0–4,2 А, 20–50 В постоянного тока, разрешение 1/128 микрошага для шаговых двигателей Nema 17 и 23
Конфигурация контактов:
Шаговый двигатель
| Терминал водителя | Цвет провода от двигателя |
|---|---|
| A+ | Черный |
| А− | Зеленый |
| B+ | Красный |
| B− | Синий |
Блок питания подключен к +VDC и GRND
Arduino подключена
- контакт 8 к DIR +
- контакт 9 к PUL +
Для DIR - и PUL - Оба подключены к этой макетной плате, и оттуда есть контакт на GRND Arduino.
Где мне следует искать потенциальные причины, по которым двигатель не вращается?
@Doug Ray, 👍0
Обсуждение1 ответ
Если ваш шаговый двигатель просто жужжит, но не вращается, вы можете проверить следующее:
Проводка — дважды проверьте соединения катушек двигателя (A+/A− и B+/B−). Неправильное подключение катушек приведёт к невозможности вращения.
Время импульсов шага — попробуйте увеличить delayMicroseconds(100) до 500 или более. Некоторым драйверам для отклика требуются более медленные импульсы шага.
Вывод разрешения (Enable pin) – некоторым драйверам требуется установить вывод EN (Enable) в положение LOW для активации двигателя. Убедитесь, что он либо заземлён, либо правильно настроен.
Источник питания — вы используете источник питания напряжением 24 В, что хорошо, но убедитесь, что настройка тока драйвера соответствует номиналу двигателя 2 А.
Перегрев/защита драйвера — проверьте, не срабатывает ли тепловая или токовая защита драйвера.
Если вы хотите узнать, как управлять шаговым двигателем 28BYJ-48, ознакомьтесь с моей статьей: Как управлять шаговым двигателем 28BYJ-48 с помощью драйвера ULN2003 и Arduino
Надеюсь, это поможет!
- Arduino uno + cnc Shield v3 + драйвер шагового двигателя A4988 + AccelStepper?
- Как управлять двумя шаговыми двигателями и использовать ультразвуковой датчик вместе?
- Arduino Uno + шаговый драйвер MSD-11-EM + NEMA 17
- Шаговый двигатель с микрошаговым драйвером
- АМИС30543 | Понимание таблицы данных Регистр состояния
- AMIS30543 | Таблица КРУГОВОГО ПЕРЕВОДЧИКА данных
- Печать string and integer LCD
- Как добавить гистерезис к пороговым значениям?
Не могли бы вы [отредактировать] свой вопрос, добавив рабочий минимальный пример кода?, @the busybee
Поскольку не существует стандарта относительно того, какого цвета должны быть провода двигателя, попробуйте немного поменять их местами и посмотрите, изменится ли что-нибудь., @chrisl
Вам следует с помощью мультиметра определить, какие провода на двигателе подключены к одной и той же катушке (одна катушка должна быть подключена к A, другая — к B). Во-вторых, проверьте переключатели на драйвере на корректность микрошагов и тока. Попробуйте уменьшить микрошаг и увеличить ток. В-третьих, на драйвере, похоже, также есть контакты ENA. Возможно, их нужно подключить к питанию или заземлению (см. техническое описание)., @Osman-pasha