Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Los codificadores incrementales se utilizan a menudo para aplicaciones industriales como robótica o seguimiento de posicionamiento. Los codificadores para aplicaciones industriales vienen principalmente con una interfaz diferencial RS422.
En este pequeño proyecto, mostraré cómo usar un codificador incremental industrial, en nuestro caso SICK DFS60, con un Arduino UNO.
Paso 1: herramientas y materiales
Materiales
- Arduino UNO
- 3x RS422 Shield para Arduino
- codificador incremental (Sick DFS60)
Instrumentos
- Destornillador
- fuente de alimentación de laboratorio
Paso 2: algunos conceptos básicos
La salida RS422 del codificador solo se utiliza como capa de hardware. No se transmitirá ningún protocolo en serie a través del RS422. Solo los pulsos del propio codificador se transfieren directamente a través de 3 canales RS422 diferentes: SIN, COS y Z (posición cero).
Debido a los 3 canales RS422 independientes, necesitamos 3 entradas RS422 para Arduino. Para este propósito, he usado 3 piezas de mis escudos Arduino RS422 / RS485, apilados en un Arduino.
Paso 3: Configuración del interruptor DIP de los blindajes RS422
La configuración del interruptor DIP para cualquier blindaje es la misma:
- S1: ENCENDIDO, APAGADO, APAGADO, APAGADO (receptor siempre encendido / transmisor siempre apagado)
- S2: APAGADO, APAGADO, ENCENDIDO, ENCENDIDO
- S3: ENCENDIDO, APAGADO, APAGADO, APAGADO (resistencia de terminación encendida)
Paso 4: Configuración de los puentes de los blindajes RS422
La configuración del puente para cualquier escudo es diferente. Dependiendo del canal conectado, el pin RX está configurado para:
- Z: D2
- COS: D3
- PECADO: D4
El puente de voltaje JP1 se debe configurar en 5V.
Paso 5: cableado
El codificador puede ser alimentado por una fuente de alimentación de laboratorio o directamente por los 5V del Arduino UNO
Paso 6: Software y prueba
Compile el archivo INO adjunto bajo el IDE de Arduino. Después de cargar el proyecto en Arduino, debe abrir el monitor en serie con 115200 baudios.
Verá el valor de incremento actual (actualizado todos los 0, 5 s) y el estado actual del codificador allí….