Autor Tópico: MODBUS no PIC  (Lida 11106 vezes)

Description:

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

Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re:MODBUS no PIC
« Resposta #15 Online: 21 de Maio de 2012, 10:08 »
geancoelho

Citar
O joystic que pretendo montar seria identico a um handwheel usado nas maquinas com comando HEIDENHAIN.

você pretendia enviar informações como teclado (PS2)primeiro e não deu certo? tentou utilizar MODBUS e não deu certo? hummm uma pergunta boba ... vc tem certeza que a saída serial do microcontrolador está funcionando devidamente?

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
Re:MODBUS no PIC
« Resposta #16 Online: 21 de Maio de 2012, 10:15 »
Apenas para um lembrete:
As rodas de MPG são encoders de quadratura normalmente portanto, deve haver dois canais e duas formas de onda quadrada defasadas em 90º uma da outra, e tais sinais devem ser tratados corretamente.

Por exemplo, o Mach3 já está preparado para ler estes sinais diretamente.

Offline geancoelho

  • Fuso
  • **
  • Posts: 173
  • Sexo: Masculino
  • GUIA-CNC
  • Cidade - UF: Joinville SC
  • Nome:: Gean Carlos Coelho
  • Profissão: Projetista eletronico
Re:MODBUS no PIC
« Resposta #17 Online: 21 de Maio de 2012, 10:23 »
Blackmore

O problema não é o hardware e sim o programador que não esta dando conta!!!

Fabio

o encoder esta funcionando no microcontrolador mais a comunicação com o mundo exterior que não consegui implementar.


Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re:MODBUS no PIC
« Resposta #18 Online: 21 de Maio de 2012, 10:28 »
Citar
O problema não é o hardware e sim o programador que não esta dando conta!!!

qual compilador você está utilizando? poderia postar o fragmento de código para ativação da serial e a chamada da função no programa?



edit:

[OFF]
vc está pertinho da rua Dorothovio do Nascimento não é?
« Última modificação: 21 de Maio de 2012, 10:48 por Blackmore »

Offline geancoelho

  • Fuso
  • **
  • Posts: 173
  • Sexo: Masculino
  • GUIA-CNC
  • Cidade - UF: Joinville SC
  • Nome:: Gean Carlos Coelho
  • Profissão: Projetista eletronico
Re:MODBUS no PIC
« Resposta #19 Online: 21 de Maio de 2012, 10:50 »
Eu uso o CCS como compilador e as bibliotecas proprias dele porem a biblioteca do modbus nao funciona direito pois conversei com outros programadores mais experientes e os mesmo disseram que tambem abandonaram esta e criaram suas proprias porem ninguem me mostrou o milagre.

quanto ao ps2 vou procurar o codigo que esta em algum lugar dos muitos programas que tentei.

Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re:MODBUS no PIC
« Resposta #20 Online: 21 de Maio de 2012, 11:16 »
eu só acho as bibliotecas do CCS um pouco chatas ... mas todas que testei funfaram ... blz então . to por aqui ..

Offline geancoelho

  • Fuso
  • **
  • Posts: 173
  • Sexo: Masculino
  • GUIA-CNC
  • Cidade - UF: Joinville SC
  • Nome:: Gean Carlos Coelho
  • Profissão: Projetista eletronico
Re:MODBUS no PIC
« Resposta #21 Online: 21 de Maio de 2012, 11:36 »
Estou sim!!

Estrada da ilha numero 50.

Voce esta em Joinville??

Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re:MODBUS no PIC
« Resposta #22 Online: 21 de Maio de 2012, 11:50 »
Estou não, em uma empresa em que trabalhei tive um fornecedor de injeção plástica aí da dorothovio e tive a oportunidade de conhecer a cidade ... muito bacana Joi ...

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • 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:MODBUS no PIC
« Resposta #23 Online: 24 de Maio de 2012, 21:25 »
Gean,

Desistiu??

O joystic que pretendo montar seria identico a um handwheel usado nas maquinas com comando HEIDENHAIN.
Por isso que tentei uma biblioteca PS2 no pic para enviar os codigos como sendo um teclado. Ainda nao consegui nada!

Eu já liguei um mouse USB para movimentar uma CNC via EMC2 e funcionou bem, dá para fazer a mesma coisa com um joystick USB. Não precisa programar nada.

O MODBUS seria para enviar ao emc alguns sinais digitais e a a temperatura do SPINDLE e outras coisas que me surgirem.

