מד זרם משמש למדידת זרימת זרם דרך כל עומס או מכשיר. כאן במד זרם זה של ארדואינו נסביר על מדידת זרם באמצעות חוק אוהם. זה יהיה מעניין למדי, כמו גם יישום טוב של מדע בסיסי שלמדנו בימי בית הספר שלנו.
כולנו ידועים בחוק אוהם. הוא קובע כי " ההבדל הפוטנציאלי בין שני קטבים או מסופים של מוליך הוא פרופורציונלי ישירות לכמות הזרם העוברת דרך אותו מוליך " עבור קבוע פרופורציונליות שאנחנו משתמשים בהתנגדות, אז הנה זה מגיע משוואת החוק של אוהם.
V = IR
- V = מתח על פני המוליך בוולט (v).
- אני = זרם עובר דרך המוליך באמפר (A).
- R = קבוע התנגדות של מידתיות ב- Ohm (Ω).
על מנת למצוא את הזרם העובר דרך המכשיר, אנו פשוט מסדרים מחדש את המשוואה להלן, או שנוכל לחשב באמצעות מחשבון החוק של אוהם.
אני = V / R
אז כדי לברר את הזרם, אנו זקוקים לכמה נתונים:
- מתח
- הִתנַגְדוּת
אנו הולכים לבנות התנגדות סדרתית יחד עם המכשיר. מכיוון שאנו צריכים למצוא ירידת מתח על פני המכשיר, לשם כך אנו זקוקים לקריאות מתח לפני ואחרי ירידת המתח, הדבר אפשרי בהתנגדות בגלל קוטביות.
כמו בתרשים לעיל, עלינו למצוא את שני המתחים שזורמים על פני הנגד. ההבדל בין המתחים (V1-V2) בשני קצוות הנגדים נותן לנו ירידה במתח על פני הנגד (R) ואנחנו מחלקים את ירידת המתח לערך הנגד שאנו מקבלים את זרם הזרם (I) דרך המכשיר. כך אנו יכולים לחשב את הערך הנוכחי העובר דרכו, בואו ניכנס לתוכו יישום מעשי.
רכיבים נדרשים:
- ארדואינו אונו.
- נגד 22Ω.
- LCD 16x2.
- לד.
- סיר 10K.
- קרש לחם.
- מולטימטר.
- כבלים מגשרים.
תרשים מעגלים וחיבורים:
התרשים הסכימטי של פרויקט מד זרם Arduino הוא להלן
התרשים הסכימטי מראה את חיבור ה- Arduino Uno עם LCD, נגד ו- LED. Arduino Uno הוא מקור הכוח של כל שאר הרכיבים.
ל- Arduino סיכות אנלוגיות ודיגיטליות. מעגל החיישן מחובר לכניסות האנלוגיות שמהן אנו מקבלים ערך של המתח. ה- LCD מחובר עם הפינים הדיגיטליים (7,8,9,10,11,12).
LCD כולל 16 פינים ששתי הפינים הראשונים (VSS, VDD) ושני הפינים האחרונים (אנודה, קתודה) מחוברים ל- GND ול- 5V. סיכות האיפוס (RS) והפעלת (E) מחוברות לסיכות הדיגיטליות Arduino 7 ו- 8. סיכות הנתונים D4-D7 מחוברות לסיכות הדיגיטליות של Arduino (9,10,11,12). סיכת V0 מחוברת לסיכה האמצעית של הסיר. החוטים האדומים והשחורים הם 5V ו- GND.
מעגל חישה נוכחי:
מעגל מד זרם זה מורכב מנגד ו- LED כעומס. הנגד מחובר בסדרה ל- LED שהזרם זורם דרך העומס וירידות המתח נקבעות מהנגד. המסוף V1, V2 יתחבר לכניסה האנלוגית של הארדואינו.
ב- ADC של Arduino המכסה את המתח למספרי רזולוציה של 10 סיביות בין 0-1023. אז אנחנו צריכים להסתיר אותו בערך מתח באמצעות התכנות. לפני כן עלינו לדעת את המתח המינימלי ש- ADC של ארדואינו יכול לזהות, ערך זה הוא 4.88mV. אנו מכפילים את הערך מ- ADC עם 4.88mV ומקבלים את המתח בפועל ל- ADC. למידע נוסף על ADC של Arduino כאן.
חישובים:
ערך המתח מ- ADC של ארדואינו נע בין 0-1023 ומתח הייחוס נע בין 0-5V.
לדוגמה:
הערך של V1 = 710, V2 = 474 ו- R = 22Ω, ההפרש בין המתחים הוא 236. אנו ממירים אותו למתח על ידי הכפלת עם 0.00488, ואז נקבל 1.15 וולט. אז הפרש המתח הוא 1.15v, על ידי חלוקתו ב 22 כאן נקבל את הערך הנוכחי 0.005A. כאן השתמשנו בנגד 22ohm בעל ערך נמוך כחיישן זרם. כך נוכל למדוד את הזרם באמצעות ארדואינו.
קוד ארדואינו:
קוד מלא עבור מד זרם מבוסס ארדואינו למדידת זרם, ניתן בסוף מאמר זה.
תכנות ארדואינו כמעט כמו לתכנות c, ראשית אנו מכריזים על קבצי הכותרת. קבצי הכותרת מכנים את הקובץ שבאחסון, כמו לחישוב אני מקבל את ערכי המתח באמצעות פונקציית analogread .
int voltage_value0 = analogRead (A0); int voltage_value1 = analogRead (A1);
משתנה זמני לצוף מוכרז להחזקת ערך מתח כמו צף temp_val. הערך מוכפל עם 0.00488 כדי לקבל הפרש מתח בפועל ואז הוא מחולק לפי ערך הנגד כדי למצוא את הזרימה הנוכחית. 0.00488v הוא המתח המינימלי ש- ADC של Arduino יכול לזהות.
int subraction_value = (voltage_value0 - voltage_value1); צף temp_val = (subraction_value * 0.00488); צף current_value = (temp_val / 22);
בדוק את סרטון ההדגמה המלא למטה ובדוק גם את מד המתח הדיגיטלי של ארדואינו.