Guia CNC Brasil - Tudo sobre CNC, Router, Laser, Torno e 3D Print
SOFTWARES => Controle => Mach 2/3 => Tópico iniciado por: matrix em 11 de Dezembro de 2009, 08:27
-
Ola,
Eu já postei alguns tópicos com este tema mas como a função do VB é diferente
achei que deveria abrir outro tópico, se achar que não é conveniente por favor mover.
Então é assim, eu pretendia criar uma macro para fazer um movimento continuo do eixo Z isto enquanto corre um código G.
Por Ex: quando o comando m500 for activado o eixo Z começa a fazer um movimento da posição onde se encontra ex: se o Z estiver na posição 250 e o movimento de oscilante for de 100mm
a maquina tem que oscilar entre 200 e 300 a uma velocidade predefinida Ex: G0 ou F1000.
Este movimento é feito enquanto corre um código G feito em X/Y os movimentos são independentes e as velocidades também,a velocidade do Z é fixa enquanto a do X/Y pode variar com o decorrer do trabalho , não sei se é possível fazer isto.
Sei que o nosso amigo Robinho é barra em Vb espero que possa ajudar.
Obrigado
-
buenas.. valeu ae cara.. Espero mesmo poder ajudar...
Inicialmente eu achei que era fácil... bastava uma macropump sendo ativada que fizesse o movimento oscilante. Mas desse modo, usando "Code", ele executa um movimento em Z, e uma linha de código, mais um movimento em Z e assim por diante. Tentei de várias formas e decidi que por movimentação convencional não funcionaria. Enquanto o Mach está rodando um programa, tudo que tem a ver com movimento pára. Exceto uma: o THC.
Bom.. Basicamente usa-se a mesma teoria inicial. Uma macro que ativa a macropump e uma macro que desativa a macropump. Sendo a macropump, quem de fato faz o movimento oscilante, já que ficamos preso em um laço por tempo indeterminado.
Tentei fazer do modo mais vantajoso, em que apenas emulava as entradas Up Down do THC e usava "SendKeys" pra gerar a emulação. Funciona, mas é impossível (pelo menos pra mim) manter uma velocidade uniforme.
Então restou a pior de todas as opções: Usar 2 entradas e 2 saídas pra fazer o sistema funcionar. As entradas são o THCdown e THCup. E as saídas são ligas nessas duas entradas.
Teremos uma DRO pra ajustar a velocidade do movimento e outra pra ajustar a amplitude do movimento. São elas 1000 e 1001 , respectivamente. Então é bom tê-las na tela.
Usa-se ainda uma DRO 1002 e um LED 1201. Mas não precisa ter na tela, pois é
só para uso interno. Mas esteja certo de não usar essas duas em outras funções.
A Macro M1000 ativa o sistema e a macro M1001, desativa.
Em configurações gerais, é necessário estar ativada a opção "Executar Macro Pump"
Em anexo, estão as 3 macros que devem estar na devda pasta do Mach.
Se alguém tiver alguma dúvida, posta aí.
Abraço
PS: Todos os testes foram feitos no Mach3 V2.3
-
Obrigadão Robinho,
Eu vou testar a sua macro e depois posto.
Agradeçido
-
Robinho,
Peço desculpa mas não li bem a parte das entradas e saídas, como é que uso essas entradas??
Como configuro os pinos da portas? peço desculpa mas não estou a entender bem.
Na tua macro de macropump.m1s no inicio tem codigo para output1 e output2, e eu já tenho
essas saidas configuradas.
Obrigado
-
Sobre Output1 e Output2, você pode trocar na macro por outras que não estão sendo usadas.
Sobre as entradas, existe dois tipos específicos de entradas para o THC (Torch Height Control), são elas THC Up e THC Down. Configure como entradas normais e deixe-as conectadas nas duas saídas mencionadas anteriormente.
Enquanto THC Up estiver em nível lógico alto, o Z fica subindo. O mesmo acontece na descida com o THC Down. As velocidades e limites estão pré-definidos nas macros, então nao precisa se preocupar com isso.
Para que esse THC funcione, você precisa habilitar uma opção em "Portas e Pinos" --> "Opções de Fresamento" --> "Permitir Controle THC Up/Down até mesmo se não em modo THC".
Acho que era isso.. continuo à disposição para eventuais dúvidas.
Abraço
-
Bom me corrija se estiver errado,
Na macro posso usar outras saídas que não estou a usar e essas saídas apenas tem de estar habilitadas
e não tem de ter nenhum pino associado, correcto.
E quanto as entradas THC, é a mesma coisa, tem de estar habilitada e tambem não tem de ter nenhum
pino associado, Correcto.
Pelo que intendo estas entradas e saidas vão ser emuladas, correcto.
Me corrija por favor,
Obrigado
-
Robinho,
Eu testei da seguinte forma,
Utilizei as duas saidas neste caso foram output19 e output20, habilitei nas configurações pin/port e configurei também os pinos de saída, depois fiz o mesmo com as duas entradas.
Depois liguei um fio da saida19 para a entrada THCup, e outro da saida20 para a entrada THCdow.
Também tenho o control THC habilitado, e o run macropump também está habilitado.
Com estas configurações não consegui que o mach3 fizesse o movimento.
Na tela do mach3 eu coloquei duas dro como referiste açima, mas não sei se estão a trabalhar porque a única opção que tenho para a configuração é o OEM, e configurei este OEM 1000 e outra com OEM 1001.
Me corrija se fiz algo errado.
Obrigado
-
Na macro posso usar outras saídas que não estou a usar e essas saídas apenas tem de estar habilitadas
e não tem de ter nenhum pino associado, correcto.
Errado. Deve haver sim um pino associado a cada saída.
E quanto as entradas THC, é a mesma coisa, tem de estar habilitada e tambem não tem de ter nenhum
pino associado, Correcto.
Errado. Deve haver sim um pino associado a cada entrada.
Pelo que intendo estas entradas e saidas vão ser emuladas, correcto.
Errado. Por emulação não deu certo. As saídas e entradas deverão ser usadas de fato.
Utilizei as duas saidas neste caso foram output19 e output20, habilitei nas configurações pin/port e configurei também os pinos de saída, depois fiz o mesmo com as duas entradas.
Correto. É isso mesmo
Depois liguei um fio da saida19 para a entrada THCup, e outro da saida20 para a entrada THCdown.
Correto. É isso mesmo
Com estas configurações não consegui que o mach3 fizesse o movimento.
Ligue cada uma das saídas separadamente e teste as entradas para certificar-se de que o sinal está chegando nas entradas.
Na tela do mach3 eu coloquei duas dro como referiste açima, mas não sei se estão a trabalhar porque a única opção que tenho para a configuração é o OEM, e configurei este OEM 1000 e outra com OEM 1001.
Correto. É isso mesmo. As macros vão ler os valores digitados nessas DRO. Se o valor delas for ZERO, não haverá movimento algum.
Testes que podem ser feitos:
1 - Testar as saídas como mencionado anteriormente.
2 - Emular as entradas THC por duas teclas do teclado (U, D, por exemplo). Ao pressionar a tecla, o eixo Z deverá se mover obrigatoriamente, pois a macropump já inicializa e configura o THC.
3 - Testar se a macropump está sendo executada inserindo o seguinte código dentro do IF inicial:
If inicio = 0 then
'... [o que ja tinha mantem]
msgbox "isso é um teste. Se aparecer essa mensagem a macropump está rodando"
End If
4 - Se nada disso funcionar, eu te mando uma tela de testes e diagnósticos.
Acho que está no caminho...
Abraço!
-
Olá Robinho,
Já fiz todos os testes, as entradas e saídas estão a funcionar, e a macropump também, mas quando eu emulo as entradas com as teclas o eixo z não faz qualquer movimento.
Existe um pormenor que pode ser importante, eu estou a usar uma interface da vitalsystmems , e ela usa um plugin proprio, não sei se é relevante.
Obrigado
-
Existe um pormenor que pode ser importante, eu estou a usar uma interface da vitalsystmems , e ela usa um plugin proprio, não sei se é relevante.
hehehe. Também não sei se é relevante. Não conheço. Fiquei curioso.
Bom, então adiciona o seguinte código no mesmo lugar da mensagem da macropump:
SetOemDro(27, 200) 'Max height torch
SetOemDro(65,-200) 'Min height torch
Adicione as DRO's de OEM 27 e 65 na tua tela, provisoriamente e certifique-se que elas sempre tenham os valores "200" e "-200", respectivamente.
-
Ok Robinho,
Eu vou fazer isso, logo digo algo.
Sobre a interface podes encontrar mais informação neste site (http://www.vitalsystem.com/web/motion/dspmc.php#Mach3)
Basicamente é uma interface que possibilita o mach3 de trabalhar com servo-motores, pode controlar até 8 servo-motores, só tenho a dizer muito bem funciona muito bem embora o plugin ainda não esteja completo.
O que te posso adiantar é que, parte da configuração é feita no plugin e não no mach3, um exemplo é que quanto quis adicionar um MPG na minha maquina a vital teve que programar a parte do MPG no plugin, você pode baixar o plugin do site e dar uma olhadela.
Logo digo algo
Obrigado
-
Robinho,
Eu já fiz o que você disse, mas também não funcionou.
Todas as DROs estão com os valores que nós definimos, penso que deveria funcionar ao pressionar a tecla
que emula.
Começo a achar que deve ser mesmo o plugin da Vital, de qualquer forma vou enviar um email para a Vital
a explicar o caso.
Aceito mais ideias.
-
Pessoal,
Eu não acompanhei de perto este assunto, mas um detalhe me chamou a atenção logo na primeira mensagem.
Fazer um movimento independente do eixo "Z" enquanto um arquivo em código-G está sendo executado.
Penso ser bem complicado usar velocidades de eixos de forma independente isto é - não tem como fazer o "Z" trabalhar continuamente numa determinada velocidade e os outros eixos em outra velocidade apenas com o interpretador (Mach3, TCNC etc), a não ser que o eixo "Z" esteja sendo controlado por outro equipamento, e aí sim, sincronizar as velocidades dele com o resto do processo (ou vice-versa).
Mesmo sabendo que é possível alterar a velocidade do eixo "Z" independentemente através das configurações para implementação de um THC, creio ser igualmente difícil quando for o momento de sincronizar os movimentos entre os eixos, pois as variações de velocidade do THC são vinculadas às velocidades de avanço geral do programa.
Talvez o caminho seja usar um CLP por exemplo que controle o "Z", pois terá pleno controle sobre o processo.
-
Olá fgilii,
Na minha empresa tem um maquina cnc que faz este movimento, mas como você disse pode ser o plc.
De qualquer maneira seria bom que o mach também o fizesse, mas se for possível isso com o mach era show de bola.
-
É... realmente simples não é. ^^
Mas conseguindo fazer isso pelo próprio Mach, economizaria uma boa grana evitando a compra de um clp.
Sem contar que deixa a máquinha mais enxuta, sem instalar mais parafernalhas do que as já tem de costume.
Não sei se deixei claro no tópico, mas eu não testei isso NA MÁQUINA! Eu testei no Mach, avaliando as DRO's e seu comportamento. O que teoricamente dá no mesmo.
Afinal... qual é a aplicação desse sistema?? Quem sabe não encontramos uma forma melhor de fazer isso conhecendo o problema de perto..
-
Como disse antes de vb percebo pouco, mas se o robinho diz que é possível é porque é mesmo.
Agora quanto á aplicação, esta função é usada na area do granito, normalmente utiliza varias ferramentas de polimento lateral, o facto de fazer este movimento é porque se for um movimento interpolado a ferramenta vai passar sempre no mesmo local, e isso vai começar a deixar marca.
Eu tentar procurar um pequeno vídeo para mostrar como é.
-
Na minha empresa tem um maquina cnc que faz este movimento, mas como você disse pode ser o plc.
De qualquer maneira seria bom que o mach também o fizesse, mas se for possível isso com o mach era show de bola.
Das duas uma - ou é um PLC ou são comandos numéricos capazes de processamento paralelo - é como se fossem duas cnc controladas independentemente e ao mesmo tempo, coisa que o Mach3 não é capaz de fazer.
-
Agora quanto á aplicação, esta função é usada na area do granito, normalmente utiliza varias ferramentas de polimento lateral, o facto de fazer este movimento é porque se for um movimento interpolado a ferramenta vai passar sempre no mesmo local, e isso vai começar a deixar marca.
Não seria mais fácil usar uma macro para gerar coordenadas randomicas e percursos aleatórios dentro de certos parâmetros? não manjo de VB mas acho que seria possivel.
Abraços.
-
Não seria mais fácil usar uma macro para gerar coordenadas randomicas e percursos aleatórios dentro de certos parâmetros? não manjo de VB mas acho que seria possivel.
Talvez, não sei, ma o que está a pensar??
-
Matrix;
Pensei numa macro em se pode imputar (pré definir) os limites de Z e para cada coordenada seqüencial de X ou de Y , Z assume um valor aleatório até os limites do parametro, também pode-se imputar quantas vezes a macro vai se repetir até finalizar o acabamento presumido.
Dessa forma dentro dos limites de Z pré estabelecido para cada posição de X ou Y, sempre existirá um valor simultâneo de Z aleatório no código G gerado pela macro. Essa macro poderá ser chamada sempre que for necessária.
Abraços.
-
Como disse Vb não é minha praia, só para exemplificar a minha idéia, veja se isso pode ajudar :
'***********************************
'** Macro for randomic CNC **
'** Experimental **
'** Random 0.01 - ECM 14/01/2010 **
'***********************************
ZZ = InputBox ("valor máximo de Z")
If ZZ > 100 Then
ZZ=100
MsgBox ("Valor Ilegal! Considerado = 100")
End If
V = InputBox ("VELOCIDADE")
If V <= 0 Then
V=1
MsgBox ("Valor Ilegal! Considerado = 1")
End If
P = InputBox ("PASSO de X ou Y")
If P < 1 Then
P=1
MsgBox ("Valor Ilegal! Considerado = 1")
End If
OpenTeachFile "write.tap"
Code "G01 X0 Y0 Z0 F"& V &" M0"
For I=0 To 1000 Step (P)
K=(Rnd())*ZZ
Y = 0
X = I
Code "G01 X"& X &"Y0 Z"& K & "F"& V
Next
Code "M30"
LoadTeachFile ()
CloseTeachFile()
Abra no editor Vb do Mach3 para rodar ou salve na pasta Macros com a extensão ".m1s"
No inicio pede o valor máximo de Z (poderia ter tb o mínimo), limitei em 100 presumindo o curso total de Z (pode ser qualquer valor)
Nesse caso eu assumi o valor máximo de X como 1000 (tb poderia ser outro valor ou imputar no inicio) e Y como "0" (poderia ser qualquer valor)
Coloquei um step para o movimento de X onde ocorre o variação randomica de Z ;
atingindo o final de X, poderia editar o código para gerar o movimento retrógrado até o inicio e tb a quantidade de ciclos desejadas.
Abraços
-
Ok,
Vou dar uma olhada, logo digo algo
Obrigado
-
Pelo video que o matrix mostrou, não é bem isso que ele quer fazer...
o movimento em Z não é aleatório, é apenas independente e de velocidade diferente.
Mas eu tive uma idéia com o código do amigo.. Fazer uma macro que calcula os pontos de intersecção dos eixos de acordo com suas respectivas velocidades..
Ex. Z com amplitude de 100 e velocidade 500 para:
X100 Y100 F1000
quer dizer que quando os eixos x e y tiverem chegado em 100,100, o eixo z deverá estar na metade do caminho pois tem a metade da velocidade. Com esses dados, podemos calcular os pontos e gerar uma linha de código correpndente. Dessa forma, ficaria assim
X100 Y100 Z50 F1000
Z50(pq tem metade da velocidade, entao no mesmo tempo, anda metade do movimento de x,y)
dai para cada linha x,y se gera um valor de Z, automaticamente, é claro..
Será que rola???? [to sem Mach aki]
-
Existe uma função de avanço por tempo inverso...
Normalmente os programas de controle de máquinas usam G94, que é avanço por tempo (mm/minuto por exemplo) ou G95, que é avanço por giro (usado em tornos) mas podem usar G93 que é Tempo inverso isto é 1/F em minutos, onde "F" é a Velocidade de Avanço..
Usando esta função, eu informo o percurso e o tempo, e o programa ajusta a velocidade automáticamente
Talvez isso ajude.
-
Pelo video que o matrix mostrou, não é bem isso que ele quer fazer...
o movimento em Z não é aleatório, é apenas independente e de velocidade diferente.
Não foi isso que eu entendi, ele não pode repetir passes nas mesmas alturas para não criar riscos no polimento.
Mas ele foi tomar um cafezinho... ;D
Vamos esperar ele voltar . ;)
Abraços.
-
ehuehueuee ;D
pois eh.. chega ae matrix!!!
Fabio... essa informação pode ajudar muito sim. Não fazia idéia que existia isso.
Vou colocar o tico e o teco pra funcionar aqui e ver o que consigo enquanto o matrix termina o café... ;)
-
Peço desculpa pessoal.
Tenho andado bastante ocupado nem tempo de ver o fórum tenho, mas vamos lá.
Pelo video que o matrix mostrou, não é bem isso que ele quer fazer...
o movimento em Z não é aleatório, é apenas independente e de velocidade diferente.
Sim está correcto.
Não foi isso que eu entendi, ele não pode repetir passes nas mesmas alturas para não criar riscos no polimento.
E sim também está correcto.
Posso dizer que as duas estão correctas, sei que se o movimento do Z e a velocidade for independente o trabalho final será muito bom, agora penso que se criar movimentos aleatórios para o eixo Z o trabalho final também será bom mas este tenho que fazer testes para confirmar, como disse antes este tipo de trabalho embora não pareça é bastante complexo.
Só ainda não fiz teste porque neste momento ando ocupado e a maquina está sempre a trabalhar e eu preciso algumas horas para fazer o teste.
Agradeço as todos a atenção, mais uma vez peço desculpa mas o café estava um pouco quente eheheh.
-
Olá pessoal,
Volto novamente á carga neste tópico, agora com mais algum tempo fiz uns testes com as macros do nosso amigo marc0martim ECM, as ideia é um pouco essa.
Embora o esse o movimento do z tenha que correr enquanto corre um codigo G, Ex:
Se fizer um corte em circulo que previamente foi gerado no cam (mas sem movimento alegórico Z ) a ideia é, ao
longo desse mesmo corte o eixo Z faça um movimento alegórico ex: z10 a z-10.
Alguém ai tem ideia?? ;D
-
é uma curva assim?
(http://www.guiacnc.com.br/w2box/data/Fabio%20Gilii/curva.PNG)
-
Sim pode-se considerar uma curva desse género, mas vale a pena frisar que o movimento alegórico Z pode tambem funcionar em linhas rectas, ou quadrados etc.
Mas o conceito é esse mesmo Fábio, enquanto percorre um percurso gerado pelo cam exercer o movimento Z alegórico continuamente até ao final do código G.
Só uma questão, não existe já uma função para fazer isto?, penso que esta funcionalidade se adapta a outras situações, ex:
cortar com uma frese no sentido lateral em que o movimento Z seja continuo de forma a facilitar e diminuir o esforço da ferramenta.
-
Desculpe, mas eu não estou conseguindo ver o que pretende com isso.
Movimentos aleatórios são tudo que não se deseja numa cnc..
-
Ok, vou tentar explicar melhor.
O movimento alegórico é apenas no eixo Z, ou posso estar a complicar um pouco quando falo em movimento alegórico.
Simplificando um pouco mais, você tem um percurso XY que foi gerado em um cadcam, não importa se é arco ou recto, você coloca o código no mach, esse código só tem coordenadas XY mas eu quero que simultaneamente enquanto correr o código o eixo Z se movimente para para cima e para baixo.
Agora, talvez não tenha que ser alegórico, Ex: se tiver uma coordenada X200 automaticamente o eixo Z tem de subir e descer umas 10 vezes.
-
Matrix,
Hmmm, creio que entendí o que voce quer...
Creio que o que voce quer é uma tática de usinagem que se chama "Desbaste em Mergulho" ("Plunge Roughing").
Alguns programas como o Visual Mill tem este tipo de tática - o desbaste é feito em mergulhos sucessivos, sempre seguindo o contorno ou área a ser desbastada., como se fosse diversos movimentos verticais em paralelo, e são feitos até que se desbaste doa área que se deseja...
-
Não conheço essa táctica mas acho que é isso mesmo.
Já vi cnc profissionais a fazer isso, mas utilizam uma macro para o fazer o movimento Z não é gerado no cam.
Acha que é possivel no mach?
-
Não sei se é possível, pois depende muito dos percursos... eu não consigo imaginar uma rotina assim...
-
É possivel fazer uma macro que assumisse o comando apenas no eixo Z?
Ou seja ex: m500 será activar a macro, m501 será desactivar a macro.
M3
G0 x10 y10
G0 z5
m500 ( activa o movimento continuo Z)
O programa corre com as coordenadas xy geradas pelo cadcam e no final...
m501 (desactiva o movimento continuo Z)
m5
g53 z0
m30
Envio um pequeno filme para ver um exemplo.
-
Só uma questão fora o contexto do tópico, eu instalei o mach3 no meu pc pessoal só para fazer alguns testes com macros, acontece que quando digito uma macro na caixa MDI não se passa nada, o mesmo acontece com a macro do toolchange, eu já verifiquei as configurações e não encontrei nada.
o que poderá ser?
-
Matrix,
As macros são arquivos que contém os comandos - sejam escritos em VB sejam em código-G, e que são interpretador pelo programa durante uma usinagem ou mesmo numa execução de um comando externo, como por exemplo um botão.
Se voce quer rodar uma macro, escreva-a como preferir, e salve com a extensão " *, m1s" e grave-a na pasta "macros" , pasta com o nome do perfil que está usando (por exemplo "Mach3mill"
-
Fabio,
Estive a pensar um pouco e se em vez de macros para fazer este movimento, utilizar as formulas?
Podemos com uma macro activar uma formula que, enquanto o eixo X e Y estiver em movimento fará com que o eixo Z
se movimente continuamente, e com outra macro podemos desactivar essa mesma formula.
O que achas??
-
Acho que pra fazer este movimento seria melhor um motor normal, não necessáriamente um motor de passo , acho que seria mais facil ...ou com acho que ja foi dito ... um pic ou clp programado para isso ...
-
Eneias, obrigado pela tua resposta, a ideia era usar o mach assim como está, sem hardware adicional, eu penso que as formulas são uma solução.
Só preciso de uma formula certa e uma macro para activar e desactivar as formulas.
-
Matrix,
Deve servir sim...
-
Matrix,
Eu respondí que deve servir, mas temo que fique uma coisa fixa isto é - sempre que qualquer código-G for executado, a rotina estará ativa...
Creio que o melhor seja uma rotina inserida numa macro que pode ser chamada a qualquer momento e em qualquer parte do código-G.
-
E o Fábio tem ideia de como fazer isso?
-
Matrix,
Nunca usei fórmulas, e preciso estudar mais para entender como poderia implementar essa coisa...
-
Ok Fabio, agradeço
-
Oi Fábio, como disse no outro fórum, contactei o Scott da Artsoft, e ele disse que não é possível ligar ou desligar as formula através de script , a ideia da macro para activar a formula fica um pouco de lado.
-
Matrix,
Mas creio que poderia fazer a fórmula dentro da macro, e esta só seria chamada quando fosse necessária...
Eu não conheço uma fórmula que possa ser usada neste caso porque há diversas variáveis, mas creio que se fizer por exemplo uma repetição de um movimento alternativo em "Z", deveria dar resultado.
Estou um tanto atarefado este momento, mas assim que puder eu tento fazer algo assim e posto aqui.
-
Boa noite, pegando carona no tópico. Preciso criar uma rotina muito parecida.
No meu caso, é o seguinte:
Estou tendo problemas com os pinos de saída do motor (passo/dir). Então preciso de uma rotina que quando o eixo "Z" se movimentar para "+" é ativado um pino de saida da porta paralela. E quando o mesmo eixo se movimentar para o lado "-", o pino desativa. Executando a rotina em movimentos G0, G1, G2, e G3. Todos os tipos de comando de movimento.
Preciso dessa configuração para o eixo "X" e "Z". Para funcionar como o pino de direção.
Quem puder ajudar, agradeço.
-
Só um pergunta, que problema estás a ter?
Isso não deveria acontecer.
-
Estou utilizando servomotor, e para se ter a direção é necessário um sinal digital nível alto e baixo no servodrive.
É justamente nesse sinal, o mach3 esta mandando um sinal em pulsos para o pino de direção. Por isso meu servodrive não esta conseguindo entender o sinal, só consigo controle de direção em execução de linha G0 onde o movimento é mais rápido, e o sinal esta vindo em pulsos, como o sinal de passo.
-
A sua interface deve enviar um sinal 0v/5v, o sinal de passo é enviado por pulsos mas o sinal de direcção não, ou seja
tem 5V quando toma uma direcção e 0v quando toma a direcção contraria, acho um pouco esquisito ele estar aceitando
o passo e não a direcção.
Já verificou possíveis problemas na sua interface?
Já verificou se as especificações do seu servo drive tem como sinal de ref. 5v, ou ele precisa de mais?
Já agora qual é a marca e modelo?
Penso que para fazer isso que você quer o brains seria indicado, mas como disse antes penso que isso vais gerar um atraso
da direcção que certamente levará a erro.
-
Bruno,
Qual é o drive e servo que voce está usando?
-
É da marca WEG, SCA05.
Existe alguma configuração no mach3, para o pino de direção ficor com 0V e 5V?
Já instalei o mach3 em 2 computadores diferentes e tive o mesmo resultado. Não é possível conseguir os 5v contínuos no pino de direção.
Por favor seria possível informar um link conhecido, onde eu possa baixar o mach3 sem problemas?
Obrigado.
-
Espera um pouco, agora fiquei confuso.
Você está a usar alguma interface entre o pc e o drive??
Esse 5v não deveriam ter nada a ver com o pc, a sua interface deve proporcionar essa tensão sem problema.
-
Poderia explicar-me apenas uma dúvida.
Se eu medir diretamente a saida da porta paralela, no pino dir. eu consigo medir variações de pulsos e testando com led's, fica aparente os pulsos, pois o led fica mais intenso em linhas de programa G0 e mais fraco nas linhas de baixa rotação G1.
A dúvida é:
O mach3 faz com que as saidas de direção sejam ligadas em nível alto e baixo ou seja 0V e 5V. Correto?
-
Não estou usando direto na saida do pc.
utilizo um isolador óptico, interfaceando, não á nenhum tipo de tentativa de usar o saida do pc como potencia, utilizo apenas para comando.
-
Bruno,
Me parece que este servodrive poderia funcionar com sinais de passo/direção através de um módulo opcional - suponho que voce tenha este módulo, pois não?
Não conheço este drive muito bem, mas me parece que ele tem nativo comunicação serial RS232 ou opcionalmente RS485 através de módulo comprado à parte.
Provavelmente ele funciona com rede serial (ModBusRTU por exemplo) ou rede CAN (CANopen, DeviceNet)
Por exemplo, o Mach3 poderia se comunicar com ele através de ModBus...
Teria que olhar os manuais de comunicação desse servo para saber oi que se pode fazer, mas tenho a impressão que voce não pode simplersmente conectar um sinal TTL proveniente de uma paralela e injetar nele.
Fabio Gilii
-
Agradeço, toda ajuda.
Sei que CANopen esta disponível.
Poderia passar algum link de manuais que explique essa comunicação no mach3
-
Provavelmente é esse o problema, verifique esse seu interface.
Pode me passar um esquema?
O mach3 faz com que as saidas de direção sejam ligadas em nível alto e baixo ou seja 0V e 5V. Correto?
Sim está correcto, 0v em sentido 5v em sentido contrario, e o pulso é igual 0v nenhum pulso 5V um pulso, também tem á hipótese de inverter estes pulso, ou seja 0V um pulso e 5V nenhum pulso, embora isso não tenha nada a ver com o seu problema.
-
Bruno,
Veja se isso ajuda um pouco:
http://www.machsupport.com/MachCustomizeWiki/index.php?title=Modbus_in_Mach (http://www.machsupport.com/MachCustomizeWiki/index.php?title=Modbus_in_Mach)
http://henriksplace.se/cnc/cnc_mach3_modbus_1.html (http://henriksplace.se/cnc/cnc_mach3_modbus_1.html)
Mas verifique juntpo à documentação do servo se há um módulo adaptador para ele ler sinais de passo/direção.
Fabio Gilii
-
Fabio, eu não verifiquei os drives dele, mas se não tem onde ligar step/dir como é que ele consegui colucar o eixo a rodar?
Alem de mais esse problema de tensão não é normal, ele tem de ter 5V contínuos e não oscilações.
-
Ok Fabio, eu consegui algum tempo e fui ver as especificação do drive, de facto ele tem como opcional o cartão para step/dir,
Bruno, você tem esse cartão?
-
Agradeço muito a ajuda de todos.
Hoje pela manhã, fiz um teste em outro pc, e peguei o mach3 em outro site. E funcionou perfeitamente.
Agradeço mais uma vez.
Resumindo o problema estava no pc que usava.