ความต้านทานอินพุต ADC บน MCU


12

ความต้านทานอินพุตของ MCU ADC ทั่วไปคืออะไร ในกรณีนี้ฉันทำงานกับ PIC24FJ64GA004 ฉันไม่ต้องการการสุ่มตัวอย่างด้วยความเร็วสูง - สูงสุด 100 ตัวอย่างต่อวินาที

ฉันต้องการเชื่อมต่อตัวต้านทานแบบต้านทานกับตัวต้านทาน 100k และตัวต้านทาน 10k ดังนั้นความต้านทานควรสูงกว่า 1M มิฉะนั้นความต้านทานจะเริ่มบิดเบือนการอ่าน


อิมพีแดนซ์อินพุตไม่ใช่สิ่งที่คุณควรกังวลที่อัตราตัวอย่าง 100 เฮิร์ตซ์ด้วยแหล่งสัญญาณย่อยเมกะเฮิรตซ์ แต่สิ่งต่าง ๆ เช่นนามแฝงหรือการถ่ายภาพชั่วคราว
Nick T

คำตอบ:


10

อินพุตกระแสไฟรั่ว

ในการตรวจสอบแรงดันไฟฟ้าตัวต้านทานของคุณจากเกตคุณต้องใช้กระแสไฟฟ้ารั่วจากแผ่นข้อมูล Microchip ระบุ "กระแสรั่วไหลเข้า" ในเอกสารข้อมูลของพวกเขา แผ่นข้อมูลที่ผมได้มองขึ้นระบุปัจจุบันการป้อนข้อมูลรั่วไหลของ 1uA สิ่งนี้อาจทำให้. 1V หรือ 100mV ซึ่งเป็นสองเท่าของการคำนวณของโรเบิร์ตซึ่งอาจไม่เป็นปัญหาสำหรับสัญญาณของคุณ

ตอนนี้จำไว้ว่าถ้าคุณแบ่งสัญญาณ 30V ลงไปที่ 30/11 (2.7v) อ่านเต็มโวลต์แล้ว 100mV จะถูกเพิ่มเข้าไปสิ่งนี้ทำให้เกิดข้อผิดพลาด 3% กับสัญญาณ 30V ของคุณ

หากคุณต้องการความละเอียด 1V ให้หารด้วย 11 แล้วเพิ่ม 100mV 100mV นี้อาจใหญ่กว่าสัญญาณ 1V

ความจุอินพุต

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

ลดข้อผิดพลาด

วิธีที่ง่ายที่สุดคือลดความต้านทานของตัวแบ่งสัญญาณหรือบัฟเฟอร์สัญญาณ เมื่อคุณบัฟเฟอร์สัญญาณคุณจะแทนที่กระแสรั่วไหลของ PIC ด้วยกระแสไฟรั่ว op-amps ซึ่งคุณสามารถรับได้ค่อนข้างต่ำ

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

โปรดแจ้งให้เราทราบหากมีสิ่งใดที่ฉันสามารถทำได้เพื่อให้อ่านง่ายขึ้น


ตกลง 3% ค่อนข้างสูง ... มีวิธีใดที่จะลดสิ่งนี้ได้ไหม ฉันเดาว่าฉันสามารถลดความต้านทานตัวแบ่ง ...
โธมัส O

มันคือ 3% ถ้าการอ่านที่น้อยที่สุดของคุณคือ 30V
Kortuk

เพิ่มข้อมูลพิเศษ
Kortuk

@Kortuk 100 mV มากกว่า 1 uA นำไปสู่ความต้านทาน 100 kΩ แต่ฉันไม่สามารถทราบได้ว่าความต้านทานมาจากไหน คุณช่วยอธิบายได้ไหม
elektrodynamik

12

