Joystick Linuxcnc для токарной станок

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
dinkata
Мастер
Сообщения: 1027
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 390
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Joystick Linuxcnc для токарной станок

Сообщение dinkata »

В продолжение и с благодарност к verser http://www.cnc-club.ru/forum/viewtopic. ... &start=200
переделал под мои взгляд подвключение Joystick Logitech Attack3 для токарной станок,делюсь кому надо и исправляйте где потребуется.
Logitech  Joystick Attack 3.jpg (2085 просмотров) <a class='original' href='./download/file.php?id=51636&sid=2eff1ad016e8e4216d3b2981e6ed0560&mode=view' target=_blank>Загрузить оригинал (24.66 КБ)</a>
вот и кнопочки :
atack3.JPG (2085 просмотров) <a class='original' href='./download/file.php?id=51637&sid=2eff1ad016e8e4216d3b2981e6ed0560&mode=view' target=_blank>Загрузить оригинал (32.52 КБ)</a>
В хал смотрим пиньй :

Код: Выделить всё

 Digital:    input.0.abs-x-is-neg
  Digital:    input.0.abs-x-is-pos

# input.0.abs-x-counts        0 < 127 > 255
                                                            Analog:     input.0.abs-x-position   ....-1< 0.00389 > 1
  Digital:    input.0.abs-y-is-neg
  Digital:    input.0.abs-y-is-pos

# input.0.abs-y-counts        0   /\
                             127 
                             255  \/
                                                            Analog:     input.0.abs-y-position
  Digital:    input.0.abs-z-is-neg /\
  Digital:    input.0.abs-z-is-pos \/

# input.0.abs-z-counts        0   /\
                             255  \/
                                                            Analog:     input.0.abs-z-position
  Digital:    input.0.btn-base
  Digital:    input.0.btn-base-not
  Digital:    input.0.btn-base2
  Digital:    input.0.btn-base2-not
  Digital:    input.0.btn-base3
  Digital:    input.0.btn-base3-not
  Digital:    input.0.btn-base4
  Digital:    input.0.btn-base4-not
  Digital:    input.0.btn-base5
  Digital:    input.0.btn-base5-not
  Digital:    input.0.btn-joystick
  Digital:    input.0.btn-joystick-not
  Digital:    input.0.btn-pinkie
  Digital:    input.0.btn-pinkie-not
  Digital:    input.0.btn-thumb
  Digital:    input.0.btn-thumb-not
  Digital:    input.0.btn-thumb2
  Digital:    input.0.btn-thumb2-not
  Digital:    input.0.btn-top
  Digital:    input.0.btn-top-not
  Digital:    input.0.btn-top2
  Digital:    input.0.btn-top2-not
Все поставил в custom_postgui.hal :

Код: Выделить всё

# Include your customized HAL commands here
# The commands in this file are run after the AXIS GUI (including PyVCP panel) starts

# sets spindle-at-speed true

loadrt and2 count=4
loadrt not count=2
loadrt comp count=4
loadrt constant count=5
loadrt conv_s32_float count=3
loadrt scale count=1
loadrt mux2 count=1

addf and2.0 servo-thread
addf and2.1 servo-thread 
addf and2.2 servo-thread
addf and2.3 servo-thread
addf not.0 servo-thread
addf not.1 servo-thread
addf mux2.0 servo-thread
addf comp.0 servo-thread
addf comp.1 servo-thread
addf comp.2 servo-thread
addf comp.3 servo-thread
addf constant.0 servo-thread
addf constant.1 servo-thread
addf constant.2 servo-thread
addf constant.3 servo-thread
addf constant.4 servo-thread
addf conv-s32-float.0 servo-thread
addf conv-s32-float.1 servo-thread
addf conv-s32-float.2 servo-thread
addf scale.0 servo-thread

setp constant.0.value  0
setp constant.1.value  255
setp constant.2.value  5
setp constant.3.value  0
setp constant.4.value  2

net estop0 halui.estop.is-activated => not.0.in => and2.0.in0
net btn11 input.0.btn-base5 => and2.0.in1 => and2.1.in1
net Rststop and2.0.out => halui.estop.reset
net estop2 not.0.out => and2.1.in0
net Setstop and2.1.out => halui.estop.activate

net machon0 halui.machine.is-on => not.1.in => and2.2.in0
net btn10 input.0.btn-base4 => and2.2.in1 => and2.3.in1
net Rstmach and2.2.out => halui.machine.off
net machon2 not.1.out => and2.3.in0
net Setmach and2.3.out => halui.machine.on

net Xconv conv-s32-float.0.in <= input.0.abs-x-counts 
net Yconv conv-s32-float.1.in <= input.0.abs-y-counts
net Zconv conv-s32-float.2.in <= input.0.abs-z-counts 

net scaleinp conv-s32-float.2.out => scale.0.in 
net scalegain constant.2.out => scale.0.gain
net scaleofs constant.3.out => scale.0.offset

net selspeed input.0.btn-joystick => mux2.0.sel
net speed1 constant.4.out   => mux2.0.in0
net speed2 scale.0.out => mux2.0.in1
net Jogspeed mux2.0.out => halui.jog-speed

net zinp conv-s32-float.0.out => comp.0.in0 => comp.1.in0
net zneg2 constant.0.out => comp.0.in1 => comp.2.in1
net zneg3 comp.0.equal => halui.jog.2.minus 
net zpos2 constant.1.out => comp.1.in1 => comp.3.in1
net zpos3 comp.1.equal => halui.jog.2.plus 

