כיצד ליצור מד מתח DC דיגיטלי באמצעות Arduino?

מד מתח הוא מכשיר למדידת מתח המשמש למדידת המתח בנקודות מסוימות במעגל חשמלי. מתח הוא ההפרש הפוטנציאלי שנוצר בין שתי נקודות במעגל חשמלי. ישנם שני סוגים של מד מתח. חלק מהמתחים נועדו למדוד את המתח של מעגלי DC ומתחי מתח אחרים נועדו למדוד את המתח במעגלי זרם חילופין. מד מתח זה מאופיין עוד לשתי קטגוריות. האחד הוא מד מתח דיגיטלי המציג את המדידות על גבי מסך דיגיטלי והשני הוא מד מתח אנלוגי המשתמש במחט בכדי לכוון על הסולם כדי להראות לנו את הקריאה המדויקת.



מד מתח דיגיטלי

בפרויקט זה אנו הולכים להכין מד מתח באמצעות Arduino Uno. נסביר שתי תצורות של מד מתח דיגיטלי במאמר זה. בתצורה הראשונה, המיקרו-בקר יוכל למדוד מתח בטווח של 0 - 5 וולט. בתצורה השנייה, המיקרו-בקר יוכל למדוד את המתח בטווח של 0 - 50 וולט.



כיצד ליצור מד מתח דיגיטלי?

כידוע ישנם שני סוגים של מד מתח, מד מתח אנלוגי ומד מתח דיגיטלי. ישנם כמה סוגים נוספים של מד מתח אנלוגי המבוססים על בניית המכשיר. חלק מסוגים אלה כוללים מד מתח סליל נע מגנט קבוע, מד מתח מיישר, מד מתח ברזל נע וכו '. המטרה העיקרית להחדרת מד המתח הדיגיטלי בשוק נבעה מההסתברות הגדולה יותר לשגיאות במדדי האנלוגיה. שלא כמו מד מתח אנלוגי, המשתמש במחט ובסולם, מד המתח הדיגיטלי מציג את הקריאות ישירות בספרות על המסך. זה מסיר את האפשרות של שגיאת אפס . אחוז השגיאות מצטמצם בין 5% ל -1% כאשר עברנו ממד מתח אנלוגי למד מתח דיגיטלי.



כעת, כידוע תקציר הפרויקט הזה, בואו נאסוף מידע נוסף ונתחיל לייצר מד מתח דיגיטלי באמצעות Arduino Uno.



שלב 1: איסוף הרכיבים

הגישה הטובה ביותר להתחיל כל פרויקט היא להכין רשימת רכיבים ולעבור מחקר קצר על רכיבים אלה מכיוון שאף אחד לא ירצה להישאר באמצע פרויקט רק בגלל רכיב חסר. רשימה של רכיבים בהם נשתמש בפרויקט זה מובאת להלן:

  • ארדואינו אונו
  • פוטנציומטר 10k-ohm
  • חוטי מגשר
  • נגד 100k-ohm
  • נגד 10k-ohm
  • מתאם AC ל- DC 12V (אם Arduino אינו מופעל באמצעות מחשב)

שלב 2: לימוד הרכיבים

ארדואינו UNO הוא לוח מיקרו-בקר הכולל מיקרו שבב ATMega 328P והוא פותח על ידי Arduino.cc. בלוח זה יש סט פינים נתונים דיגיטליים ואנלוגיים הניתנים לממשק ללוחות הרחבה או מעגלים אחרים. בלוח זה יש 14 פינים דיגיטליים, 6 פינים אנלוגיים וניתנים לתכנות עם ה- Arduino IDE (סביבת פיתוח משולבת) באמצעות כבל USB מסוג B. זה דורש 5 וולט לחשמל עַל ו קוד C להפעיל.

ארדואינו אונו



מסכי LCD נראים בכל מכשיר אלקטרוני אשר צריך להציג טקסט או ספרה כלשהם או תמונה כלשהי למשתמשים. LCD הוא מודול תצוגה, בו משתמשים בגביש נוזלי להפקת תמונה או טקסט גלוי. א צג LCD 16 × 2 הוא מודול אלקטרוני פשוט מאוד המציג 16 תווים בשורה ובסך הכל שתי שורות על המסך בו זמנית. מטריצת פיקסלים 5 × 7 משמשת להצגת דמות במסכי LCD אלה.

