การชี้แจงตัวต้านทานแบบดึงขึ้น


12

ฉันค่อนข้างใหม่กับอุปกรณ์อิเล็กทรอนิกส์และฉันมีเวลายากที่จะเข้าใจหลักการ "ตัวต้านทานแบบดึงขึ้น" ฉันได้อ่านบทความมากมายเกี่ยวกับเรื่องนี้และฉันคิดว่าฉันเข้าใจแล้ว แต่ฉันไม่แน่ใจ 100% ดังนั้นฉันจึงมีคำถาม ในบทความนี้หลังจากภาพแรกมันพูดว่า:

เมื่อกดปุ่มชั่วขณะมันเชื่อมต่อขา I / O กับ Vcc และไมโครคอนโทรลเลอร์จะบันทึกอินพุตเป็นระดับสูง

แต่ฉันไม่เข้าใจ VCC อยู่ที่ไหน จากสิ่งที่ฉันเห็นไม่มีแหล่งจ่ายไฟใน schema นี้เพียงไมโครคอนโทรลเลอร์ต่อสายไปยังปุ่มที่ทั้งสายไปยังพื้นดินดังนั้นจะมีแรงดันไฟฟ้าในวงจรนี้ได้อย่างไร


ฉันคิดว่าพวกเขากำลังอ้างถึงภาพ 2 และ 3 เมื่อพวกเขาพูดถึง Vcc ภาพเหล่านั้นมี VCC
axk

2
โปรดจำไว้ว่า U1 เป็นประตูตรรกะซึ่งหมายถึงการเชื่อมต่อพลังงานและภาคพื้นดินบน IC จริง สิ่งเหล่านี้ไม่ได้ถูกวาดขึ้นเพื่อลดความซับซ้อนของแผนภาพวงจร
Ryan Griggs

5
ฉันจะบอกว่ามันเป็นความผิดพลาดในบทความ เมื่อกดปุ่มจะเป็นการเชื่อมต่ออินพุตเกตกับ GND ไม่ใช่กับ Vcc
ยูจีน Sh.

ฉันเห็นด้วยกับยูจีนมันเป็นบทความที่มีหมัด ค้นหาแหล่งที่ดีกว่า
ท่อ

2
ปรากฏว่าผู้เขียนบทความนั้นอาจเปลี่ยนใจระหว่างการวาดภาพกับการเขียนข้อความ มันควรจะพูดว่า "... I / O pin to Ground และประตูไม่ได้จะลงทะเบียนอินพุตเป็นต่ำ" ย่อหน้าทั้งหมดนั้นสับสนโดยทั่วไป
Peter Bennett

คำตอบ:


32

บทความดูเหมือนจะค่อนข้างสับสน: ข้อความและตัวเลขไม่ตรงกัน ฉันจะพยายามนำเสนอสามแผนงานเดียวกันกับที่นี่โดยหวังว่าจะมีคำอธิบายที่ตรงกันมากขึ้น

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

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

(2) ตอนนี้เมื่อไม่ได้กดปุ่มพอร์ตจะรู้สึกถึงระดับสูงเนื่องจากมันเชื่อมต่อโดยตรงกับ Vcc แต่ถ้ากดปุ่ม Vcc จะลัดวงจรลงกราวด์และแหล่งพลังงานอาจจะไหม้และตาย ยิ่งเลวร้ายลง.

(3) ที่นี่หากไม่กดปุ่มพอร์ตจะรู้สึกถึงระดับตรรกะที่สูงอีกครั้ง: มันจะถูกดึงสูงผ่านตัวต้านทาน (ไม่มีการสูญเสียแรงดันไฟฟ้าของตัวต้านทานเนื่องจากอิมพีแดนซ์ของอินพุตดิจิตอลนั้นสูงมากดังนั้นกระแสไปที่พอร์ตจะอยู่ที่ประมาณศูนย์)

เมื่อกดปุ่มพอร์ตจะเชื่อมต่อโดยตรงกับกราวด์จึงมีความรู้สึกในระดับต่ำ ทีนี้กระแสจะไหลจาก Vcc ไปที่กราวด์ แต่ตัวต้านทานจะ จำกัด เฉพาะบางอย่างที่สมเหตุสมผล ดีจัง.

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

แผนผัง

จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab


ฉันคิดว่านี่เป็นคำอธิบายที่ดีสำหรับผู้เริ่มต้นด้านอิเล็กทรอนิกส์เพื่อทำความเข้าใจกับหัวข้อ +1 สำหรับแผนภาพและภาษาที่เรียบง่าย
Mark Ch

