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
- Ahududu pi (I2C destekli herhangi bir model, örneğin, Pi 3, Pi 4)
- AS5600 Manyetik Döner Kodlayıcı Modülü
- Mıknatıs (Diametrik Mıknatıslanmış)
- Breadboard ve jumper telleri
- Raspberry Pi'ye veya bağlı bir klavyeye ve monitöre SSH erişimi olan bir bilgisayar
- Raspberry Pi'ye Python kuruldu
1. Adım: Raspberry Pi'de I2C'yi etkinleştirin
- Raspberry Pi'nizdeki terminali açın.
- Raspberry Pi Yapılandırma aracını çalıştırın:
sudo raspi-config
- Gezmek Arayüz Seçenekleri> I2Cve etkinleştir.
- 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
- Raspberry Pi'yi güncelleyin:
sudo apt update && sudo apt upgrade -y
- I2C Araçları Yükle:
sudo apt install -y i2c-tools
- 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
- I2C veriyolunda AS5600'ü tespit edin:
sudo i2cdetect -y 1
- 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:
- Robotik: Kesin kontrol için eklem veya tekerlek açılarını ölçün.
- Kodlayıcılar: CNC makineleri veya 3D yazıcılar için DIY döner kodlayıcılar oluşturun.
- Düğme kontrolleri: Hacim veya menü navigasyonu için yüksek çözünürlüklü bir düğme olarak kullanın.
- Pozisyon Takibi: Otomasyon sistemlerindeki açısal konumları izleyin.
Sorun giderme
-
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.
-
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.
-
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.
- I2C veri yolunda çelişkili cihazlar olup olmadığını kontrol edin
Çö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!