AS5600 هو تشفير دوار مغناطيسي دقيق قادر على قياس زوايا بدقة 12 بت. يتواصل عبر I2C أو الإخراج التناظري ، مما يجعله مثاليًا للروبوتات والتحكم في المحرك وتطبيقات استشعار الموضع. سوف يرشدك هذا البرنامج التعليمي من خلال الاتصال واستخدام AS5600 مع Arduino.
ماذا ستحتاج
- AS5600 وحدة تشفير دوار مغناطيسي
- لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
- الأسلاك الأسلاك والبلوز
- جهاز كمبيوتر مع Arduino IDE مثبت
الخطوة 1: فهم وحدة AS5600
AS5600 يدعم كليهما I2C و التناظرية المخرجات. في وضع I2C ، يوفر بيانات زاوية دقيقة للغاية. يخرج الوضع التناظري جهد يتناسب مع الزاوية.
pinout
| دبوس | وظيفة |
|---|---|
| VCC | مزود الطاقة (3.3V/5V) |
| GND | أرضي |
| SDA | خط بيانات I2C |
| SCL | خط الساعة I2C |
| خارج | الإخراج التناظري (اختياري) |
| دير | تكوين الاتجاه |
| وضع | تكوين وضع الإخراج |
ملحوظة: ال
DIRيقوم PIN بتكوين اتجاه الدوران ، وMODEيختار PIN بين أوضاع الإخراج I2C أو التناظرية. ل I2C ، الاتصالMODEإلى GND.
الخطوة 2: توصيل AS5600 إلى Arduino
وضع I2C (افتراضي)
قم بتوصيل AS5600 بالأردوينو على النحو التالي:
| AS5600 دبوس | دبوس أردوينو |
|---|---|
| VCC | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
ملحوظة: للوحات Arduino الأخرى ، تأكد من استخدام دبابيس I2C الصحيحة.
الخطوة 3: تثبيت المكتبة المطلوبة
لجعل العمل مع AS5600 أسهل ، قم بتثبيت مكتبة "AS5600" من GitHub أو Manager Arduino Manager.
خطوات التثبيت:
- افتح Arduino IDE.
- اذهب إلى رسم > تشمل المكتبة > إدارة المكتبات.
- ابحث عن "AS5600" وانقر ثَبَّتَ.
الخطوة 4: تحميل الرمز
فيما يلي رمز مثال لقراءة الزاوية من AS5600 باستخدام I2C:
#include <Wire.h>
#include <AS5600.h>
AS5600 encoder;
void setup() {
Serial.begin(9600);
Wire.begin();
if (!encoder.begin()) {
Serial.println("AS5600 not detected. Check connections.");
while (1);
}
Serial.println("AS5600 initialized.");
}
void loop() {
// Read the current angle in degrees
float angle = encoder.getAngle();
Serial.print("Angle: ");
Serial.print(angle);
Serial.println(" degrees");
delay(100); // Update every 100ms
}
الخطوة 5: اختبار الإعداد
- قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
- افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
- تحميل الرمز بالنقر فوق رفع.
- افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود
9600. - قم بتدوير المغناطيس أمام مستشعر AS5600. يجب عرض الزاوية في الدرجات في الوقت الحقيقي.
اختياري: استخدام وضع الإخراج التناظرية
- توصيل
OUTدبوس من AS5600 إلى دبوس تمثيلي على Arduino (على سبيل المثال ، A0). - قم بتعديل الكود لقراءة الجهد التناظري:
const int analogPin = A0;
void setup() {
Serial.begin(9600);
pinMode(analogPin, INPUT);
}
void loop() {
int value = analogRead(analogPin); // Read analog voltage
float angle = map(value, 0, 1023, 0, 360); // Convert to degrees
Serial.print("Analog Angle: ");
Serial.print(angle);
Serial.println(" degrees");
delay(100);
}
تطبيقات AS5600
- استشعار موقف المحرك
- تشفير مقبض الدوران
- قياس زاوية المفاصل الآلية
- أنظمة تثبيت الكاميرا gimbal
استكشاف الأخطاء وإصلاحها
- لا توجد بيانات: تحقق من اتصالات I2C وتأكد من تحديد المسامير الصحيحة في الكود.
- القيم الخاطئة: تأكد من وضع المغناطيس بشكل صحيح ومحاذاة مع المستشعر.
-
لا استجابة في الوضع التناظري: تأكيد
MODEتم تكوين دبوس بشكل صحيح.
خاتمة
لقد نجحت في ربط مشفر الدوران المغناطيسي AS5600 مع Arduino لقياس الموضع الزاوي. سواء كنت تستخدم I2C للقراءات الدقيقة أو الوضع التناظري للبساطة ، فإن هذا المستشعر هو أداة متعددة الاستخدامات للمشاريع التي تتطلب قياسًا دورانيًا. تجربة أكثر من خلال دمجها في مشاريع التحكم في المحركات أو الروبوتات!