צג LCD 16 × 2

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

קרש לחם

שלב 3: דיאגרמת מעגלים

המעגל הראשון שטווח המדידה שלו הוא 0 עד 5V מוצג להלן:

מד מתח עבור 0-5 וולט

המעגל השני שטווח המדידה שלו הוא 0 עד 50 וולט מוצג להלן:

מד מתח 0-50 וולט

שלב 4: עקרון עבודה

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

במעגל הראשון שתחום המדידה שלו הוא 0 עד 5 וולט, הקלט יועבר על פי 0 אנלוגי. הפין האנלוגי יקרא כל ערך בין 0 ל 1024. ואז ערך אנלוגי זה יומר לדיגיטלי על ידי הכפלתו במתח כולל, שהוא 5V וחלק אותו ברזולוציה הכוללת, שהיא 1024.

במעגל השני, מאחר שהטווח אמור להיות מוגדל מ -5 וולט ל -50 וולט, יש לבצע תצורת מחלק מתח. מעגל מחלק המתח נוצר על ידי שימוש בנגד 10k-ohm וב- 100k-ohm. תצורת מחלק מתח זו עוזרת לנו להביא את מתח הכניסה לטווח הקלט האנלוגי של Arduino Uno.

כל החישובים המתמטיים נעשים בתכנות של Arduino Uno.

שלב 5: הרכבת הרכיבים

החיבור של מודול ה- LCD ללוח ה- Arduino Uno זהה בשני המעגלים. ההבדל היחיד הוא שבמעגל הראשון, טווח הקלט נמוך, ולכן הוא נשלח ישירות לסיכה האנלוגית של הארדואינו. במעגל השני משתמשים בתצורת מחלק מתח בצד הקלט של לוח המיקרו-בקר.

  1. חבר את סיכת ה- Vss ו- Vdd של מודול ה- LCD לקרקע ול- 5 V של לוח Arduino בהתאמה. סיכת ה- Vee היא הסיכה המשמשת להתאמת אילוצי התצוגה. הוא מחובר לפוטנציומטר שסיכה אחת מחוברת ל -5 וולט והשני מחובר לקרקע.
  2. חבר את סיכת ה- RS ו- E של מודול ה- LCD ל- pin2 ו- pin3 בלוח הארדואינו בהתאמה. סיכת ה- RW של ה- LCD מחוברת לקרקע.
  3. כפי שנשתמש במודול ה- LCD במצב נתונים של 4 סיביות, כך משתמשים בארבעת הפינים שלו D4 עד D7. סיכות D4-D7 של מודול ה- LCD מחוברות ל- pin4-pin7 של לוח המיקרו-בקר.
  4. במעגל הראשון, אין מעגלים נוספים בצד הקלט מכיוון שהמתח המרבי שיימדד הוא 5V. במעגל השני, מכיוון שטווח המדידה הוא 0-50 וולט, תצורת מחלק מתח נעשית באמצעות 10k-ohm ונגד 100k-ohm. יש לציין כי כל העילות משותפות.

שלב 6: תחילת העבודה עם Arduino

אם לא הכרתם את Arduino IDE לפני כן, אל דאגה מכיוון שלמטה תוכלו לראות שלבים ברורים של צריבת קוד על לוח המיקרו-בקר באמצעות Arduino IDE. אתה יכול להוריד את הגרסה האחרונה של Arduino IDE מ כאן ופעל לפי השלבים המוזכרים להלן:

  1. כאשר לוח ה- Arduino מחובר למחשב האישי שלך, פתח את 'לוח הבקרה' ולחץ על 'חומרה וצליל'. לאחר מכן לחץ על 'התקנים ומדפסות'. מצא את שם היציאה שאליה מחובר לוח הארדואינו שלך. במקרה שלי זה 'COM14' אבל זה יכול להיות שונה במחשב שלך.

    מציאת נמל

  2. נצטרך לכלול ספרייה לשימוש במודול ה- LCD. הספרייה מצורפת למטה בקישור ההורדה יחד עם הקוד. לך ל סקיצה> כלול ספרייה> הוסף ספריית .ZIP.

    כלול ספרייה

  3. עכשיו פתח את ה- IDE של ארדואינו. מתוך כלים, הגדר את לוח Arduino ל ארדואינו / Genuino UNO.

    לוח הגדרה

  4. מאותו תפריט כלים, הגדר את מספר היציאה שראית בלוח הבקרה.

    הגדרת נמל

  5. הורד את הקוד המצורף למטה והעתק אותו ל- IDE שלך. להעלאת הקוד לחץ על כפתור ההעלאה.

    העלה

