תוכן עניינים:

בודק סוללות עם טמפרטורה ובחירת סוללה: 23 שלבים (עם תמונות)
בודק סוללות עם טמפרטורה ובחירת סוללה: 23 שלבים (עם תמונות)

וִידֵאוֹ: בודק סוללות עם טמפרטורה ובחירת סוללה: 23 שלבים (עם תמונות)

וִידֵאוֹ: בודק סוללות עם טמפרטורה ובחירת סוללה: 23 שלבים (עם תמונות)
וִידֵאוֹ: Miboxer Zigbee מסלול אור ושלט Zigbee ל-8 אזורים עם כריכה ישירה 2024, יולי
Anonim
Image
Image
שינוי מפרויקט הבסיס
שינוי מפרויקט הבסיס

בודק קיבולת סוללה.

עם מכשיר זה אתה יכול לבדוק את הכמות של סוללת 18650, חומצה ואחרות (הסוללה הגדולה ביותר שבדקתי היא סוללת 6v חומצה 4, 2A). תוצאת הבדיקה היא במיליאמפר/שעה.

אני יוצר את המכשיר הזה כי אני צריך את זה כדי לבדוק קיבולת של סוללת סין מזויפת.

ליתר ביטחון, הוספתי, באמצעות תרמיסטור, את הטמפרטורה של התנגדות החשמל והסוללה למניעת התחממות רבה מדי, בעזרת הטריק הזה אני יכול לבדוק סוללת חומצה 6v ללא אש הלוח (במחזור של פריקה זמן מה ללכת לנגד כוח חם. והמכשיר ממתין 20 שניות כדי להפחית את הטמפרטורה).

בחרתי בקר מיקרו קטן atmega328 תואם ננו (eBay).

כל הקוד נמצא כאן.

שלב 1: שינוי מפרויקט הבסיס

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

v0.1

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

v0.2

  • נוספה אפשרות לבחירת סוללה
  • נוצר לוח אב טיפוס (תראה סכמטי), עם המסך, הכפתור והרמקול מחוץ ללוח כי בעתיד ארצה ליצור חבילה.
  • נוסף ניהול של מגבלת הטמפרטורה לנגד החשמל, כך שאוכל לחסום את התהליך כאשר הטמפרטורה עולה מעל 70 ° (מעל הורדת הנגד של כוח הטמפרטורה).

v0.3

בקרוב לוח משירות זה

שלב 2: V0.2 של הלוח

V0.2 של הדירקטוריון
V0.2 של הדירקטוריון

ב- v0.2 כדי לתמוך בסוגים שונים של סוללות, יצרתי מבנה שחייבים למלא אותו בשם הסוללה, מתח מינימלי ומתח מרבי (אני צריך עזרה למלא אותו: P).

// מבנה מבנה הקלדה של סוללה BatteryType {שם שם [10]; לצוף maxVolt; float minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

עכשיו אני משתמש בקבוצה של נגדים של 10k למפריד המתח כדי לקרוא טמפרטורה כפולה של קלט אנלוגי. אם אתה רוצה תמיכה במתח שינוי, עליך לשנות ערך זה (הסבר טוב יותר בהמשך):

// עמידות במתח הסוללה

#הגדר BAT_RES_VALUE_GND 10.0 #הגדר BAT_RES_VALUE_VCC 10.0 // התנגדות מתח נגדי כוח #הגדר RES_RES_VALUE_GND 10.0 #הגדר RES_RES_VALUE_VCC 10.0

אם אינך משתמש בטרמיסטור, הגדר זאת כ- false:

#הגדר USING_BATTERY_TERMISTOR נכון

#הגדר USING_RESISTO_TERMISTOR נכון

אם אתה משתמש בתצוגת i2c אחרת, עליך לכתוב מחדש את השיטה הבאה:

צייר חלל (חלל)

בפרויקט תוכלו למצוא סכימות, תמונות ועוד.

שלב 3: לוח לחם: בקר תצוגת תווים I2c מורחב

לוח לחם: בקר תצוגת תווים I2c מורחב
לוח לחם: בקר תצוגת תווים I2c מורחב

השתמשתי בתצוגת תווים כללית ובניתי את בקר i2c והשתמשתי בו עם הספרייה המותאמת אישית שלי.

אבל אם אתה רוצה, אתה יכול לקחת בקר i2c רגיל (פחות מ 1 €) עם ספרייה סטנדרטית, הקוד נשאר זהה. כל קוד התצוגה הוא בפונקציית צייר, כך שתוכל לשנות זאת מבלי לשנות דברים אחרים.

יותר טוב להסביר כאן.

שלב 4: לוח לחם: תצוגת תווים עם I2c משולב

לוח לחם: תצוגת תווים עם I2c משולב
לוח לחם: תצוגת תווים עם I2c משולב

אותה סכמה ללא בקרת i2c מורחבת.

שלב 5: מימוש

למדידת מתח אנו משתמשים בעקרון מחלק מתח (מידע נוסף בויקיפדיה).

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

