EMC2 и гидропривод

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и гидропривод

Сообщение Nick »

Должно вроде так получиться...
Здесь описан один энкодер, PID, и генератор pwmgen.

Энкодер висит на пинах 11 и 10.
Выход ШИМ на пине 1.

stan.hal (для просмотра содержимого нажмите на ссылку)
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport

loadrt hal_parport cfg="0x378 out "
setp parport.0.reset-time 5000
addf parport.0.write base-thread
addf parport.0.reset base-thread

# описываем энкодер
loadrt encoder num_chan=1
addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread
setp encoder.0.position-scale 20.000000

net Xpos-phase-a encoder.0.phase-A
net Xpos-phase-b encoder.0.phase-B
net Xpos-index encoder.0.phase-Z
net Xpos-phase-a <= parport.0.pin-10-in
net Xpos-index <= parport.0.pin-11-in

# описываем ШИМ через pwmgen и PID
loadrt pwmgen output_type=0
addf pwmgen.make-pulses base-thread
addf pwmgen.update servo-thread

loadrt at_pid num_chan=1 debug=1
addf pid.0.do-pid-calcs servo-thread

net Xvel-cmd <= pid.0.out => pwmgen.0.value
net Xpos-fb <= encoder.0.position => pid.0.feedback
net Xpos-fb axis.0.motor-pos-fb
net Xpos-cmd <= axis.0.motor-pos-cmd => pid.0.command
net Xpos-pwm <= pwmgen.0.pwm => parport.0.pin-01-out

net Xenable <= axis.0.amp-enable-out => pid.0.enable
net Xenable => pwm.0.enable
net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in

# задаем значения параметров для PID
setp pid.0.Pgain [AXIS_0]P
setp pid.0.Igain [AXIS_0]I
setp pid.0.Dgain [AXIS_0]D
setp pid.0.bias [AXIS_0]BIAS
setp pid.0.FF0 [AXIS_0]FF0
setp pid.0.FF1 [AXIS_0]FF1
setp pid.0.FF2 [AXIS_0]FF2
setp pid.0.deadband [AXIS_0]DEADBAND


addf motion-command-handler servo-thread
addf motion-controller servo-thread


net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Аватара пользователя
ubey_bobra
Кандидат
Сообщения: 75
Зарегистрирован: 21 ноя 2010, 21:56
Репутация: 0
Откуда: г. Сосновый Бор Ленинградская обл.
Контактная информация:

Re: EMC2 и гидропривод

Сообщение ubey_bobra »

вот по этим строкам:

net Xpos-phase-a encoder.0.phase-A
net Xpos-phase-b encoder.0.phase-B
net Xpos-index encoder.0.phase-Z
net Xpos-phase-a <= parport.0.pin-10-in
net Xpos-index <= parport.0.pin-11-in

у меня на энкодере нет фазы З, если правильно понимаю то вот так будет выглядеть:


net Xpos-phase-a encoder.0.phase-A
net Xpos-phase-b encoder.0.phase-B
net Xpos-index encoder.0.phase-Z
net Xpos-phase-a <= parport.0.pin-10-in
net Xpos-phase-b <= parport.0.pin-11-in

а вот если зед не обьявлена ни на какой пин страшного ни чего не будет?
p.s. Все гениальное просто, тогда когда оно известно и популярно. А в свое время людей жгли на костре, за то что они утверждали что земля круглая.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и гидропривод

Сообщение Nick »

По идее не страшно. На сколько я понял фаза Z нужна для обнуления счетчика и поиска нулей станка.
Вот схема энкодера из руководства по EMC2:
Вложения
схема энкодера документация EMC2 .png (4225 просмотров) <a class='original' href='./download/file.php?id=1187&sid=c86217537a1f777358e1d5b737b8f836&mode=view' target=_blank>Загрузить оригинал (27.79 КБ)</a>
Аватара пользователя
ubey_bobra
Кандидат
Сообщения: 75
Зарегистрирован: 21 ноя 2010, 21:56
Репутация: 0
Откуда: г. Сосновый Бор Ленинградская обл.
Контактная информация:

Re: EMC2 и гидропривод

Сообщение ubey_bobra »

где бы посмотреть драйверы устройств типо mesa 7i43 или плуто подобных(они же вроде тоже поддерживаются)
то есть нужен конкретно кусок программного кода который позволяет емс общаться с карточкой которая висит на параллельном порту. просто я так понимаю что в хале, я назначаю пины устройства(той самой карты), а мне вот хочеться посмотреть что там емс отсылает в карту, что карта делает с принятым, и как в итоге получается на выходе шим)))
p.s. Все гениальное просто, тогда когда оно известно и популярно. А в свое время людей жгли на костре, за то что они утверждали что земля круглая.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и гидропривод

Сообщение Nick »

Это просто, все эти вещи описываются в компонентах hal в исходных кодах.

http://git.linuxcnc.org/gitweb?p=emc2.git;a=summary

./emc2-2.4.4/src/hal/drivers/
Аватара пользователя
ubey_bobra
Кандидат
Сообщения: 75
Зарегистрирован: 21 ноя 2010, 21:56
Репутация: 0
Откуда: г. Сосновый Бор Ленинградская обл.
Контактная информация:

Re: EMC2 и гидропривод

