Kit 4EA2SA v2.0 Manual do usuário 1
Apresentação O Kit 4EA2SA v2.0 foi desenvolvido pela VW Soluções utilizando-se como base o circuito integrado MCP3424 da Microchip, que possui 4 (quatro) entradas analógicas com tensão de referência interna de 2,048V e possui também 2 (dois) saídas analógicas, comunicação serial RS232 ou RS485. A estabilidade e resolução das entradas são excelentes, muito superiores às entradas analógicas nativas dos microcontroladores PIC. As 2 (duas) saídas analógicas são de 8bits com variação de 0-5v (padrão), o amplificador de saída com alteração de seu ganho é possível também 0-10v. 2
Índice Capitulo Descrição Pagina 1. Especificações técnicas 4 2. Hardware 5 3. Software 7 3.1. Codificação dos dados 7 3.2. Cálculo do checksum 8 3.3. Protocolo de transmissão 9 3.3.1. Descrição detalhada do protocolo de transmissão 9 3.4. Protocolo de recepção 10 3.4.1. Descrição detalhada do protocolo de recepção 10 3.4.2. Configuração 11 4. Isenção de responsabilidade 12 5. Garantia 12 3
1. Especificações técnicas Dimensões: 100 mm x 56 mm. Alimentação: 12 ou 24Vcc. Peso aproximado: xxx gramas (montada). Tipo de comunicação: RS232 ou RS485. Tensão de referencia: 5vcc (padrão). Entradas analógicas: 11,13,15 ou 17 bits - 0-5v, 0-10v, 0-20mA ou direto. Saídas analógicas: 8bits 0-5v (padrão). 4
2. Hardware Cada entrada analógica pode receber sinal de 0-5 Vcc, 0-10 Vcc, 0-20 ma ou direto, tendo como tensão de referência interna 2,048 Vcc. A seleção é feita através de jumpers onde você ajusta os dois jumpers alinhados a tensão que necessita conforme mostra a figura 1 (neste caso estão selecionados para a opção 0-5v). Figura 1. Se houver a necessidade de trabalhar com tensões de referência internas menores, devese avaliar a necessidade da troca dos resistores de precisão externos, a fim de adequar os divisores de tensões aos sinais de entrada. Existe também a possibilidade do sinal de entrada ser ligado diretamente no pino do circuito integrado MCP3424 (ajustar os jumpers na posição Direto). Neste caso, pode se configurar (esta configuração é através dos comandos enviados pelo protocolo de comunicação apresentado abaixo) a entrada para receber sinais nas tensões de fundo de escala da ordem de 2,048 Vcc - 1,024 Vcc - 512 mv ou 256 mv. As 2 (duas) saídas analógicas são de 8bits com variação de 0-5v (padrão), o amplificador de saída com alteração de seu ganho é possível também 0-10v. 5
A placa também possui uma saída de tensão de referência externa estabilizada na ordem de 5vcc, que também é possível através do amplificador de saída com alteração de seu ganho chegar até 10vcc. Está tensão é utilizada para alimentar alguns transdutores que necessitam de uma tensão estabilizada para funcionar corretamente (ex. célula de carga para balança). A placa possui comunicação serial RS232 (padrão) e RS485, a escolha de qual usar está de acordo com o CI usado para a comunicação, MAX232 (1) ou MAX485 (2). A definição está no CI inserido na placa, se colocar o MAX232 será com o padrão RS232 e se usar o MAX485 será o padrão RS485. Não é permitido usar os dois CIs ao mesmo tempo nem mesmo ligar. A comunicação está disponível através dos bornes (3) Rx,Tx, GND para padrão RS232 e A, B, GND para o padrão RS485. A alimentação da placa é feita através dos bornes VCC e GND (4) e pode ser 12 Vcc ou 24 Vcc. Observação: Se for alimentada com 12vcc colocar o jumper J5 (5), se for em 24vcc deixe o jumper aberto. 5 6
3. Software 3.1 Codificação dos dados: O protocolo criado para este dispositivo segue as seguintes regras: Todo byte enviado com exceção do inicio está enquadrado nos caracteres ASCII de 0 a 9, isso facilita a identificação do caractere de inicio ( A ou 0x41), pois assim podemos garantir que nenhum dado (byte) do protocolo possa assumir o valor de A ou 0x41. Mostraremos um exemplo do que iremos transmitir e como montar o protocolo da forma estabelecida. Necessito enviar: r/w 0 (ver detalhes de r/w no item 4.1) Configuração 152 (ver detalhes de configuração no item 4.2) Saída 1 255 Saída 2 127 Checksum 000 (ver detalhe de checksum no item 2.2) Descrição detalhada de como codificar e montar o protocolo: Inicio: 65 (1 byte) neste caso não desmembrar o numero 65. A em ASCII = 0x41 r/w: 0 (1 byte) 0 em ASCII = 0x30 Configuração: 152 (3 byte) 1 em ASCII = 0x31 5 em ASCII = 0x35 2 em ASCII = 0x32 Saída 1: 255 (3 byte) 2 em ASCII = 0x32 5 em ASCII = 0x35 5 em ASCII = 0x35 Saída 2: 127 (3 byte) 1 em ASCII = 0x31 2 em ASCII = 0x32 7 em ASCII = 0x37 Checksum: 063 (3 byte) 0 em ASCII = 0x30 6 em ASCII = 0x36 3 em ASCII = 0x33 Exemplo de codificação do protocolo em ASCII: Inicio r/w configuração saida 1 saida 2 checksum 0x41 0 1 5 2 2 5 5 1 2 7 0 6 3 Exemplo de codificação do protocolo em HEX: inicio r/w configuração saida 1 saida 2 checksum 0x41 0x30 0x31 0x35 0x32 0x32 0x35 0x35 0x31 0x32 0x37 0x30 0x36 0x33 7
3.2 Cálculo do Checksum: O campo de checksum é usado para checar a integridade da mensagem enviada, é gerada pelo método de soma dos bytes enviados inclusive o caractere início. As somas dos bytes são feitas em DECIMAL. Exemplo para protocolo de transmissão: inicio Leitura canal 1 Leitura canal 2 Leitura canal 3 Leitura canal 4 Saida 1 Saida 2 Checksum 0x41 0 0 2 0 4 7 0 0 8 1 9 1 0 3 2 7 6 7 1 3 1 0 7 1 2 5 5 1 2 7 0 6 1 De acordo com a string enviada conforme o exemplo acima o cálculo do checksum segue assim: Inicio - 65 + Leitura canal 1-48 + 48 + 50 + 48 + 52 + 55 + Leitura canal 2-48 + 48 + 56 + 49 + 57 + 49 + Leitura canal 3-48 + 51 + 50 + 55 + 54 + 55 + Leitura canal 4-49 + 51 + 49 + 48 + 55 + 49 + Saída 1-50 + 53 + 53 + Saída 2-49 + 50 + 55 + Checksum = 0 6 1 Somatória = 1597 Então 1597-256=1341... 1341-256=1085... 1085-256=829... 829-256=573... 573-256=317... 317-256=61 Exemplo para protocolo de recepção: inicio r/w configuração saida 1 saida 2 checksum 0x41 0 1 5 2 2 5 5 1 2 7 0 6 3 De acordo com a string enviada conforme o exemplo acima o cálculo do checksum segue assim: Inicio - 65 + r/w - 48 + Configuração - 49 + 53 + 50 + Saída 1-50 + 53 + 53 + Saída 2-49 + 50 + 55 + Checksum = 0 6 3 Somatória = 575, então 575-256=319... 319-256=63 O checksum não pode ultrapassar o valor de 255. Então após a somatória de todos os caracteres, se o valor for superior a 255, deve-se ir subtraindo o valor de 256 do valor total até o checksum ficar igual ou abaixo de 255. 8
3.3. Protocolo de transmissão: Na descrição do protocolo de transmissão serão analisados os campos início, leitura dos canais, saídas e checksum. Este protocolo se refere ao formato enviado pelo hardware (placa) como resposta a uma solicitação requerida através de leitura ou mesmo quando ela esteja configurada como protocolo contínuo (ver a frente detalhes do protocolo contínuo). Abaixo segue o formato em bloco do protocolo. Inicio Leitura canal 1 Leitura canal 2 Leitura canal 3 Leitura canal 4 Saída 1 Saída 2 checksum 0x41 6 bytes 6 bytes 6 bytes 6 bytes 3 bytes 3 bytes 3 bytes 3.3.1. Descrição detalhada do protocolo: Inicio: O byte 0x41 é utilizado para dar inicio ao protocolo. Este recurso permite aos dispositivos da rede detectar o início de uma mensagem e finalmente ler todo o conteúdo da mensagem até o seu final. Leitura de canal 1, 2, 3, 4: Neste trecho do protocolo (6bytes) estão disponíveis os valores lidos da entrada analógica 01 (CH1+ CH1-), 02 (CH2+ CH2-), 03(CH3+ CH3-), 04(CH4+ CH4-) convertidos em caracteres ASCII. A leitura das analógicas pode variar de acordo com suas configurações entre: 11bits - variar de 0 a 2047 varredura de 5ms 13bits - variar de 0 a 8191 varredura de 17ms 15bits - variar de 0 a 32767 varredura de 67ms 17bits - variar de 0 a 131071 varredura de 267ms Exemplo: Entrada analógica 1 (CH1+ CH1-), configurada em 11bits, ajustada em hardware para 0-10v e fazendo uma leitura de um sinal de 5v. Entrada ajustada em 11bits significa que vai variar de 0 a 2047 com variação de tensão de 0-10v, então o sinal de entrada estando em 5v a leitura será 1023 (50%). O valor enviado no campo Leitura canal 1 = 001023 (6bytes). Saída 1, 2: Neste trecho do protocolo (3bytes) estão disponíveis os valores correspondentes ao percentual ajustado nas saídas analógicas 1 e 2 convertidos em caracteres ASCII. Os valores lidos nestes campos vão de 0-255 correspondente a variação de 0-100% do sinal de saída. Quando o valor for ajustado em 255 a saída será 5v(100%). Exemplo: Saída analógica 1 ajustada em 127 o valor em tensão na saída será de 2,5v O valor enviado no campo saída 1 = 127 (3bytes). Checksum: Ver detalhes no item 2.2. 9
3.4. Protocolo de recepção: Na descrição do protocolo de recepção serão analisados os campos início, leitura dos canais, saídas e checksum. Este protocolo se refere ao formato estabelecido para enviar para o hardware (placa) uma solicitação de leitura de dados ou mesmo configuração de funcionamento. Abaixo segue o formato em bloco do protocolo. Início r/w Configuração Saída 1 Saída 2 Checksum 0x41 1 byte 3 bytes 3 bytes 3 bytes 3 bytes 3.4.1. Descrição detalhada do protocolo: Inicio: Na transmissão de uma mensagem, há identificador de início (0x41). Este recurso permite aos dispositivos da rede detectar o início de uma mensagem e finalmente ler todo o conteúdo da mensagem até o seu final. r/w: Neste byte será informado se o protocolo enviado será escrita (0), leitura (1) ou transmissão contínua (2). No modo escrita (0): A placa entrará no modo de recepção de dados para configuração de funcionamento. Neste momento a placa se ajustara aos valores contidos nos campos de configuração, saída 1, saída 2. Segue descrição detalhada do campo Configuração no item Configuração, já nas saídas 1 e 2 os valores enviados nestes campos ajustarão seus respectivos valores. No modo leitura (1): A placa envia uma resposta transmitindo os status do momento através do formato do protocolo de transmissão. No modo transmissão continua (2): A placa envia repetidamente em loop infinito os status através do formato do protocolo de transmissão. 10
3.4.2. Configuração: Referente a configuração dos registradores das entradas analógicas 1, 2, 3, 4. Registrador bit Configuração 7 6 5 4 3 2 1 0 seleção de ganho 0 0 x1 0 1 x2 1 0 x4 1 1 x8 3 2 seleção de resolução 0 0 11 bits 0 1 13 bits 1 0 15 bits 1 1 17 bits 4 modo de conversão 0 conversão única 1 continuo 6 5 Seleção do canal 0 0 canal 1 0 1 canal 2 1 0 canal 3 1 1 canal 4 7 ready bit 0 usado em modo de conversão única 1 usado no modo continuo Exemplo de configuração: Configuração = 152 = 0b 1 00 1 10 00 Corresponde: Seleção de ganho: x1 Seleção de resolução: 15bits Modo de conversão: continuo Seleção de canal: canal 1 Ready bit: usado no modo continuo Outro exemplo: Configuração = 188 = 0b 1 01 1 11 00 Corresponde: Seleção de ganho: x1 Seleção de resolução: 17bits Modo de conversão: continuo Seleção de canal: canal 2 Ready bit: usado no modo continuo Saída 1, 2: Neste trecho do protocolo (3bytes) corresponde aos valores desejados para serem ajustados em cada saída de 0-255. Valores ajustados nas saídas analógicas 1 e 2 convertidos em caracteres ASCII. Os valores escritos nestes campos vão de 0-255 correspondente a variação de 0-100% do sinal de saída. Quando o valor for ajustado em 255 a saída será 5 v (100%). Checksum: Ver detalhes no item 2.2. 11
4. Isenção de responsabilidade A VW Soluções não é responsável por nenhum dano conseqüente do uso deste equipamento sob nenhuma circunstância incluindo perda de receita, tempo parado, danos ou substituição de equipamentos ou propriedades e qualquer custo de recuperação, reprogramação ou reprodução de dados com o uso deste hardware aqui descrito. 5. Garantia A VW Soluções garante este equipamento contra defeitos de fabricação e componentes pelo prazo de 90 dias a contar da data da emissão da nota fiscal. Se descobrir um defeito nós iremos, sob nossa opção, reparar, trocar ou devolver o valor pago. Devolva o produto com uma descrição do problema. Nós iremos devolver o seu produto ou outro com as mesmas características via encomenda normal (PAC). Envio via Sedex está disponível, mas o custo de envio será por conta do cliente. O uso do equipamento fora dos limites de tensão, temperatura ou a tentativa de reparação ou modificação irá anular a garantia. 12