باستخدام AS5600 مع Raspberry Pi

Using the AS5600 with the Raspberry Pi

AS5600 عبارة عن مستشعر موضع مغناطيسي دوار عالي الدقة يمكنه قياس الزوايا حتى 360 درجة. من خلال واجهة I2C ، من السهل الاندماج مع Raspberry Pi لقياسات الزاوية الدقيقة في الروبوتات والأتمتة والتطبيقات الأخرى. يشرح هذا الدليل كيفية استخدام AS5600 مع Raspberry Pi لقراءة المواضع الزاوية.


ماذا ستحتاج

  1. التوت بي (أي نموذج مع دعم I2C ، على سبيل المثال ، PI 3 ، PI 4)
  2. AS5600 وحدة تشفير دوار مغناطيسي
  3. مغناطيس (مغناطيسي مقطوع)
  4. الأسلاك الأسلاك والبلوز
  5. جهاز كمبيوتر به وصول SSH إلى Raspberry Pi أو لوحة مفاتيح متصلة وشاشة
  6. Python مثبت على Raspberry Pi

الخطوة 1: تمكين I2C على Raspberry Pi

  1. افتح المحطة على Raspberry Pi.
  2. قم بتشغيل أداة تكوين Raspberry PI:
    sudo raspi-config
    
  3. انتقل إلى خيارات الواجهة> i2cوتمكينها.
  4. أعد تشغيل Raspberry Pi:
    sudo reboot
    

الخطوة 2: توصيل AS5600 إلى Raspberry Pi

يستخدم AS5600 بروتوكول I2C للاتصال. قم بتوصيله بالتوت على النحو التالي:

AS5600 دبوس التوت بي دبوس
VCC 3.3V (دبوس 1)
GND الأرض (دبوس 6)
SDA SDA (PIN 3 ، GPIO2)
SCL SCL (PIN 5 ، GPIO3)

ملحوظة: تأكد من أن الجهد التشغيلي الخاص بـ AS5600 يطابق مستوى منطق Raspberry PI 3.3V.


الخطوة 3: تثبيت الأدوات والمكتبات المطلوبة

  1. قم بتحديث Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. قم بتثبيت أدوات I2C:
    sudo apt install -y i2c-tools
    
  3. تثبيت مكتبات Python لاتصال I2C:
    pip install smbus2
    

الخطوة 4: تحقق من اتصال I2C

  1. اكتشف AS5600 على حافلة I2C:
    sudo i2cdetect -y 1
    
  2. يجب أن ترى عنوان الجهاز (على سبيل المثال ، 0x36) في الإخراج. إذا لم يكن كذلك ، تحقق من الأسلاك الخاصة بك.

الخطوة 5: اقرأ البيانات من AS5600

يوفر AS5600 بيانات زاوية 12 بت من خلال I2C. يمكنك استخدام البرنامج النصي 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...")

الخطوة 6: تطبيقات AS5600

AS5600 متعدد الاستخدامات ويمكن استخدامه في مختلف المشاريع:

  1. الروبوتات: قياس زوايا المفصل أو العجلات للتحكم الدقيق.
  2. برامج الترميز: قم بإنشاء ترميزات دوارة DIY لآلات CNC أو الطابعات ثلاثية الأبعاد.
  3. عناصر التحكم في المقبض: استخدم مقبضًا عالي الدقة للتنقل أو التنقل في القائمة.
  4. تتبع الموقف: تتبع المواقف الزاوية في أنظمة الأتمتة.

استكشاف الأخطاء وإصلاحها

  1. لم يتم اكتشاف الجهاز:

    • تحقق من اتصالات SDA و SCL.
    • تأكد من تمكين I2C على Raspberry Pi.
    • تحقق من الجهد التشغيلي لـ AS5600.
  2. قراءات غير دقيقة:

    • تأكد من محاذاة المغناطيس بشكل صحيح مع مستشعر AS5600.
    • استخدم المغناطيس المغنطيسي للقطاعات لقياسات دقيقة.
  3. أخطاء I2C:

    • تحقق من وجود أجهزة متضاربة على ناقل I2C باستخدام i2cdetect.
    • تحقق من عنوان AS5600 يطابق البرنامج النصي.

خاتمة

يعد مستشعر الموضع المغناطيسي AS5600 أداة قوية وسهلة الاستخدام لقياس الزوايا. من خلال اتباع هذا الدليل ، يمكنك دمج AS5600 مع Raspberry Pi لإنشاء أنظمة قياس دوران دقيقة للروبوتات والأتمتة والمزيد. تجربة مع تطبيقات مختلفة لفتح الإمكانات الكاملة لهذا المستشعر متعدد الاستخدامات!

اترك تعليقًا

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.