net xinp conv-s32-float.1.out => comp.2.in0 => comp.3.in0
net xneg3 comp.2.equal => halui.jog.0.minus 
net xpos3 comp.3.equal => halui.jog.0.plus 

net SpindleStart input.0.btn-pinkie => halui.spindle.start
net SpindleStop input.0.btn-base => halui.spindle.stop
net programstep  input.0.btn-top => halui.program.step
net programpause input.0.btn-top2 => halui.program.pause
net programrun input.0.btn-thumb2 => halui.program.run
net programstop input.0.btn-thumb => halui.program.stop
net manualmode input.0.btn-base2 => halui.mode.manual 
net automode input.0.btn-base3 => halui.mode.auto
Идея такая :имеем движение в соответное направление (jog ) когда ручка джойстика прижата в крайном соответно положением,
с медленая скорост setp constant.4.value 2 ,при етом с нажатием btn-joystick едем бьйстро с скорост регулируемая ( input.0.abs-z-counts )
и мащабирована в scale с setp constant.2.value 5.
При включения станка с нажатие кнопка 11 => halui.estop.reset ,второе нажатие => halui.estop.activate.
нажатие кнопка 10 => halui.machine.on;второе нажатие => halui.machine.off.
Другие кнопочки ,включение /вьйключение шпиндель ;пуск/стоп/пауза/степ УП.
Кнопки 8 и 9 вьйбираем ручной или автоматичной режим.
Тестировано на стенд,конфигурация на шаговьйе двигатели ,крутим только двигатели ,оси нет.
P.S.Чтоб появилис пиньй , в Pnc config вьйбираем работа с джойстик без назначения пинов ,а если конфиг под степ в хал добавляем:
loadusr -W hal_input -KRAL Logitech
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Joystick Linuxcnc для токарной станок

Сообщение Nick »

Интнресно, как этот джойстик будет себя чувствовать в цеху, что с ним станет от стружки?
Аватара пользователя
dinkata
Мастер
Сообщения: 1027
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 390
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: Joystick Linuxcnc для токарной станок

Сообщение dinkata »

Nick писал(а):как этот джойстик будет себя чувствовать в цеху
Там где думаю поставит станок закрьйт,завтра фото сделаю .
Другое меня волнует -чтоб кнопочки с двойное нажатие работали акуратно ,надо короткое нажатие ,прям стук по ее .
Ест наверно компонент для отстранение ето ....?
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Joystick Linuxcnc для токарной станок

Сообщение torvn77 »

dinkata писал(а): Там где думаю поставит станок закрьйт,завтра фото сделаю .
Только коробку,куда будешь складывать когда не бушь им пользоваться сделай.

И ещё,работа это не игра,поэтому хвост у джойстика будет очень сильно мешаться.
подумай о том,чтобы взять джойстик в беспроводном исполнении.
Как с помехами будет я не знаю,но у меня проводной и это очень не удобно.
Аватара пользователя
dinkata
Мастер
Сообщения: 1027
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 390
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: Joystick Linuxcnc для токарной станок

Сообщение dinkata »

Вот станок которьй начинаю модернизироват :
ST161.jpg (2012 просмотров) <a class='original' href='./download/file.php?id=51677&sid=2eff1ad016e8e4216d3b2981e6ed0560&mode=view' target=_blank>Загрузить оригинал (500.03 КБ)</a>
torvn77 писал(а):поэтому хвост у джойстика будет очень сильно мешаться.
Пока не решил окопнчательно ,но думаю поставит джойстик фиксирован ,
то ли вертикально , то ли хоризонтально ,посмотрим
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Joystick Linuxcnc для токарной станок

Сообщение torvn77 »

ИМХО джойстик лучше поставить справа от рабочей области,и пониже,чтобы удобней на рабочею зону смотреть было.
Или вообще сделать его перемещаемым,чтобы при необходимости можно было нагнуться и ловить 1/10 мм.
Аватара пользователя
dinkata
Мастер
Сообщения: 1027
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 390
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: Joystick Linuxcnc для токарной станок

Сообщение dinkata »

torvn77 писал(а): лучше поставить справа от рабочей области
а если оператор работает лучше с левая рука ? ;).Ето шутка ,конечно.
Скажите пожалуйста как лечится начальная инициализация , т.е. при включения надо пошевелит
джойстик чтоб Linuxcnc увидел его состояние.
http://www.cnc-club.ru/forum/viewtopic. ... &start=180
пост#188 verser :Попробую подправить "выход из сна" джойстика при запуске LinuxCNC.
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Joystick Linuxcnc для токарной станок

Сообщение torvn77 »

dinkata писал(а):пост#188 verser :Попробую подправить "выход из сна" джойстика при запуске LinuxCNC.
В джойстике есть ещё одна пакость,если его вынуть из станка,то компонент не загрузится и не выйдет запустить машину.
Надо бы сделать так чтобы модуль грузился не зависимо от наличия джойстика и создавал соответствующие пины.
А так же продолжал свою работу,если джойстик вынуть.

ПС.Ещё бы хорошо сделать пин при активации которого будет выскакивать окошко настройки распиновки и чувствительности джойстика.
Ну и то,чтобы эта настройка сохранялась в файле и компонент её при запуске читал.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Joystick Linuxcnc для токарной станок

Сообщение nkp »

torvn77 писал(а):если его вынуть из станка
а зачем его "вынимать"??
есть в этом "производственная" необходимость??
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Joystick Linuxcnc для токарной станок

Сообщение torvn77 »

Самоликвидация пинов джойстика это что,
а вот если случайно закрыть *vcp панель...
Ответить

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