מדידת זרם במעגלים אלקטרוניים היא דרישה נפוצה לפרויקטים הכוללים חיישנים, מנועים, נוריות LED ורכיבים אחרים. אמנם ארדואינו לא יכול למדוד ישירות זרם, אך אתה יכול להשתמש ברכיבים חיצוניים כמו חיישן זרם או נגן שאנט כדי למדוד אותו בעקיפין. מדריך זה ינחה אתכם בתהליך מדידת הזרם באמצעות ארדואינו.
מה תצטרך
- מועצת ארדואינו (למשל, אונו, מגה, ננו)
- חיישן נוכחי (למשל, ACS712, INA219) או נגן שאנט
- חוטי לחם וגשר
- מכשיר טעינה (למשל, LED, מנוע או כל רכיב שברצונך למדוד זרם עבורו)
- ספק כוח (5V או 12V בהתאם לעומס שלך)
- מחשב עם Arduino IDE המותקן
שיטה 1: שימוש בחיישן זרם
חיישנים נוכחיים כמו ACS712 או INA219 מפשטים את המדידה הנוכחית על ידי מתן פלט אנלוגי או דיגיטלי פרופורציונלי לזרם.
1. שימוש בחיישן הזרם ACS712
חיישן ACS712 מודד גם זרם AC ו- DC ומוצא אות אנלוגי ביחס לזרם הזורם דרכו.
תרשים חיווט
ACS712 PIN | קֶשֶׁר |
---|---|
VCC | Arduino 5V |
GND | Arduino Gnd |
הַחוּצָה | סיכה אנלוגית של ארדואינו (למשל, A0) |
IP+ | חיבור עומס חיובי |
IP- | חיבור עומס שלילי |
קוד דוגמה
#define sensorPin A0
const float sensitivity = 0.185; // Sensitivity for ACS712-05B (mV per A)
const int zeroPoint = 512; // Zero current output in ADC counts
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(sensorPin);
float voltage = (sensorValue / 1023.0) * 5.0; // Convert to voltage
float current = (voltage - (zeroPoint / 1023.0) * 5.0) / sensitivity; // Calculate current
Serial.print("Current: ");
Serial.print(current, 3);
Serial.println(" A");
delay(1000);
}
2. שימוש בחיישן הנוכחי INA219
ה- INA219 הוא חיישן זרם דיוק גבוה המתקשר עם Arduino באמצעות I2C, ומציע מדידות זרם וגם מתח.
תרשים חיווט
PIN219 | קֶשֶׁר |
---|---|
VCC | Arduino 5V |
GND | Arduino Gnd |
SDA | Arduino SDA (למשל, A4 ב- UNO) |
SCL | Arduino SCL (למשל, A5 ב- UNO) |
VIN+ | חיבור עומס חיובי |
VIN- | חיבור עומס שלילי |
קוד דוגמה
התקן את ספריית Adafruit INA219 דרך מנהל הספרייה של ארדואינו.
#include <Wire.h>
#include <Adafruit_INA219.h>
Adafruit_INA219 ina219;
void setup() {
Serial.begin(9600);
if (!ina219.begin()) {
Serial.println("Failed to find INA219 chip");
while (1);
}
}
void loop() {
float current_mA = ina219.getCurrent_mA();
Serial.print("Current: ");
Serial.print(current_mA);
Serial.println(" mA");
delay(1000);
}
שיטה 2: שימוש בנגד shunt
נגדי Shunt הוא נגד עמידות נמוכה הממוקם בסדרה עם העומס. על ידי מדידת ירידת המתח על פני הנגד Shunt, אתה יכול לחשב את הזרם באמצעות חוק אוהם:
I = v / r
תרשים חיווט
רְכִיב | קֶשֶׁר |
---|---|
נגן שאנט | בסדרה עם העומס |
סיכה אנלוגית של ארדואינו | מעבר לנגד הסאנט |
לִטעוֹן | מחובר לאספקת חשמל |
קוד דוגמה
#define shuntPin A0
const float shuntResistance = 0.1; // Resistance in ohms
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(shuntPin);
float voltage = (sensorValue / 1023.0) * 5.0; // Convert to voltage
float current = voltage / shuntResistance; // Calculate current
Serial.print("Current: ");
Serial.print(current, 3);
Serial.println(" A");
delay(1000);
}
שיטות עבודה מומלצות למדידות מדויקות
- בחר את החיישן הנכון: בחר חיישן נוכחי או נגן שאנט המתאים לטווח הנוכחי הצפוי שלך.
- כיול את ההתקנה שלך: התאם את הקוד לחיישן הספציפי שלך או לנגד Shunt כדי להבטיח קריאות מדויקות.
- למזער את הרעש: השתמש בחוטים קצרים ועבים והימנע מסביבות רועשות כדי להפחית שגיאות מדידה.
- עקוב אחר מגבלות הכוח: ודא שהחיישן או הנגד שאנט יכול להתמודד עם הזרם המרבי מבלי להתחמם יתר על המידה.
יישומי המדידה הנוכחית
- ניטור צריכת סוללות במכשירי IoT
- מדידת משיכת זרם במנועים
- בדיקת נוריות LED ורכיבים אחרים
- ניהול כוח במערכות משובצות
פתרון בעיות
- קריאות שגויות: בדוק כפול בערכי חיווט וכיול של חיישן.
- אין פלט: ודא שהעומס מחובר והזרם זורם.
- ערכים משתנים: הוסף קבלים על פני אספקת החשמל של החיישן כדי לייצב את הקריאות.
מַסְקָנָה
מדידת הזרם עם ארדואינו היא פשוטה כאשר משתמשים בכלים הנכונים כמו חיישנים נוכחיים או נגדי כיוון. על ידי ביצוע מדריך זה, באפשרותך לפקח על הזרם במעגלים שלך במדויק, ולאפשר ניהול כוח טוב יותר ואבחון מערכת. התנסו בחיישנים שונים כדי למצוא את ההתאמה הטובה ביותר לפרויקטים שלכם!