Autor Tópico: Joystick para CNC  (Lida 40781 vezes)

Description:

0 Membros e 2 Visitantes estão vendo este tópico.

Offline _André_

  • Novato
  • *
  • Posts: 1
  • Sexo: Masculino
  • GUIA CNC
Re:Joystick para CNC
« Resposta #120 Online: 06 de Março de 2012, 19:08 »
Olá a todos!

Estou montando uma máquina de dois eixos (X e Y) e vou controla-los manualmente. No esquema anexo, basicamente o circuito da cnc3ax, porém com os eixos X e Y, e um oscilador para movimentar os motores sem a utilização do PC.

Gostaria de saber como adaptar um joystick postado acima. Lendo o tópico, vi o circuito postado http://www.guiacnc.com.br/index.php?action=dlattach;topic=742.0;attach=5528;image mas confesso que não entendi.

Abraço a todos

Offline Vitor Scatena

  • Novato
  • *
  • Posts: 60
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Sorocaba - SP
  • Nome:: Vitor Scatena
  • Profissão: Empresário
Re:Joystick para CNC
« Resposta #121 Online: 23 de Janeiro de 2013, 22:47 »
Boa noite galera.
Não consigo instalar de jeito nenhum o joystick, já fiz umas 30 tentativas e nada.
Conforme o tutorial do Evangelion que o Denilson postou algumas paginas atras.
Fiz todas as alterações conforme o tutorial, mais quando chego no passo n. 6 tenho problema. Quando abro um terminal e digito "halrun" e depois "halcmd: loadusr hal_joystick -d /dev/input/js0 -p joypad" dá como diretório nao encontrado.
Tento abrir o emc ele não abre e aparece uma tela com um monte de erros.
Minha versão do emc é 2.5.1, não sei te tem algo a ver.
Outra coisa entre as várias tentativas que fiz, foi localizar o arquivo js0. observei que o meu nao abre nada, parece estar em branco. é assim mesmo?

valeu

Offline denilsonmanzano

  • Hobby
  • ****
  • Posts: 861
  • Sexo: Masculino
Re:Joystick para CNC
« Resposta #122 Online: 23 de Janeiro de 2013, 23:30 »
è devido a versão...
tenta ai

Comando para pegar o nome do Joystick no Final do Arquivo
 
less /proc/bus/input/devices - (USB Gamepad - foi o nome encontrado no comando less /proc/bus/input/devices)


loadusr -W hal_input -KRAL USB Gamepad


 Testar Joystick

halrun
loadusr -W hal_input -KRAL USB Gamepad
loadusr halmeter


Link com explicações

http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?action=browse&diff=1&id=A_New_Approach_For_Using_Joypads_With_EMC2

abraço...
Denilson..

Offline Vitor Scatena

  • Novato
  • *
  • Posts: 60
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Sorocaba - SP
  • Nome:: Vitor Scatena
  • Profissão: Empresário
Re:Joystick para CNC
« Resposta #123 Online: 24 de Janeiro de 2013, 00:12 »
Valeu Denilson.

vou tentar mais algumas vezes amanha...rsss

abraço

Offline Vitor Scatena

  • Novato
  • *
  • Posts: 60
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Sorocaba - SP
  • Nome:: Vitor Scatena
  • Profissão: Empresário
Re:Joystick para CNC
« Resposta #124 Online: 24 de Janeiro de 2013, 12:48 »
Denilson, devo ser muito burro pois ainda nao consegui configurar o joy...rsssss

Bom...

Fiz novamente copnforme o tutorial, só mudei o arquivo panel.xml para panel_v3.xml;

achei o nome do meu joy e fiz o procedimento acima.

6 passo - ok - aparece a config e o joy está funcionando mais............... ......

Quando vou abrir o emc aparece a tela com os erros..... :'(

Devo estar passando por alguma coisa ou alguma config deve estar diferente. já estou enlouquecendo..rsss

Abraço

Offline Alebe

  • CNCMASTER
  • ******
  • Posts: 3688
  • Sexo: Masculino
  • Cidade - UF: São Paulo - SP
Re:Joystick para CNC
« Resposta #125 Online: 24 de Janeiro de 2013, 16:04 »
Qual é o erro informado? (Na tela de erro, copie somente o que esta no parágrafo "Debug file information:")

Offline denilsonmanzano

  • Hobby
  • ****
  • Posts: 861
  • Sexo: Masculino
Re:Joystick para CNC
« Resposta #126 Online: 24 de Janeiro de 2013, 23:02 »
Eu não entendi o porque trocou o nome do painel ....teria que trocar o arquivo do joy...
faça o seguinte teste ... coloque o # antes da chamada do joy e ve se o programa inicia ...

Offline Vitor Scatena

  • Novato
  • *
  • Posts: 60
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Sorocaba - SP
  • Nome:: Vitor Scatena
  • Profissão: Empresário
Re:Joystick para CNC
« Resposta #127 Online: 25 de Janeiro de 2013, 13:15 »
Segue o erro Alebe.

