FREE SHIPPING ON ALL ORDERS OVER £20

60 DAY HASSLE-FREE RETURNS

Usando l'AS5600 con il Raspberry Pi

Using the AS5600 with the Raspberry Pi

Il AS5600 è un sensore di posizione magnetico rotativo ad alta risoluzione in grado di misurare angoli fino a 360°. Grazie alla sua interfaccia I2C, è facile da integrare con un Raspberry Pi per misurazioni angolari precise nella robotica, nell'automazione e in altre applicazioni. Questa guida spiega come utilizzare il AS5600


Di cosa avrai bisogno

  1. Raspberry Pi (qualsiasi modello con supporto I2C, ad es. Pi 3, Pi 4)
  2. Modulo Encoder Rotativo Magnetico AS5600
  3. Magnet (magnetizzato diametralmente)
  4. Breadboard e cavi jumper
  5. A computer with SSH access to the Raspberry Pi or a connected keyboard and monitor
  6. Python installato sul Raspberry Pi

Step 1: Enable I2C on the Raspberry Pi

  1. Apri il terminale sul tuo Raspberry Pi.
  2. Esegui lo strumento di configurazione di Raspberry Pi:
    sudo raspi-config
    
  3. Naviga a Interface Options > I2C, and enable it.
  4. Riavvia il Raspberry Pi:
    sudo reboot
    

AS5600

The AS5600 utilizza il protocollo I2C per la comunicazione. Collegalo al Raspberry Pi come segue:

AS5600 Pin per Raspberry Pi
VCC 3.3V (Pin 1)
GND Massa (Pin 6)
SDA SDA (Pin 3, GPIO2)
SCL SCL (Pin 5, GPIO3)

Note: Assicurati che del modulo AS5600 la tensione operativa corrisponde al livello logico a 3.3V di Raspberry Pi.


Passaggio 3: Installa gli Strumenti e le Librerie Necessari

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

Passaggio 4: Verificare la connessione I2C

  1. Rileva il AS5600 sul bus I2C:
    sudo i2cdetect -y 1
    
  2. Dovresti vedere un indirizzo del dispositivo (ad es., 0x36) in the output. If not, check your wiring.

Passaggio 5: Leggere i dati da AS5600

Il AS5600

Esempio di Codice Python

python
import smbus2
import time

# Define I2C address and bus
AS5600python
_ADDR = 0x36
ANGLE_REG = 0x0E

bus = smbus2.SMBus(1)

def read_angle():
    # Leggi due byte dal registro dell'angolo
    raw_data = bus.read_i2c_block_data(AS5600python
_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"Angolo: {angle:.2f} gradi")
        time.sleep(0.5)
except KeyboardInterrupt:
    print("Uscita...")

Fase 6: Applicazioni del AS5600

Il AS5600

  1. Robotica:
  2. Encoder: Crea encoder rotativi fai-da-te per macchine CNC o stampanti 3D.
  3. Manopole di Controllo: Utilizzare come manopola ad alta risoluzione per il volume o la navigazione nei menu.
  4. Tracciamento della posizione: Monitora le posizioni angolari nei sistemi di automazione.

Troubleshooting

  1. Device Not Detected:

    • Verificare i collegamenti SDA e SCL.
    • Assicurati che l'I2C sia abilitato sul Raspberry Pi.
    • AS5600.
  2. Letture imprecise:

    • Assicurati che il magnete sia allineato correttamente con il Sensore AS5600.
    • Utilizza un magnete a magnetizzazione diametrate per misurazioni accurate.
  3. Errori I2C:

    • i2cdetect.
    • Verifica il/la AS5600coincide con lo script.

Conclusione

The AS5600 magnetic rotary position sensor è uno strumento potente e facile da usare per misurare gli angoli. Seguendo questa guida, potrai integrare il AS5600 con un Raspberry Pi per creare sistemi di misurazione rotazionale di precisione per la robotica, l'automazione e molto altro. Sperimenta diverse applicazioni per sbloccare tutto il potenziale di questo sensore versatile!

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.

Lascia un commento