อินพุตอินพุต ADC ของ MCU สามารถสัมผัสกับอิมพิแดนซ์อินพุตตัวแปรขึ้นอยู่กับว่าฝาตัวอย่าง - และ - ถือเชื่อมต่อกับพินหรือไม่ มันอาจจะคุ้มค่ากับปัญหาในการใช้ op amp เพื่อบัฟเฟอร์สัญญาณ แอมป์สหกรณ์จะได้รับประโยชน์เพิ่มเติมจากการอนุญาตให้คุณกรองความถี่เหนือ Nyquist ซึ่งเป็นแนวปฏิบัติที่ดีเช่นกัน


น่าเสียดายที่ฉันไม่สามารถสำรองพื้นที่สำหรับ op-amp ได้
โทมัสโอ

2
คุณไม่สามารถสำรองพื้นที่สำหรับส่วนประกอบ SC70-6 และคุณเรียกตัวเองว่า noob?
akohlsmith

ตกลง, แอมป์สหกรณ์หนึ่งตัวสำหรับการกรองด้านล่างอัตรา nyqusit และการตั้งค่าเกนและตัวเลือกที่สองสำหรับการบัฟเฟอร์อินพุต
smashtastic

6

จุดหนึ่งที่ยังไม่ได้กล่าวถึงคือเปลี่ยนความจุบนอินพุต ADCs จำนวนมากจะเชื่อมต่อตัวเก็บประจุกับอินพุตในขณะที่ทำการวัดและจากนั้นจะตัดการเชื่อมต่อในภายหลัง สถานะเริ่มต้นของหมวกนี้อาจเป็นแรงดันไฟฟ้าที่วัดล่าสุด VSS หรือบางอย่างที่ไม่สอดคล้องกัน สำหรับการวัดที่แม่นยำมีความจำเป็นที่อินพุตจะไม่ขยับเขยื่อนเมื่อเชื่อมต่อตัวเก็บประจุหรือว่าจะเด้งและกู้คืนก่อนที่ตัวเก็บประจุจะถูกตัดการเชื่อมต่อ ในทางปฏิบัตินี่หมายความว่าทั้งความจุของอินพุตจะต้องมีค่าสูงกว่าหรืออย่างอื่นที่เวลา RC ที่เกิดขึ้นจากความจุอินพุตและความต้านทานแหล่งที่มาจะต้องต่ำกว่าค่าที่แน่นอน

ตัวอย่างเช่นสมมติว่าความจุอินพุทสวิตช์เป็น 10pF และเวลาการได้มาคือ 10uS หากอินพุตอิมพิแดนซ์คือ 100K จะไม่มีความจุอินพุตอื่นนอกเหนือจากความจุของ ADC และความแตกต่างระหว่างแรงดันไฟฟ้าเริ่มต้นและแรงดันไฟฟ้าที่จะวัดคือ R ดังนั้นค่าคงที่เวลา RC จะเป็น 1uS (10pF * 100K) ดังนั้นเวลาที่ได้รับจะเป็น 10 ค่าคงที่เวลา RC และข้อผิดพลาดจะเป็น R / exp (10) (ประมาณ R / 22,000) หาก R อาจเป็นแรงดันไฟฟ้าเต็มรูปแบบข้อผิดพลาดจะเป็นปัญหาสำหรับการวัดแบบ 16 บิต แต่ไม่ใช่สำหรับการวัดแบบ 12 บิต

สมมติว่ามีความจุ 10pF ของบอร์ดนอกเหนือไปจาก 10pF ของความจุสวิตช์ ในกรณีนั้นข้อผิดพลาดเริ่มต้นจะถูกลดลงครึ่งหนึ่ง แต่ค่าคงที่เวลา RC จะเพิ่มเป็นสองเท่า ดังนั้นข้อผิดพลาดจะเป็น R / 2 / exp (5) (ประมาณ R / 300) ดีพอสำหรับการวัดแบบ 8 บิต

เพิ่มความสามารถอีกเล็กน้อยและสิ่งต่าง ๆ แย่ลงไปอีก ผลักความจุไปที่ 90pF และข้อผิดพลาดจะเป็น R / 10 / exp (1) (ประมาณ R / 27) ในทางกลับกันหากฝาใหญ่กว่านั้นมากข้อผิดพลาดจะกลับลงมา ด้วยความจุ 1,000pF ข้อผิดพลาดจะอยู่ที่ประมาณ R / 110 ที่ 10,000pF (0.01uF) จะอยู่ที่ R / 1,000 ที่ 0.1uF มันจะอยู่ที่ R / 10,000 และที่ 1uF ก็จะอยู่ที่ R / 100,000