Se forem apenas entradas para o EMC2, dá para enviar os sinais via RS232 ao EMC2 sem Modbus e sem nenhuma programação em Linux, é necessário programar apenas o PIC.

Offline geancoelho

  • Fuso
  • **
  • Posts: 173
  • Sexo: Masculino
  • GUIA-CNC
  • Cidade - UF: Joinville SC
  • Nome:: Gean Carlos Coelho
  • Profissão: Projetista eletronico
Re:MODBUS no PIC
« Resposta #24 Online: 25 de Maio de 2012, 07:51 »
Mestre Minilathe

Desistir nunca.

Apenas estou tentando avançar mais sem sucesso. Essa do RS232 nao entendi, teria algum protocolo pronto pra isso no emc ou seria uma palabra binaria e comparariamos os bits.

Teriamos como enviar dados de valores tipo  inteiros reais, como ja comentei, minha intenção é ler variaveis analogicas como tempreratura pelo EMC.

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • 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:MODBUS no PIC
« Resposta #25 Online: 25 de Maio de 2012, 08:23 »
Apenas estou tentando avançar mais sem sucesso. Essa do RS232 nao entendi, teria algum protocolo pronto pra isso no emc ou seria uma palabra binaria e comparariamos os bits.

Teriamos como enviar dados de valores tipo  inteiros reais, como ja comentei, minha intenção é ler variaveis analogicas como tempreratura pelo EMC.

Se for para ler entradas oriundas do PIC, numa comunicação unidirecional, você pode usar o seguinte:

(1) criar um pipe no Linux:
$ mkfifo fila

(2) No PC, direcionar a porta serial do PC ao pipe, no meu caso, usei um conversor serial/USB (/dev/ttyUSB0):
$ stty 9600
$ (stty raw; cat > received.txt) < /dev/ttyUSB0 &

(3) Se você programar o PIC para ficar escrevendo na serial, os dados serão enviados ao pipe.

(4) Ler do pipe e enviar ao EMC2.

Offline geancoelho

  • Fuso
  • **
  • Posts: 173
  • Sexo: Masculino
  • GUIA-CNC
  • Cidade - UF: Joinville SC
  • Nome:: Gean Carlos Coelho
  • Profissão: Projetista eletronico
Re:MODBUS no PIC
« Resposta #26 Online: 25 de Maio de 2012, 09:10 »
O professor poderia me mostrar um exemplo deste PIPE??

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • 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:MODBUS no PIC
« Resposta #27 Online: 25 de Maio de 2012, 13:07 »
Segue um exemplo, eu liguei um Arduino em meu Notebook, onde a porta /dev/ttyUSB0 permite me comunicar com o mesmo.

Executei os seguintes comandos num terminal:

$ stty -F /dev/ttyUSB0 9600
$ stty 9600
$ mkfifo fila
$ (stty raw; cat > fila) < /dev/ttyUSB0 &


O primeiro comando ajusta a velocidade da porta serial para 9600, o segundo comando ajusta a velocidade do terminal para 9600, o terceiro comando cria um pipe no Linux, o terceiro comando redireciona os dados que chegam pela serial para o pipe.

Se eu executar o comando "cat fila", terei a reposta abaixo:
$ cat fila

1
2
3
4
5
6
7
8
9
10
11
12

No Arduino eu criei um programa que gera uma onda triangular e envia pela serial, a seguir:

// 
//  Programa rampa
// 
//  Gera uma onda triangular e envia pela porta serial
// 
//  Gil Pinheiro - Maio/2012
//

int n=0;

void setup() {
  Serial.begin(9600);
}

void loop() {

  while( n < 255 ) {
    n++;
    Serial.println(n);
    delay(100);
  }

  while( n > 0 ) {
    n--;
    Serial.println(n);
    delay(100);
  }

}
« Última modificação: 25 de Maio de 2012, 13:22 por minilathe »

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • 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:MODBUS no PIC
« Resposta #28 Online: 25 de Maio de 2012, 13:13 »
Falta mostrar ainda como redirecionar o pipe e mapear as variáveis recebidas dentro do EMC2, mas isso é fácil tb...

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • 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:MODBUS no PIC
« Resposta #29 Online: 27 de Maio de 2012, 09:29 »
Segue vídeo mostrando o que eu fiz com meu Arduino Mega 2560 (clone da OSEPP).

Interfacing Arduino and EMC without Linux programming

 

/** * */