คำถามติดแท็ก pullup

Pullup Resistor นำสายไปยังแรงดันไฟฟ้า (โดยทั่วไปคือ VCC) ในขณะที่ปล่อยให้สายดึงต่ำ

1
เสียบ LDR เข้ากับ GPIO พินของ Raspberry Pi
ฉันต้องการเชื่อมต่อ LDR เข้ากับ GPIO พินของ Raspberry Pi ของฉันฉันรู้ว่า Raspberry Pi ไม่มีตัวแปลงแอนะล็อกเป็นดิจิทัลดังนั้นสิ่งที่ฉันต้องการทำคือส่งสัญญาณ HIGH (3.3v) บน GPIO เมื่อมีความต้านทานต่ำใน LDR (บางสิ่งบางอย่างต่ำกว่า 200 โอห์ม) และสัญญาณ LOW เมื่อความต้านทานของ LDR สูง (สูงกว่า 2k เป็นต้น) กระแสสูงสุดที่ฉันสามารถดึงได้อย่างปลอดภัยจาก GPIO ของ Raspberry Pi ตามเอกสารคือ 50mA ฉันจะคำนวณตัวต้านทานที่ต้องการได้อย่างไรฉันจะต้องเพิ่มตัวต้านทานแบบดึงขึ้น / ลงด้วยหรือไม่ ฉันไม่มีความคิดที่ชัดเจนเกี่ยวกับวิธีการทำอย่างปลอดภัยโดยไม่ต้องเผาโปรเซสเซอร์ของฉัน ฉันคิดว่าฉันต้องเสียบตัวต้านทานบนวงจรเพื่อให้แน่ใจว่ามันจะมีความต้านทานเสมอเมื่อ LDR อยู่ในสถานะต้านทานต่ำมาก อัปเดต : ใช้งานได้ดีฉันสร้างวงจรและแสดงในโพสต์นี้ขอบคุณสำหรับความช่วยเหลือ

5
ข้อควรพิจารณาเมื่อใช้ตัวต้านทานแบบดึงขึ้น / ลงภายใน
ฉันทำงานกับ STM32 ไมโครคอนโทรลเลอร์ ไมโครคอนโทรลเลอร์เหล่านี้มีตัวเลือกในการตั้งค่าพินอินพุตเป็นแบบดึงขึ้นหรือดึงลง: ก่อนหน้านี้ฉันเคยให้ตัวต้านทานภายนอกแบบดึงขึ้นหรือดึงลงได้ทุกที่ที่ต้องการ แต่ตอนนี้ฉันสงสัยว่าฉันสามารถทำอะไรกับอุปกรณ์ภายนอกและใช้คุณสมบัติการดึงลงของตัวควบคุมไมโคร มันจะเป็นสิ่งที่ดีที่จะทำ? มีบางกรณีที่ฉันควรใช้ความระมัดระวังเป็นพิเศษหรือไม่ใช้คุณสมบัตินี้เลย?

1
แรงดึงภายในที่อ่อนแอของไมโครคอนโทรลเลอร์และความอ่อนแอของ EMI
ข้อเสียอะไรที่ฉันสามารถเรียกใช้เมื่อใช้ pullups ภายในที่อ่อนแอ (100k) บนไมโครคอนโทรลเลอร์ ฉันสงสัยว่าเส้นที่อ่อนไหว (มีเพียงความสามารถในการติดตาม / กาฝากที่เป็นส่วนประกอบของกาฝาก) กลายเป็น EMI ชั่วคราวด้วยการดึงแบบอ่อนเหล่านี้ ตัวกรองดิจิทัลที่มีหน้าต่าง 3-4ms อาจลดโอกาสของการเกิด transients แต่มีอะไรอีกบ้างที่ต้องคำนึงถึงใน PCB มืออาชีพ

2
การคำนวณตัวต้านทาน I2C pullup
ฉันกำลังพยายามขับจอแสดงผล LCD I2C นี้ด้วยไมโครคอนโทรลเลอร์ATxmega16A4U อุปกรณ์ทั้งสองจะแสดงรายการเพื่อทำงานกับความถี่สัญญาณนาฬิกา I2C สูงถึง 400 kHz อุปกรณ์สองชิ้นเป็นอุปกรณ์เดียวในบัส I2C อย่างไรก็ตามการคำนวณหาขอบเขตตัวต้านทานแบบดึงขึ้นให้ค่าที่ค่อนข้างแปลก การคำนวณค่าตัวต้านทานการดึงต่ำสุดของ I2C: Rm ฉันn= Vc c - 0.43 เมตร= 966.7 ΩRม.ผมn=Vคค-0.43ม.A=966.7Ω\begin{equation} R_{min} = \frac{Vcc - 0.4}{3mA} = 966.7 \Omega \end{equation} ดูที่เอกสารข้อมูลทางเทคนิคของ uC ในหน้า 92 แสดงรายการค่าความจุขาเข้าสูงสุดของ 10pF อย่างไรก็ตามสำหรับ LCD มันมีหน้า 8 สิ่งที่เรียกว่าCapacitive load represent by each bus lineป้ายชื่อเป็น Cb …
10 i2c  pullup 

2
วิธีจัดการกับตัวต้านทานแบบดึงขึ้นหลายตัวในโมดูล
ฉันกำลังคิดที่จะทำโมดูลสำหรับคณะกรรมการพัฒนาที่ฉันทำเมื่อไม่กี่วันที่ผ่านมาซึ่งจะรวมถึงอินเตอร์เฟส spi / i2c ปัญหาคือฉันไม่ได้รวมตัวต้านทานแบบดึงขึ้นในหมุด MCU ในกระดานหลักและคิดที่จะเพิ่มพวกเขาในโมดูลเพื่อให้พวกเขา "ทั่วไป" มากขึ้นเพื่อให้ผู้ใช้ทุกคนสามารถใช้พวกเขาโดยไม่ต้องเพิ่มตัวต้านทานพิเศษใน บอร์ดต้นแบบ แต่แล้วฉันก็ประสบปัญหาต่อไป ถ้าฉันเพิ่มตัวต้านทานแบบดึงขึ้นในโมดูลพิเศษและฉันเชื่อมต่อตัวอย่างสองโมดูลขึ้นไปในบัสเดียวกันฉันจะได้ตัวต้านทานเหล่านั้นขนานกันดังนั้นความต้านทานจะลดลงและจะไม่ทำหน้าที่ของมันให้สำเร็จ แต่ถ้าฉันเพิ่มตัวต้านทานแบบดึงขึ้นลงในกระดานหลักฉันจะมีหมุดเหล่านั้นใน MCU อยู่ตลอดเวลาที่ใช้งานต่ำ ดังนั้นคำถามหลักคือ: วิธีการเชื่อมต่อโมดูลหลายตัวกับบัสเดียวกันที่มีตัวต้านทานแบบดึงขึ้นแต่ละตัว แต่ไม่ได้ต่อขนานกันเมื่อคุณมีมากกว่าหนึ่งโมดูล เป็นไปได้ไหม หรือทางออกที่ดีที่สุดที่นี่คือเปิดใช้งานตัวต้านทานแบบดึงขึ้นใน MCU และไม่รวมไว้ในโมดูลหรือไม่ Thanks.-
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.