สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: แผนผัง
- ขั้นตอนที่ 2: การพิมพ์เคส
- ขั้นตอนที่ 3: การประกอบฝาปิด
- ขั้นตอนที่ 4: การประกอบกล่องหลัก
- ขั้นตอนที่ 5: การเขียนโปรแกรม Arduino
- ขั้นตอนที่ 6: ทดสอบว่าทุกอย่างกำลังทำงาน
- ขั้นตอนที่ 7: เรียนรู้การนำทางเมนู
- ขั้นตอนที่ 8: การใช้อินเทอร์เฟซแบบอนุกรม
- ขั้นตอนที่ 9: เสร็จแล้ว
วีดีโอ: Tiny V/A Meter พร้อม INA219: 9 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
เบื่อกับการเสียบปลั๊กมัลติมิเตอร์ใหม่เมื่อคุณต้องการวัดทั้งแรงดันและกระแสในโครงการขนาดเล็กใช่หรือไม่ Tiny V/A meter เป็นอุปกรณ์ที่คุณต้องการ!
ไม่มีอะไรใหม่เกี่ยวกับเซ็นเซอร์กระแสไฟด้านสูง INA219 มีโครงการดีๆ มากมายที่ใช้ความสามารถในการวัดทั้งกระแสและแรงดันในการโหลด เดิมทีฉันได้รับแรงบันดาลใจจากยูทูบเบอร์ Julian Ilett และวิดีโอ "10 นาที Arduino Project - INA219 Current Sensor" ของเขา แต่ฉันต้องการเครื่องวัดขนาดกะทัดรัดที่มีอินเทอร์เฟซเรียบง่ายและเคสที่พิมพ์ 3 มิติ ดังนั้นฉันจึงตัดสินใจทำเอง
เกี่ยวกับเซ็นเซอร์ INA219:
INA219 สามารถวัด ±3.2A ด้วยความละเอียด 0.1mA ทำได้โดยการวัดแรงดันตกคร่อมตัวต้านทาน 0.1 โอห์มบน PCB ดังนั้นเซ็นเซอร์จะแนะนำแรงดันไฟฟ้าตกที่น้อยมาก แต่มีเพียง 320 mV ในกรณีที่เลวร้ายที่สุด (3.2A) ตัวอย่างเช่นที่ 100 mA การดรอปเป็นเพียง 10 mV หากต้องการ คุณสามารถเปลี่ยนตัวต้านทานเพื่อให้ได้ช่วงหรือความละเอียดที่สูงขึ้นได้ ในขณะเดียวกัน เซ็นเซอร์ยังวัดแรงดันบัสด้วยความละเอียด 4 mV จากประสบการณ์ของผม การอ่านค่าแรงดันไฟฟ้านั้นแม่นยำมาก ความแม่นยำของการอ่านค่าปัจจุบันขึ้นอยู่กับความต้านทานที่แท้จริงของตัวต้านทานของคุณ โดยทั่วไปแล้วจะมีความอดทน 1% (แต่ไม่แน่ใจว่าคุณควรเชื่อถือบอร์ด eBay ราคาถูก) ฉันเชื่อว่าควรปรับเทียบผลลัพธ์ได้หากคุณทราบค่าที่แม่นยำของตัวต้านทาน แต่ฉันไม่ได้เจาะลึกไปกว่านั้นเพราะความแม่นยำนั้นดีเพียงพอสำหรับความต้องการของฉัน เซ็นเซอร์มีการตั้งค่าเกนที่แตกต่างกัน - สิ่งเหล่านี้จะไม่ส่งผลต่อความละเอียด แต่ช่วยลดสัญญาณรบกวนในช่วงต่ำ
คุณสมบัติของ Tiny V/A Meter:
-
สามารถใช้พลังงานจาก USB หรือจากแหล่งพลังงาน
- เมื่อจ่ายจาก USB แหล่งจ่ายอินพุตสามารถอยู่ในช่วงตั้งแต่ 0 - 26V กระแสไฟรั่วของเซ็นเซอร์เท่านั้นที่ส่งผลต่อกำลังไฟฟ้าเข้า ดีถ้าคุณต้องการตรวจสอบความจุของแบตเตอรี่
- เมื่อจ่ายไฟจากอินพุตสามารถอยู่ในช่วงตั้งแต่ 4 - 15V (ข้อจำกัดของตัวควบคุมแรงดันไฟฟ้า Arduino)
- ตรวจพบอินพุตที่เลือกเมื่อบูตหรือเปลี่ยนแปลง และจะแสดงข้อความช่วงต่อผู้ใช้
- สามารถแสดงแรงดัน กระแสไฟ และ mAh ได้พร้อมกัน
- mAh สามารถรีเซ็ตได้
- อินเทอร์เฟซปุ่มเดียวด้วยการกดสั้น/ยาว
- เลือกช่วง INA219: 26V / 3.2A, 26V / 1A หรือ 16V / 0.4A
- เลือกอัตราการสุ่มตัวอย่าง 100, 200, 500 หรือ 1,000 มิลลิวินาที
- เปิด/ปิดโหมดสลีปของเซ็นเซอร์เพื่อลดกระแสไฟรั่วในเซ็นเซอร์
- การตั้งค่าจะถูกเก็บไว้ใน EEPROM และโหลดซ้ำเมื่อบูต
-
อินเทอร์เฟซแบบอนุกรม
- พิมพ์ผลลัพธ์บนซีเรียล สามารถใช้สำหรับการบันทึก
- เปลี่ยนการตั้งค่าด้วยคำสั่งซีเรียล
เสบียง
1x Arduino Nano - ตัวอย่าง Arduino Nano eBay
1x INA219 บอร์ดเซ็นเซอร์ - INA219 บอร์ดเซ็นเซอร์สีม่วง eBay ตัวอย่าง
1x OLED 0.96" I2C 128X64 4-pin - OLED 0.96" ตัวอย่าง eBay I2C สีฟ้า
1x TTP223 Capacitive Touch Switch - TTP223 ปุ่มสัมผัสแบบ Capacative PCB eBay ตัวอย่าง
1x ปลั๊กแจ็คพาวเวอร์ซัพพลายสำหรับตัวเมีย - รูแจ็คพาวเวอร์พาวเวอร์ตัวเมียเมาท์ eBay example
1x แจ็คพาวเวอร์ซัพพลายชาย - แจ็คพาวเวอร์ชายพร้อมขั้วสกรู ตัวอย่าง eBay หรือแจ็คพาวเวอร์ชายพร้อมเทอร์มินัลแบบกด ตัวอย่าง eBay
1x สวิตช์สไลด์ 2 ตำแหน่ง 6 ขา - สวิตช์สไลด์ 6 ขา ตัวอย่าง eBay
สายไฟ
ขั้วต่อตัวผู้ 5 พิน 1x (อุปกรณ์เสริม) - หัวต่อพินตัวผู้ 2.54 ตัวอย่าง eBay
ขั้วต่อตัวเมีย 1x 5 พิน (อุปกรณ์เสริม) - ชุดขั้วต่อ Dupont ตัวอย่าง eBay หรือขั้วต่อแถวเดี่ยว 2.54 5 พิน eBay ตัวอย่าง
ท่อหดความร้อน (อุปกรณ์เสริม)
เครื่องมือ:
หัวแร้ง
เครื่องพิมพ์ 3 มิติ (หากต้องการเคสที่พิมพ์ 3 มิติ)
ปืนกาว
ขั้นตอนที่ 1: แผนผัง
ฉันสร้างแผนผังสองเวอร์ชัน แบบดั้งเดิมและแบบรูปภาพ การเชื่อมต่อจะเหมือนกัน ดังนั้นคุณสามารถใช้สิ่งที่คุณต้องการได้
คำอธิบาย
จอแสดงผล OLED และเซ็นเซอร์ INA219 ต่างก็ใช้ I2C ดังนั้นจึงต้องมีการเชื่อมต่อ SDA และ SCL กับ A4 และ A5
เอาต์พุตของเซ็นเซอร์สัมผัสแบบ Capacitive เราจะเชื่อมต่อกับ D2 สำหรับอินพุต
สวิตช์สไลด์มี 6 พิน - สองแถว 3 พิน หนึ่งแถวจะใช้เพื่อเชื่อมต่ออินพุตพลังงานกับ Vin บน Arduino อีกแถวจะเชื่อมต่อ D6 กับกราวด์ ด้วยการใช้ pull-up ภายในบน D6 Arduino จะสามารถดูว่าเชื่อมต่อกับ Vin หรือไม่
สุดท้ายเรากำหนดเส้นทางขั้วต่อบวกของอินพุตพลังงาน (แจ็คไฟหญิง) ผ่าน INA219 ไปยังเอาต์พุตบวก (แจ็คไฟชาย) นี่คือวิธีที่เซ็นเซอร์สามารถวัดกระแสที่ไหลผ่านได้
ขั้นตอนที่ 2: การพิมพ์เคส
ตัวเคสประกอบด้วยกล่องและฝาปิด ทั้งสองควรพิมพ์ได้ง่าย และเครื่องพิมพ์ส่วนใหญ่สามารถพิมพ์ได้โดยไม่มีการสนับสนุน แต่คุณสามารถเพิ่มการสนับสนุนได้หากต้องการ
เมื่อเสร็จแล้วทั้งสองส่วนจะยึดเข้าด้วยกัน หากคุณระมัดระวังมากคุณจะสามารถเปิดมันขึ้นมาได้อีกครั้ง แต่สปริงล็อคสองตัวนั้นเปราะบางและอาจแตกหักได้หากไม่ระวัง
ไม่มีเครื่องพิมพ์ 3 มิติ?
หากคุณไม่มีสิทธิ์เข้าถึงเครื่องพิมพ์ 3 มิติ ฉันแน่ใจว่าสามารถสร้างกรณีอื่นได้ คุณสามารถซื้อกรณีโครงการ/กล่องพลาสติกหรืออลูมิเนียม หรือคุณสามารถทำบางสิ่งด้วยตัวเองจากไม้หรือกระดาษแข็ง มีความคิดสร้างสรรค์!
ขั้นตอนที่ 3: การประกอบฝาปิด
ฝาถือหน้าจอ OLED และปุ่มสัมผัสแบบ capacitive บัดกรีสายไฟบนส่วนประกอบก่อนที่จะติดกาวด้วยปืนกาว ระวังหน้าจอ OLED - บางครั้งกระจกจะเอียงบน PCB ดังนั้นจัดตำแหน่งนั้นก่อนที่จะติดกาวให้เข้าที่ หากคุณมีขั้วต่อ 5 พินให้เพิ่มเข้ากับสายไฟ หากคุณไม่ทำ คุณยังสามารถต่อหน้าจอ & ปุ่มกับ Arduino ได้โดยตรง แต่จะใช้งานยากกว่าเล็กน้อย
ขั้นตอนที่ 4: การประกอบกล่องหลัก
เมานต์แจ็คไฟตัวเมียและสวิตช์สไลด์แล้วขันให้เข้าที่ หากคุณไม่พบสกรูขนาดเล็กที่พอดีกับสวิตช์ คุณก็เพียงแค่ทากาวให้เข้าที่ ฉันคิดว่าฉันได้ของฉันจากไดรฟ์ดีวีดีเก่าที่ฉันแยกออก:)
ถอดพินและคอนเน็กเตอร์ออกจาก INA219 (หากติดตั้ง) มีพื้นที่ว่างไม่เพียงพอในกล่อง จากนั้นต่อสาย Arduino และ INA219 ให้แน่นก่อนที่จะติดกาวในกล่อง เพิ่มขั้วต่อ 5 พินอีกครั้งหากคุณมี หรือเพียงแค่ต่อเข้ากับฝาปิดโดยตรง
จากนั้นเดินสายไฟเพื่อเปลี่ยนและแจ็คไฟให้เรียบร้อย บนสวิตช์เลื่อนสายบัดกรีไปยังหมุดสองตัวที่อยู่ใกล้กับแจ็คไฟตัวเมียบนทั้งสองแถว ด้วยวิธีนี้ คุณสามารถเลื่อนสวิตช์ไปทาง USB เพื่อเลือกพลังงาน USB และเลื่อนสวิตซ์ไปทางอินพุทสำหรับกำลังไฟฟ้าเข้า จำง่าย!
อย่าเพิ่งปิดคดี! เป็นการดีที่สุดที่จะทดสอบว่าทุกอย่างใช้งานได้ดีก่อน
ขั้นตอนที่ 5: การเขียนโปรแกรม Arduino
หากคุณยังไม่ได้ติดตั้ง Arduino IDE ให้โหลดจาก arduino.cc
คุณต้องติดตั้งสองไลบรารี U8g2 และ Adafruit INA219 ด้วย ทั้งสองมีอยู่ในตัวจัดการห้องสมุด สำหรับ Adafruit INA219 ให้ตรวจสอบว่าคุณได้รับเวอร์ชัน 1.0.5 - เวอร์ชันที่ใหม่กว่าต้องการไลบรารีและหน่วยความจำแฟลชเพิ่มเติม แต่ไม่มีฟังก์ชันเพิ่มเติมใดๆ ในขณะนี้
ถัดไปรับซอร์สโค้ดที่แนบมาในคำแนะนำนี้ (Tiny-VA-Meter.ino และ FlashMem.h) หรือรับเวอร์ชันล่าสุดจาก GitHub Tiny-VA-Meter Git ของฉัน ตอนนี้เปิด Tiny-VA-Meter.ino ด้วย Arduino IDE
เชื่อมต่อ Tiny V/A Meter กับคอมพิวเตอร์ของคุณด้วยสาย USB
จากเครื่องมือให้เลือกบอร์ด: "Arduino Nano", โปรเซสเซอร์: "ATmega328P" และพอร์ตที่ถูกต้อง คุณอาจต้องเปลี่ยนโปรเซสเซอร์เป็น "ATmega328P (ตัวโหลดรุ่นเก่า)" ขึ้นอยู่กับ Arduino ของคุณ หากคุณมีข้อผิดพลาดในการสื่อสารให้ลอง
กดปุ่มอัปโหลดและรอจนกว่าจะเสร็จสิ้น
ขั้นตอนที่ 6: ทดสอบว่าทุกอย่างกำลังทำงาน
ก่อนปิดเคสเป็นความคิดที่ดีที่จะตรวจสอบว่าทุกอย่างเชื่อมต่ออย่างถูกต้อง คุณสามารถทำตามขั้นตอนเหล่านี้เพื่อตรวจสอบส่วนประกอบทั้งหมด:
1. จากพลังงาน USB จอแสดงผลจะสว่างขึ้นและแสดงการอ่าน (โดยไม่คำนึงถึงตำแหน่งสวิตช์สไลด์)
2. ตรวจสอบว่าคุณสามารถเปลี่ยนเมนูได้โดยแตะที่ปุ่ม
3. จ่ายไฟให้กับอินพุตและตรวจสอบว่ามิเตอร์แสดงแรงดันไฟฟ้าที่ถูกต้องหรือไม่
4. ลองเลื่อนสวิตช์สไลด์และตรวจสอบว่ามิเตอร์แสดงข้อความช่วงหรือไม่
5. ตอนนี้คุณสามารถลองตั้งค่าสวิตช์สไลด์เป็นกำลังไฟเข้าและถอด USB ออก มิเตอร์ควรยังคงทำงาน
6. ในที่สุด คุณควรจะสามารถเชื่อมต่อโหลดหรืออุปกรณ์กับเอาต์พุต และตรวจสอบว่าเซ็นเซอร์กำลังอ่านการวาดปัจจุบัน
หากขั้นตอนทั้งหมดนี้สำเร็จ เครื่องวัดของคุณน่าจะทำงานได้อย่างสมบูรณ์! คุณสามารถปิดฝาได้เลย!
ขั้นตอนที่ 7: เรียนรู้การนำทางเมนู
เมื่อเปิดเครื่อง มิเตอร์จะเริ่มด้วยการแสดงช่วงอินพุตที่ใช้ได้ขึ้นอยู่กับตำแหน่งของสวิตช์เลื่อน: "ช่วงอินพุต: 0-26V 3.2A" หรือ "ช่วงอินพุต: 4-15V 3.2A" ข้อความจะแสดงเพียงไม่กี่วินาที แต่คุณสามารถข้ามได้ด้วยการกดสั้นๆ หากเปลี่ยนสวิตช์สไลด์หลังจากบู๊ตแล้ว ข้อความใหม่จะปรากฏขึ้นอีกครั้งเป็นเวลาสองสามวินาที
โดยสังเขปคุณจะนำทางโดยกดสั้น ๆ และเลือกโดยกดแบบยาว (1 วินาที)
เครื่องวัดมี 3 หน้าหลัก: จอแสดงผล V/A, จอแสดงผล V/A/W/Ah & การตั้งค่า การกดปุ่มสั้นๆ จะเป็นการข้ามไปมาระหว่างหน้าเหล่านี้
ในหน้า V/A/W/Ah คุณสามารถรีเซ็ต mAh ได้ด้วยการกดแบบยาว
ในหน้าการตั้งค่า คุณสามารถเข้าสู่การตั้งค่าด้วยการกดแบบยาว ตอนนี้คุณสามารถนำทางไปมาระหว่างการตั้งค่าต่างๆ ได้อีกครั้งด้วยการกดสั้นๆ การตั้งค่าที่ใช้ได้คือ "ช่วงเซ็นเซอร์" "อัตราการรีเฟรช" และ "การนอนหลับของเซ็นเซอร์" คุณสลับการตั้งค่าแต่ละอย่างโดยกดแบบยาว เมื่อเลื่อนผ่านการตั้งค่าล่าสุด มิเตอร์จะกลับไปที่เมนูแสดงผล V/A
ขั้นตอนที่ 8: การใช้อินเทอร์เฟซแบบอนุกรม
เมื่อเชื่อมต่อกับพีซีด้วย USB คุณสามารถใช้ Arduino Serial Monitor (หรือเทอร์มินัลอื่น) เพื่อสื่อสารกับ Tiny V/A Meter ใช้บอดเรต 115200
ด้วยอัตราการสุ่มตัวอย่างที่เลือก มิเตอร์จะส่งการอ่านทั้งหมดผ่านซีเรียล และคุณสามารถอ่านค่านั้นในเทอร์มินัลได้อย่างง่ายดาย
แต่คุณยังสามารถเปลี่ยนการตั้งค่าบน Tiny V/A Meter ได้ด้วยคำสั่งซีเรียล ตรวจสอบให้แน่ใจว่าได้เลือก "ขึ้นบรรทัดใหม่" เป็นการสิ้นสุดบรรทัด
คำสั่งที่ไม่ถูกต้องจะแสดงเมนูช่วยเหลือ:
คำสั่ง:- รีเซ็ต (รีเซ็ต mAh)
- อ่าน (ตอบกลับด้วยผลลัพธ์ล่าสุด)
- บันทึก x (อัตโนมัติ tx ของตัวอย่าง - x สามารถเปิดหรือปิดได้)
- สลีป x (INA219 สลีประหว่างกลุ่มตัวอย่าง - x สามารถเปิดหรือปิดได้)
- รีเฟรช x (ตั้งค่าหน้าจอและอัตราการรีเฟรชแบบอนุกรม x สามารถเป็น 100, 200, 500 หรือ 1000)
- ช่วง x (ตั้งค่าช่วง INA219. x สามารถเป็น 0 สำหรับ 3.2A, 1 สำหรับ 1A หรือ 2 สำหรับ 0.4A)
ตัวอย่างเช่น พิมพ์ "refresh 1000" เพื่อเปลี่ยนอัตราการสุ่มตัวอย่างเป็น 1 วินาที หรือพิมพ์ "ออกจากระบบ" เพื่อปิดใช้งานการส่งสัญญาณอัตโนมัติ มิเตอร์จะตอบกลับด้วย "ตกลง" หากสำเร็จ
ขั้นตอนที่ 9: เสร็จแล้ว
ตอนนี้ใช้มันเพื่อวัดสิ่งที่สนุก:)
ฉันได้ลองเพิ่มคุณสมบัติทั้งหมดที่ฉันพบว่ามีประโยชน์ แต่อย่าลังเลที่จะทำการปรับเปลี่ยนของคุณเอง และโปรดแบ่งปันหากคุณสามารถปรับปรุง Tiny V/A Meter ที่ยอดเยี่ยมได้!
อัปเดต 14/06-2020: เปลี่ยนไดรเวอร์และเพิ่มคุณสมบัติเพิ่มเติม! คู่มือนี้ยังไม่ครอบคลุม แต่คุณสามารถตรวจสอบได้จาก GitHub ของฉัน
แนะนำ:
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: 3 ขั้นตอน
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: เป็นโปรเจ็กต์เครื่องรับย่านความถี่ทั้งหมด ใช้ห้องสมุด Arduino Si4734 ห้องสมุดนี้มีตัวอย่างมากกว่า 20 ตัวอย่าง คุณสามารถฟัง FM ด้วย RDS สถานี AM (MW) ในพื้นที่ SW และสถานีวิทยุสมัครเล่น (SSB) เอกสารทั้งหมดที่นี่
PWM พร้อม ESP32 - Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: 6 ขั้นตอน
PWM พร้อม ESP32 | Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: ในคำแนะนำนี้เราจะดูวิธีสร้างสัญญาณ PWM ด้วย ESP32 โดยใช้ Arduino IDE & โดยทั่วไปแล้ว PWM จะใช้เพื่อสร้างเอาต์พุตแอนะล็อกจาก MCU ใดๆ และเอาต์พุตแอนะล็อกนั้นอาจเป็นอะไรก็ได้ระหว่าง 0V ถึง 3.3V (ในกรณีของ esp32) & จาก
Arduino Door Bell พร้อม VU Meter: 4 ขั้นตอน (พร้อมรูปภาพ)
Arduino Door Bell พร้อม VU Meter: แนวคิดพื้นฐานคือ - เมื่อกดปุ่มกริ่งประตู ไฟ LED จะเริ่มเรืองแสงเป็นจังหวะพร้อมกับเสียงกริ่ง หลังจากสองเหตุการณ์จะหยุดโดยอัตโนมัติ ไฟ LED สามารถอยู่นอกประตูเพื่อให้ความบันเทิงแก่ผู้มาเยี่ยมหรือภายใน ในนี้ฉัน
LED VU-Meter พร้อม Arduino UNO: 7 ขั้นตอน (พร้อมรูปภาพ)
LED VU-Meter พร้อม Arduino UNO: เครื่องวัดระดับเสียง (VU) หรือตัวบ่งชี้ระดับเสียงมาตรฐาน (SVI) เป็นอุปกรณ์ที่แสดงการแสดงระดับสัญญาณในอุปกรณ์เครื่องเสียง ในโปรเจ็กต์นี้ ฉันได้ใช้ LED เพื่อระบุว่าสัญญาณเสียงมีความรุนแรงมากน้อยเพียงใด เมื่อความเข้มของเสียง
Capacitance Meter พร้อม TM1637 โดยใช้ Arduino: 5 ขั้นตอน (พร้อมรูปภาพ)
Capacitance Meter พร้อม TM1637 โดยใช้ Arduino: วิธีสร้างเครื่องวัดความจุโดยใช้ Arduino ที่แสดงบน TM1637 ตั้งแต่ 1 uF ถึงประมาณ 2000 uF