AS5600'ü Raspberry Pi ile kullanmak

Using the AS5600 with the Raspberry Pi

AS5600, 360 ° 'ye kadar açıları ölçebilen yüksek çözünürlüklü bir döner manyetik konum sensörüdür. I2C arayüzü ile robotik, otomasyon ve diğer uygulamalardaki hassas açı ölçümleri için bir ahududu Pi ile entegre etmek kolaydır. Bu kılavuz, açısal pozisyonları okumak için AS5600'ün bir Raspberry Pi ile nasıl kullanılacağını açıklar.


Ne İhtiyacınız Olacak

  1. Ahududu pi (I2C destekli herhangi bir model, örneğin, Pi 3, Pi 4)
  2. AS5600 Manyetik Döner Kodlayıcı Modülü
  3. Mıknatıs (Diametrik Mıknatıslanmış)
  4. Breadboard ve jumper telleri
  5. Raspberry Pi'ye veya bağlı bir klavyeye ve monitöre SSH erişimi olan bir bilgisayar
  6. Raspberry Pi'ye Python kuruldu

1. Adım: Raspberry Pi'de I2C'yi etkinleştirin

  1. Raspberry Pi'nizdeki terminali açın.
  2. Raspberry Pi Yapılandırma aracını çalıştırın:
    sudo raspi-config
    
  3. Gezmek Arayüz Seçenekleri> I2Cve etkinleştir.
  4. Raspberry Pi'yi yeniden başlatın:
    sudo reboot
    

Adım 2: AS5600'ün Raspberry Pi'ye bağlanması

AS5600 iletişim için I2C protokolünü kullanır. Raspberry Pi'ye aşağıdaki gibi bağlayın:

AS5600 PIN Raspberry Pi Pimi
VCC 3.3V (pim 1)
Gnd Zemin (pim 6)
SDA SDA (pim 3, GPIO2)
Scl SCL (Pin 5, GPIO3)

Not: AS5600 modülünün çalışma voltajının Raspberry Pi'nin 3.3V mantık seviyesine uygun olduğundan emin olun.


Adım 3: Gerekli araçları ve kütüphaneleri kurun

  1. Raspberry Pi'yi güncelleyin:
    sudo apt update && sudo apt upgrade -y
    
  2. I2C Araçları Yükle:
    sudo apt install -y i2c-tools
    
  3. I2C İletişimi için Python Kütüphaneleri Yükle:
    pip install smbus2
    

4. Adım: I2C bağlantısını doğrulayın

  1. I2C veriyolunda AS5600'ü tespit edin:
    sudo i2cdetect -y 1
    
  2. Bir cihaz adresi görmelisiniz (ör., 0x36) çıktıda. Değilse, kablolarınızı kontrol edin.

Adım 5: AS5600'den verileri okuyun

AS5600, I2C aracılığıyla 12 bit açılı veriler sağlar. Açısal konumu okumak ve görüntülemek için aşağıdaki Python komut dosyasını kullanabilirsiniz.

Python kodu örneği

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

Adım 6: AS5600 uygulamaları

AS5600 çok yönlüdür ve çeşitli projelerde kullanılabilir:

  1. Robotik: Kesin kontrol için eklem veya tekerlek açılarını ölçün.
  2. Kodlayıcılar: CNC makineleri veya 3D yazıcılar için DIY döner kodlayıcılar oluşturun.
  3. Düğme kontrolleri: Hacim veya menü navigasyonu için yüksek çözünürlüklü bir düğme olarak kullanın.
  4. Pozisyon Takibi: Otomasyon sistemlerindeki açısal konumları izleyin.

Sorun giderme

  1. Cihaz algılanmadı:

    • SDA ve SCL bağlantılarını doğrulayın.
    • Raspberry Pi'de I2C'nin etkin olduğundan emin olun.
    • AS5600'ün çalışma voltajını kontrol edin.
  2. Yanlış Okumalar:

    • Mıknatısın AS5600 sensörü ile doğru bir şekilde hizalandığından emin olun.
    • Doğru ölçümler için diametrik olarak mıknatıslanmış bir mıknatıs kullanın.
  3. I2C hataları:

    • I2C veri yolunda çelişkili cihazlar olup olmadığını kontrol edin i2cdetect.
    • AS5600'ün adresinin komut dosyasına uygun olduğunu doğrulayın.

Çözüm

AS5600 manyetik döner konum sensörü, açıları ölçmek için güçlü ve kullanımı kolay bir araçtır. Bu kılavuzu izleyerek, robotik, otomasyon ve daha fazlası için kesin dönme ölçüm sistemleri oluşturmak için AS5600'ü bir ahududu PI ile entegre edebilirsiniz. Bu çok yönlü sensörün tam potansiyelinin kilidini açmak için farklı uygulamalarla deney yapın!

Yorum bırak

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.