แน่นอนว่าบางครั้งคุณเจอโปรเจ็กต์ที่คุณต้องใช้ปุ่มกดหรือปุ่มต่างๆ สำหรับอินพุตดิจิทัล ดังนั้นคุณจึงสามารถกดเพื่อเปิดหรือปิดได้ อย่างไรก็ตาม เพื่อให้วงจรประเภทนี้ทำงานได้อย่างถูกต้อง คุณต้องมี ตัวต้านทานกำหนดค่าเป็นแบบดึงลงหรือดึงขึ้น. ด้วยเหตุผลนี้เองที่เราจะแสดงให้คุณเห็นว่าการกำหนดค่าเหล่านี้คืออะไร ทำงานอย่างไร และคุณจะนำไปใช้ในโครงการของคุณได้อย่างไรด้วย แพลตฟอร์มฮาร์ดแวร์.
โปรดทราบว่าการกำหนดค่าตัวต้านทานแบบดึงขึ้นและดึงลงอนุญาต ตั้งค่าแรงดันไฟฟ้าสแตนด์บาย เมื่อไม่ได้กดปุ่ม จึงมั่นใจได้ว่าระบบดิจิตอลจะอ่านค่าได้ดี มิฉะนั้น อาจไม่สามารถอ่านค่าเป็น 0 หรือ 1 ได้เท่าที่ควร
ตัวต้านทานทำอะไร?
คุณควรรู้ได้อย่างไร ความต้านทาน เป็น ชิ้นส่วนอิเล็กทรอนิกส์พื้นฐาน ซึ่งทำจากวัสดุที่ขวางทางของกระแสไฟฟ้า นั่นคือ การเคลื่อนที่ของอิเล็กตรอนผ่านมัน ทำให้การเคลื่อนที่นี้ทำได้ยาก พลังงานไฟฟ้าจะถูกแปลงเป็นความร้อน เนื่องจากแรงเสียดทานของอิเล็กตรอนจะทำให้เกิดความร้อนดังกล่าว
ขึ้นอยู่กับ ประเภทของวัสดุและส่วนของมันจะต้องใช้เวลามากหรือน้อยเพื่อให้อิเล็กตรอนสามารถเคลื่อนที่ผ่านส่วนประกอบนี้ได้ อย่างไรก็ตาม นี่ไม่ได้หมายความว่าเป็นวัสดุฉนวนซึ่งจะไม่มีความเป็นไปได้ที่อิเล็กตรอนจะเคลื่อนที่ผ่านได้
ความพยายามที่จะเอาชนะอิเล็กตรอนเมื่อมันมาถึงการหมุนเวียนเป็นอย่างแม่นยำ ความต้านทานไฟฟ้า. ขนาดนี้มีหน่วยวัดเป็นโอห์ม (Ω) และแทนด้วยตัวอักษร R ในทำนองเดียวกัน ตามสูตรกฎของโอห์ม เรามีความต้านทานเท่ากับ:
R = V / ฉัน
นั่นคือ ความต้านทานเทียบเท่ากับการหารแรงดันด้วยความเข้ม นั่นคือ โวลต์ระหว่างแอมป์. ตามนี้ ถ้าเรามีแหล่งพลังงานที่ให้แรงดันคงที่ ความเข้มจะน้อยลง ความต้านทานก็จะมากขึ้น
ดึงความต้านทาน
ดังที่คุณได้เห็น เพื่อให้แรงดันไฟฟ้าไม่แน่นอนในวงจรที่มีปุ่มกดหรือปุ่ม เพื่อให้ทำงานได้เสมอกับค่าแรงดันไฟฟ้าสูงหรือต่ำที่แม่นยำตามที่วงจรดิจิทัลต้องการ ดึงตัวต้านทานซึ่งมีหน้าที่โพลาไรซ์แรงดันไฟฟ้าไปยังแหล่งจ่าย (Vdd) ซึ่งสามารถเป็น 5v, 3.3v เป็นต้น ด้วยวิธีนี้ เมื่อปุ่มเปิดหรือพัก แรงดันไฟฟ้าอินพุตจะสูงเสมอ นั่นคือ ตัวอย่างเช่น ถ้าเรามีวงจรดิจิทัลที่ทำงานที่ 5v แรงดันไฟฟ้าอินพุตของวงจรดิจิทัลจะเป็น 5v เสมอในกรณีนี้
เมื่อกดปุ่ม กระแสจะไหลผ่านตัวต้านทานแล้วผ่านปุ่ม แปลงแรงดันไฟฟ้าจากอินพุตไปยังวงจรดิจิทัลเป็นกราวด์หรือ GND นั่นคือในกรณีนี้จะเป็น 0v ดังนั้นด้วยตัวต้านทานแบบดึงขึ้นสิ่งที่เราจะทำก็คือ อินพุตจะอยู่ที่ค่าสูง (1) ตราบใดที่ปุ่มไม่ถูกสัมผัส และอยู่ที่ระดับต่ำ (0) เมื่อกด.
ดึงความต้านทานลง
เช่นเดียวกับก่อนหน้านี้เรามี ดึงตัวต้านทานลงนั่นคือมันตรงกันข้าม ในกรณีนี้ เมื่อปุ่มหยุดนิ่ง แรงดันไฟฟ้าที่เข้าสู่อินพุตดิจิทัลจะต่ำ (0V) ขณะที่กดปุ่ม กระแสไฟฟ้าแรงสูงจะไหล (1) ตัวอย่างเช่น เราสามารถมี 5v เมื่อกดและ 0v เมื่อปล่อยทิ้งไว้
อย่างที่คุณเห็นก็คือ ตรงกันข้ามกับการดึงขึ้นและสามารถนำไปใช้ได้จริงในบางกรณีที่ไม่ได้ตั้งใจให้ไฟฟ้าแรงสูงเริ่มต้น อาจจะเป็นนี้ เตือนคุณรีเลย์จำนวนมากเมื่อพวกเขาเปิดตามปกติหรือปิดตามปกติดังที่เราเคยเห็นมาก่อน นี่เป็นสิ่งที่คล้ายกัน ...
คำถามที่พบบ่อย
สุดท้ายนี้เรามาดูกันค่ะ ข้อสงสัยบ่อยครั้ง เกี่ยวกับการตั้งค่าตัวต้านทานแบบดึงขึ้นและดึงลง:
ฉันควรใช้อันไหน?
ใช้ การกำหนดค่าแบบดึงขึ้นหรือดึงลงจะขึ้นอยู่กับแต่ละกรณี. เป็นความจริงที่ว่าแบบดึงลงอาจเป็นที่นิยมมากกว่าในบางกรณี แต่ก็ไม่จำเป็นต้องดีที่สุด ห่างไกลจากสิ่งนั้น โดยสรุป:
- ตัวอย่างเช่น หากคุณกำลังใช้ลอจิกเกตที่มีปุ่มกดสองปุ่มเชื่อมต่อกับอินพุต และคุณต้องการให้อินพุตเป็นศูนย์ขณะที่คุณไม่ได้กดปุ่ม ให้ใช้ปุ่มเลื่อนลง
- ตัวอย่างเช่น หากคุณกำลังใช้ลอจิกเกตที่มีปุ่มกดสองปุ่มเชื่อมต่อกับอินพุต และคุณต้องการให้อินพุตเป็นหนึ่งเดียวในขณะที่คุณไม่ได้กดปุ่ม ให้ใช้การดึงขึ้น
อย่างที่คุณเห็น ไม่มีอะไรดีขึ้นหรือแย่ลง เป็นเพียงเรื่องของความชอบ
การเปิดใช้งานการดึงข้อมูลภายในบน Arduino
ไมโครคอนโทรลเลอร์บางตัวมีตัวต้านทานแบบดึงขึ้นภายในเพื่อให้สามารถเปิดใช้งานได้ สิ่งนี้ทำได้โดยคำแนะนำบางอย่างที่ฝังอยู่ในโค้ด ในกรณีที่คุณต้องการเปิดใช้งานการดึงขึ้นของ ไมโครคอนโทรลเลอร์ arduinoประกาศที่คุณต้องใส่ในการตั้งค่าร่างของคุณมีดังต่อไปนี้:
โหมดพิน (พิน, INPUT_PULLUP); // ประกาศพินเป็นอินพุตและเปิดใช้งานตัวต้านทานการดึงภายในสำหรับพินนั้น
เทคนิคนี้ใช้กันอย่างแพร่หลายทั้งในการต่อปุ่มกดและวงจร I2C
ฉันควรใช้ค่าตัวต้านทานเท่าใด
สุดท้ายก็ต้องบอกว่าใช้ได้ ค่าตัวต้านทานแบบต่างๆ ในการกำหนดค่าแบบดึงขึ้นและเลื่อนลง ตัวอย่างเช่น สามารถใช้ได้ตั้งแต่ 1K ถึง 10K ขึ้นอยู่กับปัจจัยบางอย่าง เช่น ความถี่ของการเปลี่ยนแปลง ความยาวของสายเคเบิลที่ใช้ เป็นต้น
ยิ่งแก่. ความต้านทานต่อการดึงขึ้นพินที่ช้าลงคือการตอบสนองต่อการเปลี่ยนแปลงแรงดันไฟฟ้า เนื่องจากระบบที่ป้อนขาอินพุตโดยพื้นฐานแล้วเป็นตัวเก็บประจุร่วมกับตัวต้านทานแบบดึงขึ้น จึงเกิดเป็นวงจร RC หรือตัวกรอง ซึ่งต้องใช้เวลาในการชาร์จและคายประจุ ดังที่คุณทราบแล้ว ดังนั้น หากคุณต้องการสัญญาณที่รวดเร็ว ควรใช้ตัวต้านทานระหว่าง 1KΩ และ 4.7KΩ
ตามกฎแล้ว การตั้งค่าแบบดึงขึ้นและดึงลงจำนวนมากใช้ตัวต้านทานร่วมกับ ค่า 10KΩ. และนี่เป็นเพราะแนะนำให้ใช้ความต้านทานน้อยกว่าอิมพีแดนซ์ของพินดิจิทัลอย่างน้อย 10 เท่า เมื่อใช้พินดิจิทัลเป็นอินพุต อิมพีแดนซ์จะแปรผันตามเทคโนโลยีการผลิตชิป แต่โดยทั่วไปอิมพีแดนซ์จะอยู่ที่ 1MΩ
นอกจากนี้ยังจำเป็นต้องคำนึงถึงการบริโภคและกระแสที่จะเข้าสู่วงจรดิจิตอล ยิ่งความต้านทานต่ำ กระแสไฟฟ้าก็จะยิ่งสูงขึ้น ดังนั้นการบริโภคก็จะยิ่งสูงขึ้น และกระแสที่จะเข้าสู่ชิป เราไม่สามารถตั้งความต้านทานสูงเกินไปเพื่อให้มีการบริโภคต่ำได้ เนื่องจากหากกระแสมีขนาดเล็กมาก ชิปจะไม่ไวต่อการเปลี่ยนแปลงเล็กน้อยเช่นนี้ และไม่รู้ว่าแรงดันไฟฟ้าสูงหรือต่ำตลอดเวลา . ตัวอย่างเช่น ในวงจรที่มีแหล่งจ่ายไฟ 5V ความต้านทานอาจเป็น 10KΩ โดยรู้ว่ากระแสที่จะเข้าสู่วงจรคือ 0.5mA ซึ่งเป็นสิ่งที่เล็กน้อยในแง่ของการบริโภค เนื่องจากสมมติว่ามีกำลังไฟ 2.5 mW