Управление шаговым двигателем по скорости: различия между версиями
Вopoн226 (обсуждение | вклад) (начальное описание) |
Вopoн226 (обсуждение | вклад) |
||
| Строка 31: | Строка 31: | ||
net ext-reg mygui.hal_hscale1 stepgen.1.velocity-cmd | net ext-reg mygui.hal_hscale1 stepgen.1.velocity-cmd | ||
| − | Вот и всё. | + | Вот и всё. Осталось вывести сигналы STEP и DIR на пины LPT-порта: |
| + | |||
| + | net astep parport.0.pin-02-out | ||
| + | net adir parport.0.pin-06-out | ||
| + | |||
| + | Можно управлять шаговым двигателем. | ||
Текущая версия на 12:14, 5 января 2016
Часто возникает потребность управлять шаговым двигателем, который не является двигателем линейного перемещения, например, при использовании шагового двигателя в качестве подачи материала (сыпучего или жидкого).
В этом случае удобно использовать управление двигателем по скорости, используя компонент stepgen.
Этот компонент предоставляет программную генерацию импульсов шага в ответ на команды положения и скорости. В режиме скорости, он управляет мотором на заданной скорости, подчиняясь пределам скорости и ускорения.
Прописывается этот компонент с файле .hal:
loadrt stepgen step_type=0,0 ctrl_type=p,v
Здесь видим, что запущены два компонента stepgen: stepgen.0 - в режиме линейном, а stepgen.1 - в режиме скорости.
Далее прописываем компонент stepgen.1 :
setp stepgen.1.position-scale 1600 setp stepgen.1.steplen 1 setp stepgen.1.stepspace 0 setp stepgen.1.dirhold 55000 setp stepgen.1.dirsetup 55000 setp stepgen.1.maxaccel 33 net astep <= stepgen.1.step net adir <= stepgen.1.dir
Для запуска генерации в режиме скорости необходимо установить пин stepgen.1.enable , например, "привязав" его к пину halui.machine.is-on
net ext-raz halui.machine.is-on stepgen.1.enable
и задав скорость "привязав" пин stepgen.1.velocity-cmd с "ползунком" нашей визуальной панели mygui.hal_hscale1 :
net ext-reg mygui.hal_hscale1 stepgen.1.velocity-cmd
Вот и всё. Осталось вывести сигналы STEP и DIR на пины LPT-порта:
net astep parport.0.pin-02-out net adir parport.0.pin-06-out
Можно управлять шаговым двигателем.