Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Os codificadores incrementais são freqüentemente usados para aplicações industriais como robótica ou rastreamento de posicionamento. Os codificadores para aplicações industriais vêm principalmente com uma interface RS422 diferencial.
Vou mostrar neste pequeno projeto como usar um codificador incremental industrial - no nosso caso SICK DFS60 - com um Arduino UNO.
Etapa 1: Ferramentas e materiais
Materiais
- Arduino UNO
- 3x RS422 Shield para Arduino
- codificador incremental (Sick DFS60)
Ferramentas
- Chave de fenda
- fonte de alimentação do laboratório
Etapa 2: alguns princípios básicos
A saída RS422 do codificador é usada apenas como camada de hardware. Nenhum protocolo serial será transmitido pelo RS422. Apenas os pulsos do próprio codificador são transferidos diretamente através de 3 canais RS422 diferentes: SIN, COS e Z (posição zero).
Por causa dos 3 canais RS422 independentes, precisamos de 3 entradas RS422 para o Arduino. Para este propósito, usei 3 pcs de meus escudos Arduino RS422 / RS485 - empilhados em um Arduino.
Etapa 3: configuração da chave DIP das blindagens RS422
A configuração da chave dip para qualquer escudo é a mesma:
- S1: ON, OFF, OFF, OFF (receptor sempre ligado / transmissor sempre desligado)
- S2: DESLIGADO, DESLIGADO, LIGADO, LIGADO
- S3: LIGADO, DESLIGADO, DESLIGADO, DESLIGADO (resistor de terminação ligado)
Etapa 4: configurações de jumper de blindagens RS422
A configuração do jumper para qualquer escudo é diferente. Dependendo do canal conectado, o pino RX é configurado para:
- Z: D2
- COS: D3
- SIN: D4
O jumper de tensão JP1 deve ser configurado para 5V.
Etapa 5: Fiação
O codificador pode ser alimentado por uma fonte de alimentação de laboratório ou diretamente pelos 5V do Arduino UNO
Etapa 6: Software e Teste
Compile o arquivo INO anexado no IDE do Arduino. Após fazer o upload do projeto para o Arduino, você deve abrir o monitor serial com 115200 baud.
Você verá o valor de incremento atual (atualizado todos os 0, 5s) e o status atual do codificador lá….