Autor Tópico: Controlar um eixo (motor) independentemente dos eixos utilizados na movimentação  (Lida 2140 vezes)

Description:

0 Membros e 1 Visitante estão vendo este tópico.

Offline gazequipamentos

  • Fuso
  • **
  • Posts: 140
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Itapema - SC
  • Nome:: Gaz Equipamentos
  • Profissão: Designer
Boa noite pessoal.
Eu estou com uma grande dúvida.
Na minha máquina eu travalho apenas com dois eixos, X e Y. Porém, eu gostaria de acionar um terceiro motor.
Esse motor aciona uma bomba, então digamos que independentemente dos eixos coordenados para fazer o "desenho", eu preciso movimentar esse motor 720 graus no sentido horario, e 720 no anti horario, continuamente.
Teria como fazer um macro, um botão, ou algo que acione esse motor dessa forma, enquanto a máquina trabalha normalmente?
Obrigado!

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Se este eixo rotativo tiver que ser sincronizado com os movimentos de X e Y, o jeito é criar um arquivo onde em cada linha de comando esteja indicado o que deve fazer.

Nunca fiz isso, mas imagino o seguinte quadro:
Velocidades de Movimentos lineares serão expressas em mm/min e em movimentos circulares seriam expressas em graus/min, então talvez seja simples:
Exemplo (partindo de X0 Y0 e A0) = G1 X100 Y100 A100 F500 faria com que todos os movimentos terminassem juntos, pois o eixo mais lento é quem manda na velocidade

Offline gazequipamentos

  • Fuso
  • **
  • Posts: 140
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Itapema - SC
  • Nome:: Gaz Equipamentos
  • Profissão: Designer
Fabio,
Muito obrigado pelo retorno.
Mas a idéia é que o movimento seja independente de x e y.
Enquanto o x e o y fazem seu caminho, seja ele interpolando ou não, eu gostaria que o A se movimentasse independentemente, sem ser sincronizado com os outros dois... Você conhece alguma maneira no Mach? ou somente com controlador externo?
Obrigado

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Talvez seja melhor com um controlador externo, pois não é nada seguro tentar fazer isso através de macro ou de "brain" no Mach3

Offline matrix

  • Fuso
  • **
  • Posts: 218
  • O segredo é não desistir.
  • Cidade - UF: Barcelos
Assim sem muita pesquisa consigo ver uma forma de fazer isso, em vez de configurar esse terceiro eixo de A, configura como Z, e pode usar o controle de THC, e talvez possa fazer o controle na macropump ou no brains, é uma ideia.




Aproveito este tópico para fazer uma questão ao Fábio, eu preciso de usar o control THC também,
Mas preciso de acionar uma macro dentro da macropump sem que esta pare de correr, dentro
Da macropump preciso de colocar ex:M500, e dentro da macro M500 faria então o programa para controlar o THC.


Só tem um pormenor, a macro M500 tem que correr ao mesmo tempo que o gcode (enquanto a máquina trabalha).




É possível? Haverá algum outro problema?

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderador
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Boa noite pessoal.
Eu estou com uma grande dúvida.
Na minha máquina eu travalho apenas com dois eixos, X e Y. Porém, eu gostaria de acionar um terceiro motor.
Esse motor aciona uma bomba, então digamos que independentemente dos eixos coordenados para fazer o "desenho", eu preciso movimentar esse motor 720 graus no sentido horario, e 720 no anti horario, continuamente.
Teria como fazer um macro, um botão, ou algo que acione esse motor dessa forma, enquanto a máquina trabalha normalmente?
Obrigado!

Não sei se entendi, você deseja comandar um movimento de rotação como seu terceiro eixo? E esse eixo precisa se mover (girar) entre + e - 720 graus ou numa fração? Qual a velocidade? O acionamento é do tipo anda e para? Se assim for, já pensou em usar um motor de passo? É possível comandar o mesmo independemente dos eixos x e y. Quando mover o z (ou outro nome), os sinais de passo e sentido farão mover seu eixo independente. 

Evidentemente, que há inúmeras outras possibilidades mais complexas, com controlador independente (exemplo: Arduino, PC, CLP, DSP, Raspberry, eletrônica de projeto específico, ...) para mover o eixo rotativo. Mas, a simplicidade é uma virtude, a simplicidade bem aplicada é sempre a primeira opção.
« Última modificação: 12 de Junho de 2017, 23:35 por minilathe »

Offline matrix

  • Fuso
  • **
  • Posts: 218
  • O segredo é não desistir.
  • Cidade - UF: Barcelos





Já fiz o teste, funciona desde que o Gcode esteja parado, se estiver a correr não funciona,


Uma forma de funcionar é , criar um botão com o script pretendido, este funciona mesmo com o Gcode em funcionamento, mas agora
preciso de accionar este botão com a macropump, como é um botão de user não consigo chamar com o VB.