batResValueGnd / (batResValueVolt + batResValueGnd)

הכנסתי את 2 ההתנגדויות של הערך batResValueVolt ו- batResValueGnd לאחר ולפני חוט הקריאה האנלוגי.

batVolt = (sample1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;

מדגם 1 הוא הקריאות האנלוגיות הממוצעות;

מתח ארדואינו הפניה vcc;

1023.0 הוא הערך המקסימלי של התייחסות לקריאה אנלוגית (קריאה אנלוגית של Arduino עוברת מ -0 ל -1023).

כדי לקבל אמפר אתה צריך מתח אחרי ולפני נגד כוח.

כאשר יש לך את מדידת המתח לאחר ולפני הנגד כוח אתה יכול לחשב מיליאמפר שצורך את הסוללה.

ה- MOSFET משמש להפעלה ולהפסקת ניקוז הסוללות מנגד החשמל.

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

שלב 6: הרחבה

פְּרִישׁוּת
פְּרִישׁוּת
פְּרִישׁוּת
פְּרִישׁוּת

אני מנסה לייצר לוח אב טיפוס שניתן להרחבה, אך לעת עתה אני משתמש רק בקבוצת סיכות מינימלית (בעתיד אוסיף נוריות וכפתורים אחרים).

אם אתה רוצה מתח תמיכה גדול מ- 10v עליך לשנות את ערך הנגד של הסוללה וההתנגדות בהתאם לנוסחה

(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)

בסכימה מתח כוח הנגד

מתח כוח הנגד GND 1/2/(מתח כוח הנגד 2/2 + מתח כוח הנגד GND 1/2)

ורוד יורד הלחמה

שלב 7: רשימת חלקים

כמות נכסים של סוג חלק

  • 2 5 מ"מ בורג מונח בלוק מסוף בורג הר PCB 8A 250V LW SZUS (eBay)
  • שיבוט Arduino Pro Mini 1 (תואם ננו) (eBay)
  • 1 בסיס FET P-Channel IRF744N או IRLZ44N (eBay)
  • 11 נגד נגד 10kΩ 10kΩ (eBay)
  • 2 חיישן טמפרטורה (תרמיסטור) 10kΩ; (eBay)
  • * צורת כותרת גברית כללית ♂ (זכר); (eBay)
  • * צורת כותרת גנרית כללית ♀ (נקבה); (eBay)
  • לוח לוח אב טיפוס אחד 24x18 (Perfayboard) (eBay)
  • 10R, 10W

    נגד כוח (eBay) אני מוצא את שלי בטלוויזיה ישנה של crt.

שלב 8: לוח: אפס, לחצן Gnd E לבחירת סוללה

לוח: איפוס, לחצן Gnd E לבחירת סוללה
לוח: איפוס, לחצן Gnd E לבחירת סוללה

בחלק השמאלי של הסיכות אתה יכול למצוא את הכפתור והזמזם.

אני משתמש בשלושה כפתורים:

  1. אחד לשינוי סוג הסוללה;
  2. אחד להתחיל לפרוק את הסוללה שנבחרה;
  3. ואז אני משתמש בסיכת איפוס כדי להפעיל מחדש הכל ולהפעיל פעולה חדשה.

כל הסיכה כבר מושכת למטה, כך שעליך להפעיל באמצעות VCC

איפוס מופעל באמצעות GND

ורוד יורד הלחמה

שלב 9: לוח: סיכות I2c ואספקת חשמל

לוח: I2c וסיכות אספקת חשמל
לוח: I2c וסיכות אספקת חשמל

לבסיס אתה יכול לראות את VCC, GND ו- SDA, SCL לתצוגה (ועוד בעתיד).

ורוד יורד הלחמה

שלב 10: לוח: תרמיסטור ומדידת מתח

לוח: תרמיסטור ומדידת מתח
לוח: תרמיסטור ומדידת מתח

מימין ישנם סיכות לקריאת ערך התרמיסטור, אחת עבור תרמיסטור של resitsor או השני עבור (סיכות זכר/נקבה לחיבור) תרמיסטור סוללה.

לאחר מכן ישנם סיכות אנלוגיות המודדות מתח דיפרנציאלי לאחר ולפני הנגד כוח.

ורוד יורד הלחמה

שלב 11: לוח: התנגדות למדידת מתח

לוח: התנגדות למדידת מתח
לוח: התנגדות למדידת מתח
לוח: התנגדות למדידת מתח
לוח: התנגדות למדידת מתח

כאן אתה יכול לראות את הנגד המאפשר תמיכה במתח כפול מאשר סיכה ארדואינו (10v), עליך לשנות זאת כדי לתמוך במתח רב יותר.

ורוד יורד הלחמה

שלב 12: שלב הלחמה: כל הסיכות

שלב הלחמה: כל הסיכות
שלב הלחמה: כל הסיכות
שלב הלחמה: כל הסיכות
שלב הלחמה: כל הסיכות

ראשית אני מוסיף את כל הסיכות והלחמתי אותו.

שלב 13: שלבי הלחמה: הנגד הנפתח והתרמיסטור

שלבי הלחמה: הנגד הנפתח והתרמיסטור
שלבי הלחמה: הנגד הנפתח והתרמיסטור
שלבי הלחמה: הנגד הנפתח והתרמיסטור
שלבי הלחמה: הנגד הנפתח והתרמיסטור

לאחר מכן אני מוסיף את כל resitor הנפתח (לכפתורים) ומחבר i2c (תצוגה).

אז תרמיסטור הנגד כוח זה מאוד חשוב, כאשר סוללת חומצה מתחממת מדי.

שלב 14: שלבי הלחמה: MOSFET, התנגדות לבדיקת מתח

שלבי הלחמה: MOSFET, עמידות לבדיקת מתח
שלבי הלחמה: MOSFET, עמידות לבדיקת מתח
שלבי הלחמה: MOSFET, התנגדות לבדיקת מתח
שלבי הלחמה: MOSFET, התנגדות לבדיקת מתח

כעת עלינו להכניס mosfet להפעלת פריקה והתנגדות לבדיקת מתח.

2 התנגדות למתח לפני הנגד כוח 2 התנגדות למתח לאחר כוח, כאשר יש לך מתח זה אתה יכול לחשב צריכת מיליאמפר.

שלב 15: קוד

המיקרו -בקר תואם ננו, לכן עליך להגדיר את ה- IDE שלך להעלאת Nano Arduino.

כדי לעבוד עליך להוריד קוד ממאגר github שלי.

עליך להוסיף 3 ספרייה:

  1. חוט: ספריית ארדואינו סטנדרטית לפרוטוקול i2c;
  2. ספריית טרמיסטור מכאן לא הספרייה שתוכל למצוא ב- arduino IDE, אלא הגרסה שלי;
  3. LiquidCrystal_i2c: אם אתה משתמש בגרסה מורחבת/מותאמת אישית של מתאם i2c (הגרסה שלי) עליך להוריד את הספרייה מכאן, אם תשתמש ברכיב הסטנדרטי תוכל לקחת את הספרייה מ- arduino IDE, אך הכל מוסבר טוב יותר כאן.

אני לא בודק LCD עם ספרייה סטנדרטית, נראה לי שהם ניתנים להחלפה, אבל אם יש בעיה כלשהי, פנה לי לפנות אלי.

שלב 16: תוצאה לאחר ההרכבה

Image
Image
תוצאה לאחר הרכבה
תוצאה לאחר הרכבה
תוצאה לאחר הרכבה
תוצאה לאחר הרכבה

לוח הבסיס בתמונה, ואז נוכל לבדוק אותו.

שלב 17: ראשית בחר סוג סוללה

בחר תחילה סוג סוללה
בחר תחילה סוג סוללה

כפי שתואר יש לנו מפת ערך עם תצורת הסוללה.

// מבנה מבנה הקלדה של סוללה BatteryType {שם שם [10]; לצוף maxVolt; float minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

שלב 18: התחל פריקה

התחל לפרוק
התחל לפרוק
התחל לפרוק
התחל לפרוק

לחיצה על הכפתור השני מתחילה לפרוק.

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

שלב 19: חריגים: סוללה הוסרה

Image
Image
חריגים: התראת טמפרטורה
חריגים: התראת טמפרטורה

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

שלב 20: חריגים: התראת טמפרטורה

חריגים: התראת טמפרטורה
חריגים: התראת טמפרטורה
חריגים: התראת טמפרטורה
חריגים: התראת טמפרטורה
חריגים: התראת טמפרטורה
חריגים: התראת טמפרטורה

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

#הגדר BATTERY_MAX_TEMP 50

#הגדר RESISTANCE_MAX_TEMP 69 // 70 ° בגיליון הנתונים (נגדי ירידה) #הגדר TEMP_TO_REMOVE_ON_MAX_TEMP 20

ערך ברירת המחדל לטמפרטורה מקסימלית הוא 50 ° לסוללה ו- 69 עבור נגד כוח.

כפי שאתה יכול לראות בהערה הנגד כוח מושפע מהפחתת כאשר עוברים מעל 70 °.

אם ההתראה עולה, התחל TEMP_TO_REMOVE_ON_MAX_TEMP שניות של השהיה כדי להעלות טמפ 'נמוכה.

שלב 21: בדוק את העוצמה

בדיקת עוצמה
בדיקת עוצמה

התוצאה של בדיקת אמפר היא טובה.

שלב 22: חבילה

עם רכיב מופרד תוצאת החבילה פשוטה למימוש.

בקופסה חייב לעשות מלבן עבור LCD, החורים לכפתורי לחיצה וחבית נקבה חיצונית לאספקת מתח מאספקת החשמל.

כפתור לחיצה לא צריך נגד נפתח כי אני מוסיף אותו כבר על הסיפון.

כשיהיה לי זמן אני יוצר ומפרסם אותו.

מוּמלָץ: