Usando l'AS5600 con il Raspberry Pi

Using the AS5600 with the Raspberry Pi

L'AS5600 è un sensore di posizione magnetica rotante ad alta risoluzione che può misurare gli angoli fino a 360 °. Con la sua interfaccia I2C, è facile integrare con un Raspberry Pi per misurazioni angolari precise in robotica, automazione e altre applicazioni. Questa guida spiega come utilizzare l'AS5600 con un Raspberry Pi per leggere le posizioni angolari.


Cosa avrai bisogno

  1. Raspberry Pi (Qualsiasi modello con supporto I2C, ad esempio PI 3, PI 4)
  2. Modulo encoder rotativo magnetico AS5600
  3. Magnete (diametricamente magnetizzato)
  4. Breadboard e fili jumper
  5. Un computer con accesso SSH a Raspberry Pi o una tastiera e un monitoraggio collegati
  6. Python installato su Raspberry Pi

Passaggio 1: abilita I2C sul Raspberry Pi

  1. Apri il terminale sul tuo Raspberry Pi.
  2. Esegui lo strumento di configurazione Raspberry Pi:
    sudo raspi-config
    
  3. Navigare a Opzioni di interfaccia> i2ce abilitalo.
  4. Riavvia il Raspberry Pi:
    sudo reboot
    

Passaggio 2: Cablaggio dell'AS5600 a Raspberry Pi

L'AS5600 utilizza il protocollo I2C per la comunicazione. Collegalo a Raspberry Pi come segue:

Pin AS5600 Pin di lampone
VCC 3.3V (pin 1)
GND Terra (pin 6)
SDA SDA (PIN 3, GPIO2)
SCL SCL (PIN 5, GPIO3)

Nota: Assicurarsi che la tensione operativa del modulo AS5600 corrisponda al livello logico 3.3V di Raspberry Pi.


Passaggio 3: installare strumenti e librerie richieste

  1. Aggiorna il Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installa gli strumenti I2C:
    sudo apt install -y i2c-tools
    
  3. Installa le librerie Python per la comunicazione I2C:
    pip install smbus2
    

Passaggio 4: verifica la connessione I2C

  1. Rileva l'AS5600 sul bus I2C:
    sudo i2cdetect -y 1
    
  2. Dovresti vedere un indirizzo del dispositivo (ad es. 0x36) nell'output. In caso contrario, controlla il tuo cablaggio.

Passaggio 5: leggi i dati dall'AS5600

L'AS5600 fornisce dati angolo a 12 bit tramite I2C. È possibile utilizzare il seguente script Python per leggere e visualizzare la posizione angolare.

Esempio di codice 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...")

Passaggio 6: applicazioni dell'AS5600

L'AS5600 è versatile e può essere utilizzato in vari progetti:

  1. Robotica: Misurare gli angoli giunti o ruote per un controllo preciso.
  2. Encoder: Crea encoder rotanti fai -da -te per macchine a CNC o stampanti 3D.
  3. Controlli di manopola: Utilizzare come manopola ad alta risoluzione per la navigazione di volume o menu.
  4. Tracciamento della posizione: Traccia le posizioni angolari nei sistemi di automazione.

Risoluzione dei problemi

  1. Dispositivo non rilevato:

    • Verificare le connessioni SDA e SCL.
    • Assicurati che I2C sia abilitato su Raspberry Pi.
    • Controllare la tensione operativa dell'AS5600.
  2. Letture imprecise:

    • Assicurarsi che il magnete sia correttamente allineato con il sensore AS5600.
    • Utilizzare un magnete diametralmente magnetizzato per misurazioni accurate.
  3. Errori i2c:

    • Verificare che i dispositivi contrastanti sul bus i2c i2cdetect.
    • Verificare che l'indirizzo dell'AS5600 corrisponda allo script.

Conclusione

Il sensore di posizione rotante magnetica AS5600 è uno strumento potente e facile da usare per misurare gli angoli. Seguendo questa guida, è possibile integrare l'AS5600 con un Raspberry Pi per creare sistemi di misurazione rotazionale precisi per robotica, automazione e altro ancora. Sperimenta con diverse applicazioni per sbloccare il pieno potenziale di questo sensore versatile!

Lascia un commento

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.