ความต้านทานอินพุตของ Arduino Uno พินอะนาล็อก?


18

ฉันใช้ชิพตรวจจับกระแสไฟ ACS712 ที่ใช้เอฟเฟกต์ฮอลล์กับมอเตอร์แขนหุ่นยนต์ขนาดเล็กบางตัวและการอ่านในแรงดันไฟฟ้าอะนาล็อกกับ Arduino Uno ฉันได้ผลลัพธ์ที่ดีพอสมควร แต่หลังจากใส่ตัวกรอง RC ลงบนเอาต์พุต อย่างไรก็ตามในบันทึกแอปพลิเคชันบนแผ่นข้อมูลมันบอกว่าจะไม่ทำเช่นนั้น:

"การเพิ่มตัวกรอง RC ไปยังเอาท์พุทของเซ็นเซอร์ IC สามารถทำให้การลดทอนสัญญาณออกอุปกรณ์ที่ไม่พึงประสงค์ - แม้สำหรับสัญญาณ DC"

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

คำตอบ:


23

มีหลายปัจจัยที่นี่

ประการแรกความต้านทานอินพุตของ ADC ATmega328P ใช้ADC ประมาณเนื่อง ดังนั้นอินพุตนั้นเป็นอินพุตของตัวเปรียบเทียบดังนั้นADCจึงมีความต้านทานอินพุตสูงมาก

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

ADC ถูกระบุว่ามีความต้านทานอินพุต 100 MΩ (นั่นคือ MegaOhm)
อย่างไรก็ตามสิ่งนี้ดูเหมือนจะค่อนข้างน่าสงสัยสำหรับฉัน ร่วมกับความจริงที่ว่าไม่มีการรั่วไหลของอนาล็อกระบุฉันเดาว่านี่คือลักษณะของการไฟฟ้าเพียง ADC แล้วค่อนข้าง ADC ร่วมกับโครงสร้างขาทั้ง IO ฉันเดาว่าสาย ADC IO ที่ใช้ร่วมกับ Digital IO มีกระแสไฟรั่วมากขึ้น (1 uA จาก docs) จากนั้นสาย IO ที่เป็นแบบอะนาล็อกเท่านั้น (50 nA สมมติว่า SAR comparator คล้ายกับ analog comparator โทโพโลยีอินพุต)


อย่างไรก็ตามมีข้อควรพิจารณาอีกประการหนึ่งที่นี่ซึ่งเป็นเหตุผลที่ Atmel ระบุความต้านทานของแหล่ง <10 KΩ:
อินพุตความจุ

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

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

คุณสามารถดูว่าอินพุตมีลักษณะอย่างไร

ปัญหาที่เกิดจากอิมพีแดนซ์แหล่งสูงเกิดขึ้นเมื่อคุณสลับอินพุตมัลติเพล็กเซอร์จากขาหนึ่งเป็นอีกขาหนึ่ง หากคุณมีสองอินพุตหนึ่งที่ 0.5V และหนึ่งที่ 4.5V เมื่อคุณสลับจากที่หนึ่งไปที่อื่น ๆ อินพุทจะต้องคิดค่าใช้จ่าย (หรือจำหน่าย) ที่ 14 pF ตัวเก็บประจุ

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

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


1
สะกดอย่างดี
gwideman

2
ฉันรู้ว่านี่เป็นคำถามเก่า แต่จะมีวิธีใด "ทำให้มั่นใจได้ว่าแหล่งอินพุตสามารถชาร์จประจุได้เร็วพอที่จะไม่เกิดปัญหา"
RubberDuck

2
@RubberDuck - หากการป้อนข้อมูลของคุณเป็นของสูงหรือความต้านทานที่ไม่รู้จัก buffer มันโดยใช้สิ่งที่ต้องการ op-amp กำหนดค่าเป็นความสามัคคีกำไรแรงดันลูกศิษย์
Connor Wolf

+1 สำหรับ "มีความจุอยู่ที่นี่" ตอนนี้ฉันเข้าใจแล้ว
Eiver

8

แผ่นข้อมูลไม่ชัดเจนทั้งหมด

http://www.atmel.com/images/atmel-8271-8-bit-avr-microcontroller-atmega48a-48pa-88a-88pa-168a-168pa-328-328p_datasheet_complete.pdf

(24.6.1) หน้า 244: "ADC ได้รับการปรับให้เหมาะสมสำหรับสัญญาณอะนาล็อกที่มีความต้านทานเอาต์พุตประมาณ 10 kΩหรือน้อยกว่าหากใช้แหล่งกำเนิดดังกล่าวเวลาการสุ่มตัวอย่างจะไม่สำคัญ"

นั่นคือสิ่งที่ใกล้เคียงที่สุดที่ฉันเคยพบในแผ่นข้อมูลที่พูดถึงความต้านทานของ ADC


หากคุณต้องการค่าที่แน่นอน100MΩจะปรากฏในตารางที่ 29-15 ในหน้า 310
Brian Gordon

มันเรียกมันว่า "ความต้านทานอินพุตแบบอะนาล็อก" - ดังนั้นการชาร์จฝา 14 pF ผ่านทางนี้? ดีกว่ามีบางสิ่งที่ด้านหน้าฉันจะพูด ฉันใช้. 01 แคปสำหรับแรงดันไฟฟ้ากระแสตรงที่ไม่เปลี่ยนแปลงอย่างรวดเร็ว
SDsolar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.