Denilson, realmente o arquivo que mudei foi o do joy mesmo e não do panel como escrivi anteriormente.

Obrigado

Offline Alebe

  • CNCMASTER
  • ******
  • Posts: 3688
  • Sexo: Masculino
  • Cidade - UF: São Paulo - SP
Re:Joystick para CNC
« Resposta #128 Online: 26 de Janeiro de 2013, 15:01 »
Vitor,
O erro indica problemas no arquivo joypad_v3.hal.

Tem como postar ele para darmos uma olhada?
Como ele é pequeno,  pode copiar o conteudo dele na mensagem.

E aproveite e compacte (zip) toda a pasta de sua configuração e poste, que eu testo aqui no meu pc.

Offline Vitor Scatena

  • Novato
  • *
  • Posts: 60
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Sorocaba - SP
  • Nome:: Vitor Scatena
  • Profissão: Empresário
Re:Joystick para CNC
« Resposta #129 Online: 27 de Janeiro de 2013, 10:11 »
dá uma olhada Alebe

#    Hal configuration file to move a cnc machine using a joypad using joyhandle component

#    Copyright 2008 Paul Willutzki <paul[at]willutzki[dot]de>

#    Licence: GPL

#    Version 3

#    This Hal-File needs the joyhandle component.
#    This uses the following formula for a non linear joypad movements:
#    y = (scale * (a*x^power + b*x)) + offset 
#
#    The parameters a and b are adjusted in such a way, that the function starts at (deadband,offset) and ends at (1,scale+offset).
#    Negative values will be treated point symetrically to origin. Values -deadband < x < +deadband will be set to zero.
#    Values x > 1 and x < -1 will be skipped to +-scale+offset. Negative scale values invert the movement.
#    With power one can adjust the nonlinearity (default = 2).
#    Default for deadband is 0.
#    Valid values are: power >= 1.0 (reasonable values are 1.x .. 4-5), 0 <= deadband < 0.99 (reasonable 0.1). If you use high deadbands (>0.5) you need higher power values to smoothly start at (deadband,offset).
#    The additional offset component can be set in special cases (default = 0).
#    All values can be adjusted for each instance (joypad axis) separately.

#    Please take also a look at the manpages for johandle.

#    Insert the following lines in the INI-File (section [HAL])
#    HALUI = halui
#    HALFILE = joypad_V3.hal

#    Explicações dos Botões e Comando
#    http://wiki.linuxcnc.org/emcinfo.pl?Using_A_Joypad_To_J og_And_Control_Spin dle_Speeds

# Load the hal_input component that creates pins for axes and buttons
# See man hal_input for details and finding input devices
loadusr -W hal_input -KRAL USB

loadrt or2 count=2
loadrt mux4 count=1
addf or2.0 servo-thread
addf or2.1 servo-thread
addf mux4.0 servo-thread
 

setp mux4.0.in0 4000 # this one must be 0 to prevent motion unless a button is pressed
setp mux4.0.in1 500
setp mux4.0.in2 1500
 
net remote-speed-slow or2.0.in0 input.0.btn-top2
net remote-speed-medium or2.1.in0 input.0.btn-base
 
net joy-speed-1 mux4.0.sel0 <= or2.0.out
net joy-speed-2 mux4.0.sel1 <= or2.1.out
net joy-speed-final halui.jog-speed <= mux4.0.out
 
net joy-x-jog halui.jog.0.analog <= input.0.abs-x-position

loadrt sum2 count=2 # 1 for each axis you need to reverse, also check to make sure you don't all ready have sum2 loaded
addf sum2.0 servo-thread # in my case I needed to reverse the Y and Z axis
addf sum2.1 servo-thread

setp sum2.0.gain0 -1
net reverse-y sum2.0.in0 <= input.0.abs-y-position
net joy-y-jog halui.jog.1.analog <= sum2.0.out

setp sum2.1.gain0 -1
net reverse-z sum2.1.in0 <= input.0.abs-rx-position
net joy-z-jog halui.jog.2.analog <= sum2.1.out

 
# [BUTTON-SAMPLES] use your own joypad pin-names
#One button sample
#net spindleOff input.0.btn-base3 => halui.spindle.stop
#net spindleOn input.0.btn-base4 => halui.spindle.start

net remote-home-all halui.mdi-command-04 <= input.0.btn-trigger
net remote-tool-home halui.mdi-command-05 <= input.0.btn-thumb
net remote-zero-all halui.mdi-command-00 <= input.0.btn-thumb2
net remote-tool-change halui.mdi-command-06 <= input.0.btn-top
net remote-resume halui.program.resum e <= input.0.btn-pinkie
net remote-stop halui.program.pause <= input.0.btn-base2
net remote-tool-autozero halui.mdi-command-08 <= input.0.btn-base3
net remote-start halui.program.run halui.mode.auto <= input.0.btn-base4


Obrigado pela ajuda Alebe.
Gostaria tb de agradecer a ajuda de todos do forum.

Valeu

Offline Alebe

  • CNCMASTER
  • ******
  • Posts: 3688
  • Sexo: Masculino
  • Cidade - UF: São Paulo - SP
