เปิดเครื่อง IC จากบรรทัด GPIO


10

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

แอปพลิเคชัน ADC IC เป็นสิ่งที่แตกต่าง: 900µA ในขณะที่ไม่ได้ใช้งาน - วิธีมากเกินไปสำหรับการใช้งานเซลล์แบบเหรียญ

ดังนั้นฉันจึงคิดว่าทำไมไม่แยกพลังงานไปที่ ADC เมื่อไม่ได้ใช้งาน ความคิดสองประการอยู่ในใจ: FET ระดับสูงใน Vdd ของ ADC หรือเพียงแค่เชื่อมต่อขา Vdd (หรือ Vss) ของ ADC เข้ากับหนึ่งในหมุด GPIO ของ MCU (สมมติว่ากระแสอยู่ภายในข้อมูลจำเพาะของแหล่งที่มา / Sink ของ MCU)

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

(ใช่ทราบว่า MCUs ส่วนใหญ่มี ADC อยู่แล้วด้วยเหตุผลนอกเหนือจากขอบเขตของแบบสอบถามฉันต้องใช้ ADC IC ภายนอกนี้จริง ๆ )

ขอบคุณ!


ADC ของคุณเป็นรุ่นอะไร
Nick Alexeev

คำตอบ:


8

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

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

ประการที่สองเนื่องจากคุณใช้ ADC และที่ ADC ที่ไม่ได้อยู่ใน uC (ซึ่งจะเป็นสิ่งที่คุณควรทำเพื่อการใช้พลังงานที่ต่ำมาก) ฉันคิดว่าคุณมีข้อกำหนดบางอย่างที่ไม่เหมาะสม ไม่พอใจ ADC ภายใน GPIO ไม่ใช่สายการผลิตและที่สำคัญกว่านั้นคือ GPIO ของไมโครคอนโทรลเลอร์จะถูกปนเปื้อนอย่างแน่นอนที่สุดโดยความถี่สัญญาณนาฬิกาของ uC, ฮาร์โมนิกส์และ subharmonics เนื่องจากคุณจะต้องขับกระแสสำคัญบางอย่างผ่านไปฉันจะไม่แปลกใจถ้ามีเอฟเฟกต์อื่น ๆ เข้ามาด้วย คุณอาจเห็นส่วนประกอบเล็ก ๆ ของ SPI / I2C ของคุณ / สิ่งที่คุณมีอยู่ในแหล่งจ่ายทั้งนี้ขึ้นอยู่กับ GPIO ที่คุณใช้และปริมาณการแยกตัวที่หนัก หากความละเอียดของ ADC และประสิทธิภาพด้านเสียงรบกวนนั้นสำคัญ

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

สิ่งหนึ่งที่คุณควรทราบคือการเชื่อมต่อสายดิจิตัลของ IC กับ GPIO ของ uC ที่จ่ายไฟนั้นไม่ใช่ความคิดที่ดี คุณจะต้องเพิ่มพลังให้แก่ ADC ของคุณผ่านระบบดิจิตอลของ IO และทำให้เกิดพฤติกรรมที่แปลกและเป็นอันตราย ฉันจะแปลกใจหาก ADC ของคุณไม่ตอบสนองแม้ในขณะปิด นี่คือความสามารถในการทำให้เสื่อมโทรมในระยะยาวและกินเข้าไปในข้อได้เปรียบของการประหยัดพลังงานในสถานที่แรก เพื่อให้ปิดได้ดีคุณควรใช้บัฟเฟอร์การแปลระดับสำหรับทุกบรรทัดดิจิตอลระหว่างสองที่มีความสามารถในการปิดการใช้งาน (tristate) เอาท์พุท สิ่งนี้สามารถทำได้ทั้งการใช้พิน EN บางทีหรือการใช้บัฟเฟอร์กับกลไกอื่น ๆ เพื่อปิดการใช้งาน (SN74LVC1T45 tristates ถ้าการจ่ายด้านหนึ่งถูกดึงลงกราวด์เป็นต้น ไม่ว่ารูปแบบจะมีประโยชน์หรือไม่ขึ้นอยู่กับปริมาณการใช้บัฟเฟอร์ในสถานะ OFF การใช้พลังงานในสถานะเป็น ON และรอบการทำงาน (ส่วนของเวลาที่คุณต้องการเปิดใช้) และปริมาณการใช้ ADC (900uA) ที่ คุณสามารถบันทึกได้โดยทำสิ่งนี้ หากคุณระมัดระวังคุณอาจหลีกเลี่ยงความต้องการบัฟเฟอร์ด้วยการทำให้ trucating uC IOs ที่เชื่อมต่อกับ ADC ก่อนที่จะปิดมันและทำให้เกิดผลแบบเดียวกัน


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

5

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

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

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


5

ใช่คุณสามารถทำได้ และหลายคนมี ตัวอย่างเช่นAdafruit แสดงสิ่งนี้สำเร็จสำหรับ ds1307 RTC บน adruino ขับเคลื่อนโดยสอง gpio (เป็น vcc และ gnd)GND) สิ่งนี้ทำได้สำหรับ Nokia LCDs ซึ่งต้องการเพียง 1 mA สำหรับหน้าจอ (ไฟ led backlight เป็นเรื่องราวที่แตกต่างกัน แต่ยังสามารถทำได้โดย gpio)

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

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

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

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