אתה יכול להוריד את הקוד על ידי לחיצה כאן.

שלב 7: קוד

הקוד הוא די פשוט ומגיב היטב. אך עדיין, חלקם מוסבר להלן.

1. בהתחלה משתמשים בספרייה כדי שנוכל לממשק את מודול ה- LCD עם לוח ה- Arduino Uno ולתכנת אותו בהתאם. מאות סיכות של לוח Arduino מאותחלות שישמשו להתחברות למודול ה- LCD. לאחר מכן מאותחלים משתנים שונים לאחסון ערכים בזמן הריצה אשר ישמשו אחר כך בחישובים.

# כלול 'LiquidCrystal.h' // כולל ספרייה לממשק LCD מודול עם לוח Arduino LiquidCrystal lcd (2, 3, 4, 5, 6, 7); // סיכות של מודול LCD שישמש למתח צף = 0.0; טמפ 'צף = 0.0; // משתנה לאחסון הערך הדיגיטלי של הקלט int analog_value; // משתנה לאחסון ערך אנלוגי בכניסה

2. התקנה בטלה () היא פונקציה הפועלת רק פעם אחת כאשר המכשיר מתחיל או כפתור ההפעלה נלחץ. כאן אתחלנו את ה- LCD כדי להתחיל. כאשר LCD יתחיל יופיע הטקסט 'מד מתח דיגיטלי מבוסס Arduino'. קצב הקליטה מוגדר גם בפונקציה זו. Baud Rate הוא המהירות בסיביות לשנייה בהן ארדואינו מתקשר עם המכשירים החיצוניים.

הגדרת חלל () {lcd.begin (16, 2); // התחל תקשורת עם LCD lcd.setCursor (0,0); // התחל את הסמן מההתחלה lcd.print ('מבוסס Arduino'); // הדפס טקסט בשורה הראשונה lcd.setCursor (0,1); // העבר את מקף השורה לשורה הבאה lcd.print ('מד מתח דיגיטלי'); // הדפסת טקסט בעיכוב השורה השנייה (2000); // המתן לשתי שניות}

3. לולאה בטל () היא פונקציה הפועלת ברציפות בלולאה. כאן קוראים את הערך האנלוגי בצד הקלט. ואז ערך אנלוגי זה מומר לצורה דיגיטלית. תנאי מוחל והמדידות הסופיות מוצגות על גבי מסך ה- LCD

loop loop () {analog_value = analogRead (A0); // קריאת הערך האנלוגי temp = (analog_value * 5.0) / 1024.0; // היפוך הערך האנלוגי במתח דיגיטלי = temp / (0.0909); אם (מתח< 0.1) { voltage=0.0; } lcd.clear(); // Clear any text on the LCD lcd.setCursor(0, 0); // Mve the cursor to the initial position lcd.print('Voltage= '); // Print Voltgae= lcd.print(voltage); // Print the final digital value of voltage lcd.setCursor(13,1); // move the cursor lcd.print('V'); // print the unit of voltage delay(30); // wait for 0.3 seconds }

יישומים

חלק מהיישומים שלו במד מתח דיגיטלי כוללים:

  1. המעגל שיוצר לעיל יכול לשמש למדידת טווחי מתח שונים בדיוק רב בכל מעגל חשמלי.
  2. אם נעשה שינויים קלים במעגל, המיקרו-בקר יוכל למדוד את המתח גם במעגלי זרם חילופין.