كيفية استخدام مشفر الدوار المغناطيسي AS5600 مع Arduino

How to Use the AS5600 Magnetic Rotary Encoder with Arduino

AS5600 هو تشفير دوار مغناطيسي دقيق قادر على قياس زوايا بدقة 12 بت. يتواصل عبر I2C أو الإخراج التناظري ، مما يجعله مثاليًا للروبوتات والتحكم في المحرك وتطبيقات استشعار الموضع. سوف يرشدك هذا البرنامج التعليمي من خلال الاتصال واستخدام AS5600 مع Arduino.


ماذا ستحتاج

  1. AS5600 وحدة تشفير دوار مغناطيسي
  2. لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
  3. الأسلاك الأسلاك والبلوز
  4. جهاز كمبيوتر مع 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.

خطوات التثبيت:

  1. افتح Arduino IDE.
  2. اذهب إلى رسم > تشمل المكتبة > إدارة المكتبات.
  3. ابحث عن "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: اختبار الإعداد

  1. قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
  2. افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
  3. تحميل الرمز بالنقر فوق رفع.
  4. افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود 9600.
  5. قم بتدوير المغناطيس أمام مستشعر AS5600. يجب عرض الزاوية في الدرجات في الوقت الحقيقي.

اختياري: استخدام وضع الإخراج التناظرية

  1. توصيل OUT دبوس من AS5600 إلى دبوس تمثيلي على Arduino (على سبيل المثال ، A0).
  2. قم بتعديل الكود لقراءة الجهد التناظري:
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

  1. استشعار موقف المحرك
  2. تشفير مقبض الدوران
  3. قياس زاوية المفاصل الآلية
  4. أنظمة تثبيت الكاميرا gimbal

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

  • لا توجد بيانات: تحقق من اتصالات I2C وتأكد من تحديد المسامير الصحيحة في الكود.
  • القيم الخاطئة: تأكد من وضع المغناطيس بشكل صحيح ومحاذاة مع المستشعر.
  • لا استجابة في الوضع التناظري: تأكيد MODE تم تكوين دبوس بشكل صحيح.

خاتمة

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

اترك تعليقًا

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.