כיצד להשתמש במקודד הסיבוב המגנטי AS5600 עם Arduino

How to Use the AS5600 Magnetic Rotary Encoder with Arduino

ה- AS5600 הוא מקודד סיבוב מגנטי מדויק המסוגל למדוד זוויות ברזולוציה של 12 סיביות. זה מתקשר באמצעות I2C או פלט אנלוגי, מה שהופך אותו לאידיאלי לרובוטיקה, שליטה מוטורית ויישומי חישת מיקום. מדריך זה ינחה אתכם באמצעות חיבור ושימוש ב- AS5600 עם Arduino.


מה תצטרך

  1. AS5600 מודול מקודד סיבוב מגנטי
  2. לוח ארדואינו (למשל, אונו, מגה, ננו)
  3. חוטי לחם וגשר
  4. מחשב עם Arduino IDE המותקן

שלב 1: הבנת מודול AS5600

ה- AS5600 תומך בשניהם I2c וכן אנלוגי תפוקות. במצב I2C הוא מספק נתוני זווית מדויקים ביותר. המצב האנלוגי מוציא מתח פרופורציונלי לזווית.

Pinout

פִּין פוּנקצִיָה
VCC ספק כוח (3.3V/5V)
GND טָחוּן
SDA קו נתונים I2C
SCL קו שעון I2C
הַחוּצָה פלט אנלוגי (אופציונלי)
Dir תצורת כיוון
מצב תצורת מצב פלט

פֶּתֶק: THE DIR PIN מגדיר את כיוון הסיבוב, ואת MODE סיכה בוחרת בין מצבי פלט I2C או אנלוגיים. עבור i2c, התחבר MODE ל- GND.


שלב 2: חיווט AS5600 ל- Arduino

מצב I2C (ברירת מחדל)

חבר את AS5600 לארדואינו כדלקמן:

AS5600 PIN סיכת ארדואינו
VCC 5V
GND GND
SDA A4
SCL A5

פֶּתֶק: עבור לוחות ארדואינו אחרים, וודא שאתה משתמש בסיכות I2C הנכונות.


שלב 3: התקן את הספרייה הנדרשת

כדי להקל על העבודה עם AS5600, התקן את ספריית "AS5600" מ- GitHub או ממנהל הספרייה של ארדואינו.

שלבים להתקנה:

  1. פתח את IDE Arduino.
  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 לסיכה אנלוגית על הארדואינו (למשל, 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. מערכות ייצוב גימבל מצלמה

פתרון בעיות

  • אין נתונים: אמת את חיבורי I2C וודא שהסיכות הנכונות מוגדרות בקוד.
  • ערכים לא שגרתיים: ודא שהמגנט ממוקם נכון ומתואם עם החיישן.
  • אין תגובה במצב אנלוגי: אשר את MODE PIN מוגדר כראוי.

מַסְקָנָה

התממשק בהצלחה את מקודד הסיבוב המגנטי של AS5600 עם ארדואינו למדידת מיקום זוויתי. בין אם אתה משתמש ב- 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.