Obtenga entrega gratuita en todas las órdenes más de £20!

Usando el AS5600 con la Raspberry Pi

Using the AS5600 with the Raspberry Pi

El AS5600 es un sensor de posición rotatorio magnético de alta resolución que puede medir ángulos de hasta 360°. Con su interfaz I2C, es fácil integrarlo con una Raspberry Pi para mediciones de ángulo precisas en robótica, automatización y otras aplicaciones. Esta guía explica cómo usar el AS5600 con una Raspberry Pi para leer posiciones angulares.


Qué necesitarás

  1. Raspberry Pi (cualquier modelo con soporte I2C, p. ej., Pi 3, Pi 4)
  2. Módulo codificador rotatorio magnético AS5600
  3. Imán (imantado diametralmente)
  4. Protoboard y cables jumper
  5. Un ordenador con acceso SSH a la Raspberry Pi o un teclado y monitor conectados
  6. Python instalado en la Raspberry Pi

Paso 1: Habilitar I2C en la Raspberry Pi

  1. Abre la terminal en tu Raspberry Pi.
  2. Ejecuta la herramienta de configuración de Raspberry Pi:
    sudo raspi-config
    
  3. Navega a Interface Options > I2C, y actívalo.
  4. Reinicia la Raspberry Pi:
    sudo reboot
    

Paso 2: Cableado del AS5600 a la Raspberry Pi

El AS5600 usa el protocolo I2C para la comunicación. Conéctalo a la Raspberry Pi de la siguiente manera:

AS5600 Pin Pin de la Raspberry Pi
VCC 3.3V (Pin 1)
GND Masa (Pin 6)
SDA SDA (Pin 3, GPIO2)
SCL SCL (Pin 5, GPIO3)

Nota: Asegúrate de que el voltaje de funcionamiento del módulo AS5600 coincida con el nivel lógico de 3.3V de la Raspberry Pi.


Paso 3: Instalar herramientas y librerías requeridas

  1. Actualiza la Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Instala las herramientas I2C:
    sudo apt install -y i2c-tools
    
  3. Instala las librerías de Python para comunicación I2C:
    pip install smbus2
    

Paso 4: Verificar la conexión I2C

  1. Detecta el AS5600 en el bus I2C:
    sudo i2cdetect -y 1
    
  2. Deberías ver una dirección de dispositivo (p. ej., 0x36) en la salida. Si no, revisa tu cableado.

Paso 5: Leer datos del AS5600

El AS5600 proporciona datos de ángulo de 12 bits a través de I2C. Puedes usar el siguiente script en Python para leer y mostrar la posición angular.

Ejemplo de código en Python

import smbus2
import time

# Define I2C address and bus
AS5600_ADDR = 0x36
ANGLE_REG = 0x0E

bus = smbus2.SMBus(1)

def read_angle():
    # Leer dos bytes del registro de ángulo
    raw_data = bus.read_i2c_block_data(AS5600_ADDR, ANGLE_REG, 2)
    angle = (raw_data[0] << 8) | raw_data[1]  # Combina MSB y LSB
    angle = angle & 0x0FFF  # Enmascara a 12 bits
    return (angle / 4096.0) * 360.0  # Convierte a grados

try:
    while True:
        angle = read_angle()
        print(f"Angle: {angle:.2f} degrees")
        time.sleep(0.5)
except KeyboardInterrupt:
    print("Exiting...")

Paso 6: Aplicaciones del AS5600

El AS5600 es versátil y puede usarse en varios proyectos:

  1. Robótica: Mide ángulos de articulaciones o ruedas para control preciso.
  2. Encoders: Crea encoders rotativos DIY para máquinas CNC o impresoras 3D.
  3. Controles de perilla: Úsalo como una perilla de alta resolución para volumen o navegación de menús.
  4. Seguimiento de posición: Rastrea posiciones angulares en sistemas de automatización.

Solución de problemas

  1. Dispositivo no detectado:

    • Verifica las conexiones SDA y SCL.
    • Asegúrate de que I2C esté habilitado en la Raspberry Pi.
    • Comprueba el voltaje de funcionamiento del AS5600.
  2. Lecturas inexactas:

    • Asegúrate de que el imán esté alineado correctamente con el sensor AS5600.
    • Usa un imán imantado diametralmente para mediciones precisas.
  3. Errores I2C:

    • Comprueba si hay dispositivos en conflicto en el bus I2C usando i2cdetect.
    • Verifica que la dirección del AS5600 coincida con la del script.

Conclusión

El sensor de posición rotatoria magnético AS5600 es una herramienta potente y fácil de usar para medir ángulos. Siguiendo esta guía, puedes integrar el AS5600 con una Raspberry Pi para crear sistemas de medición rotacional precisos para robótica, automatización y más. ¡Experimenta con diferentes aplicaciones para desbloquear el potencial completo de este sensor versátil!

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

Escribir un comentario