- חומרים נדרשים
- תרשים מעגל
- יחידת מדידה
- יחידת חישוב ותצוגה
- תכנות את הארדואינו
- כיצד למדוד ביתר דיוק?
- עבודה ובדיקה
כמהנדסי אלקטרוניקה, אנו תמיד תלויים במדדים / מכשירים כדי למדוד ולנתח את פעולת המעגל. החל ממולטימטר פשוט למנתחי איכות חשמל מורכבים או DSO, לכל דבר יש יישומים ייחודיים משלהם. רוב המטרים הללו זמינים וניתן לרכוש אותם על פי הפרמטרים שיש למדוד ודיוקם. אך לפעמים אנו עלולים להגיע למצב בו אנו צריכים לבנות את המונים שלנו. נניח למשל שאתה עובד על פרוייקט סולארית סולארית ותרצה לחשב את צריכת החשמל של העומס שלך, בתרחישים כאלה אנו יכולים לבנות וואטמטר משלנו באמצעות פלטפורמת מיקרו-בקר פשוטה כמו Arduino.
בניית מונים משלך לא רק מורידה את עלות הבדיקה, אלא גם נותנת לנו מקום להקל על תהליך הבדיקה. כמו, מד וואט שנבנה באמצעות Arduino יכול בקלות להיות משופץ בכדי לעקוב אחר התוצאות במוניטור סדרתי ולתכנן גרף במתווה סדרתי או להוסיף כרטיס SD כדי לרשום אוטומטית את ערכי המתח, הזרם וההספק במרווחי זמן מוגדרים מראש. נשמע מעניין נכון !? אז בואו נתחיל…
חומרים נדרשים
- ארדואינו ננו
- LM358 Op-Amp
- 7805 ווסת מתח
- 16 * 2 תצוגת LCD
- 0.22 אוהם נגד נגד שאט 2 וואט
- סיר גוזם 10k
- נגדים 10k, 20k, 2.2k, 1k
- 0.1uF קבלים
- עומס מבחן
- לוח או קרש לחם
- ערכת הלחמה (אופציונלי)
תרשים מעגל
תרשים המעגל השלם של פרויקט הוואטמטר הארדואינו מופיע להלן.
כדי להקל על ההבנה מעגל הוואטמטר של ארדואינו מחולק לשתי יחידות. החלק העליון של המעגל הוא יחידת המדידה וחלקו התחתון של המעגל הוא יחידת החישוב והתצוגה. עבור אנשים חדשים בסוג זה של מעגלים עקבו אחר התוויות. דוגמה + 5V היא תווית שמשמעותה שיש להתחשב בכל הפינים אליהם מחובר התווית כשהם מחוברים יחד. בדרך כלל משתמשים בתוויות כדי לגרום לתרשים המעגל להיראות מסודר.
המעגל נועד להתאים למערכות הפועלות בין 0-24 וולט עם טווח זרם של 0-1A תוך התחשבות במפרט של סולארית שמש. אבל אתה יכול בקלות להרחיב את הטווח ברגע שאתה מבין את פעולת המעגל. העיקרון הבסיסי מאחורי המעגל הוא מדידת המתח על פני העומס והזרם דרכו כדי לחשב את הכוח הנצרך על ידו. כל הערכים הנמדדים יוצגו במסך אלפאנומרי 16 * 2.
בהמשך למטה בואו נחלק את המעגל למקטעים קטנים כדי שנוכל לקבל תמונה ברורה כיצד המעגל מוטה לעבוד.
יחידת מדידה
יחידת המדידה מורכבת ממחלק פוטנציאלי שיעזור לנו למדוד את המתח ונגד סגור עם מגבר אופטי שאינו הפוך משמש כדי לסייע לנו במדידת הזרם דרך המעגל. החלק המפריד הפוטנציאלי מהמעגל לעיל מוצג להלן
כאן מתח הכניסה מיוצג על ידי Vcc, כפי שנאמר קודם לכן אנו מתכננים את המעגל לטווח מתח בין 0 וולט ל -24 וולט. אך מיקרו-בקר כמו ארדואינו אינו יכול למדוד ערכי מתח כה גבוהים; זה יכול למדוד רק מתח בין 0-5 וולט. אז עלינו למפות (להמיר) את טווח המתח של 0-24 וולט ל -0-5 וולט. ניתן לעשות זאת בקלות באמצעות מעגל חלוקה פוטנציאלי כמוצג להלן. הנגד 10k ו- 2.2k יוצרים יחד את מעגל החלוקה הפוטנציאלי. ניתן לחשב את מתח המוצא של מחלק פוטנציאלי באמצעות הנוסחאות הבאות. אותו ניתן להשתמש כדי להחליט את ערך הנגדים שלך, אתה יכול להשתמש במחשבון המקוון שלנו כדי לחשב את ערך הנגד אם אתה מעצב מחדש את המעגל.
Vout = (Vin × R2) / (R1 + R2)
ניתן להשיג את הממוצע 0-5V מהחלק האמצעי המסומן כמתח. לאחר מכן ניתן להזין את המתח הממופה לסיכה האנלוגית של ארדואינו.
בשלב הבא עלינו למדוד את הזרם באמצעות ה- LOAD. כידוע מיקרו-בקרים יכולים לקרוא רק מתח אנלוגי, לכן עלינו להמיר איכשהו את ערך הזרם למתח. ניתן לעשות זאת על ידי הוספת פשוט נגד (נגד שנט) בנתיב שעל פי חוק אוהם יפיל ערך מתח לרוחב שהוא פרופורציונלי לזרם הזורם דרכו. הערך של ירידת המתח הזו יהיה פחות מאוד ולכן אנו משתמשים במגבר אופ כדי להגביר אותו. המעגל עבור אותו מוצג להלן
כאן הערך של התנגדות השנט (SR1) הוא 0.22 אוהם. כפי שנאמר קודם אנו מתכננים את המעגל עבור 0-1A ולכן על פי חוק אוהם נוכל לחשב את ירידת המתח על פני הנגד הזה אשר תהיה סביב 0.2 וולט כאשר זרם מקסימלי של 1A עובר דרך העומס. מתח זה קטן מאוד עבור קריאת מיקרו-בקר, אנו משתמשים במגבר-אופ במצב של מגבר שאינו הפוך כדי להגביר את המתח מ- 0.2 וולט לרמה גבוהה יותר לקריאת הארדואינו.
מגבר ה- Op במצב לא הפוך מוצג לעיל. המגבר מתוכנן להיות בעל רווח של 21, כך ש 0.2 * 21 = 4.2V. הנוסחאות לחישוב הרווח של המגבר Op מוצגות להלן, תוכל גם להשתמש במחשבון רווח מקוון זה כדי לקבל את ערך הנגד שלך אם אתה מתכנן מחדש את המעגל.
רווח = Vout / Vin = 1 + (Rf / Rin)
כאן במקרה שלנו הערך של Rf הוא 20k והערך של Rin הוא 1k מה שנותן לנו ערך ג'יאן של 21. המתח המוגבר של מגבר ה- Op- ניתן לאחר מכן למסנן RC עם הנגד 1k וקבל 0.1uF ל לסנן כל רעש המוצמד. לבסוף המתח מוזרם לסיכה האנלוגית של ארדואינו.
החלק האחרון שנותר ביחידת המדידה הוא החלק של ויסות המתח. מכיוון שניתן מתח כניסה משתנה אנו זקוקים למתח +5 וולט מוסדר כדי שהארדואינו והמגבר יפעלו. מתח מווסת זה יסופק על ידי ווסת המתח 7805. קבל נוסף בפלט לסינון הרעש.
יחידת חישוב ותצוגה
ביחידת המדידה תכננו את המעגל להמיר את פרמטרי המתח והזרם ל 0-5 וולט שניתן להזין אותו לסיכות האנלוגיות של ארדואינו. כעת בחלק זה של המעגל נחבר את אותות המתח הללו לארדואינו ונממשק גם תצוגה אלפאנומרית 16 × 2 לארדואינו כדי שנוכל לראות את התוצאות. המעגל עבור אותו מוצג להלן
כפי שניתן לראות סיכת המתח מחוברת לסיכה אנלוגית A3 והסיכה הנוכחית מחוברת לסיכה אנלוגית A4. ה- LCD מופעל מ- + 5 V מ- 7805 ומחובר לסיכות הדיגיטליות של Arduino כדי לעבוד במצב 4 סיביות. השתמשנו גם בפוטנציומטר (10k) המחובר לסיכת Con כדי לשנות את הניגודיות של ה- LCD.
תכנות את הארדואינו
עכשיו שיש לנו הבנה טובה של החומרה, בואו נפתח את Arduino ונתחיל בתכנות. מטרת הקוד היא לקרוא את המתח האנלוגי בסיכה A3 ו- A4 ולחשב את ערך המתח, הזרם וההספק ולבסוף להציג אותו על גבי מסך ה- LCD. התוכנית המלאה לעשות את אותו הדבר ניתנת בסוף העמוד אשר יכולה לשמש ככזו לחומרה שנדונה לעיל. יתר על כן הקוד מחולק לקטעים קטנים ומוסבר.
כמו כל התוכניות שאנחנו מתחילים בהן, הגדרת הסיכות בהן השתמשנו. בפרויקט החוצה משתמשים בסיכה A3 ו- A4 למדידת מתח וזרם בהתאמה והסיכות הדיגיטליות 3,4,8,9,10 ו- 11 משמשות לממשק LCD עם Arduino
int Read_Voltage = A3; int Read_Current = A4; const int rs = 3, en = 4, d4 = 8, d5 = 9, d6 = 10, d7 = 11; // ציין את מספר הסיכה לחיבור LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
כללנו גם קובץ כותרת עליונה בשם גביש נוזלי לממשק LCD עם Arduino. ואז בתוך פונקציית ההתקנה אנו מאתחלים את תצוגת ה- LCD ומציגים טקסט מבוא כ- "Arduino Wattmeter" ומחכים לשתי שניות לפני שמנקים אותו. הקוד עבור אותו מוצג להלן.
הגדרת חלל () { lcd.begin (16, 2); // אתחל 16 * 2 LCD lcd.print ("Arduino Wattmeter"); // שורת הודעות מבוא 1 lcd.setCursor (0, 1); lcd.print ("- Circuitdigest"); // עיכוב קו הודעה 2 מבוא (2000); lcd.clear (); }
בתוך פונקציית הלולאה הראשית, אנו משתמשים בפונקציית הקריאה האנלוגית כדי לקרוא את ערך המתח מהסיכה A3 ו- A4. כידוע ערך הפלט ADC של Arduino בין 0-1203 מכיוון שיש לו ADC של 10 סיביות. לאחר מכן יש להמיר ערך זה ל- 0-5V אשר ניתן לעשות זאת על ידי הכפלת עם (5/1023). ואז שוב מוקדם יותר בחומרה מיפינו את הערך האמיתי של המתח בין 0-24 וולט ל -0-5 וולט ואת הערך האמיתי של הטופס הנוכחי 0-1 א 'ל -0-5 וולט. אז עכשיו עלינו להשתמש במכפיל כדי להחזיר את הערכים הללו לערך בפועל. ניתן לעשות זאת על ידי הכפלתו בערך מכפיל. ניתן לחשב את ערך המכפיל תיאורטית באמצעות הנוסחאות המופיעות בסעיף החומרה, או אם יש לך קבוצה ידועה של ערכי מתח וזרם, אתה יכול לחשב אותו באופן מעשי.עקבתי אחר האפשרות האחרונה מכיוון שהיא נוטה להיות מדויקת יותר בזמן אמת. אז כאן ערך המכפילים הוא 6.46 ו- 0.239. מכאן שהקוד נראה כמו למטה
float Voltage_Value = analogRead (Read_Voltage); צף Current_Value = analogRead (Read_Current); Voltage_Value = Voltage_Value * (5.0 / 1023.0) * 6.46; Current_Value = Current_Value * (5.0 / 1023.0) * 0.239;
כיצד למדוד ביתר דיוק?
הדרך שלעיל לחשב את ערך המתח והזרם בפועל תעבוד בסדר גמור. אך הוא סובל מחיסרון אחד, כלומר הקשר בין מתח ה- ADC הנמדד למתח האמיתי לא יהיה ליניארי ולכן מכפיל אחד לא יתן תוצאות מדויקות במיוחד, אותו הדבר חל גם על זרם.
אז כדי לשפר את הדיוק נוכל לשרטט קבוצה של ערכי ADC מדודים עם ערכים בפועל באמצעות קבוצה ידועה של ערכים ואז להשתמש בנתונים אלה כדי לשרטט גרף ולהפיק את משוואת המכפיל בשיטת הרגרסיה הליניארית. אתה יכול להפנות את מד ה- Arduino dB שבו השתמשתי בשיטה דומה.
לבסוף, לאחר שחישבנו את ערך המתח האמיתי והזרם האמיתי דרך העומס, נוכל לחשב את הכוח באמצעות הנוסחאות (P = V * I). לאחר מכן אנו מציגים את כל שלושת הערכים בתצוגת LCD באמצעות הקוד שלמטה.
lcd.setCursor (0, 0); lcd.print ("V ="); lcd.print (Voltage_Value); lcd.print (""); lcd.print ("I ="); lcd.print (Current_Value); צף Power_Value = Voltage_Value * Current_Value; lcd.setCursor (0, 1); lcd.print ("כוח ="); lcd.print (Power_Value);
עבודה ובדיקה
לצורך ההדרכה השתמשתי בלוח perf כדי להלחין את כל הרכיבים כפי שמוצג במעגל. השתמשתי במסוף בורג של פיניקס כדי לחבר את העומס וג'ק חבית DC רגיל לחיבור מקור הכוח שלי. לוח ה- Arduino Nano ו- LCD מותקנים על ברגסטיק נקבה כך שניתן יהיה להשתמש בהם מחדש אם נדרש מאוחר יותר.
לאחר הכנת החומרה, העלה את קוד Arduino ללוח הננו שלך. כוון את סיר הגוזם כדי לשלוט ברמת הניגודיות של ה- LCD עד שתראה טקסט מבוא ברור. כדי לבדוק את הלוח חבר את העומס למחבר מסוף הבורג ואת המקור לשקע הקנה. מתח המקור צריך להיות יותר מ -6 וולט כדי שפרויקט זה יעבוד, מכיוון שהארדואינו דרוש +5 וולט להפעלה. אם הכל עובד בסדר, אתה אמור לראות את ערך המתח על פני העומס ואת הזרם דרכו מוצג בשורה הראשונה של ה- LCD ואת ההספק המחושב המוצג בשורה השנייה של ה- LCD כמוצג להלן.
החלק המהנה בבניית משהו טמון בבדיקתו כדי לבדוק עד כמה זה יעבוד כמו שצריך. לשם כך השתמשתי ב- 12V מחוון רכב מבעבע כעומס וב- RPS כמקור. מכיוון שה- RPS עצמו יכול למדוד ולהציג את ערך הזרם והמתח יהיה לנו קל לבדוק את הדיוק והביצועים של המעגל שלנו. וכן, השתמשתי גם ב- RPS שלי בכיול ערך המכפיל שלי כך שאגיע קרוב לערך המדויק.
את העבודה המלאה תוכלו למצוא בסרטון המופיע בסוף עמוד זה. מקווה שהבנת את המעגל ואת התוכנית ולמדת משהו שימושי. אם יש לך בעיה לגרום לזה לעבוד, פרסם את זה בסעיף ההערות שלמטה או כתוב בפורומים שלנו לקבלת עזרה טכנית נוספת.
לפרויקט Wattmeter מבוסס Arduino זה יש שדרוגים רבים נוספים שניתן להוסיף כדי להגדיל את הביצועים לרישום נתונים אוטומטי, לתכנן גרף, להודיע על מתח או על מצבי זרם וכו '. אז הישאר סקרן ויידע אותי בשביל מה היית משתמש בזה.