Сообщение ubey_bobra »

а это ссылка:
это я так понимаю в открытом виде народ выкладывает правленные исходники?

а здесь
./emc2-2.4.4/src/hal/drivers/
я так понимаю предлагаешь искать компоненты хал?
p.s. Все гениальное просто, тогда когда оно известно и популярно. А в свое время людей жгли на костре, за то что они утверждали что земля круглая.
psha
Опытный
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Контактная информация:

Re: EMC2 и гидропривод

Сообщение psha »

Это официальный репозиторий с исходниками EMC2.
То что народ для себя делает равномерно размазно по интернету :)
root, доделай конвертацию! :)
Аватара пользователя
ubey_bobra
Кандидат
Сообщения: 75
Зарегистрирован: 21 ноя 2010, 21:56
Репутация: 0
Откуда: г. Сосновый Бор Ленинградская обл.
Контактная информация:

Re: EMC2 и гидропривод

Сообщение ubey_bobra »

а подскажите как на нем искать то то что мне требуется, что то я там ни черта понять не могу...

а вот, таки разобрался))
p.s. Все гениальное просто, тогда когда оно известно и популярно. А в свое время людей жгли на костре, за то что они утверждали что земля круглая.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и гидропривод

Сообщение Nick »

Искать? Смотря что...
Есть несколько вариантов...

Я обычно качаю себе срез и потом по нему grep'ом ищу... Но, наверняка, есть способы лучше :).
Аватара пользователя
ubey_bobra
Кандидат
Сообщения: 75
Зарегистрирован: 21 ноя 2010, 21:56
Репутация: 0
Откуда: г. Сосновый Бор Ленинградская обл.
Контактная информация:

Re: EMC2 и гидропривод

Сообщение ubey_bobra »

я при помощи дерева разобрался

короче говоря понятно одно, без платы расширения в которой будут генераторы шим, счетчики энкодера, и тому подобная начинка ловить мне пока нечего... ибо весь обмен между комп и платами идет в информационном виде( конкретных сигналов не дается).
p.s. Все гениальное просто, тогда когда оно известно и популярно. А в свое время людей жгли на костре, за то что они утверждали что земля круглая.
psha
Опытный
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Контактная информация:

Re: EMC2 и гидропривод

Сообщение psha »

root писал(а):Я обычно качаю себе срез и потом по нему grep'ом ищу... Но, наверняка, есть способы лучше :).
Есть!
Можно сделать клон один раз и дальше просто его обновлять по мере надобности.
Можно сделать клон без истории (shallow copy) - это значительно уменьшит выкачиваемый объем, но для поиска по истории придется докачивать её.
root, доделай конвертацию! :)
xentaur
Опытный
Сообщения: 178
Зарегистрирован: 09 ноя 2010, 02:29
Репутация: 1
Откуда: Украина Харьков
Контактная информация:

Re: EMC2 и гидропривод

Сообщение xentaur »

ubey_bobra писал(а):я при помощи дерева разобрался

короче говоря понятно одно, без платы расширения в которой будут генераторы шим, счетчики энкодера, и тому подобная начинка ловить мне пока нечего... ибо весь обмен между комп и платами идет в информационном виде( конкретных сигналов не дается).
С энкодера идет квадратура. Их можно завести на lpt. Если частота с энкодера не будет превышать 10 кГц, то должно получится.
В качестве энкодеров можно использовать шаговики от дисководов - видел на каком-то форуме.
В платах подсчет квадратуры идет по фронту сигнала, а в случае с lpt фронт будет потерян - заменен на момент времени опроса порта.
Выход с lpt в виде PWM достаточно просто преобразовать в +-10В на операционных усилителях.

По поводу токарного станка
Главный шпиндель вращает заготовку - оси Z и С вдоль оси шпинделя, положительное направление Z от главного шпинделя
Ось X - в горизонте, положительное направление в сторону увеличения диаметров
Ось Y - (если будет) перпендикулярна плоскости XZ.
Предположим будет две параллельных оси X(чистовая) и вторую назову U(черновая)
EMC по количеству осей не ограничивает(XYZABCUVW).

А так как инструменты жестко связаны между собой и проходят по Z одинаковый путь, то такая конфигурация должна легко скушать такой код например

g0 z100 x400 u410 (подошли к торцу заготовки)
f1000
g1 z-5000 x380 u390 (точим конус)

PS может я что-то не так понял? С g2 g3 могут быть проблемы, но в линейной интерполяции не вижу особых проблем
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и гидропривод

Сообщение Nick »

А что, все правильно. Так должно сработать. Только не понятно как все это будет отображаться в Axis :).
Да, с круговой интерполяцией наверное так не выйдет, она может быть только в одной плоскости и координата U туда никак не впишется.
xentaur
Опытный
Сообщения: 178
Зарегистрирован: 09 ноя 2010, 02:29
Репутация: 1
Откуда: Украина Харьков
Контактная информация:

Re: EMC2 и гидропривод

Сообщение xentaur »

Скорее всего отображаться будет как обычно. Так как по умолчанию ось U это тот-же X только для стола, а не шпинделя. Кстати в примерах EMC видел визуализацию с моделью станка в 3D в этом случае как раз то что нужно.
Ответить

Вернуться в «LinuxCNC»