الـ AS5600 هو مستشعر موضعي مغناطيسي دوّار عالي الدقة يمكنه قياس الزوايا حتى 360°. وبفضل واجهة I2C، يسهل دمجه مع Raspberry Pi للحصول على قياسات زاوية دقيقة في الروبوتات والأتمتة وغيرها من التطبيقات. يوضح هذا الدليل كيفية استخدام الـ AS5600 باستخدام Raspberry Pi لقراءة المواضع الزاوية.
ما ستحتاج إليه
- راسبيري باي (أي نموذج يدعم I2C، مثل Pi 3، Pi 4)
- وحدة مستشعر تدوير مغناطيسي AS5600
- مغناطيس (مُمغنط قطريًا)
- لوحة توصيل وأسلاك توصيل
- كمبيوتر مزود بإمكانية وصول عبر SSH إلى Raspberry Pi أو لوحة مفاتيح وشاشة متصلتان
- تم تثبيت Python على Raspberry Pi
الخطوة 1: تمكين I2C على Raspberry Pi
- افتح الطرفية على Raspberry Pi الخاص بك.
- شغّل أداة تهيئة Raspberry Pi:
sudo raspi-config - انتقل إلى خيارات الواجهة > I2C، وقم بتمكينه.
- أعد تشغيل Raspberry Pi:
sudo reboot
الخطوة 2: توصيل الـ AS5600 إلى الـ Raspberry Pi
الـ AS5600 يستخدم بروتوكول I2C للتواصل. وصِّله إلى Raspberry Pi كما يلي:
| AS5600 دبوس | دبوس Raspberry Pi |
|---|---|
| VCC | 3.3V (الدبوس 1) |
| أرضي | الأرضي (الدبوس 6) |
| SDA | SDA (الدبوس 3، GPIO2) |
| SCL | SCL (الدبوس 5، GPIO3) |
ملاحظة: تأكد من الـ وحدة AS5600 يتوافق جهد التشغيل مع مستوى منطق Raspberry Pi البالغ 3.3V.
الخطوة 3: تثبيت الأدوات والمكتبات المطلوبة
- تحديث جهاز Raspberry Pi:
sudo apt update && sudo apt upgrade -y - ثبّت أدوات I2C:
sudo apt install -y i2c-tools - تثبيت مكتبات Python للتواصل عبر I2C:
pip install smbus2
الخطوة 4: التحقق من اتصال I2C
- اكتشف الـ AS5600 على حافلة I2C:
sudo i2cdetect -y 1 - يجب أن ترى عنوان جهاز (على سبيل المثال،
0x36) في المخرجات. إذا لم يكن كذلك، فتحقق من التوصيلات لديك.
الخطوة 5: قراءة البيانات من الـ AS5600
الـ AS5600 يوفر بيانات زاوية بدقة 12-بت عبر I2C. يمكنك استخدام سكربت Python التالي لقراءة وعرض الموضع الزاوي.
مثال على كود Python
import smbus2
import time
# تعريف عنوان I2C والحافلة
AS5600_ADDR = 0x36
ANGLE_REG = 0x0E
bus = smbus2.SMBus(1)
def read_angle():
# قراءة بايتين من سجل الزاوية
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 متعددة الاستخدامات ويمكن استخدامها في مشاريع متنوعة:
- الروبوتات: قم بقياس زوايا المفصل أو العجلة لتحقيق تحكم دقيق.
- المشفرات: اصنع مشفّرات دوّارية (Rotary Encoders) بنفسك لآلات CNC أو الطابعات ثلاثية الأبعاد.
- عناصر التحكم بالمقبض: استخدمه كزر دوار عالي الدقة للتحكم في مستوى الصوت أو للتنقل في القوائم.
- تتبُّع المواضع: تتبّع المواضع الزاويّة في أنظمة الأتمتة.
استكشاف الأخطاء وإصلاحها
-
الجهاز غير مُكتشف:
- تحقق من توصيلات SDA وSCL.
- تأكد من تمكين I2C على Raspberry Pi.
- تحقق من جهد التشغيل الخاص بـ AS5600.
-
قراءات غير دقيقة:
- تأكد من محاذاة المغناطيس بشكل صحيح مع الـ مستشعر AS5600.
- استخدم مغناطيسًا ممغنطًا قطريًا للحصول على قياسات دقيقة.
-
أخطاء I2C:
- تحقق من الأجهزة المتعارضة على ناقل I2C باستخدام
i2cdetect. - تحقق من AS5600عنوان 's يطابق النص.
- تحقق من الأجهزة المتعارضة على ناقل I2C باستخدام
الخلاصة
الـ مستشعر موضع دوّار مغناطيسي AS5600 هي أداة قوية وسهلة الاستخدام لقياس الزوايا. باتباع هذا الدليل، يمكنك دمج الـ AS5600 مع Raspberry Pi لإنشاء أنظمة قياس دوراني دقيقة للروبوتات والأتمتة وغيرها. جرّب تطبيقات مختلفة لاكتشاف الإمكانات الكاملة لهذا المستشعر متعدد الاستخدامات!