ดังนั้นถ้าฉันเข้าใจคุณอย่างถูกต้องสิ่งที่ฉันละเลยก็คือความจริงที่ว่า U1 เชื่อมต่อกับ Vcc จริง ๆ แล้วทำไมในวงจรแรกถ้ากดปุ่มกระแสก็จะผ่านได้? คำถามที่สองเมื่อคุณพูดในจุดที่ 3 ว่า "แต่เนื่องจากอิมพีแดนซ์อินพุตของพอร์ต I / O ดิจิตอลค่อนข้างสูงมันไม่สำคัญ" คุณหมายความว่า 0 กระแสเลยจะไปที่ P1 หรือกระแส เล็กมาก (เพราะอิมพีแดนซ์ของอินพุต) ที่มันจะเกือบเท่ากับ 0 => ระดับต่ำ? ขอบคุณสำหรับคำอธิบายที่ดีอยู่แล้ว! ฉันทำเครื่องหมายการโพสต์ของคุณเป็นคำตอบเนื่องจากแผนงาน :-p
ssougnez

1
"อาจไม่รู้สึก" ... เราพูดว่าอินพุตอาจ "ลอย" และคดเคี้ยวไปตามศักยภาพที่หลากหลาย ตัวต้านทานแบบดึงขึ้นจะดึงอินพุต "สูง" NB กระแสไม่สำคัญ (ใช่มีขนาดเล็ก) เพียงแรงดันไฟฟ้า สิ่งต่าง ๆ มีความซับซ้อนมากขึ้นเล็กน้อยสำหรับวงจรภายใต้เงื่อนไข "การแข่งขัน"
mckenzm

@mckenzm ฉันเข้าใจแล้ว และคุณบอกว่าสิ่งสำคัญคือแรงดันไฟฟ้าดังนั้นหมายความว่าเสียงรอบข้างอาจสร้างความตึงเครียดสูงพอที่จะทำให้ประตูอยู่ในสถานะสูง
ssougnez

หรือเพียงแค่กระบวนการผลิตนี่เป็นเรื่องธรรมดามากสำหรับชิปฝังตัวในบัตรเครดิตตอนนี้ ผู้อ่านมีตัวต้านทานแบบดึงขึ้น มันเป็นจุดของความล้มเหลวในขณะนี้แล้ว
mckenzm

11

ตัวต้านทานแบบดึงขึ้น - ลง "เก็บ" อินพุตที่ระดับเฉพาะเมื่อไม่มีอินพุตไปยังขาแทนที่จะปล่อยให้อินพุตลอย

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

ดังนั้นเพื่อให้แน่ใจว่าพินนั้นอยู่ในสถานะ "รู้" จำเป็นต้องเชื่อมต่อกับ VCC หรือ GND เสมอ ดูรูปที่ 2 อย่างไรก็ตามมีปัญหา: หากคุณเชื่อมต่อพินกับ VCC เพื่อคงไว้ที่สถานะ "สูง" จากนั้นเชื่อมต่อสวิทช์ของคุณกับ GND และกดสวิทช์คุณจะสร้างคำสั่งสั้น ๆ ! คุณจะระเบิดฟิวส์ทำลายแหล่งจ่ายไฟของคุณเผาบางสิ่งบางอย่าง ฯลฯ

ดังนั้นแทนที่จะเชื่อมต่ออินพุตโดยตรงกับ VCC หรือ GND คุณสามารถเชื่อมต่ออินพุตผ่านตัวต้านทานแบบดึงขึ้น / ดึงลงได้ ในรูปที่ 3 พวกเขาใช้ตัวต้านทานแบบดึงขึ้นเชื่อมต่ออินพุตกับ VCC

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

เมื่อสวิตช์ของคุณปิดตัวต้านทานอินพุตและพูลอัพจะเชื่อมต่อกับ GND ปัจจุบันบางกระแสเริ่มไหลผ่าน pull-up แต่เนื่องจากมันเป็นความต้านทานที่สูงกว่าลวดที่นำไปสู่ ​​GND แรงดันไฟฟ้าเกือบทั้งหมดจึงลดลงผ่านตัวต้านทานแบบดึงขึ้นทำให้มีแรงดัน ~ 0 โวลต์ที่ขาอินพุต

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

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


