การตรวจสอบแบตเตอรี่ปัจจุบันต่ำ


13

ฉันต้องการเรียกใช้ตัวควบคุมขนาดเล็กจาก lipo 1S ผ่านตัวควบคุมเชิงเส้น 3V ฉันจำเป็นต้องวัดแรงดันแบตเตอรี่ ปัญหาเกี่ยวกับการใช้ตัวแบ่งแรงดันไฟฟ้าคือมันจะทำให้แบตเตอรี่หมดในช่วงเวลาหนึ่งซึ่งอาจมีหรือไม่มีวงจรป้องกันในตัวเนื่องจาก AVR ที่ฉันใช้มีความต้านทานอินพุตที่แนะนำไม่สูงกว่า 10K ฉันไม่สามารถทำให้ ตัวแบ่งใหญ่เกินไป

ใครช่วยแนะนำวิธีแก้ปัญหาที่จะช่วยให้ฉันสามารถตรวจสอบแรงดันไฟฟ้านี้โดยไม่ต้องฆ่าแบตเตอรี่ที่ไม่มีการป้องกันในช่วงสองสามเดือน? วงจรอาจเข้าสู่โหมดสลีปลึกเป็นระยะเวลานานหมายความว่าโซลูชันตัวแบ่งแรงดันไฟฟ้าจะใช้พลังงานมากที่สุด


ฉันลงเอยด้วยการใช้โซลูชันของ Hanno และ Andy ขอบคุณสำหรับทุกท่าน. น่าเสียดายที่สามารถเลือกได้เพียงหนึ่งคำตอบ

คำตอบ:


16

ตัวแบ่งแรงดันไฟฟ้าจำเป็นต้องเข้าร่วม MCU ในโหมด Deep-sleep หลังจากนั้น ... สามารถทำได้ด้วย P channel FET (เช่น) .... เมื่อ MCU ตื่นขึ้นมาก็จะต้องการวัดแรงดันแบตเตอรี่ดังนั้น มันสามารถทำได้คือเปิดวงจรที่เกิดขึ้นรอบ ๆ P channel FET ที่เชื่อมต่อแบตเตอรี่ + V กับตัวแบ่งแรงดันไฟฟ้า: -

ป้อนคำอธิบายรูปภาพที่นี่

อินพุต ADC แสดงทางด้านขวาและจะไม่มีแรงดันไฟฟ้าถึงยกเว้นว่า MCU ได้เปิดใช้งาน BC547 ผ่านตัวต้านทาน 10k หากไม่มีการเปิดใช้งานช่อง P PET จะปิดและเปิดวงจรจริง หากคุณสามารถตั้งโปรแกรมให้ MCU ดึงลงบนพินควบคุมเมื่อมันหลับได้ควรเพิ่มตัวต้านทาน 10k ตัวจากจุดหนึ่งไปยังอีกจุดหนึ่งซึ่งจะช่วยให้มั่นใจได้ว่าช่อง P FET จะปิดโดยสมบูรณ์

คำเตือนเล็ก ๆ เลือก P fet fet ที่มีกระแสรั่วไหลต่ำหากปิดมิฉะนั้นจะทำให้อายุการใช้งานแบตเตอรี่สั้นลง

สิ่งสุดท้ายสิ่งหนึ่ง - เครื่องปรับแรงดันไฟฟ้าทำงานอย่างไรในขณะที่สแตนบายปิดไมโคร - คุณจำเป็นต้องดูแลมันด้วยหรือไม่?


ฉันใช้ MCP1802 ซึ่งมีกระแส 25uA Q ส่วนนี้ทำงานได้ดี ขอบคุณสำหรับคำแนะนำประเภทของการแก้ปัญหาที่ฉันกำลังมองหา
s3c

ทำไมคุณถึงใช้ P-Chan กับ transitor ไม่ใช่ N-Channel fet ตัวเดียว?
jme

@jme - ADC และ MCU อ้างอิงถึงกราวด์ดังนั้นจึงเหมาะสมที่จะเปลี่ยนฟีดแรงดันไฟฟ้าที่สูงขึ้น ถ้าฉันใช้อุปกรณ์ N channel จะยังคงมีท่อระบายน้ำถาวรผ่านตัวต้านทานบนสุดและผ่านไดโอดปรสิตใน MCU เมื่ออยู่ในโหมดสลีป
แอนดี้อาคา

