ทำไมเราต้องมีตัวต้านทานแบบดึงภายนอกเมื่อไมโครคอนโทรลเลอร์มีตัวต้านทานแบบดึงภายใน


15

ไมโครคอนโทรลเลอร์มีตัวต้านทานแบบดึงขึ้น - ลงภายใน แต่วงจรส่วนใหญ่มีตัวต้านทานแบบดึงภายนอก

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

ดังนั้นสำหรับบางสถานการณ์ที่ไม่ได้วางแผนพวกเขาจะแนบตัวต้านทานภายนอกเช่นกัน แต่ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้

อะไรคือเหตุผลที่แท้จริงที่อยู่เบื้องหลังการใช้งานภายนอกเมื่อเรามีผู้ฝึกงาน?


6
ไมโครคอนโทรลเลอร์บางตัวมีตัวต้านทานภายใน และตัวต้านทานเหล่านั้นมีขนาดไม่ถูกต้องสำหรับทุกการใช้งาน (โดยทั่วไปแล้วจะปรับให้เหมาะสมสำหรับพลังงานต่ำ)
Dave Tweed

2
จะเกิดอะไรขึ้นถ้าฉันไม่ใช้ตัวต้านทานตัวดึงในบรรทัด I2C เธรดนี้เป็นการวิเคราะห์ความพยายามในการใช้ตัวต้านทานแบบพูลอัพภายในด้วย I2C
Nick Alexeev

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

คำตอบ:


30

มีสาเหตุที่เป็นไปได้สองสามประการเช่น

  • ต้องการตัวต้านทานที่จะปรากฏในระหว่างการเปิดเครื่องเนื่องจากไมโครคอนโทรลเลอร์จะยังไม่ได้เริ่มดำเนินการ
  • ต้องการความต้านทานที่แม่นยำกว่าตัวต้านทานภายใน ตัวต้านทานแบบดึงขึ้น / ลงภายในมีความคลาดเคลื่อนที่กว้างมาก
  • ต้องการความต้านทานที่มีขนาดใหญ่กว่าหรือเล็กกว่าที่มีให้ภายใน ตัวอย่างเช่น I 2 C มักใช้ pullups ที่แรงกว่าในขณะที่คุณอาจต้องการ pullup ที่อ่อนมากสำหรับการตรวจสอบสวิตช์เพื่อประหยัดพลังงาน
  • จำเป็นต้องดึงแรงดันไฟฟ้าที่ไม่ใช่แรงดันไฟฟ้าของไมโครคอนโทรลเลอร์หรือกราวด์
  • การใช้ตัวต้านทานแบบดึงขึ้น / ลงพร้อมกับ ADC บนไมโครคอนโทรลเลอร์ ไมโครคอนโทรลเลอร์บางตัวปิดการใช้งานตัวต้านทานภายในบนพินใด ๆ ที่ ADC เชื่อมต่ออยู่
  • ต้องการตัวต้านทานแบบเลื่อนลงบนไมโครคอนโทรลเลอร์ที่มี pullups เท่านั้น

ฉันไม่เข้าใจจุดที่สองที่ผ่านมา ... ทำไมไมโครคอนโทรลเลอร์จึงปิดการใช้งานตัวต้านทานภายในด้วย ADC
Gunjan Gangwani

3
@GunjanGangwani ฉันไม่คิดว่ามันเป็นการตัดสินใจออกแบบที่ดี แต่ความคิดก็คือโดยปกติแล้วคุณไม่ต้องการให้ ADC วาดกระแสใด ๆ จากสิ่งที่มันวัดดังนั้นคุณต้องการการเชื่อมต่อที่มีความต้านทานสูง ฉันเดาว่านักออกแบบบางคนไม่เชื่อว่านักพัฒนาเฟิร์มแวร์จะปิดการใช้งานตัวต้านทานภายในเสมอ
Abe Karplus

7
ฉันคิดว่ามันเป็นเรื่องปกติเพราะ pull-ups / pull-downs นั้นเชื่อมโยงกับบัฟเฟอร์ดิจิตอลและการเปิดใช้งาน ADC สามารถปิดใช้งานวงจรบัฟเฟอร์ดิจิตอลได้อย่างสมบูรณ์ (และด้วยตัวต้านทาน pull-up / down)
Connor Wolf

3
@Ashutosh หากคุณต้องการความต้านทานสูงแน่นอนว่าคุณไม่ต้องใช้แรงดึง ไมโครคอนโทรลเลอร์บางตัวบังคับใช้สิ่งนี้โดยการปิด pullups ภายในของพวกเขาโดยอัตโนมัติซึ่งเป็นปัญหาในสถานการณ์ที่คุณไม่ต้องการความต้านทานสูง
Abe Karplus

1
@GunjanGangwani ADC อินพุตควรแยกออกจากวงจรอื่น ๆ ทั้งหมดเพื่อให้เกิดเสียงรบกวนต่ำสุด อินพุตดิจิตอลมักใช้กระแสไฟฟ้ามากกว่าที่ต้องการเมื่อขับเคลื่อนด้วยแรงดันไฟฟ้า "สูง" และ "ต่ำ" ไมโครคอนโทรลเลอร์ที่เก่ากว่าใช้สวิตช์ภายในเพื่อตัดการเชื่อมต่ออินพุตจากส่วนดิจิทัลเมื่อใช้พินนั้นสำหรับ ADC และเป็นส่วนดิจิทัลที่ดึงขึ้น สิ่งนี้ถูกตัดการเชื่อมต่อกับทั้งแยก ADC และลดระดับเสียงรบกวนรวมทั้งป้องกันการดึงกระแสไฟฟ้าเพิ่มเติมที่เป็นไปได้ (หรือในชิปเก่ามาก, cmos latchup)
Adam Davis

9

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

ตัวต้านทานแบบดึงขึ้นอาจจำเป็นต้องใช้ที่อินพุตไปยังวงจรลอจิกปกติ (ประตูเคาน์เตอร์ ฯลฯ ) ซึ่งไม่มีพูลอัพภายใน (และบางครั้งเราต้องการตัวต้านทานแบบดึงลงแทน ... )


1
ตัวต้านทานแบบดึงขึ้นภายใน แต่บ่อยครั้งที่ค่าเหล่านี้ค่อนข้างสูงฉันกำลังสร้างแอปพลิเคชันพลังงานต่ำเมื่อเร็ว ๆ นี้และพบว่าตัวต้านทานแบบดึงขึ้นอยู่ที่ประมาณ 50 k ซึ่งฉันพบว่าค่อนข้างต่ำทำให้เกิดการใช้งานในปัจจุบันมากเกินไป ดังนั้นฉันจึงใช้ตัวต้านทานภายนอกที่มีค่าสูงกว่า ในที่สุดมันก็ขึ้นอยู่กับความต้องการของคุณ
Bimpelrekkie

3

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

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