ขอบคุณสำหรับคำอธิบายนี้ชัดเจนจริงๆ ฉันมีคำตอบมากมายสำหรับกระทู้นี้และน่าเสียดายที่ฉันสามารถเลือกได้เพียงคำตอบเดียวที่ได้รับการยอมรับ ฉันเลือกอันอื่นเพราะแผนผังของมัน แต่ของคุณก็ชัดเจนมาก ฉันยกมันขึ้นมา
ssougnez

6

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

แผนผัง

จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab

  • (a) หากไม่มีการดึงขึ้นเราจะต้องใช้สวิตช์เปลี่ยนเพื่อสลับระหว่าง Vss และ GND (กราวด์) การจัดเรียงนี้จะสลับอินพุตอย่างแน่นหนาไม่ว่าทางใดทางหนึ่ง แต่มีปัญหาระหว่างการเปลี่ยนหน้าสัมผัสสวิตช์เมื่ออินพุทลอยอยู่ชั่วครู่ สิ่งนี้อาจทำให้เกิดการสั่นเมื่อมีสัญญาณรบกวนแม่เหล็กไฟฟ้า (EMI) เป็นต้น
  • (b) แก้ปัญหาสองปัญหา: ใช้สวิตช์ที่ง่ายกว่าและในกรณีที่ไม่มีสวิตช์ปิดอินพุตจะถูกดึงสูง เมื่อปิดสวิตช์อินพุตจะถูกดึงต่ำ
  • (c) แสดงการจัดเรียงเดียวกันในสิ่งที่ตรงกันข้าม สวิตช์เปิดดึงต่ำ

การจัดเรียงใน (b) เป็นเรื่องปกติมากขึ้นเนื่องจากอุปกรณ์ลอจิก IC จำนวนมากมีตัวต้านทานแบบดึงขึ้นภายในทำให้จำนวนชิ้นส่วนและพื้นที่ PCB ลดลงเมื่อใช้การจัดเรียงนี้

โปรดทราบว่าพลังงานและพื้นดินมีการสันนิษฐานในแผนงานหลายอย่าง ในกรณีของลอจิกเกตเช่นมีการเชื่อมต่อ Vss และกราวด์ทั่วไปสำหรับ 2, 4 หรือ 6 ลอจิกเกต มันไม่สมเหตุสมผลเลยที่จะแสดงพวกเขาสำหรับแต่ละประตูดังนั้นพวกเขาจึงสันนิษฐานหรือแสดงแยกจากกันด้วยตัวเก็บประจุแยกส่วนที่มากับวงจรอื่น ๆ


ขอบคุณสำหรับคำตอบที่ดีนี้ ฉันมีคำถามเกี่ยวกับสิ่งที่คุณพูด "การจัดเรียงใน (b) พบได้บ่อยกว่า ... " ไม่ใช่ "ปัญหา" ที่จะมีตัวต้านทานแบบดึงขึ้นแทนที่จะเป็นตัวดึงลงหรือไม่ จริง ๆ แล้วการดึงขึ้นจะดึงกระแสเสมอจนกว่าจะกดปุ่มและเราสามารถสันนิษฐานได้ว่าส่วนใหญ่แล้วปุ่มไม่ได้ถูกผลักดังนั้นมันจะหมายความว่าวงจรจะวาดกระแสในขณะที่ไม่ได้ใช้งาน
ssougnez

@ssougnez: แทนที่จะโพสต์คำถามเป็นความคิดเห็นโดยทั่วไปจะดีกว่าการโพสต์คำถามเป็นคำถามระดับบนสุดใหม่ - หรือได้รับคำตอบแล้วที่electronics.stackexchange.com/questions/113009/หรืออิเล็กทรอนิกส์ electronics.stackexchange.com/ คำถาม / 254037 / … ?
davidcary

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

@ssougnez: บางส่วนนี้เป็นเพราะเหตุผลทางประวัติศาสตร์ เช่นอินพุทบนชิปTTLเช่นไม่มีกระแสไฟฟ้าเมื่อปล่อยให้ลอยสูง การดึงต่ำทำให้เกิดกระแส นี่หมายความว่ามันประหยัดพลังงานมากกว่าเมื่อต้องดึง การออกแบบที่ทันสมัยใช้อินพุตแบบ FET ซึ่งมีอิมพิแดนซ์อินพุตเหมือนกันเมื่อสูงหรือต่ำดังนั้นจึงไม่สร้างความแตกต่าง โดยทั่วไปแล้วจะง่ายกว่าและแน่นอนกว่าที่จะเปลี่ยนเป็นกราวด์มากกว่าเปลี่ยนเป็นแหล่งจ่ายบวก - โดยเฉพาะอย่างยิ่งเมื่อมีการเชื่อมต่อรางจ่ายไฟแรงดันไฟฟ้าแบบผสม
ทรานซิสเตอร์