@Andyaka รหัส N-Fet ใดที่ตรงกันข้ามเพื่อให้ไดโอดกลับด้านเพื่อไม่ให้กระแสไหลไปยังตัวต้านทาน ADC
jme

3
@jme "ทำไมไม่ใช้สวิตช์ด้านต่ำ (เช่น N-ch FET หรือμC i / o pin)" เป็นคำถามที่ดี นี่คือเหตุผล แรงดันไฟฟ้าของแบตเตอรี่สามารถมากกว่า Vcc เมื่อสวิตช์ด้านข้างต่ำเปิดขึ้นจากนั้นแรงดันไฟฟ้าของแบตเตอรี่จะปรากฏขึ้นบนพิน A / D ซึ่งอาจนำไปสู่การเผาไหม้ของ A / D หรือการรั่วไหลของแบตเตอรี่ผ่านไดโอดป้องกันบนพิน A / D หัวข้อที่เกี่ยวข้อง
Nick Alexeev

2

เมื่อคุณต้องการค้นหาเฉพาะเมื่อแบตเตอรี่กำลังจะตาย (หรือให้คำเตือนก่อนหน้านั้น) คุณไม่จำเป็นต้องวัดแรงดันไฟฟ้าโดยตรง แรงดันไฟขาออกของตัวปรับความดันจะลดลงต่ำกว่า 3V ก่อนที่แบตเตอรี่จะถึงแรงดันไฟฟ้าขั้นต่ำ ดังนั้นคุณสามารถวัดแรงดันไฟฟ้าของไมโครคอนโทรลเลอร์ได้

คุณสามารถทำได้โดยไม่ต้องใช้ตัวแบ่งแรงดัน ตัวอย่างเช่นดูแผ่นข้อมูล ADCสำหรับ PIC12F1822 (หน้า 141): ไดอะแกรมบล็อก ADC

PIC มีการอ้างอิงแรงดันภายในและสามารถวัดค่าได้ ('บัฟเฟอร์ FVR' ซึ่งเข้าไปในมัลติเพล็กเซอร์) แต่มันยังสามารถใช้แรงดันไฟฟ้าเป็นข้อมูลอ้างอิงสำหรับการวัด ADC (ตัวเลือก ADPREF ด้านบน)

ระบุว่าเราสามารถวัดการอ้างอิงแรงดันไฟฟ้าที่เกี่ยวข้องกับแรงดันไฟฟ้าของแหล่งจ่ายและรับแรงดันไฟฟ้าที่เป็นผลลัพธ์ ในกรณีของ 12F1822 การอ้างอิงภายในคือ 2.048V และ ADC มีความละเอียด 10 บิต ดังนั้นเมื่อแรงดันไฟฟ้าของอุปทานลดลงต่ำกว่า 3.0V ผลของ ADC จะสูงกว่า 699:

DCREsUลิตรT=1024*2.048V

ADCresult=1024VinVref
ซึ่งในกรณีของเราคือ
ADCresult=10242.048VVsupply

โปรดทราบว่าแรงดันไฟฟ้าที่ต่ำกว่าหมายถึงผลลัพธ์ของ ADC ที่สูงขึ้นเนื่องจากแรงดันไฟฟ้าอินพุตและแรงดันไฟฟ้าอ้างอิงถูกสลับเป็นวิธีปกติ คุณสามารถแปลงสูตรนี้เพื่อค้นหาแรงดันไฟฟ้าที่แท้จริงได้จากผลลัพธ์ ADC


0

คุณต้องการตัวควบคุมแบบลิเนียร์หรือไม่? การใช้ µC ที่แรงดันแบตเตอรี่เต็มจะทำให้สิ่งต่าง ๆ ง่ายขึ้นมาก นอกจากนี้ตัวควบคุมและ µC จะใช้พลังงานเสมอแม้ในโหมดประหยัดพลังงานการใช้พลังงานแบตเตอรี่อย่างต่อเนื่อง ดูที่แผ่นข้อมูลและเก็บไว้ในใจ

เนื่องจากอินพุต ADC (ของ ADC ตัวอย่างแบบทั่วไปและค้างไว้เช่นนั้นใน AVR µC) จะจมเฉพาะในปัจจุบันเมื่อสุ่มตัวอย่างค่าจริงความต้านทานอินพุตต่ำชั่วคราวสามารถชดเชยได้โดยเพียงแค่เพิ่มตัวเก็บประจุ:

