Grbl на Arduino Uno (Elegoo) с неработающим шаговым двигателем DM542 + nema24
я уже искал и пробовал довольно удручающее количество часов, но не смог решить эту проблему:
Части следующие: - Elegoo Arduino Uno, на который я прошил GRBL - Блок питания 24В (который питает шаговый двигатель(и) - Шаговый двигатель Nema24 3 нм - Драйвер DM542 - bCNC (exe-сборка на win7 и win10)
Теперь я подключил один шаговый двигатель и шаговый двигатель по оси X к Arduino. Проводка следующая: - 5В от ардуино на три контакта + (ENA, DIR и PUL) - Контакт 2 к PUL, контакт 5 к DIR, контакт 8 к ENA - 24 В подается на порт + и заземление драйвера, 4 провода двигателя подключаются соответственно драйверу
Я скачал GRBL с Github и прошил его на Arduino (я могу запускать grbl-команды с последовательного монитора внутри arduino ide, grbl разблокирован), все подключил и открыл bCNC, искал arduino на com-порту , который отображается правильно и подключен, который работает нормально (на главном экране отображается «подключено»). Однако, когда я пытаюсь переместить ось X под панелью управления в bcnc, ничего не движется, на экране цифры меняются правильно, и я получаю ОК в журналах, но двигатель немного не двигается. Я дважды проверил проводку и попытался написать небольшую программу в arduino ide для перемещения шагового двигателя без grbl (удалил grbl, написал небольшую программу, которая вручную устанавливает интервалы ecc), не меняя проводки, это сработало... Как я могу отладить это? Есть предложения?
Заранее спасибо!
@pixx, 👍1
1 ответ
Лучший ответ:
Как вы написали, что вы подключили положительные контакты ENA, DIR и PUL к 5 В, я предполагаю, что вы используете общую схему подключения анода из datasheet (похоже, драйвер имеет оптопары для входов). Это будет означать, что входы активны низким уровнем (Импульс будет переходом от ВЫСОКОГО к НИЗКОМУ, а затем обратно к ВЫСОКОМУ).
GRBL v1.1 по умолчанию имеет активный высокий импульсный сигнал:
По умолчанию сигнал шага начинается с нормального низкого уровня и становится высоким при возникновении импульса шага. После времени импульса шага, установленного в $0, вывод сбрасывается на низкий уровень до следующего события импульса шага.
(из вики GRBL github). Я думаю, это проблема. Пожалуйста, попробуйте установить GRBL для инвертирования импульсного сигнала с помощью $2
(вы вполне можете найти соответствующую настройку внутри bCNC.
Убедитесь, что GRBL выдает сигналы, которые ваш драйвер ожидает в вашей схеме подключения.
- Управление направлением шагового двигателя с помощью кнопок.
- Шаговый двигатель не работает с платой A4988
- Кнопка сброса не работает + не могу загрузить код, что не так?
- Принципиальная схема для работы биполярного шагового двигателя с использованием LDR
- Непрерывное обнаружение кнопок для шагового управления
- Справка по библиотеке AccelStepper - Одновременное управление двигателем
- Как позволить шаговому двигателю вращаться постоянно?
- Почему при задержке шаговый двигатель останавливается? И почему команда break вызывает ошибку?
Привет, Крисл, Спасибо за ваш ответ! Я попробую и дам вам знать, если это сработало ;-) И да, я использую аналогичный техпаспорт с той же проводкой, которая поставлялась с шаговыми двигателями =), @pixx
Эй Крисл, это сработало!!! Спасибо чувак! Мне тоже пришлось перевернуть ENA-Pin, но теперь он работает как шарм! Теперь мне нужно выяснить, как установить параметры, когда ардуино подключено к bcnc, но это уже другая история. Еще раз спасибо!!, @pixx