Добрый день. Имеется шаговый двигатель 2170-8127100, планирую приобрести к нему драйвер, у которого есть входа STEP и DIR.
На STEP нужно подавать импульсы, чтобы ШД начал работу.
Можно ли использовать выход DO на WB6 для создания импульсов нужной частоты?
Добрый день.
Клеммы контроллера (какой версии контроллер, кстати?) описаны тут:
https://wirenboard.com/wiki/Wiren_Board_6#Проводные_интерфейсы
Можно использовать, например, любой (любые) из A1-A4
Но, как мне кажется программно генерировать с нужной частотой - не лучшая идея. Почему не сделать Modbus устройство на ардуинке? Стоимость ардуинки и 485 модуля - до 200 рублей вместе.
v6.8.1B
Пример кода тут: Дружим WirenBoard с Arduino (slave) по ModBus
Здесь стыковка с ардуино. Хотелось бы без Ардуино, напрямую управлять драйвером ШД. Вот как задавать импульсы определённой частоты на выходе А1-А4?
“Частоту” - можно на GPIO формировать только программно.
Для оборота нужно 200 импульсов, если не использовать дробные шаги на “стандартном” 1.8 градусов двигателе.
Можно использовать скрипт на wb-rules, или написать свой драйвер, используя прямое управление gpio.
Но такие решения подойдут если нужна медленная работа.
Пример подобного скрипта может быть есть?
Для wb-rules пример setInterval тут:
https://wirenboard.com/wiki/How_to_write_rules#setInterval();
Но скриптовыми языками гененрировать импульсы - так себе идея. С внешним микроконтроллером - оно получится гарантированно хорошо.
Почему бы не подумать о реализации такой функции на WB? Сфера применения WB сразу бы расширилась.
Но зачем? Стоимость специально заточенных на управление ШД контроллеров - минимальна, да и программируются они при желании, хоть на stm, хоть на atmel, хоть на esp легко.
Ну и задач “подключить ШД с step-dir дравером” в промышленности не встречается.
Если просто так из линукса дергать гпио - будет очень плохо работать с шаговым двигателем.
Для управления нужно достаточно точно выдерживать временной интервал между импульсами, и плавно менять частоту. Иначе двигатель будет дергаться, пропускать шаги и т. д.
Линукс так не умеет.
Т.е. нужно WB подружить с другим контроллером который будет управлять ШД?
Линукс-то умеет. И som тоже. linux-imx6/Documentation/devicetree/bindings/pwm/pwm.txt at master · samnazarko/linux-imx6 · GitHub как пример. Вопрос - в целесообразности объятия необъятного.
Хотяяяя… для мигания сигнальных лампочек я бы и сам, например, не отказался бы подвешивать их к железному таймеру, вместо чтоб дергать скриптом. Но тогда и gpio mux надо делать управляемым из юзерспейса и выводить в топик…
Двигатель - самый обыкновенный шаговик ведь, все уже давно придумано.
Вариант “В лоб”: Просто залить в ардуинку grbl и подключить ардуинку хоть через штатный USB (USB/uart) хоть на uart разьема расширения, выбрав
Важно! GPIO на разьемах расширений НЕ толерантны к 5 вольтам! Замена SOC модуля - недешевое удовольствие и проводится только в офисе.
Вот правда, поверьте мне как тому кто чинил-обслуживал не один ЧПУ и имеет опыт сборки с нуля своего.
На одну копеечную ардуинку можно повесить управление несколькими драйверами.
Ардуинка - 300
Конвертор UART/485 - 50
Если напряжения питания 12-14 вольт - то преобразователь питания отдельный не нужен.
Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.