Utilisation de l'AS5600 avec le Raspberry Pi

Using the AS5600 with the Raspberry Pi

L'AS5600 est un capteur de position magnétique rotatif à haute résolution qui peut mesurer les angles jusqu'à 360 °. Avec son interface I2C, il est facile à intégrer avec un Raspberry Pi pour des mesures d'angle précises dans la robotique, l'automatisation et d'autres applications. Ce guide explique comment utiliser l'AS5600 avec un Raspberry Pi pour lire les positions angulaires.


Ce dont vous aurez besoin

  1. Raspberry Pi (Tout modèle avec le support I2C, par ex., PI 3, PI 4)
  2. Module d'encodeur rotatif magnétique AS5600
  3. Aimant (magnétisé diamétrique)
  4. Fils de planche à pain et de cavalier
  5. Un ordinateur avec un accès SSH au Raspberry Pi ou un clavier et un moniteur connectés
  6. Python installé sur le Raspberry Pi

Étape 1: Activer I2C sur le Raspberry Pi

  1. Ouvrez le terminal sur votre Raspberry Pi.
  2. Exécutez l'outil de configuration Raspberry Pi:
    sudo raspi-config
    
  3. Se diriger vers Options d'interface> I2C, et activez-le.
  4. Redémarrez le Raspberry Pi:
    sudo reboot
    

Étape 2: Câblage de l'AS5600 au Raspberry Pi

L'AS5600 utilise le protocole I2C pour la communication. Connectez-le au Raspberry Pi comme suit:

AS5600 PIN Pin de framboise PI
VCC 3.3V (broche 1)
GND Terre (broche 6)
SDA SDA (broche 3, gpio2)
SCL SCL (broche 5, gpio3)

Note: Assurez-vous que la tension de fonctionnement du module AS5600 correspond au niveau logique 3,3 V du framboise PI.


Étape 3: Installez les outils et les bibliothèques requises

  1. Mettez à jour le Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installez les outils I2C:
    sudo apt install -y i2c-tools
    
  3. Installez les bibliothèques Python pour la communication I2C:
    pip install smbus2
    

Étape 4: Vérifiez la connexion I2C

  1. Détecter l'AS5600 sur le bus I2C:
    sudo i2cdetect -y 1
    
  2. Vous devriez voir une adresse de périphérique (par exemple, 0x36) dans la sortie. Sinon, vérifiez votre câblage.

Étape 5: Lisez les données de l'AS5600

L'AS5600 fournit des données d'angle 12 bits via I2C. Vous pouvez utiliser le script Python suivant pour lire et afficher la position angulaire.

Exemple de code 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...")

Étape 6: Applications de l'AS5600

L'AS5600 est polyvalent et peut être utilisé dans divers projets:

  1. Robotique: Mesurer les angles de joint ou de roue pour un contrôle précis.
  2. Encodeurs: Créez des encodeurs rotatifs de bricolage pour les machines CNC ou les imprimantes 3D.
  3. Contrôles de bouton: Utilisez comme bouton haute résolution pour la navigation de volume ou de menu.
  4. Suivi de position: Suivez les positions angulaires dans les systèmes d'automatisation.

Dépannage

  1. Dispositif non détecté:

    • Vérifiez les connexions SDA et SCL.
    • Assurez-vous que I2C est activé sur le Raspberry Pi.
    • Vérifiez la tension de fonctionnement de l'AS5600.
  2. Lectures inexactes:

    • Assurez-vous que l'aimant est correctement aligné avec le capteur AS5600.
    • Utilisez un aimant magnétisé diamétrique pour des mesures précises.
  3. Erreurs I2C:

    • Vérifiez les appareils conflictuels sur le bus I2C en utilisant i2cdetect.
    • Vérifiez que l'adresse de l'AS5600 correspond au script.

Conclusion

Le capteur de position rotative magnétique AS5600 est un outil puissant et facile à utiliser pour mesurer les angles. En suivant ce guide, vous pouvez intégrer l'AS5600 avec un Raspberry Pi pour créer des systèmes de mesure rotationnels précis pour la robotique, l'automatisation, etc. Expérimentez avec différentes applications pour déverrouiller le plein potentiel de ce capteur polyvalent!

Laissez un commentaire

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.