Já tentei ex:


douserbutton(1500)


alguém sabe qual o código para accionar botões de user??

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Gil,

Pelo que eu entendí, o colega Gazequipamentos precisa que um eixo fique continuamente oscilando à direita e esquerda - duas voltas para cada lado sem parar, e ao mesmo tempo que possa usar os movimentos em X e Y independentes ou não (interpolados ou não).

Creio ainda que o melhor seria usar um comando independente que faça estes giros, e eu tentaria disparar os movimentos de X e Y talvez usando por exemplo um sinal de índice gerado por um sensor no eixo...

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Matrix,

O Mach3 tem implementado já no seu "core" o controle de THC - funciona de forma simples e eficiente...

Regra de Ouro: - NUNCA use uma macropump para controle de movimento (de qualquer eixo)

Uma macropump roda qualquer comando em VBscript válido (para o Mach3) cerca de 40x por segundo continuamente (com uma parada de 1/10 de segundo a cada ciclo), MAS é bem complicado (e muitas vezes errado) tentar fazer controle de eixos dentro de macros, ainda mais de forma independente dentro do Mach3...

Controle de THC é dinâmico e sempre atrelado ao que a máquina está fazendo - se está cortando muito que bem, mas se está parada (sem o sinal de "arco OK" presente) vai ter problemas...

A não ser que você queira tentar refinar um pouco o funcionamento do comportamento do Mach3 - por exemplo quando um corte é interrompido por algum motivo e a tocha se apaga.

Neste caso talvez uma macropump possa por exemplo fazer o disparo da tocha na tentativa de retomar o corte, e se falhar com 3 tentativas para tudo e dá uma mensagem qualquer ao operador... mas isso é o máximo de controle automático que poderá usar numa macropump...

Offline matrix

  • Fuso
  • **
  • Posts: 218
  • O segredo é não desistir.
  • Cidade - UF: Barcelos
Matrix,

O Mach3 tem implementado já no seu "core" o controle de THC - funciona de forma simples e eficiente...

Regra de Ouro: - NUNCA use uma macropump para controle de movimento (de qualquer eixo)

Uma macropump roda qualquer comando em VBscript válido (para o Mach3) cerca de 40x por segundo continuamente (com uma parada de 1/10 de segundo a cada ciclo), MAS é bem complicado (e muitas vezes errado) tentar fazer controle de eixos dentro de macros, ainda mais de forma independente dentro do Mach3...

Controle de THC é dinâmico e sempre atrelado ao que a máquina está fazendo - se está cortando muito que bem, mas se está parada (sem o sinal de "arco OK" presente) vai ter problemas...

A não ser que você queira tentar refinar um pouco o funcionamento do comportamento do Mach3 - por exemplo quando um corte é interrompido por algum motivo e a tocha se apaga.

Neste caso talvez uma macropump possa por exemplo fazer o disparo da tocha na tentativa de retomar o corte, e se falhar com 3 tentativas para tudo e dá uma mensagem qualquer ao operador... mas isso é o máximo de controle automático que poderá usar numa macropump...




Obrigado Fabio,


O que quero fazer é usar a função já existente no mach3 de THC, o objectivo é exactamente o mesmo, ajustar o eixo Z durante o movimento.


A questão é que tenho que fazer um script que faça a leitura de X em X tempo, tipo este





Tenho que usar um cilindro com duas inputs, uma verifica de o cilindro está posicionado e a outra verifica se se o eixo tem que subir ou descer (THC).




Não posso colocar dentro da macropump porque esta não pode parar ( já tem outras funcões a correr).


Já testei fazer um botão com o script dentro, e funciona lindamente, agora com algumas condições apenas chamo esse botão, o problema é que não encontro codigo VB para chamar
esse botão.




Consegue lembrar alguma forma de chamar um user button?? 






Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
DoOEMButton (xxx)

Offline matrix

  • Fuso
  • **
  • Posts: 218
  • O segredo é não desistir.
  • Cidade - UF: Barcelos
DoOEMButton (xxx)




Já tentei, não funciona porque o botão executa um script...

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Provavelmente porque está chamando uma macro dentro de outra macro...

Offline matrix

  • Fuso
  • **
  • Posts: 218
  • O segredo é não desistir.
  • Cidade - UF: Barcelos
Provavelmente porque está chamando uma macro dentro de outra macro...




Fábio, neste momento tenho um botão no screen configurado para script ( com o Script), e estou a usar o editor de VB directamente para testar o botão.


Como pode ver no anexo.


Neste caso não estou a chamar uma macro, estou a chamar um botão.








Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
creio que é o que eu acabei de dizer - tentativa de rodar uma macro de dentro de outra macro... que eu saiba não dá certo

 

/** * */