4

มันเป็นประตูไม่ได้ดังนั้นฉันคิดว่าเราควรจินตนาการว่าขา I / O เชื่อมต่อที่ LED นั้นแสดงไม่ถูกต้องโดยไม่มีตัวต้านทานแบบอนุกรม เมื่อคุณเชื่อมต่ออินพุตกับกราวด์เอาต์พุตควรไปที่ Vcc (ซึ่งอาจเรียกว่า Vdd ซึ่งเป็นอีกเรื่องหนึ่ง)

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

สิ่งนี้ทำให้เกิดความสับสนเล็กน้อย (ซ่อนพิน) เมื่อคุณมีแรงดันไฟฟ้าแบบลอจิกแบบผสมเช่น 1.8, 3.3 และ 5V บนกระดานเดียวกันดังนั้นฉันจึงไม่ทำตามปกติ แต่มันช่วยประหยัดความยุ่งเหยิงในช่วงวันหยุด เมื่อทุกอย่างวิ่งจาก 5V

แผนผัง

จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab


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

ดูการแก้ไข ประยุกต์ภายในของอินเวอร์เตอร์ (โดยปกติจะมีทรานซิสเตอร์สำหรับบัฟเฟอร์และไดโอดป้องกันอย่างน้อย) อินพุตจะลอยไปรอบ ๆ เมื่อไม่ได้กดสวิทช์ แต่เมื่อกดเอาต์พุตจะสูงมาก (M1 เปิดอยู่และ M2 ปิดอยู่)
Spehro Pefhany

พอร์ต I / O ทางด้านขวาในแผนผังของคุณจะไม่ถูกดึงไปยังแรงดันไฟฟ้าที่รู้จักผ่านทาง LED แทนการลอยตัวจริงหรือ ฉันคิดว่าบทความนี้อ้างถึงอินพุตของประตูไม่ได้เมื่อมีข้อความว่า "I / O pin" ที่ข้อความหลังรูปที่ 1 มันแค่สับสน Vcc กับกราวด์ GND หลังจากรูปที่ 2 พวกเขาเป็นวิธีที่ถูกต้องอีกครั้ง
ilkkachu

ไม่ไฟ LED จะไม่ส่งผลกระทบต่อแรงดันไฟฟ้าที่เพียงพอที่จะต้องกังวล อย่างที่ฉันพูดไว้ในตอนแรกฉันไม่คิดว่ามันหมายถึงอินพุตของเกท มันไม่ใช่ไมโครคอนโทรลเลอร์และเป็นเพียงอินพุตไม่ใช่พิน I / O แต่จริงๆแล้วหน้าเว็บไม่ได้เป็นสิ่งที่ชัดเจนสำหรับผู้เริ่มต้น
Spehro Pefhany

ขอบคุณมันชัดเจนขึ้นในตอนนี้ขอบคุณคำตอบของคุณและคำตอบอื่น ๆ ทั้งหมด ฉันโหวตให้คุณ ;-)
ssougnez

2

ตัวต้านทานแบบเลื่อนขึ้นหรือลงมีไว้เพื่อแก้ไขระดับตรรกะ (0 ที่ GND หรือ 1 ที่ VCC) ตัวต้านทานมีความต้านทานสูงกว่าที่ปุ่ม เมื่อคุณกดปุ่มระดับสามารถเปลี่ยนได้ (ถ้ามีสาย correclty)

"ไม่ใช่เกต" ที่เป็นตัวแทนของ MCU ในรูปนั้นเป็นพื้นฐานมากและผู้เขียนได้จัดหา VCC แน่นอนในรูปที่ 2 และ 3 Vcc มีอยู่และเชื่อมต่อกันดี

ประโยคที่คุณเลือกคือการอธิบายตรรกะ "ใช้งานสูง" หนึ่งที่สอดคล้องกับรูปที่ 1 คือ

การใช้ตัวต้านทานแบบดึงขึ้นขา I / O โดยปกติจะเห็นลอจิกสูงและเมื่อกดปุ่มมันจะเห็นค่าต่ำ


1

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

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