สารบัญ:
- ขั้นตอนที่ 1: เปลี่ยนจากโครงการฐาน
- ขั้นตอนที่ 2: V0.2 ของบอร์ด
- ขั้นตอนที่ 3: Breadboard: I2c Character Display Controller ขยาย
- ขั้นตอนที่ 4: Breadboard: การแสดงอักขระด้วย I2c Integrated
- ขั้นตอนที่ 5: การตระหนักรู้
- ขั้นตอนที่ 6: ความสามารถในการขยาย
- ขั้นตอนที่ 7: รายการอะไหล่
- ขั้นตอนที่ 8: บอร์ด: รีเซ็ต, ปุ่ม Gnd E เพื่อเลือกแบตเตอรี่
- ขั้นตอนที่ 9: บอร์ด: I2c และพินพาวเวอร์ซัพพลาย
- ขั้นตอนที่ 10: บอร์ด: เทอร์มิสเตอร์และการวัดแรงดัน
- ขั้นตอนที่ 11: บอร์ด: ตัวต้านทานต่อการวัดแรงดัน
- ขั้นตอนที่ 12: ขั้นตอนการบัดกรี: พินทั้งหมด
- ขั้นตอนที่ 13: ขั้นตอนการบัดกรี: ตัวต้านทานแบบดึงลงและเทอร์มิสเตอร์
- ขั้นตอนที่ 14: ขั้นตอนการบัดกรี: MOSFET ความต้านทานต่อการตรวจสอบแรงดัน
- ขั้นตอนที่ 15: รหัส
- ขั้นตอนที่ 16: ผลลัพธ์หลังจากประกอบ
- ขั้นตอนที่ 17: เลือกประเภทแบตเตอรี่ก่อน
- ขั้นตอนที่ 18: เริ่มการคายประจุ
- ขั้นตอนที่ 19: ข้อยกเว้น: ถอดแบตเตอรี่ออก
- ขั้นตอนที่ 20: ข้อยกเว้น: การแจ้งเตือนอุณหภูมิ
- ขั้นตอนที่ 21: ทดสอบแอมแปร์
- ขั้นตอนที่ 22: แพ็คเกจ
วีดีโอ: ตัวตรวจสอบแบตเตอรี่พร้อมอุณหภูมิและการเลือกแบตเตอรี่: 23 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
เครื่องทดสอบความจุของแบตเตอรี่
ด้วยอุปกรณ์นี้คุณสามารถตรวจสอบความจุของแบตเตอรี่ 18650 กรดและอื่น ๆ (แบตเตอรี่ที่ใหญ่ที่สุดที่ฉันทดสอบคือแบตเตอรี่กรด 6v 4, 2A) ผลการทดสอบมีหน่วยเป็นมิลลิแอมแปร์/ชั่วโมง
ฉันสร้างอุปกรณ์นี้เพราะต้องการมันเพื่อตรวจสอบความจุของแบตเตอรี่จีนปลอม
เพื่อความปลอดภัย ผมเสริมด้วยการใช้เทอร์มิสเตอร์อุณหภูมิของความต้านทานไฟฟ้าและแบตเตอรี่เพื่อป้องกันไม่ให้ร้อนเกินไป ด้วยเคล็ดลับนี้ ผมสามารถตรวจสอบแบตเตอรี่กรด 6v โดยไม่ต้องไฟที่บอร์ด (ในวงจรการคายประจุบางครั้งไปที่ตัวต้านทานพลังงานความร้อน และอุปกรณ์รอ 20 วินาทีเพื่อลดอุณหภูมิ)
ฉันเลือกไมโครคอนโทรลเลอร์ขนาดเล็กที่รองรับ atmega328 nano (eBay)
รหัสทั้งหมดอยู่ที่นี่
ขั้นตอนที่ 1: เปลี่ยนจากโครงการฐาน
ฉันขโมยไอเดียจากโครงการ OpenGreenEnergy และฉันทำบอร์ดใหม่เพื่อเพิ่มคุณสมบัติ ดังนั้นตอนนี้กลายเป็นเรื่องทั่วไปมากขึ้น
v0.1
- VCC ของ Arduino ได้รับการคำนวณโดยอัตโนมัติแล้ว
- เพิ่มตัวแปรเพื่อเปลี่ยนการตั้งค่าในลักษณะที่สะดวกสบายยิ่งขึ้น
- เพิ่มเปอร์เซ็นต์การคายประจุ
- เพิ่มอุณหภูมิของแบตเตอรี่และตัวต้านทานพลังงาน
v0.2
- เพิ่มความเป็นไปได้ของการเลือกแบตเตอรี่
- สร้างบอร์ดต้นแบบ (ดูแผนผัง) โดยมีหน้าจอ ปุ่ม และลำโพงอยู่ด้านนอกบอร์ด เพราะในอนาคตผมอยากจะสร้างแพกเกจ
- เพิ่มการจัดการขีด จำกัด อุณหภูมิให้กับตัวต้านทานกำลังเพื่อให้ฉันสามารถบล็อกกระบวนการเมื่ออุณหภูมิสูงกว่า 70 ° (มากกว่าตัวต้านทานพลังงานอุณหภูมินี้ลดลง)
v0.3
เร็วๆ นี้ บอร์ดจากบริการนี้
ขั้นตอนที่ 2: V0.2 ของบอร์ด
ใน v0.2 เพื่อรองรับแบตเตอรี่ประเภทต่างๆ ฉันได้สร้างโครงสร้างที่ต้องเต็มไปด้วยชื่อแบตเตอรี่ แรงดันไฟฟ้าต่ำสุด และแรงดันไฟฟ้าสูงสุด (ฉันต้องการความช่วยเหลือในการเติม:P)
// โครงสร้างแบตเตอรี่ typestruct BatteryType { ชื่อถ่าน [10]; ลอย maxVolt; ลอย minVolt; }; #define BATTERY_TYPE_NUMBER 4 ประเภทแบตเตอรี่ประเภทแบตเตอรี่[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 สำหรับตัวแบ่งแรงดันไฟฟ้าเพื่ออ่านอุณหภูมิสองเท่าของอินพุตแบบอะนาล็อก หากคุณต้องการเปลี่ยนการรองรับแรงดันไฟ คุณต้องเปลี่ยนค่านี้ (อธิบายต่อไปดีกว่า):
// ความต้านทานแรงดันแบตเตอรี่
#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // ความต้านทานแรงดันไฟฟ้าของตัวต้านทานกำลัง #define RES_RES_VALUE_GND 10.0 #define RES_RES_VALUE_VCC 10.0
หากคุณไม่ได้ใช้เทอร์มิสเตอร์ ให้ตั้งค่านี้เป็นเท็จ:
#define USING_BATTERY_TERMISTOR จริง
#define USING_RESISTO_TERMISTOR จริง
หากคุณใช้จอแสดงผล i2c อื่น คุณต้องเขียนวิธีนี้ใหม่:
โมฆะวาด(โมฆะ)
ในโครงการนี้ คุณจะพบกับแผนผัง รูปภาพ และอื่นๆ ที่น่าสนใจ
ขั้นตอนที่ 3: Breadboard: I2c Character Display Controller ขยาย
ฉันใช้การแสดงอักขระทั่วไป และสร้างตัวควบคุม i2c และใช้กับไลบรารีที่กำหนดเองของฉัน
แต่ถ้าคุณต้องการ คุณสามารถใช้ตัวควบคุม i2c ปกติ (น้อยกว่า 1 ยูโร) กับไลบรารีมาตรฐาน รหัสยังคงเหมือนเดิม รหัสการแสดงผลทั้งหมดอยู่ในฟังก์ชันการวาด ดังนั้นคุณจึงสามารถเปลี่ยนแปลงได้โดยไม่ต้องเปลี่ยนแปลงอย่างอื่น
อธิบายไว้ที่นี่ดีกว่า
ขั้นตอนที่ 4: Breadboard: การแสดงอักขระด้วย I2c Integrated
สคีมาเดียวกันที่ไม่มีการควบคุม i2c แบบขยาย
ขั้นตอนที่ 5: การตระหนักรู้
สำหรับการวัดแรงดัน เราใช้หลักการของตัวแบ่งแรงดัน (ข้อมูลเพิ่มเติมเกี่ยวกับวิกิพีเดีย)
กล่าวง่ายๆ ก็คือ รหัสนี้เป็นปัจจัยตัวคูณในการวัดแรงดันแบตเตอรี่
batResValueGnd / (batResValueVolt + batResValueGnd)
ฉันใส่ค่าความต้านทาน 2 ค่าของ batResValueVolt และ batResValueGnd หลังและก่อนสายอ่านแบบแอนะล็อก
batVolt = (ตัวอย่าง 1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;
ตัวอย่างที่ 1 คือการอ่านค่าอนาล็อกโดยเฉลี่ย
แรงดันอ้างอิง vcc Arduino;
1023.0 คือค่าสูงสุดอ้างอิงของการอ่านแบบอะนาล็อก (การอ่านแบบอะนาล็อกของ Arduino ไปตั้งแต่ 0 ถึง 1023)
เพื่อให้ได้ค่าแอมแปร์ คุณต้องใช้แรงดันไฟฟ้าหลังและก่อนตัวต้านทานกำลัง
เมื่อคุณมีการวัดแรงดันไฟก่อนและหลังตัวต้านทานกำลัง คุณสามารถคำนวณมิลลิแอมแปร์ที่กินแบตเตอรี่ได้
MOSFET ใช้เพื่อเริ่มและหยุดการระบายแบตเตอรี่จากตัวต้านทานกำลัง
เพื่อความปลอดภัย ฉันใส่เทอร์มิสเตอร์ 2 ตัวเพื่อตรวจสอบอุณหภูมิของแบตเตอรี่และตัวต้านทานกำลัง
ขั้นตอนที่ 6: ความสามารถในการขยาย
ฉันพยายามสร้างบอร์ดต้นแบบที่สามารถขยายได้ แต่ตอนนี้ฉันใช้พินเพียงเล็กน้อยเท่านั้น (ในอนาคตฉันจะเพิ่มไฟ LED และปุ่มอื่นๆ)
หากคุณต้องการแรงดันไฟรองรับมากกว่า 10v คุณต้องเปลี่ยนค่าความต้านทานของแบตเตอรี่และความต้านทานตามสูตร
(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)
ในสคีมา แรงดันไฟของตัวต้านทาน
แรงดันไฟของตัวต้านทาน GND 1/2 / (แรงดันไฟของตัวต้านทาน 2/2 + แรงดันไฟของตัวต้านทาน GND 1/2)
สีชมพูกำลังบัดกรี
ขั้นตอนที่ 7: รายการอะไหล่
จำนวน ส่วน ชนิด คุณสมบัติ
- 2 5 มม. ขั้วต่อสกรู TermInal PCB Mount Screw Terminal Block 8A 250V LW SZUS (eBay)
- 1 Arduino Pro Mini clone (เข้ากันได้กับนาโน) (eBay)
- 1 พื้นฐาน FET P-Channel IRF744N หรือ IRLZ44N (eBay)
- 11 10kΩ ตัวต้านทานตัวต้านทาน 10kΩ (eBay)
- 2 เซ็นเซอร์อุณหภูมิ (เทอร์มิสเตอร์) 10kΩ; (อีเบย์)
- * แบบฟอร์มส่วนหัวชายทั่วไป♂ (ชาย); (อีเบย์)
- * แบบฟอร์มส่วนหัวของเพศหญิงทั่วไป♀ (เพศหญิง); (อีเบย์)
- 1 บอร์ด PerfBoard บอร์ดต้นแบบ 24x18 (eBay)
-
10R, 10W
ตัวต้านทานกำลัง (eBay) ฉันพบของฉันในทีวี crt รุ่นเก่า
ขั้นตอนที่ 8: บอร์ด: รีเซ็ต, ปุ่ม Gnd E เพื่อเลือกแบตเตอรี่
ในส่วนด้านซ้ายของหมุด คุณจะพบปุ่มและออด
ฉันใช้ 3 ปุ่ม:
- หนึ่งเพื่อเปลี่ยนประเภทแบตเตอรี่
- หนึ่งเพื่อเริ่มการคายประจุของแบตเตอรี่ที่เลือก
- จากนั้นฉันก็ใช้พินรีเซ็ตเพื่อรีสตาร์ททั้งหมด และเปิดใช้งานการทำงานใหม่
พินทั้งหมดถูกดึงลงมาแล้ว ดังนั้นคุณต้องเปิดใช้งานด้วย VCC
รีเซ็ตเปิดใช้งานด้วย GND
สีชมพูกำลังบัดกรี
ขั้นตอนที่ 9: บอร์ด: I2c และพินพาวเวอร์ซัพพลาย
ไปที่ฐาน คุณสามารถดู VCC, GND และ SDA, SCL สำหรับการแสดงผล (และอื่น ๆ ในอนาคต)
สีชมพูกำลังบัดกรี
ขั้นตอนที่ 10: บอร์ด: เทอร์มิสเตอร์และการวัดแรงดัน
ทางด้านขวาจะมีพินสำหรับอ่านค่าเทอร์มิสเตอร์ อันหนึ่งสำหรับเทอร์มิสเตอร์รีซิสเตอร์กำลังไฟฟ้า และอีกอันสำหรับเทอร์มิสเตอร์แบตเตอรี่ (พินตัวผู้/ตัวเมียสำหรับยึด)
จากนั้นจะมีพินอะนาล็อกที่วัดแรงดันดิฟเฟอเรนเชียลหลังและก่อนตัวต้านทานกำลัง
สีชมพูกำลังบัดกรี
ขั้นตอนที่ 11: บอร์ด: ตัวต้านทานต่อการวัดแรงดัน
ที่นี่คุณสามารถเห็นตัวต้านทานที่อนุญาตให้รองรับแรงดันไฟฟ้าสองเท่ากว่าพิน Arduino (10v) คุณต้องเปลี่ยนสิ่งนี้เพื่อรองรับแรงดันไฟฟ้าที่มากขึ้น
สีชมพูกำลังบัดกรี
ขั้นตอนที่ 12: ขั้นตอนการบัดกรี: พินทั้งหมด
ก่อนอื่นฉันเพิ่มหมุดและบัดกรีทั้งหมด
ขั้นตอนที่ 13: ขั้นตอนการบัดกรี: ตัวต้านทานแบบดึงลงและเทอร์มิสเตอร์
จากนั้นฉันก็เพิ่มตัวต้านทานแบบดึงลงทั้งหมด (สำหรับปุ่ม) และตัวเชื่อมต่อ i2c (จอแสดงผล)
จากนั้นเทอร์มิสเตอร์ตัวต้านทานกำลัง สิ่งสำคัญคือแบตเตอรี่กรดจะร้อนเกินไป
ขั้นตอนที่ 14: ขั้นตอนการบัดกรี: MOSFET ความต้านทานต่อการตรวจสอบแรงดัน
ตอนนี้เราต้องใส่มอสเฟตเพื่อเปิดใช้งานการคายประจุและความต้านทานเพื่อตรวจสอบแรงดัน
2 ความต้านทานสำหรับแรงดันไฟฟ้าก่อนตัวต้านทานกำลัง 2 ความต้านทานสำหรับแรงดันไฟฟ้าหลังตัวต้านทานไฟฟ้า เมื่อคุณมีแรงดันไฟฟ้านี้ คุณสามารถคำนวณการใช้มิลลิแอมแปร์ได้
ขั้นตอนที่ 15: รหัส
ไมโครคอนโทรลเลอร์เข้ากันได้กับนาโน ดังนั้นคุณต้องตั้งค่า IDE ของคุณเพื่ออัปโหลด Arduino Nano
ในการทำงาน คุณต้องดาวน์โหลดโค้ดจากที่เก็บ github ของฉัน
กว่าที่คุณต้องเพิ่ม 3 ห้องสมุด:
- Wire: ไลบรารี Arduino มาตรฐานสำหรับโปรโตคอล i2c;
- Termistor Library จากที่นี่ ไม่ใช่ไลบรารี่ที่คุณสามารถหาได้ใน arduino IDE แต่เป็นเวอร์ชันของฉัน
- LiquidCrystal_i2c: หากคุณใช้อะแดปเตอร์ i2c เวอร์ชันขยาย/กำหนดเอง (เวอร์ชันของฉัน) คุณต้องดาวน์โหลดไลบรารี่จากที่นี่ หากคุณใช้ส่วนประกอบมาตรฐาน คุณสามารถใช้ไลบรารี่จาก arduino IDE ได้ แต่อธิบายไว้ที่นี่ดีกว่า
ฉันไม่ได้ทดสอบ LCD กับไลบรารีมาตรฐาน สำหรับฉันดูเหมือนว่าพวกเขาจะใช้แทนกันได้ แต่ถ้ามีปัญหาใด ๆ โปรดติดต่อฉัน
ขั้นตอนที่ 16: ผลลัพธ์หลังจากประกอบ
กระดานฐานอยู่ในรูปแล้วเราไปทดสอบกัน
ขั้นตอนที่ 17: เลือกประเภทแบตเตอรี่ก่อน
ตามที่อธิบายไว้เรามีแผนที่ค่าพร้อมการกำหนดค่าแบตเตอรี่
// โครงสร้างแบตเตอรี่ typestruct BatteryType { ชื่อถ่าน [10]; ลอย maxVolt; ลอย minVolt; }; #define BATTERY_TYPE_NUMBER 4 ประเภทแบตเตอรี่ประเภทแบตเตอรี่[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: ข้อยกเว้น: ถอดแบตเตอรี่ออก
หากคุณถอดกระบวนการคายประจุแบตเตอรี่ออกจะหยุดชั่วคราว เมื่อคุณใส่กลับเข้าไปใหม่ จะรีสตาร์ทเป็นค่าสุดท้าย
ขั้นตอนที่ 20: ข้อยกเว้น: การแจ้งเตือนอุณหภูมิ
หากอุณหภูมิ (แบตเตอรี่หรือตัวต้านทานกำลัง) ร้อน กระบวนการคายประจุจะหยุดชั่วคราว
#กำหนด BATTERY_MAX_TEMP 50
#define RESISTANCE_MAX_TEMP 69 // 70° บนแผ่นข้อมูล (ลดค่าตัวต้านทาน) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20
ค่าเริ่มต้นสำหรับอุณหภูมิสูงสุดคือ 50 °สำหรับแบตเตอรี่และ 69 สำหรับตัวต้านทานกำลัง
อย่างที่คุณเห็นบนตัวต้านทานกำลังความคิดเห็นได้รับผลกระทบจากการลดพิกัดเมื่อทำมากกว่า 70°
หากมีการเตือนให้เริ่ม TEMP_TO_REMOVE_ON_MAX_TEMP วินาทีของการหยุดชั่วคราวเพื่อทำให้อุณหภูมิต่ำ
ขั้นตอนที่ 21: ทดสอบแอมแปร์
ผลการทดสอบแอมแปร์นั้นดี
ขั้นตอนที่ 22: แพ็คเกจ
ด้วยส่วนประกอบที่แยกจากกัน ผลลัพธ์ของแพ็คเกจจึงง่ายต่อการรับรู้
ในกล่องต้องทำเป็นรูปสี่เหลี่ยมผืนผ้าสำหรับ LCD รูสำหรับปุ่มกดและกระบอกหญิงภายนอกเพื่อจ่ายแรงดันไฟฟ้าจากแหล่งจ่ายไฟ
ปุ่มกดไม่ต้องการตัวต้านทานแบบดึงลงเพราะฉันเพิ่มมันบนบอร์ดแล้ว
เมื่อฉันมีเวลาฉันจะสร้างและโพสต์
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-