Управление шаговым двигателем по скорости: различия между версиями

Материал из cnc-club
Перейти к навигации Перейти к поиску
(начальное описание)
 
 
Строка 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
 +
 
 +
Можно управлять шаговым двигателем.

Текущая версия на 15: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

Можно управлять шаговым двигателем.