ปุ่ม“ Touch” ของ PCB


10

เป็นไปได้ไหมที่จะใช้แผ่น PCB เป็นปุ่ม? ฉันคิดว่าจะใช้มันเพื่อเปิด curcuit ที่ควรจะเปิดใช้งานเมื่อผู้ใช้ถือมันไว้ในมือ

ในฐานะที่เป็นแรงบันดาลใจฉันใช้แผ่นอิเล็กโทรดที่ใช้กับปุ่มสัมผัสนุ่ม ๆ บนคีย์บอร์ดหรือในเครื่องคิดเลข:

ป้อนคำอธิบายรูปภาพที่นี่

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


6
คุณหมายถึงเซ็นเซอร์สัมผัสแบบ capacitive หรือไม่?
PlasmaHH

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

1
การตรวจจับข้อมูลแบบ capacitive อาจมีพลังงานมากเกินไปทั้งนี้ขึ้นอยู่กับความต้องการพลังงานของการออกแบบของคุณ คุณสามารถหนีด้วย 50Hz (อาจ) หากคุณแตะที่ประตูของ mos คุณจะเปิด mos นอกจากนี้คุณมักจะทำลายมันดังนั้นจะต้องได้รับการคุ้มครองอย่างใด แต่มันก็เป็นจุดเริ่มต้นที่ดี
Vladimir Cravero

คำตอบ:


12

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

ความต้านทานของผิวแห้งนั้นอยู่ระหว่าง 1k ถึง 100k ดังนั้นคุณอาจนึกถึงทรานซิสเตอร์ NMOS (หาที่ที่มีการป้องกัน ESD) และดึงลงมาขนาดใหญ่เช่น 1M ohm จากนั้นคุณสามารถใช้นิ้วเป็นตัวต้านทานแบบดึงขึ้นเพื่อเปิดมอสเฟต

แผนผัง

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

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

เซ็นเซอร์ capacitive จะเป็นทางเลือกอื่น แต่ต้องใช้วงจรที่ซับซ้อนมากขึ้น


2
ฉันจะพิจารณาการเพิ่มตัวต้านทาน 10k ระหว่างแคโทดของ D1 และทางแยกระหว่าง R1 และทางด้านขวาของเซ็นเซอร์เพื่อ จำกัด กระแสไฟฟ้าเข้าสู่เกต M1 โดยอัตโนมัติและช่วยให้ D1 ทำงานโดยการชะลอตัวลงอย่างรวดเร็ว ขอบลง หากคุณพบว่าวงจรนี้มีเสียงรบกวนได้ง่ายตัวเก็บประจุขนาด 100pF หรือมากกว่านั้นใน R1 อาจช่วยได้ - คุณจะต้องสร้างมันขึ้นมาและลองใช้ดู!
stefandz

จุดดีฉันจะเพิ่มลงในไดอะแกรมวงจร
Douwe66

12

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

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

นี่คือเลย์เอาต์ของบอร์ดเล็ก ๆ ที่ฉันเพิ่งทำเพื่อค้นคว้าปุ่ม capacitive:

แผ่นรองหมวกเป็นดิสก์ขนาดเล็ก 150 ล้าน (3.8 มม.) ที่มีเส้นผ่าศูนย์กลางและล้อมรอบด้วยพื้นดินที่ชั้นบนสุด ไมโครคอนโทรลเลอร์เป็น PIC 16LF1786 มันและส่วนอื่น ๆ ทั้งหมดที่ไม่ได้มีไว้สำหรับการเชื่อมต่อโดยตรงกับผู้ใช้จะถูกติดตั้งที่ด้านล่างของบอร์ดสองชั้นนี้

PIC สแกนแผ่นอย่างต่อเนื่อง เมื่อตรวจพบการเปลี่ยนแปลงในความรู้สึกที่ถูกกด / ปล่อยของแผ่นจะส่งข้อความผ่านพอร์ตอนุกรมอัปเดตไฟที่ด้านบนขวาและส่งเสียงบี๊บกด

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

อย่างที่คุณเห็นภูมิคุ้มกันเสียงรบกวนนั้นยอดเยี่ยม แม้แต่สัญญาณที่อ่อนแอที่สุดก็ยังมากกว่า 300 ในขณะที่เสียงรบกวนนั้น± 2 หรือมากกว่านั้น

ร่องรอยสีม่วงแดงที่ระบุว่า "กด" จะแสดงสถานะของปุ่มกดแต่ละปุ่มหรือ ระดับของมันแสดงถึงเกณฑ์การกดและปล่อย มีสัญญาณพิเศษมากมายที่ไม่ได้ใช้ในกรณีนี้ ขีด จำกัด เฉพาะเหล่านี้ได้รับการปรับแต่งเพื่อให้สามารถทนกระดาษสองสามชั้นเหนือปุ่ม

แน่นอนว่ามีการจัดการกับปุ่มและการประมวลผลอย่างชาญฉลาดแม้ว่าฉันจะพูดอย่างนั้น แต่ก็เห็นได้ชัดว่าผลลัพธ์สามารถทำได้ด้วยไมโครคอนโทรลเลอร์ที่ค่อนข้างเรียบ

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


หน่วยของYแกนในพล็อตของคุณคืออะไร? แผ่นอิเล็กโทรดเชื่อมต่อกับหมุดหรือมีส่วนเกี่ยวข้องอื่น ๆ หรือไม่?
Dmitry Grigoryev

1
@Dmitry: แกน Y แสดงการวัด "ปุ่มที่สัมผัส" ภายใน มันได้มาจากค่า A / D แบบ raw แต่มีการอ่าน A / D หลายรายการที่ envolved และมีการประมวลผลที่สำคัญในการอ่านเหล่านั้น ไม่มีความพยายามที่จะเก็บไว้ในหน่วยพิเศษเนื่องจากค่าเหล่านี้จะสัมพันธ์กับแต่ละอื่น ๆ และเกณฑ์ที่ป้อนโดยพลการ โดยประมาณพวกมันอยู่ในหน่วยประมาณ 800 uV ระหว่างการอ่าน 350 หมายถึงประมาณ 280 mV แต่ก็ไม่ง่ายอย่างนั้น
Olin Lathrop

คุณกำลังขับแผ่นอิเล็กโทรดทั้งสูงและต่ำและวัดอัตราการชาร์จ / คายประจุโดยใช้ ADC หรือไม่?
Dmitry Grigoryev

1
@Dmitry: ฉันกำลังขับรถสูงและต่ำอย่างอื่นแล้ววัดการเปลี่ยนแปลงขั้นตอนในแผ่น ไม่มีสิ่งใดตามเวลาและให้เวลาพอที่จะอ่านได้
Olin Lathrop
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.