Guia CNC Brasil - Tudo sobre CNC, Router, Laser, Torno e 3D Print
SOFTWARES => Controle => Mach 2/3 => Tópico iniciado por: matrix em 27 de Julho de 2012, 09:16
-
Olá a todos,
Tenho a seguinte questão:
Preciso de controlar a presão de ar em uma valvula proporcional, mas atravez do gcode.
Vou utilizar uma saida analogica 0/10V para controlar a valvula, mas como posso controlar a saida pelo Gcode?
Para controlar a velocidade é Fxxx, para controlar a rotação do spindle é Sxxx, alguem sabe como faço para a valvula?
Obrigado
-
Matrix, como é seu nome?
O que exatamente voce quer fazer ou melhor, o que pretende controlar com esta válvula proporcional?
-
Olá Fabio,
O meu nome é Ricardo,
Eu quero controlar a presão (esforço) de um cilindro pneumatico.
Eu estive a pensar um pouco, poderia ser algo do genero, se tool1-presão1, se tool2-presão2, e isso até ao limite de ferramentas.
Mas neste caso teria que colucar na tela do mach3 varias DRO para configurar as varias presões.
Agora como fazer isso?
Obrigado
-
Ricardo,
Olha, eu não conheço este tipo de válvulas nem como se pode acioná-las/controlá-las...
Imagino que se é só para acionar (sem ter algum sinal de resposta) bastaria ter um circuito D/A ligado no PC, e poderia usar até o comando S (de velocidade de rpm) para ter variação entre 0 e 10V e assim atuar a válvula.
Se tiver que ter um sinal de resposta aí não saberia te responder à contento - imagino que teria que ter uma placa para ler a resposta e interagir com o sistema...
-
Fábio,
A unica coisa que tem que fazer é controlar uma saida analogica.
Como pensei melhor, a solução não precisa de passar pelo Gcode (como eu disse em primeiro).
O que preciso é um script VB onde eu coloco na macropump, mais ou menos isto:
Se DRO tool é igual a 1, então coloca pega o valor da DROx e coloca na saida1.
Se DRO tool é igual a 2, então coloca pega o valor da DROx e coloca na saida1.
Se DRO tool é igual a 3, então coloca pega o valor da DROx e coloca na saida1.
e assim por diante até ao maximo de ferramentas existente na maquina.
Agora só falta fazer uma macro vb para isso.
Entendeu Fábio, eu não preciso de sinal de retorno, apenas uma saida analogica que vai variar entre 0v e10v.
Obrigado
-
Se vc contextualizar melhor o problema talvez possamos dar um pitaco ...
Que tipo de válvula será usado ? Marca, modelo ?
Pq a pressão deve ser controlada ? Vai variar durante a operação da máquina ou deve ser ajustada apenas uma vez ?
A máquina vai utilizar um spindle ?
-
Concordo com o Jorge - conhecendo melhor a válvula e conhecendo um pouco mais sobre sua aplicação talvez fique mais fácil.
Pelo que estou entendendo voce quer fazer uma seleção de ferramentas num magazine e este seria acionado pneumaticamente - é isso?
Se for usar Spindle e se for querer variar a rpm pelo programa, creio que não daria para usar a idéia que eu dei acima.
-
Olá CNCNow,
A marca da valvula penso que não é importante, de qualquer forma é, Marca pneumax serie 1700
http://www.pneumaxspa.com/ITA/Default.aspx?MOD=CTG&SEZ=2&PAG=3&CAT=470&PRD=299 (http://www.pneumaxspa.com/ITA/Default.aspx?MOD=CTG&SEZ=2&PAG=3&CAT=470&PRD=299)
A entrada dela é analogica 0/10V.
A presão varia apenas com o numero de ferramenta, cada ferramenta tem uma presão diferente.
Ela varia porque o tipo de abrasivo precisa de presão diferente a cada grão, ou seja:
Grão1= 4bar
Grão2= 4.5bar
Grão3= 3.5bar
etc.
Ela tem spindle com control de velocidade tambem.
Todas as presões tem que ser de facil configuração na tela, porque tambem depende do tipo de material.
A maquina é deste genero:
AJFigueiredo - PO1B MAC (http://www.youtube.com/watch?v=ZJCkFdA4BM4#)
Obrigado
-
Já utilzei em alguns casos uma solução que acredito atender às suas necessidades: um motor de passo acionando um potenciômetro, tratado como um eixo adicional da máquina.
É algo simples e barato, muito flexível e compatível com qualquer programa controlador, permite a utilização de Gcode convencional, dispensando o conhecimento aprofundado exigido para escrever scripts ou plugins e proporciona resolução bastante elevada.
-
Eu penso que não me especifiquei bem.
Eu tenho todo o hardware para fazer isto, saidas analogicas, interface, valvulas etc.
A unica coisa que preciso mesmo é um script que faça a leitura do numero de ferramenta, e coloque um valor
na saida analogica, e esse valor vai depender do numero da ferramenta.
Obrigado
-
Ricardo,
A idéia do Jorge é ótima - simples e funcional.
Se mesm assim voce quer usar a saída analógica, deverá usa o comando de rotação do Mach3 e uma macro que leia qual é a ferramenta atual e ajuste um valor para o comando "S"
Eu não faria um script para o "Brain" - faria uma macro simples como o exemplo abaixo:
Sub Main
Dim fer
fer=GetSelectedTool()
If fer=1 Then
Code "S100"
End If
If fer=2 Then
Code "S200"
End If
If fer=3 Then
Code "S300"
End If
If fer=4 Then
Code "S400"
End If
End Sub
O exemplo lê que ferramenta está pedida e seta "S" para um determinado valor.
-
Fábio,
Eu tenho que usar o codigo S para ajustar a velocidade do spindle, por isso não posso usar isso.
mas a ideia é mesmo essa, esse script está quase lá, só falta uma pequena coisa, que é chamar a dro.
ex:
Sub Main
Dim fer
fer=GetSelectedTool()
If fer=1 Then
Pega o valor da DRO (1)
Culoca na DRO (100
End If
If fer=2 Then
Pega o valor da DRO (2)
Culoca na DRO (100)
End If
If fer=3 Then
Pega o valor da DRO (3)
Culoca na DRO (100)
End If
If fer=4 Then
Pega o valor da DRO (4)
Culoca na DRO (100)
End If
End Sub
Existem DRO livres que podemos usar.
-
Ricardo,
Só vejo duas alternativas para resolver seu problema:
- ou usa a idéia do potenciometro como o Jorge apontou
- ou usa algum dispositivo capaz de fazer certas conversões de sinais (digital/analogico).
Para usar uma saída digital ainda terá que ter algum dispositivo que faça a conversão entre digital e analogico - e como a função é gerar tensões a partir de um trem de pulsos gerados pelo Mach3, acredito que teria que usar algo como um PLC para esta função...
-
Fábio, estava tentando dar uma espiada no site da Artsoft, mas não funfa e isto já faz tempo, semanas ... sabe qual é o prob ?
-
Vê se esse link funfa: http://www.machsupport.com/ (http://www.machsupport.com/)
-
Fabio,
Eu tenho interface com saida analogica, eu posso usar para fazer isto.
Tambem posso usar as DRO da tela do mach para configurar os valores, ok.
Esse script que escreveu, ele serve perfeitamente, só tem que colucar depois do (If fer=1 Then), ler o valor
de uma DRO e colucar dentro de uma outra, depois em faço um programinha no brains para direcçionar o valor da ultima
DRO para uma saida analogica disponivel na minha interface, e caso precise posso adicionar uma formula para acertar valores.
Estava a pensar algo do genero:
Sub Main
Dim fer
fer=GetSelectedTool()
If fer=1 Then
getOEMDRO (1301)
setOEMDRO (1300)
End If
If fer=2 Then
getOEMDRO (1302)
setOEMDRO (1300)
End If
If fer=3 Then
getOEMDRO (1303)
setOEMDRO (1300)
End If
If fer=4 Then
getOEMDRO (1304)
setOEMDRO (1300)
End If
End Sub
È claro que este não funciona porque este getOEMDRO e setOEMDRO provavelmente não estão correctos, este script pode
ser colucado na macropump, portanto vai estar sempre a ler os valores e mudando o valor DRO(1300).
Qual o script correcto para substituir o getOEMDRO e o setOEMDRO??
Ainda agora entrei na artsoft e está a funcionar.
Obrigado
-
O link não funfa aqui.
O trace route resolve o domínio www.machsupport.com (http://www.machsupport.com) com o endereço 69.64.89.93 mas este direto no navegador tb não funfa e o tracert dá como mail.machsupport.co m ...
-
Jorge,
Acabei de abrir o link (o mesmno que o alebe postou) e funfa normal...
http://www.machsupport.com/ (http://www.machsupport.com/)
-
Estranho. Aqui o endereço também abre o site da art. Normal.
Vc tá usando algum serviço de dns, tipo opendns?
-
Eu tenho interface com saida analogica, eu posso usar para fazer isto.
Ok, mas esta saída analogica não será usada para controle da rpm?
Se tiver outra, ainda precisaria de algo que fizesse gerar pulsos para que o circuito transformasse em uma saída variável de 0 a 10v, correto?
O Mach3 não faz isso por sí só - poderia usar um CLP ...
Tambem posso usar as DRO da tela do mach para configurar os valores, ok.
Sim - é o que se espera.
Estava a pensar algo do genero:
Sub Main
Dim fer
fer=GetSelectedTool()
If fer=1 Then
getOEMDRO (1301)
setOEMDRO (1300)
End If
...
È claro que este não funciona porque este getOEMDRO e setOEMDRO provavelmente não estão correctos, este script pode
ser colucado na macropump, portanto vai estar sempre a ler os valores e mudando o valor DRO(1300).
Qual o script correcto para substituir o getOEMDRO e o setOEMDRO??
Ricardo, estes exemplos que voce usou acima são DROs de usuários.
No exemplo que eu mostrei eu usei um DRO do sistema - 824 é o DRO da ferramenta atual.
Para poder ajudar eu preciso saber o que voce quer fazer com as DROs - que valores precisa...
-
Obrigado a todos, depois de partir a cabeça e com o arranque do Fábio encontrei o que procurava,
vai ser mais ou menos isto:
Sub Main
Dim fer
fer=GetSelectedTool()
p1=getOEMDRO (1301)
p2=getOEMDRO (1302)
p3=getOEMDRO (1303)
p4=getOEMDRO (1304)
If fer=1 Then
Call SetUserDRO (1300,p1)
End If
If fer=2 Then
Call SetUserDRO (1300,p2)
End If
If fer=3 Then
Call SetUserDRO (1300,p3)
End If
If fer=4 Then
Call SetUserDRO (1300,p4)
End If
End Sub
Agora é só pegar no valor da DRO(1300) e colocar em uma saida analogica, pode ser feito facilmente
no brains, agora sempre que a ferramenta mudar tambem muda a presão, e a presão para cada
ferramenta pode ser configurada na tela do mach3 adicionando umas novas DRO com o scren4.
Fábio, tem mais de que uma saida analogica na minha interface, precisarei de uma para control de RPM, e outra
para control de presão, não vou usar um CLP, posso usar uma interface da CS-Lab Electronics do site artsoft ou usar
o PoKeys tambem do site da artsoft, este ultimo já usei uma vez e é fantastico, permite usar varias entradas e saidas analogicas, apenas não tem step/dir para control.
No exemplo que eu mostrei eu usei um DRO do sistema - 824 é o DRO da ferramenta atual.
Sim é verdade e está correcto, mas alem dos DRO do sistema (que tambem é preciso para ler o nº da ferramenta) em posso configurar algumas DRO digamos, personalizadas, então 1300/1301/1032/1303/1034 são DRO que eu configurei na tela mach3.
Obrigado.
-
Matrix,poste fotos depois para nós vermos como ficou o projeto e a tela,achei legal o tema.
Grato,Reginaldo
-
RGG,
Este meu projecto ainda está em fase de analizar compatibilidades em hardware e software, para
saber até onde posso ir, e como posso ir, por isso é que estou coletando ideias.
Pode pareçer um pouco estranho os metodos que pretendo utilizar, sei que não precisaria de todo este aparato se esse control
de presão fosse feito de outra forma, mas, temos que perçeber que as pessoas que trabalham com esta maquinas, na
maior parte dos casos não tem muita formação em cnc, então, temos que colucar tudo na mãozinha para facilitar o dia a dia deles, mesmo que para isso o nosso dia a dia fique um pouco mais complicado.
Posso te dar um preview da tela, está meio feito á pressa, mas a ideia será essa mesmo, assim todas as presões ficam
na tela e podem ser alteradas a qualquer momento,
Obrigado
-
O link não funfa aqui.
O trace route resolve o domínio www.machsupport.com (http://www.machsupport.com) com o endereço 69.64.89.93 mas este direto no navegador tb não funfa e o tracert dá como mail.machsupport.co m ...
Jorge,
Tenta um flushdns "ipconfig /flushdns".
Abraços,
Mario Gribel
-
RGG,
Tive um pouco de tempo e começei a fazer as telas para o mach3, como você pediu, posto aqui um pequeno review
como está ficando.
Ainda está no inicio, mas a ideia é ficar assim simples mesmo.