Usando el AS5600 con la Raspberry Pi

Using the AS5600 with the Raspberry Pi

El AS5600 es un sensor de posición magnética rotativa de alta resolución que puede medir ángulos de hasta 360 °. Con su interfaz I2C, es fácil integrarse con una Raspberry Pi para mediciones de ángulo precisos 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.


Lo que necesitarás

  1. Frambuesa pi (Cualquier modelo con soporte I2C, por ejemplo, PI 3, PI 4)
  2. AS5600 Módulo de codificador rotativo magnético
  3. Imán (Diametralmente magnetizado)
  4. Cables de placa y jersey
  5. Una computadora con acceso SSH a la Raspberry Pi o un teclado y monitor conectado
  6. Python instalado en la Raspberry Pi

Paso 1: Habilite I2C en la Raspberry Pi

  1. Abra la terminal en su Raspberry Pi.
  2. Ejecute la herramienta de configuración de Raspberry Pi:
    sudo raspi-config
    
  3. Navegar por Opciones de interfaz> I2C, y habilitarlo.
  4. Reinicie la Raspberry Pi:
    sudo reboot
    

Paso 2: Cableado el AS5600 al Raspberry Pi

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

As5600 pin Pin de frambuesa Pi
VCC 3.3V (pin 1)
Gnd Tierra (pin 6)
SDA SDA (pin 3, GPIO2)
SCL SCL (pin 5, GPIO3)

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


Paso 3: Instale herramientas y bibliotecas requeridas

  1. Actualice la Raspberry PI:
    sudo apt update && sudo apt upgrade -y
    
  2. Instalar herramientas I2C:
    sudo apt install -y i2c-tools
    
  3. Instale las bibliotecas de Python para la comunicación I2C:
    pip install smbus2
    

Paso 4: Verifique la conexión I2C

  1. Detectar el AS5600 en el bus I2C:
    sudo i2cdetect -y 1
    
  2. Debería ver una dirección de dispositivo (por ejemplo, 0x36) en la salida. Si no, consulte su cableado.

Paso 5: Lea los datos del AS5600

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

Ejemplo de código de python

import smbus2
import time

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

bus = smbus2.SMBus(1)

def read_angle():
    # Read two bytes from the angle register
    raw_data = bus.read_i2c_block_data(AS5600_ADDR, ANGLE_REG, 2)
    angle = (raw_data[0] << 8) | raw_data[1]  # Combine MSB and LSB
    angle = angle & 0x0FFF  # Mask to 12 bits
    return (angle / 4096.0) * 360.0  # Convert to degrees

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 se puede usar en varios proyectos:

  1. Robótica: Mida los ángulos de la junta o la rueda para el control preciso.
  2. Codificadores: Cree codificadores rotativos de bricolaje para máquinas CNC o impresoras 3D.
  3. Controles de la perilla: Use como una perilla de alta resolución para la navegación de volumen o menú.
  4. Seguimiento de posición: Seguimiento de posiciones angulares en sistemas de automatización.

Solución de problemas

  1. Dispositivo no detectado:

    • Verifique las conexiones SDA y SCL.
    • Asegúrese de que I2C esté habilitado en la Raspberry Pi.
    • Verifique el voltaje operativo del AS5600.
  2. Lecturas inexactas:

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

    • Verifique los dispositivos conflictivos en el bus I2C usando i2cdetect.
    • Verifique que la dirección de AS5600 coincida con el script.

Conclusión

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

Escribir un comentario

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.