ฉันจะรู้ได้อย่างไรว่าฉันต้องการตัวต้านทานแบบดึงขึ้นหรือลงสำหรับพิน GPIO หรือไม่?


8

ฉันเคยเห็นไมโครคอนโทรลเลอร์จำนวนมากใช้ตัวต้านทานแบบดึงขึ้นหรือลงเช่นการตั้งค่าสำหรับพิน GPIO หรือเป็นส่วนหนึ่งของฮาร์ดแวร์

ฉันจะรู้ได้อย่างไรว่าฉันต้องการตัวต้านทานแบบ pull up หรือ pull down สำหรับ GPIO และถ้าฉันจะรู้ได้อย่างไรว่าตัวไหนเหมาะกับการใช้งานของฉัน?

คำตอบ:


6

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

หากคุณต้องการให้ค่าเริ่มต้นของบรรทัดเป็นดิจิทัล 1 คุณจะต้องใช้การดึงขึ้น หากคุณต้องการให้เป็น 0 แบบดิจิตอลคุณสามารถใช้การดึงลง

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


3

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


0

ไม่ว่าคุณจะดึงมันขึ้นหรือลงมันก็ขึ้นอยู่กับคุณและความต้องการโครงการของคุณ

ดังกล่าวก่อนหน้านี้

หากรหัสของคุณต้องการที่จะทริกเกอร์บนขอบที่ตกลงมาหรือ0คุณต้องใช้การดึงขึ้นเพื่อให้ระดับสูงเมื่อไม่ได้ใช้

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

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

โดยทั่วไปการดึงลงคุณจะประหยัดพลังงานไม่กี่ mA

ให้บอกว่าเรามี 5k pull up @ 5v นั่นคือ1mAต่อขา; เมื่อแบตเตอรี่หมด mA ทุกอันมีค่า

เมื่อเราดึงลงโดยทั่วไปแล้วเราเพิ่งจะกำจัดเสียงรบกวนของ EMF โดยใช้ mAs จำนวนเล็กน้อย


การดึงแบบจะไม่มีชื่อเรียกว่าไม่มีกระแสเมื่อสายไม่ขับเคลื่อนต่ำและเช่นเดียวกันกับของเสียแบบพูลดาวน์ในปัจจุบันเมื่อสายถูกขับเคลื่อนสูง
John O'M

โดยทั่วไปตัวต้านทานการดึงขึ้น / ลงก็เพียงพอแล้วที่สัญญาณ "ค่าเริ่มต้น" ที่ต้องการจะพิมพ์ทั่วไป Vin หรือ Gnd ด้วยเหตุนี้พวกเขามักจะอยู่ที่ประมาณ 10k หรือประมาณดังนั้นถ้าคุณขับสาย HIGH ขณะที่ตัวต้านทานแบบดึงลงเชื่อมต่อคุณจะเสีย Vhigh / 10k แอมป์เพียงอย่างเดียว ถ้า Vhigh เป็น 5V แสดงว่ามีค่าเท่ากับ 0.5mA
Chuck
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.