- Resistor คืออะไร?
- Pull-up และ Pull-Down Resistor คืออะไรและทำไมเราถึงต้องการ?
- สถานที่และวิธีใช้ตัวต้านทานแบบดึงขึ้นและแบบดึงลง
- ตัวต้านทานแบบดึงขึ้น
- ดึงตัวต้านทานลง
- การคำนวณค่าที่แท้จริงสำหรับตัวต้านทานแบบดึงขึ้นและแบบดึงลง
- ตัวอย่างการปฏิบัติ
- ข้อมูลเพิ่มเติมเกี่ยวกับตัวต้านทานแบบดึงขึ้นและแบบดึงลง
Resistor คืออะไร?
ตัวต้านทานเป็นอุปกรณ์ จำกัด ในปัจจุบันซึ่งมีการใช้อย่างมากในวงจรอิเล็กทรอนิกส์และผลิตภัณฑ์ เป็นส่วนประกอบแบบพาสซีฟที่ให้ความต้านทานเมื่อกระแสไหลผ่าน ตัวต้านทานมีหลายประเภท ความต้านทานวัดเป็นโอห์มโดยมีสัญลักษณ์ของΩ
Pull-up และ Pull-Down Resistor คืออะไรและทำไมเราถึงต้องการ?
หากเราพิจารณาวงจรดิจิทัลพินจะเป็น 0 หรือ 1 เสมอในบางกรณีเราจำเป็นต้องเปลี่ยนสถานะจาก 0 เป็น 1 หรือจาก 1 เป็น 0 ไม่ว่าในกรณีใดเราจำเป็นต้องถือพินดิจิทัลด้วย 0 จากนั้นเปลี่ยนสถานะเป็น 1 หรือเราต้องถือ 0 แล้วเปลี่ยนเป็น 1 ในทั้งสองกรณีเราต้องทำให้พินดิจิทัลเป็น ' สูง ' หรือ ' ต่ำ ' แต่ไม่สามารถปล่อยให้ลอยได้
ดังนั้นในแต่ละกรณีสถานะจะเปลี่ยนไปดังที่แสดงด้านล่าง
ทีนี้ถ้าเราแทนที่ค่าสูงและต่ำด้วยค่าแรงดันไฟฟ้าจริงค่าสูงจะเป็นระดับลอจิกสูง (สมมติว่า 5V) และต่ำจะเป็นกราวด์หรือ 0v
ต้านทานดึงขึ้นจะใช้เพื่อให้สถานะเริ่มต้นของขาดิจิตอลเป็นสูงหรือระดับตรรกะ (ในภาพด้านบนมันเป็น 5V) และตัวต้านทานแบบเลื่อนลงไม่ตรงข้ามก็จะทำให้สถานะเริ่มต้นของดิจิตอล ปักหมุดเป็นต่ำ (0V)
แต่ทำไมเราถึงต้องการตัวต้านทานเหล่านั้นแทนเราสามารถเชื่อมต่อพินลอจิกดิจิตอลโดยตรงกับแรงดันระดับลอจิกหรือกราวด์เหมือนภาพด้านล่าง?
เราไม่สามารถทำได้ เนื่องจากวงจรดิจิทัลทำงานในกระแสไฟฟ้าต่ำการเชื่อมต่อพินลอจิกเข้ากับแรงดันไฟฟ้าหรือกราวด์โดยตรงจึงไม่ใช่ทางเลือกที่ดี เนื่องจากในที่สุดการเชื่อมต่อโดยตรงจะเพิ่มการไหลของกระแสเช่นเดียวกับการลัดวงจรและอาจทำให้วงจรลอจิกที่ละเอียดอ่อนเสียหายซึ่งไม่แนะนำให้ใช้ ในการควบคุมการไหลของกระแสเราต้องดึงผู้ลงหรือดึงตัวต้านทานตัวต้านทานแบบดึงขึ้นช่วยให้การไหลของกระแสที่ควบคุมจากแหล่งจ่ายแรงดันไปยังพินอินพุตดิจิทัลซึ่งตัวต้านทานแบบดึงลงสามารถควบคุมการไหลของกระแสจากพินดิจิทัลไปยังกราวด์ได้อย่างมีประสิทธิภาพ ในเวลาเดียวกันทั้งตัวต้านทานตัวต้านทานแบบดึงลงและแบบดึงขึ้นจะถือสถานะดิจิทัลไม่ว่าจะเป็นต่ำหรือสูง
สถานที่และวิธีใช้ตัวต้านทานแบบดึงขึ้นและแบบดึงลง
ด้วยการอ้างอิงภาพไมโครคอนโทรลเลอร์ด้านบนโดยที่พินลอจิกดิจิทัลถูกย่อส่วนด้วยกราวด์และ VCC เราสามารถเปลี่ยนการเชื่อมต่อโดยใช้ตัวต้านทานแบบดึงขึ้นและแบบดึงลง
สมมติว่าเราต้องการสถานะลอจิกเริ่มต้นและต้องการเปลี่ยนสถานะโดยการโต้ตอบหรืออุปกรณ์ต่อพ่วงภายนอกเราใช้ตัวต้านทานแบบดึงขึ้นหรือแบบเลื่อนลง
ตัวต้านทานแบบดึงขึ้น
หากเราต้องการสถานะสูงเป็นค่าเริ่มต้นและต้องการเปลี่ยนสถานะเป็นต่ำโดยการโต้ตอบภายนอกเราสามารถใช้ตัวต้านทานแบบดึงขึ้นได้ดังภาพด้านล่าง -
พินอินพุตตรรกะดิจิทัล P0.5 สามารถสลับจากลอจิก 1 หรือสูงเป็นลอจิก 0 หรือต่ำโดยใช้สวิตช์ SW1 ต้านทาน R1 จะทำหน้าที่เป็นตัวต้านทานดึงขึ้นเชื่อมต่อกับแรงดันลอจิกจากแหล่งจ่าย 5V ดังนั้นเมื่อไม่ได้กดสวิตช์พินอินพุตแบบลอจิคัลจะมีแรงดันไฟฟ้าเริ่มต้นที่ 5V หรือขาจะสูงเสมอจนกว่าจะกดสวิตช์และพินจะสั้นลงที่กราวด์ทำให้ลอจิกต่ำ
อย่างไรก็ตามตามที่เราระบุไว้ว่าพินไม่สามารถลัดวงจรลงกราวด์หรือ Vcc ได้โดยตรงเนื่องจากจะทำให้วงจรเสียหายเนื่องจากสภาวะไฟฟ้าลัดวงจรในที่สุด แต่ในกรณีนี้การลัดวงจรลงสู่พื้นอีกครั้งโดยใช้สวิตช์ปิด แต่ดูดีๆมันไม่ได้สั้นลงจริงๆ เนื่องจากตามกฎของโอห์มเนื่องจากความต้านทานแบบดึงขึ้นกระแสจำนวนเล็กน้อยจะไหลจากแหล่งกำเนิดไปยังตัวต้านทานและสวิตช์จากนั้นถึงพื้น
หากเราไม่ใช้ตัวต้านทานแบบดึงขึ้นนี้เอาต์พุตจะลัดวงจรลงสู่พื้นโดยตรงเมื่อกดสวิตช์ในทางกลับกันเมื่อสวิตช์จะเปิดพินระดับลอจิกจะลอยและอาจทำให้ไม่เป็นที่ต้องการ ผลลัพธ์.
ดึงตัวต้านทานลง
สิ่งเดียวที่เป็นจริงสำหรับตัวต้านทานแบบเลื่อนลงพิจารณาการเชื่อมต่อด้านล่างซึ่งแสดงตัวต้านทานแบบดึงลงพร้อมการเชื่อมต่อ -
ในภาพด้านบนสิ่งที่ตรงกันข้ามกับที่เกิดขึ้น เลื่อนลงต้านทาน R1 ซึ่งจะเชื่อมต่อกับพื้นดินหรือ 0V จึงทำให้พินระดับลอจิกดิจิทัล P0.3 เป็นค่าเริ่มต้น 0 จนกระทั่งกดสวิตช์และพินระดับตรรกะสูง ในกรณีเช่นนี้กระแสจำนวนเล็กน้อยจะไหลจากแหล่งจ่าย 5V ไปยังกราวด์โดยใช้สวิตช์ปิดและตัวต้านทานแบบดึงลงดังนั้นจึงป้องกันไม่ให้พินระดับลอจิกลัดวงจรด้วยแหล่ง 5V
ดังนั้นสำหรับวงจรระดับลอจิกต่างๆเราสามารถใช้ตัวต้านทานแบบดึงขึ้นและแบบดึงลงได้ พบมากที่สุดในฮาร์ดแวร์ฝังตัวต่างๆระบบโปรโตคอลสายเดียวการเชื่อมต่ออุปกรณ์ต่อพ่วงในไมโครชิป Raspberry Pi Arduino และภาคฝังตัวต่างๆรวมถึงอินพุต CMOS และ TTL
การคำนวณค่าที่แท้จริงสำหรับตัวต้านทานแบบดึงขึ้นและแบบดึงลง
ตอนนี้เมื่อเรารู้วิธีใช้ตัวต้านทานแบบดึงขึ้นและแบบดึงลงคำถามก็คือค่าของตัวต้านทานเหล่านั้นจะเป็นเท่าใด? แม้ว่าในวงจรระดับลอจิกดิจิทัลจำนวนมากเราสามารถเห็นตัวต้านทานแบบดึงขึ้นหรือแบบดึงลงได้ตั้งแต่ 2k ถึง 4.7k แต่มูลค่าที่แท้จริงจะเป็นอย่างไร
เพื่อให้เข้าใจสิ่งนี้เราจำเป็นต้องรู้ว่าแรงดันลอจิกคืออะไร? แรงดันไฟฟ้าเท่าไหร่ที่เรียกว่า Logic low และเท่าไหร่ที่เรียกว่า Logic High?
สำหรับระดับตรรกะต่างๆไมโครคอนโทรลเลอร์ต่างๆจะใช้ช่วงที่แตกต่างกันสำหรับลอจิกสูงและลอจิกต่ำ
หากเราพิจารณาอินพุตระดับทรานซิสเตอร์ - ทรานซิสเตอร์ลอจิก (TTL) กราฟด้านล่างจะแสดงแรงดันลอจิกต่ำสุดสำหรับการกำหนดค่าลอจิกสูงและแรงดันลอจิกสูงสุดสำหรับการตรวจจับลอจิกเป็น 0 หรือต่ำ
เราจะเห็นได้ว่าตรรกะ TTL ที่แรงดันไฟฟ้าสูงสุดสำหรับการตรรกะ 0 0.8V ดังนั้นถ้าเราให้น้อยกว่า 0.8V ตรรกะระดับจะได้รับการยอมรับว่าเป็น 0. บนมืออื่น ๆ, ถ้าเราให้มากกว่า 2V ไปสูงสุด 5.25V ตรรกะจะได้รับการยอมรับในฐานะสูง แต่ที่ 0.8V ถึง 2V เป็นพื้นที่ว่างที่แรงดันไฟฟ้านั้นไม่สามารถรับประกันได้ว่าตรรกะจะได้รับการยอมรับว่าสูงหรือต่ำ ดังนั้นเพื่อความปลอดภัยในสถาปัตยกรรม TTL เรายอมรับ 0V ถึง 0.8V เป็น Low และ 2V ถึง 5V เป็น High ซึ่งรับประกันได้ว่าชิปลอจิกต่ำและสูงจะได้รับการยอมรับโดยชิปลอจิกที่แรงดันเล็กน้อยนั้น
ในการกำหนดค่าสูตรคือกฎของโอห์มอย่างง่าย ตามกฎของโอห์มสูตรคือ
V = ฉัน x R R = V / I
ในกรณีของตัวต้านทานแบบดึงขึ้น V จะเป็นแรงดันไฟฟ้าต้นทาง - แรงดันต่ำสุดที่ยอมรับเป็น High
และกระแสจะเป็นกระแสสูงสุดที่จมลงโดยพินลอจิก
ดังนั้น, R pull-up = (อุปทาน V - V H (นาที)) / ฉันจม
โดยที่แหล่งจ่าย V คือแรงดันไฟฟ้า V H (นาที)คือแรงดันไฟฟ้าต่ำสุดที่ยอมรับได้ที่ High และ I sink คือกระแสไฟฟ้าสูงสุดที่ขาดิจิตอลจม
สิ่งเดียวกันที่ใช้กับตัวต้านทานแบบเลื่อนลงแต่สูตรมีการเปลี่ยนแปลงเล็กน้อย
R pull-up = (V L (สูงสุด) - 0) / แหล่งที่มา I
โดยที่ (V L (สูงสุด) ยอมรับแรงดันไฟฟ้าสูงสุดเป็นลอจิกต่ำและแหล่งที่มา I คือกระแสไฟฟ้าสูงสุดที่มาจากพินดิจิทัล
ตัวอย่างการปฏิบัติ
สมมติว่าเรามีวงจรลอจิกที่แหล่งจ่ายคือ 3.3V และลอจิกแรงดันสูงที่ยอมรับได้คือ 3V และเราสามารถจมกระแสสูงสุดที่ 30uA จากนั้นเราสามารถเลือกตัวต้านทานแบบดึงขึ้นโดยใช้สูตรเช่นนี้ -
ตอนนี้ถ้าเราพิจารณาตัวอย่างเดียวกันที่ระบุไว้ข้างต้นโดยที่วงจรยอมรับ 1V เป็นตรรกะสูงสุดแรงดันไฟฟ้าต่ำและสามารถจ่ายกระแสได้สูงถึง 200uA ตัวต้านทานแบบดึงลงจะเป็น
ข้อมูลเพิ่มเติมเกี่ยวกับตัวต้านทานแบบดึงขึ้นและแบบดึงลง
นอกเหนือจากการเพิ่มตัวต้านทานแบบดึงขึ้นหรือแบบดึงลงแล้วไมโครคอนโทรลเลอร์ในปัจจุบันยังรองรับตัวต้านทานแบบดึงขึ้นภายในสำหรับพิน I / O ดิจิทัลซึ่งมีอยู่ภายในหน่วยไมโครคอนโทรลเลอร์ แม้ว่าในกรณีสูงสุดจะเป็นการดึงที่อ่อนแอ แต่หมายความว่ากระแสไฟฟ้าต่ำมาก
บ่อยครั้งที่เราต้องดึงพินอินพุต - เอาท์พุตดิจิตอลมากกว่า 2 หรือ 3 พินในกรณีเช่นนี้จะใช้เครือข่ายตัวต้านทาน ง่ายต่อการรวมและให้จำนวนพินที่ต่ำกว่า
มันจะเรียกว่าเป็นเครือข่ายหรือตัวต้านทานตัวต้านทาน SIP
นี่คือสัญลักษณ์ของสุทธิต้านทานพิน 1 เชื่อมต่อกับพินตัวต้านทานต้องเชื่อมต่อพินนี้ที่ VCC เพื่อดึงขึ้นหรือกราวด์เพื่อวัตถุประสงค์ในการดึงลง ด้วยการใช้ตัวต้านทาน SIP นี้ตัวต้านทานแต่ละตัวจะถูกกำจัดออกไปจึงช่วยลดจำนวนส่วนประกอบและพื้นที่ในบอร์ด มีให้เลือกหลายค่าตั้งแต่ไม่กี่โอห์มไปจนถึงกิโลโอห์ม