תוכן עניינים:
וִידֵאוֹ: מד וולט מדויק ומדויק של Arduino (0-90V DC): 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
במדריך זה, בניתי מד וולט למדידת מתח גבוה DC (0-90v) בדיוק ודיוק יחסית באמצעות Arduino Nano.
מדידות הבדיקה שעשיתי היו מספיק מדויקות, בעיקר בטווח של 0.3 וולט מהמתח בפועל שנמדד באמצעות מד מתח סטנדרטי (השתמשתי ב- Astro AI DM6000AR). זה קרוב מספיק לשימוש המיועד שלי במכשיר.
כדי לארכיון זה השתמשתי בהתייחסות מתח (4.096v) ומפריד מתח.
בצד הקוד, השתמשתי, כמובן, באפשרות "הפניה חיצונית" עבור ה- Arduino Nano ובדוגמא "החלקה" במדריכי Arduino.
אספקה
1 x ארדואינו ננו - קישור
1 x תצוגת Oled (SSD 1306) - קישור
1 x 1/4W נגדים 1% - 1k ohm - קישור
1 x 1/4W נגדים 1% - 220k אוהם - קישור
1 x 1/4W נגדים 1% - 10k אוהם - קישור
1 x 4.096v LM4040DIZ -4.1 הפניה למתח - קישור
קרש לחוטים וחוטים - קישור
Astro AI DM6000AR - קישור
בנק כוח USB - קישור
סוללות 9V - קישור
CanadianWinters משתתפת בתוכנית Amazon Services LLC Associates, תוכנית פרסום של שותפים שנועדה לספק אמצעים לאתרים להרוויח עמלות על ידי קישור לאמזון.קום ואתרים קשורים. על ידי שימוש בקישורים אלה, בתור עמית אמזון אני מרוויח מרכישות מתאימות, גם אם אתה קונה משהו אחר-וזה לא יעלה לך כלום.
שלב 1: התרשימים
חיברתי את כל החלקים לפי הסכימות שלמעלה. במיוחד בחרתי בהתייחסות למתח 4.096 כדי להישאר קרוב ככל האפשר לסימן 5v כדי למנוע אובדן רזולוציה.
בעקבות גליון הנתונים בחרתי בנגד 1K אוהם להתייחסות למתח למרות שניתן להשתמש בערך שונה. המתח להתייחסות מסופק מהפין Nano 5v.
הרעיון של המעגל הוא שמתח DC שיש למדוד עובר דרך נגד מתח. המתח המוגדל ואז נכנס לסיכה האנלוגית של הארדואינו כדי לדגום, להחליק, לשנות את קנה המידה ולהציג אותו על צג OLed.
ניסיתי לשמור על דברים פשוטים:)
שלב 2: חישובי הקוד וההתנגדות
ערכי הנגדים נבחרו כיוון שמומלץ (אם אינני טועה זה על גליון הנתונים של Arduino/Atmega) כדי לשמור על העכבה מתחת ל- 10k אוהם.
כדי לפשט את העניינים, הכנתי גיליון אלקטרוני המפעיל את החישובים באופן אוטומטי למקרה שתרצו להשתמש בערכי נגדים שונים: קישור ל- Google Sheet
להלן הקוד בו השתמשתי לפרויקט זה:
#לִכלוֹל
#כלול U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (סיבוב, [אפס]) מתח צף = 0; // משמש לאחסון צף ערך המתח Radjust = 0.043459459; // גורם מחלק מתח (R2 /R1+R2) float vbat = 0; // מתח סופי לאחר חישובים- מתח של מצוף הסוללה Vref = 4.113; // התייחסות למתח - הערך האמיתי נמדד. ערך נומינלי 4.096v const int numReadings = 50; // מספר דגימות קריאה - הגדל להחלקה נוספת. ירידה לקריאה מהירה יותר. int readings [numReadings]; // הקריאות מהקלט האנלוגי int readIndex = 0; // האינדקס של הקריאה הנוכחית סה"כ ארוך ללא סימן = 0; // ממוצע ה- int הכולל הפועל = 0; // משתנים לרענון המסך ללא שימוש בעיכוב ללא חתימה ארוכה קודמת מיליס = 0; // יישמר בפעם האחרונה שהמסך עודכן // קבועים לא ישתנו: const מרווח ארוך = 50; // מרווח שבו רענון המסך (מילי שניות) הגדרת חלל (void) {analogReference (EXTERNAL); // השתמש ב- AREF למתח התייחסות 4.096. המתח האמיתי שלי הוא 4.113v u8g2.begin (); for (int thisReading = 0; thisReading = numReadings) {// … עוטף את ההתחלה: readIndex = 0; } // לחשב את הממוצע: ממוצע = (total / numReadings); מתח = ממוצע * (Vref / 1023.0); //4.113 הוא ה- Vref vbat = voltage/Radjust; // הגדרת העיכוב לרענון המסך באמצעות Millis if (currentMillis - previousMillis> = interval) {// שמור את הפעם האחרונה שהמסך עודכן previousMillis = currentMillis; u8g2.clearBuffer (); // נקה את התפיסה הפנימית // תצוגת Pack Pack u8g2.setFont (u8g2_font_fub20_tr); // גופן 20px u8g2.setCursor (1, 20); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // 10 פיקסלים גופן u8g2.setCursor (76, 20); u8g2.print ("וולט"); u8g2.setCursor (1, 40); u8g2.print ("CanadianWinters '"); u8g2.setCursor (1, 60); u8g2.print ("מתח מדויק"); } u8g2.sendBuffer (); // העברת זיכרון פנימי לעיכוב התצוגה (1); }
שים לב שאני קצת חלוד עם קידוד Arduino, אז אם אתה מוצא טעות או דרך לשפר את הקוד, אני פתוח להצעות:)
שלב 3: בואו לבדוק את זה
כדי לבדוק את מד המתח הזה השתמשתי בסוללות 8X 9V שקיבלתי בחנות מקומית. אני מתכנן להשתמש במד-וולט זה כדי למדוד את המתח על מארזי הסוללה של האופניים החשמליים שלי (יש להם מתח שנע בין 24-60 וולט עם מדי פעם 72 וולט).
ברגע שהאלקטרוניקה ארוזה למחשב קופסא וקופסה קטנה, זה יהפוך למד סוללה נחמד ונייד. הגרפיקה והגופנים ב- OLED ניתנים להתאמה אישית לצרכיך (למשל גופן גדול יותר לקריאה קלה).
המטרה שלי הייתה קריאת מתח על מד Oled/Arduino לא רחוק מדי ממד הדיגיטלי שלי. כיוונתי ל +/- 0, 3v max delta. כפי שאתה יכול לראות מהסרטון הצלחתי לארכיון זה למעט בקצה העליון של המדידות.
אני מקווה שנהנית מהמדריך הזה וספר לי את דעתך!
מוּמלָץ:
תצוגת דיו אלקטרוני Waveshare מד מד מדויק (0-90v DC) עם Arduino Nano: 3 שלבים
תצוגת דיו אלקטרוני של Waveshare מד מתח מדויק (0-90v DC) עם Arduino Nano: במדריך זה אני משתמש בתצוגת נייר Waveshare בגודל 2.9 אינץ 'עם Arduino Nano, מחלק מתח ו- ADS1115 להצגת מתח מדויק עד 90 וולט DC בתצוגת נייר אלקטרוני. הוראה זו משלבת את שני הפרויקטים הקודמים האלה:- Ardui
כיצד לייצר חיישן קצב זרימת אוויר מדויק עם Arduino עבור מאוורר COVID-19 מתחת ל 20 £: 7 שלבים
כיצד ליצור חיישן זרימת אוויר מדויק עם Arduino עבור מאוורר COVID-19 מתחת ל -20 £: עיין בדוח זה לעיצוב העדכני ביותר של חיישן זרימת פתח זה: https://drive.google.com/file/d/1TB7rhnxQ6q6C1cNb. .. הוראות אלה מראות כיצד לבנות חיישן קצב זרימת אוויר באמצעות חיישן לחץ דיפרנציאלי בעלות נמוכה ובקלות
Version מדגם גרסה II (יציב ומדויק יותר): 6 שלבים
Β מדגם גרסת II (יציב ומדויק יותר): https://www.instructables.com/id/Beta-Meter/ מד גרסת I β היה מדויק בשקט אך המקור הנוכחי לא היה קבוע עם מתח הכניסה (Vcc). מד בגרסה II יציב למדי, כלומר, הערך הנוכחי לא משתנה הרבה עם השינוי ב
פנס מיני וולט 9 וולט: 5 שלבים
פנס מיני וולט 9 וולט: הייתה לי נורת מיני ישנה מונחת, אז החלטתי להפוך אותה לפנס. פריטים הדרושים: סוללת 9 וולט מתאם 9 וולט ליסטרין כיס חבילות מיקרו -סוויץ נורה קטנה (או מנורת עץ חג המולד) קרטון דק עיפרון או עט הלחמה
מתאם 12 וולט ל- USB שנאי עד 5 וולט (נהדר עבור מכוניות): 6 שלבים
מתאם 12 וולט ל- USB שנאי עד 5 וולט (נהדר עבור מכוניות): זה יראה לך כיצד לייצר מתאם של 12 וולט ל- USB (5 וולט). השימוש הברור ביותר של זה הוא עבור מתאמי רכב 12V, אבל בכל מקום שיש לך 12v אתה יכול להשתמש בו! אם אתה צריך 5v למשהו אחר מלבד USB, פשוט דלג על השלבים לגבי הוספת יציאות USB