Menggunakan AS5600 dengan Raspberry Pi

Using the AS5600 with the Raspberry Pi

AS5600 adalah sensor posisi magnetik putar resolusi tinggi yang dapat mengukur sudut hingga 360 °. Dengan antarmuka I2C -nya, mudah untuk diintegrasikan dengan Raspberry Pi untuk pengukuran sudut yang tepat dalam robotika, otomatisasi, dan aplikasi lainnya. Panduan ini menjelaskan cara menggunakan AS5600 dengan Raspberry Pi untuk membaca posisi sudut.


Apa yang Anda Butuhkan

  1. Raspberry Pi (Model apa pun dengan dukungan I2C, mis., Pi 3, pi 4)
  2. As5600 Modul Encoder Rotary Magnetic
  3. Magnet (Magnetis secara diametris)
  4. Papan tempat memotong papan dan kabel jumper
  5. Komputer dengan akses SSH ke Raspberry Pi atau keyboard yang terhubung dan monitor
  6. Python dipasang di Raspberry Pi

Langkah 1: Aktifkan I2C di Raspberry Pi

  1. Buka terminal di Raspberry Pi Anda.
  2. Jalankan alat konfigurasi Raspberry Pi:
    sudo raspi-config
    
  3. Navigasikan ke Opsi Antarmuka> I2C, dan aktifkan.
  4. Reboot Raspberry Pi:
    sudo reboot
    

Langkah 2: Kabel AS5600 ke Raspberry Pi

AS5600 menggunakan protokol I2C untuk komunikasi. Hubungkan ke Raspberry Pi sebagai berikut:

Pin AS5600 Raspberry Pi Pin
Vcc 3.3V (pin 1)
Gnd Ground (pin 6)
SDA SDA (Pin 3, GPIO2)
Scl SCL (pin 5, gpio3)

Catatan: Pastikan tegangan operasi modul AS5600 cocok dengan level logika 3.3V Raspberry Pi.


Langkah 3: Instal alat dan perpustakaan yang diperlukan

  1. Perbarui Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Instal I2C Tools:
    sudo apt install -y i2c-tools
    
  3. Instal Perpustakaan Python untuk Komunikasi I2C:
    pip install smbus2
    

Langkah 4: Verifikasi Koneksi I2C

  1. Mendeteksi AS5600 di Bus I2C:
    sudo i2cdetect -y 1
    
  2. Anda harus melihat alamat perangkat (mis., 0x36) dalam output. Jika tidak, periksa kabel Anda.

Langkah 5: Baca data dari AS5600

AS5600 menyediakan data sudut 12-bit melalui I2C. Anda dapat menggunakan skrip Python berikut untuk membaca dan menampilkan posisi sudut.

Contoh Kode 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...")

Langkah 6: Aplikasi AS5600

AS5600 serba guna dan dapat digunakan dalam berbagai proyek:

  1. Robotika: Ukur sudut sambungan atau roda untuk kontrol yang tepat.
  2. Encoders: Buat encoder putar DIY untuk mesin CNC atau printer 3D.
  3. Kontrol kenop: Gunakan sebagai kenop resolusi tinggi untuk navigasi volume atau menu.
  4. Pelacakan Posisi: Lacak posisi sudut dalam sistem otomasi.

Pemecahan masalah

  1. Perangkat tidak terdeteksi:

    • Verifikasi koneksi SDA dan SCL.
    • Pastikan I2C diaktifkan di Raspberry Pi.
    • Periksa tegangan operasi AS5600.
  2. Bacaan yang tidak akurat:

    • Pastikan magnet selaras dengan sensor AS5600 dengan benar.
    • Gunakan magnet bermagnet yang diametri untuk pengukuran yang akurat.
  3. Kesalahan I2C:

    • Periksa perangkat yang bertentangan di bus I2C menggunakan i2cdetect.
    • Verifikasi alamat AS5600 cocok dengan skrip.

Kesimpulan

Sensor posisi putar magnetik AS5600 adalah alat yang kuat dan mudah digunakan untuk mengukur sudut. Dengan mengikuti panduan ini, Anda dapat mengintegrasikan AS5600 dengan Raspberry Pi untuk membuat sistem pengukuran rotasi yang tepat untuk robotika, otomatisasi, dan banyak lagi. Eksperimen dengan aplikasi yang berbeda untuk membuka potensi penuh dari sensor serbaguna ini!

Tinggalkan komentar

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.