Re:Joystick para CNC
« Resposta #130 Online: 27 de Janeiro de 2013, 14:50 »
Vitor,
Renomeie sua configuração anterior com outro nome, e use esta anexada.
Veja se agora funfa e se está tudo do jeito que configurou (velocidades, tamanhos, etc.)
De brinde vai algumas perfumarias: tempo de usinagem, rpm do spindle... hehehe

Só lembro que agora não pode mais usar o assistente para modificar ou acrescentar nada nesta configuração, pois ele apagará todas as mudanças feitas.

Offline Vitor Scatena

  • Novato
  • *
  • Posts: 60
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Sorocaba - SP
  • Nome:: Vitor Scatena
  • Profissão: Empresário
Re:Joystick para CNC
« Resposta #131 Online: 27 de Janeiro de 2013, 16:08 »
Vc é o cara Alebe...rssss
Estou indo agora testar

Abraço e muito obrigado mais uma vez pela atenção e pelas informações...


Offline denilsonmanzano

  • Hobby
  • ****
  • Posts: 861
  • Sexo: Masculino
Re:Joystick para CNC
« Resposta #132 Online: 27 de Janeiro de 2013, 21:05 »
Grande Alebe...sempre disposto...sou muito grato a vc...sempre foi um dos primeiros a ajudar a galera ...

Grande abraço..com muita gratidão... ;)

Offline Alebe

  • CNCMASTER
  • ******
  • Posts: 3688
  • Sexo: Masculino
  • Cidade - UF: São Paulo - SP
Re:Joystick para CNC
« Resposta #133 Online: 27 de Janeiro de 2013, 23:49 »
Vitor,
Não deixe de reportar se funfou ou não.


Denilson,
Não faço nada a mais do que já fizeram por mim. Mesmo assim, obrigado pelas palavras.
Abraço

Offline Vitor Scatena

  • Novato
  • *
  • Posts: 60
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Sorocaba - SP
  • Nome:: Vitor Scatena
  • Profissão: Empresário
Re:Joystick para CNC
« Resposta #134 Online: 28 de Janeiro de 2013, 13:28 »
Grande Alebe, o trein funfou aqui.... wooohooooooooo!!!!!
As "perfumarias" ficaram excelentes.... do jeito que eu queria...rsss

Primeiramente gostaria de agradecer sua atenção e toda sua paciencia. Sou muito grato.
Espero poder retribuir um dia a vc e a todos do forum tb.
Sou iniciante neste mundo maravilhoso o qual sempre fui apaixonado mais tenho um longa jornada ainda, jornada a qual nunca se acaba.

Bom, vamos lá....

Na minha maq. eu utilizo o home apenas para referenciar a maq.(zero maquina) Assim consigo atribuir um valor especifico aos eixos, evitando entao o temido fim de curso.

Para as peças utilizo o G54, G55, etc.

Por ex.

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 80.75001292
MAX_ACCELERATION = 500.0
STEPGEN_MAXACCEL = 625.0
SCALE = 224.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 607.0

HOME_OFFSET = 0.0


Com isso fiz algumas mudanças no arquivo .ini
#mdi-command-04 move a ferramenta para o zero peça em todos os eixos
MDI_COMMAND = G54G0 X0Y0Z0
#mdi-command-01 move o eixo de x para a posição zero home
MDI_COMMAND = G53G0 X0
#mdi-command-02 move o eixo de y para a posição zero home
MDI_COMMAND = G53G0 Y0
#mdi-command-03 move o eixo de z para a posição zero home
MDI_COMMAND = G53G0 Z0
#mdi-command-00 envia os eixos para suas posições de home
MDI_COMMAND = G28
#mdi-command-05 coloca os eicos x e y em zero e move o eixo de z para 10 mm acima do zero
MDI_COMMAND = G54G0 X0Y0Z-10
#mdi-command-06 coloca os eixos na posição que eu escolhi para troca de ferramenta
MDI_COMMAND = G53G0 X500Y350Z0
#mdi-command-07 move a minha máquina para a posição de limite máximo maquina
MDI_COMMAND = G53G0 X-607.0 Y-610.0

outra coisa,
para funcionar aquele arquivo que vc me mandou precisei apenas apagar  "input.0.btn-trigger" da  linha: net remote-home-all halui.mdi-command-04 <= input.0.btn-trigger

Agora estou tentando mudar algumas config de alguns botões, mais ainda sem sucesso... :'(

Ex.
o botão 1 atribuir comando #mdi-command-02 move o eixo de y para a posição zero home (MDI_COMMAND = G53G0 Y0)

o botão 4 atibuir o comando  #mdi-command-01 move o eixo de x para a posição zero home (MDI_COMMAND = G53G0 X0)

etc.

outra coisa que não consegui é usar o botão SELECT do joy para mudar o incremental (continuo, 5mm, 1mm, ...) ou algum outro botao para usar esta opção.

Segue meus arquivos em anexo

Valeu mais uma vez Alebe.

Abraço

 

/** * */