Autor Tópico: ajuda em programação  (Lida 1507 vezes)

Description:

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

lania

  • Visitante
ajuda em programação
« Online: 08 de Janeiro de 2010, 20:46 »
olá meu nome e lania
estou no último ano da faculdade de analises de sistemas, e pensando no meu projeto final meu marido que fez uma cnc e teve muita ajuda aqui no forum, me deu a ideia de fazer um programa para cnc.
Claro nada muito completo mais pretendo abrir um arquivo g e mandar a maquina executar e também trabalhar em jog, fora outras coisas básicas de um sistema.
ja fiz um teste e consigo ligar e desligar o envio de dados da paralela mas não consigo imaginar como fazer esse envio do g-code e como a placa entende esses comandos.

se tiver algum programador que possa me dar uma dica agradeço.
vou programar em delphi
e a placa e a cnc 3ax

desde ja agradeço. 

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
Re: ajuda em programação
« Resposta #1 Online: 08 de Janeiro de 2010, 21:34 »
Lania,

Estou orientando um TFC (Trabalho de Final de Curso) de alunos de engenharia de sistemas, na UERJ. O trabalho é um software CAM (Computer Aided Manufacturing) para a geração de arquivos G para a fresagem e furação de placas de circuito impresso. Está sendo usada a linguagem Java, se houver interesse envie um e-mail...

Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re: ajuda em programação
« Resposta #2 Online: 08 de Janeiro de 2010, 22:19 »
... não consigo imaginar como fazer esse envio do g-code e como a placa entende esses comandos.

Lania, o padrão de mercado é um tipo de interface conhecido como step/direction ou step/dir (passo/direção). Cada pulso na entrada step da placa (driver) provoca o avanço de um passo do motor. Um estado da entrada dir determina o giro do motor no sentido horário e o outro estado no sentido anti-horário. Simples assim. Perceba que o que é enviado não é o código G, mas uma sequência de pulsos cuja frequência varia (portanto a velocidade dos motores varia), de modo que pela interpolação dos eixos é possível chegar a qualquer coordenada dentro do envelope de trabalho, via um percurso qualquer, retilíneo ou curvilíneo e nas três dimensões.

A essência de qualquer prog interpretador de código G e controlador de uma máquina CNC é uma coisa chamada algoritmo de Bresenham ou algoritmo do ponto médio, sugiro que comece por ele seus estudos, creio que uma vez entendido isto o resto é relativamente simples e a maior pedra de tropeço será a inadequação de SOs como o Windows para tarefas de tempo real em função da latência causada pela interferência de tarefas de housekeeping, por exemplo.

A documentação é abundante, mas eis aqui algumas referências:

http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html

http://en.wikipedia.org/wiki/Bresenham's_line_algorithm

http://www.cs.toronto.edu/~smalik/418/tutorial2_bresenham.pdf

PS1: sugiro que subscreva a lista PlotterCressoft e coloque tb lá seus planos. O Lutcho entende do riscado, é um dos precursores da construção caseira no Brasil e criador de um prog bastante popular para plotters.

PS2: Quem é seu marido ? ;-)
« Última modificação: 08 de Janeiro de 2010, 22:31 por C N C N o w ! »

Offline samuelluthier

  • Hobby
  • ****
  • Posts: 305
  • Sexo: Masculino
Re: ajuda em programação
« Resposta #3 Online: 12 de Janeiro de 2010, 22:25 »
Olá pessoal, eu sou o marido da lania, que iniciou esse tópico, estou tentando ajudar ela a desenvolver o programa para o trabalho de final de curso, um programa de controle cnc, tipo o turbocnc, nada tão audacioso assim, apenas uma experiencia com o ramo, a nossa duvida é:
ela conseguiu fazer que os motores gerassem pulso, mas não tem uma rotação continua, imagino eu que esse problema seja resolvido com uma frequencia alta de pulsos, correto ou incorreto? se correto poderiam dar uma luz de como aumentar a frequência de pulsos?
outra dúvida, o pino de direção dos motores funciona da seguinte forma: quando o pino esta energizado, 5V, o motor roda pra um lado e quando ele esta  desligado o motor gira pra outro lado, correto ou estou enganado?

CNCNOW e minilathe, suas ajudas foram de grande valia, ela ainda não respondeu pois está pesquisando pra perguntar as coisas certas entende?

Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re: ajuda em programação
« Resposta #4 Online: 13 de Janeiro de 2010, 07:29 »
ela conseguiu fazer que os motores gerassem pulso, mas não tem uma rotação continua, imagino eu que esse problema seja resolvido com uma frequencia alta de pulsos, correto ou incorreto? se correto poderiam dar uma luz de como aumentar a frequência de pulsos?

Samuel, provavelmente está correta a sua suposição, a velocidade de rotação é proporcional à frequência dos pulsos.

Citar
outra dúvida, o pino de direção dos motores funciona da seguinte forma: quando o pino esta energizado, 5V, o motor roda pra um lado e quando ele esta  desligado o motor gira pra outro lado, correto ou estou enganado?

Está correto.

Que driver / motor / fonte estão usando ?

Offline samuelluthier

  • Hobby
  • ****
  • Posts: 305
  • Sexo: Masculino
Re: ajuda em programação
« Resposta #5 Online: 13 de Janeiro de 2010, 08:23 »
Olá CNCNOW, o driver é a cnc3ax, motores de 9.9kgf , e fonte de 40v dc.

 

/** * */