ผมทำงานเกี่ยวกับพลังงานต่ำแบตเตอรี่ตามโครงการ AVR-based ที่รวมอุปกรณ์ที่แตกต่างกันไม่กี่รวมทั้งแถบ neopixel และนางฟ้า Adafruit เมื่ออุปกรณ์โดยรวมหยุดนิ่งฉันอยากให้วาดน้อยกว่า 0.1mA เพื่อยืดอายุการใช้งานแบตเตอรี่ LiPo ให้สูงสุด
ฉันได้รับสิ่งนี้ทั้งหมด (วัด 0.035mA) แต่ฉันไม่แน่ใจว่าฉันจำเป็นต้องทำในทางที่“ ถูกต้อง” และฉันวางแผนที่จะสร้างผลิตภัณฑ์ตามสิ่งนี้ดังนั้นฉันต้องการทำถูก
(ไม่แสดง: flyback diode สำหรับรีเลย์)
ความกังวลหลักที่ฉันมีคือการเปิดเครื่อง "กาฝาก" ของอุปกรณ์เมื่อ VCC ถูกตัดการเชื่อมต่อผ่านกระแสที่ไหลออกจากพินข้อมูล ตัวอย่างเช่น Pixie (ซึ่งสื่อสารผ่านพอร์ตอนุกรม) ไม่มีโหมดปิดเครื่องและแม้กระทั่งเมื่อ“ ปิด” ท่อระบายน้ำประมาณหนึ่งล้าน ดังนั้นฉันจึงวางรีเลย์ขนาดเล็กเพื่อตัดการเชื่อมต่อ VCC ของมันและค้นพบว่าพินอนุกรมนั้นยังคงให้พลังงานกับพิกซี่ คำแนะนำอื่น ๆชี้ให้เห็นว่าชิปจำนวนมากมีไดโอดสับขาอินพุตดิจิตอลของพวกเขาเพื่อ VCC เป็นการป้องกันไฟ เพื่อแก้ปัญหานี้ฉันต้องระงับไลบรารี่อนุกรมและ digitalWrite (PIN, LOW) จริง ๆ ระหว่างการนอนหลับ
สิ่งเดียวกันกับแถบ WS2812b - การตัดการเชื่อมต่อ VCC ยังอนุญาตให้อุปกรณ์ขับเคลื่อนจากพินข้อมูล และในการออกแบบอื่น ๆ เมื่อฉันตัดการเชื่อมต่อ GND ด้วย N-Channel MOSFET ฉันได้เห็นสิ่งที่ตรงกันข้าม - กระแสย้อนกลับของกระแสข้อมูลผ่านสายดาต้าลงสู่พื้น! (สิ่งนี้จะต้องได้รับการแก้ไขด้วยไดโอดต่อโพสต์บน PJRC) WS2812b ใช้เวลาประมาณพันมิลลิวินาทีแต่ละครั้งแม้ในขณะที่ไม่ส่องแสง
ดังนั้นคำถาม: มีวิธีการทั่วไปที่“ สะอาด” ในการตัดการเชื่อมต่อ VCC และ GND จากส่วนต่าง ๆ ของโครงการระหว่างสลีประบบเมื่อมีพินข้อมูลในการผสม การปฏิบัติที่ดีที่สุดคืออะไร?
ความคิดบางอย่าง:
- บังคับให้ VCC เป็น GND (ไม่แน่ใจว่าเป็นอย่างไร Hbridge?) (ถ้าฉันทำอย่างนั้นจะเกิดอะไรขึ้นกับพินข้อมูลที่สูง)
- วางบัฟเฟอร์ tri-state ระหว่างหมุดข้อมูลทั้งหมดและอุปกรณ์เหล่านี้และในระหว่างที่อยู่ในสถานะ sleep ให้บัฟเฟอร์ tri-state อยู่ในสถานะอิมพีแดนซ์สูงให้ตัดการเชื่อมต่อ VCC หรือ GND ด้วย P หรือ N mosfet เท่านั้น
- ตัดการเชื่อมต่อ GND เท่านั้นด้วย N mosfet และวางไดโอดในพินข้อมูลทั้งหมด
- มีสลักกำลังบางชนิดที่ตัดการเชื่อมต่อทั้ง VCC และ GND และทำให้พวกเขาอยู่ในสถานะ“ ความต้านทานสูง” (เช่นบัฟเฟอร์ไตรสถานะสำหรับพลังงานหรือไม่) ด้วยวิธีนี้กระแสไม่มีทางออก "ออก" จากสายข้อมูล
ใครบางคนสามารถสอนฉันถึงวิธีที่สะอาดและทำซ้ำได้มากที่สุดในการจัดการกับปัญหา "การปลดการเชื่อมต่อ" นี้หรือไม่? (ไม่จำเป็นต้องพูดว่าฉันใช้เวลาหลายชั่วโมงในการค้นหาปัญหานี้ด้วยโชคเล็กน้อยแม้ว่าฉันจะพบบันทึกเทคโนโลยีนี้เกี่ยวกับการเปลี่ยนโหลด แต่มันไม่ได้อยู่ด้านหลังฟีดและพลังงานกาฝาก)