5

ลองดูที่หน้า 198 ของที่แผ่นข้อมูล มี 6-11pF ที่หมุดและ 4.4pF บนฝายึด


ใช่ แต่สิ่งนี้มีความหมายต่อฉันอย่างไร ขออภัยฉันยังคงเป็น noob
โทมัสโอ

อินพุตจะวาดประมาณ 500nA (แหล่งที่มาปัจจุบัน) ตัวเก็บประจุจะ จำกัด อัตราตัวอย่าง Chold ต้องใช้เวลาในการชาร์จเมื่อมันเปลี่ยนเป็นพินอินพุต
Robert

500nA จะลดลง 50mV ซึ่งค่อนข้างสูง แต่ไม่มากในช่วงเต็มสเกล 0-30V ของฉันมันจะประมาณ 5mV ซึ่งก็โอเค ขอบคุณ!
โทมัสโอ

3

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

การถ่ายโอนค่าใช้จ่ายที่เกิดขึ้นทุกครั้งที่คุณวิ่งผ่านลำดับของการอ่าน ADC เมื่อคูณด้วยอัตราการพิมพ์ซ้ำลำดับกลายเป็นปัจจุบัน ค่าเฉลี่ยกระแสตรงของกระแสนี้คือ Csamp * deltaV * f โดยที่ Csamp เป็นค่าความจุการสุ่มตัวอย่าง (ไม่ใช่ความจุภายนอก!), deltaV คือแรงดันไฟฟ้าระหว่างช่องสัญญาณต่อเนื่องและ f คือความถี่การวนซ้ำตามลำดับ ตัวอย่างที่สมบูรณ์ 1 ลำดับ)

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

ตัวอย่างตัวเลข: ตัวแบ่งแรงดันไฟฟ้าของคุณ (100K || 10K) ประมาณ 9K และถ้า deltaV ระหว่างแชนเนล = 3V, Csamp = 10pF และ f = 10kHz นี่จะทำให้เกิดข้อผิดพลาดของแรงดันไฟฟ้าที่ 2.7mV หรือน้อยกว่าเล็กน้อย 0.1% ของ deltaV ไม่มาก แต่ก็เพียงพอที่จะรับรู้ คุณไม่ควรใช้ 1M || ตัวแบ่งแรงดันไฟฟ้า 100K พร้อมอัตราการทำซ้ำ 10kHz - แน่นอนว่านี่ค่อนข้างเร็วและสำหรับอัตราการทำซ้ำที่ช้ากว่าคุณไม่ต้องกังวลมาก

ผมเคยเขียนเกี่ยวกับเรื่องนี้และปัญหา ADC ขับรถอื่น ๆ ในการโพสต์ในบล็อกของฉัน


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

BTW เกี่ยวกับบล็อกของคุณอีกสองแนวทางในการแก้ไขปัญหาที่วิศวกรคนอื่นอาจเปลี่ยนลำดับการโพลเป็น (ตัววัดอุณหภูมิตัวอย่าง # 1), (ตัวอย่างสัญญาณ zero-volts คงที่), (ตัววัดอุณหภูมิ # 2 ตัวอย่าง ), (ตัวอย่างสัญญาณ zero-volts คงที่) หรืออื่น ๆ หากจุดเริ่มต้นสำหรับหมวกอยู่เสมอแรงดันไฟฟ้าก่อนหน้านี้ที่อ่าน, ตัวอย่างแต่ละ thermister สองครั้งสำหรับแต่ละกลุ่มตัวอย่างทั้งเพียงแค่ใช้ค่าที่สองหรืออาจปรับ ค่าที่สองขึ้นอยู่กับการอ่านครั้งที่สองของเซ็นเซอร์อื่นและค่าการอ่านครั้งแรก
supercat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.