Utilizarea AS5600 cu Raspberry Pi

Using the AS5600 with the Raspberry Pi

AS5600 este un senzor de poziție magnetică rotativă de înaltă rezoluție care poate măsura unghiurile de până la 360 °. Cu interfața sa I2C, este ușor de integrat cu un Raspberry PI pentru măsurători precise unghiulare în robotică, automatizare și alte aplicații. Acest ghid explică modul de utilizare a AS5600 cu un Raspberry Pi pentru a citi poziții unghiulare.


Ce vei avea nevoie

  1. Zmeură pi (Orice model cu suport I2C, de exemplu, PI 3, PI 4)
  2. AS5600 modul de codificator rotativ magnetic
  3. Magnet (magnetizat diametral)
  4. Tablă de pâine și jumper
  5. Un computer cu acces SSH la Raspberry Pi sau la o tastatură și un monitor conectat
  6. Python instalat pe Raspberry Pi

Pasul 1: Activați I2C pe Raspberry Pi

  1. Deschideți terminalul pe Raspberry Pi.
  2. Rulați instrumentul de configurare Raspberry PI:
    sudo raspi-config
    
  3. Navigați la Opțiuni de interfață> I2C, și activează -l.
  4. Reporniți zmeura PI:
    sudo reboot
    

Pasul 2: Cablarea AS5600 la Raspberry PI

AS5600 folosește protocolul I2C pentru comunicare. Conectați -l la Raspberry Pi după cum urmează:

Pin AS5600 Pinul de zmeură pi
VCC 3.3V (pinul 1)
GND Sol (pinul 6)
SDA SDA (pinul 3, GPIO2)
SCL SCL (PIN 5, GPIO3)

Nota: Asigurați -vă că tensiunea de funcționare a modulului AS5600 se potrivește cu nivelul logic de 3.3V al Raspberry Pi.


Pasul 3: Instalați instrumentele și bibliotecile necesare

  1. Actualizați Raspberry PI:
    sudo apt update && sudo apt upgrade -y
    
  2. Instalați instrumente I2C:
    sudo apt install -y i2c-tools
    
  3. Instalați bibliotecile Python pentru comunicarea I2C:
    pip install smbus2
    

Pasul 4: Verificați conexiunea I2C

  1. Detectați AS5600 în autobuzul I2C:
    sudo i2cdetect -y 1
    
  2. Ar trebui să vedeți o adresă de dispozitiv (de exemplu, 0x36) în ieșire. Dacă nu, verificați cablarea.

Pasul 5: Citiți date de la AS5600

AS5600 oferă date cu unghi pe 12 biți prin I2C. Puteți utiliza următorul script Python pentru a citi și afișa poziția unghiulară.

Exemplu de cod 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...")

Pasul 6: Aplicațiile AS5600

AS5600 este versatil și poate fi utilizat în diferite proiecte:

  1. Robotică: Măsurați unghiurile de articulație sau rotile pentru un control precis.
  2. Codificatoare: Creați codificatoare rotative de bricolaj pentru mașini CNC sau imprimante 3D.
  3. Controluri ale butonului: Utilizați ca buton de înaltă rezoluție pentru navigare în volum sau meniu.
  4. Urmărirea poziției: Urmăriți pozițiile unghiulare în sistemele de automatizare.

Depanare

  1. Dispozitivul care nu este detectat:

    • Verificați conexiunile SDA și SCL.
    • Asigurați -vă că I2C este activat pe Raspberry Pi.
    • Verificați tensiunea de funcționare a AS5600.
  2. Citiri inexacte:

    • Asigurați -vă că magnetul este aliniat corect cu senzorul AS5600.
    • Utilizați un magnet diametral magnetizat pentru măsurători precise.
  3. Erori I2C:

    • Verificați dacă există dispozitive conflictuale pe autobuzul I2C folosind i2cdetect.
    • Verificați adresa AS5600 se potrivește cu scriptul.

Concluzie

Senzorul de poziție rotativă magnetică AS5600 este un instrument puternic și ușor de utilizat pentru măsurarea unghiurilor. Urmărind acest ghid, puteți integra AS5600 cu un Raspberry Pi pentru a crea sisteme de măsurare de rotație precisă pentru robotică, automatizare și multe altele. Experimentați cu diferite aplicații pentru a debloca întregul potențial al acestui senzor versatil!

Lasă un comentariu

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.