แผนผัง

จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab

แน่นอนว่าความถี่การสุ่มตัวอย่างสูงสุดจะถูก จำกัด ด้วยวิธีนี้เนื่องจากตัวเก็บประจุจะต้องใช้เวลาในการชาร์จอีกครั้งผ่านตัวต้านทานขนาดใหญ่ก่อนที่จะทำการสุ่มตัวอย่างต่อไป แต่ฉันคิดว่าคุณจะไม่สามารถวัดได้มากขึ้น

เวลาที่ต้องใช้ในการชาร์จตัวเก็บประจุอีกครั้งสามารถกำหนดได้โดยการเปลี่ยนแปลงความจุและ / หรือ R1 R1 ที่ใหญ่กว่า = น้อยลง "สูญเสีย" ของพลังงาน + ลดสูงสุด ความถี่การสุ่มตัวอย่าง ความจุขนาดเล็กจะถูกเรียกเก็บเงินอย่างรวดเร็วสำหรับตัวต้านทานที่กำหนดเป็นต้น
คุณจะต้องการเพิ่มค่า R1 ให้สูงสุดและอาจต้องลดค่า C1 ให้ต่ำที่สุดเพื่อให้ได้ความถี่การสุ่มตัวอย่างที่ต้องการ

ความจุขั้นต่ำขึ้นอยู่กับจำนวนประจุที่ ADC จะวาดสำหรับตัวอย่างซึ่งจะถูกกำหนดโดยความจุของบัฟเฟอร์ตัวอย่างของ ADC สำหรับอุปกรณ์ AVR ฉันดูเหมือนจะจำได้ว่ามีการระบุค่านี้ไว้ในแผ่นข้อมูล สำหรับ otherC อื่นที่ฉันไม่สามารถบอกได้ แต่ 1µF ในไดอะแกรมอาจจะมากเกินพอในกรณีใด ๆ และสามารถลดลงได้ด้วยปัจจัย 10 หรือมากกว่านั้น รายละเอียดของ ADC จะบอก

แก้ไข:

ฉันพบสิ่งนี้ในแผ่นข้อมูลของ Atmel สำหรับ ATmega1284p ตัวเก็บประจุของบัฟเฟอร์ S&H ถูกระบุไว้ที่ 14 pico -farads ดังนั้นคู่ของนาโน -farads สำหรับ C1 ควรมีมากมาย

วงจรอินพุตแบบอะนาล็อกจากแผ่นข้อมูล ATmega1284p

ดูตัวอย่างการอภิปรายที่นี่


เครื่องควบคุมแรงดันไฟฟ้าเชิงเส้นจะถูกควบคุมโดยเครื่องตรวจจับแรงดันไฟฟ้ากระแสต่ำพิเศษซึ่งจะลบทั้ง uC และเครื่องควบคุมออกจากวงจรอย่างมีประสิทธิภาพหากแบตเตอรี่มีอุณหภูมิต่ำกว่าค่าที่กำหนด
s3c

ตกลง แต่เป็นตัวควบคุมที่จำเป็นสำหรับการจ่ายไฟ ,C หรือ µC สามารถจ่ายพลังงานโดยตรงจาก Vbat ซึ่งในกรณีนี้มันอาจทำงานได้โดยไม่ต้องมีตัวแบ่งแรงดันไฟฟ้า
JimmyB

ฉันดูเหมือนจะเข้าใจแล้วว่าคุณไม่ได้ถามจริง ๆ ว่าอุปกรณ์นั้นสามารถสร้างเพื่อใช้พลังงานขั้นต่ำได้อย่างไร แต่จะทำอย่างไรเพื่อให้แน่ใจว่า LiPo จะไม่ถูกทำลาย ถูกต้องหรือไม่
JimmyB

ใช่จำเป็นต้องมีหน่วยงานกำกับดูแลสำหรับการจัดหายูซีซี ใช้พลังงานน้อยที่สุดเป็นที่ต้องการ แต่ไม่ใช่ความกังวลหลักของฉัน
s3c

เอาต์พุตของเครื่องตรวจจับแรงดันไฟฟ้าที่คุณกล่าวถึงมีลักษณะอย่างไร
JimmyB
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.