ทางเลือกอื่นสำหรับสวิตช์ DIP แบบคลาสสิก


10

ฉันกำลังมองหาส่วนหนึ่งที่ช่วยให้ผู้ใช้เปลี่ยนการกำหนดค่าบ่อยครั้ง ตอนนี้ฉันกำลังใช้สวิตช์ DIP กรมทรัพย์สินทางปัญญาที่เชื่อมต่อกับ I2C I / O แผ่

สิ่งที่ทำให้ฉันรำคาญใจคือรอยเท้าขนาดใหญ่ของส่วนประกอบเหล่านี้ (สวิตช์ DIP รวมกับ IO expander IC) รวมถึงส่วนต่อประสานผู้ใช้ที่ค่อนข้างน่าเบื่อ มีสวิตช์ DIP หรือบางอย่างที่ทำหน้าที่เดียวกับที่ฉันสามารถพูดคุยผ่านบัสดิจิทัลเช่น I2C เพื่ออ่านสถานะได้หรือไม่

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

คำถามนี้ค่อนข้างเกี่ยวข้องกับคำถามนี้เมื่อ 6 ปีที่แล้ว: การเปลี่ยน DIP

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


หากคุณต้องการที่จะเป็นแฟนซีตีในโมดูลบลูทู ธ และตั้งสวิตช์ทั้งหมดผ่านทางมาร์ทโฟน
Chupacabras

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

3
คุณสามารถสอนให้ผู้ใช้นับใน Hex และใช้หนึ่งหรือสองอย่างเหล่านี้ได้หรือไม่
brhans

ฉันต้องการกำจัดตัวขยายมัลติเพล็กเซอร์ / พอร์ต I2C ถ้าเป็นเพียงสวิตช์ DIP มันก็ใช้ได้ ดังนั้นหากมีบางอย่างเช่น "สวิตช์ดิจิตอลกรมทรัพย์สินทางปัญญา" ที่จะดี
PTS

4
คุณคาดว่าจะเล็กกว่าแพ็คเกจ 6 สวิตช์ขนาดเล็กเพียงใดก่อนที่มันจะไม่สามารถจัดการได้โดยกลไกอีกต่อไป
Phil Frost

คำตอบ:


19

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

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

ภาพแสดงเป็นแนวนอน แต่จริง ๆ แล้วมันจะเมาในแนวตั้ง


พวกเขาดีจริง ๆ และฉันกำลังพิจารณาพวกเขาสำหรับการออกแบบของฉันแม้ว่าในบอร์ด SMD แบบหลายเลเยอร์มันเป็นการยากที่จะใช้สิ่งเหล่านี้โดยไม่ปิดกั้นพื้นที่ขนาดใหญ่สำหรับการกำหนดเส้นทาง
PTS

1
อาจมีรุ่น SMD แพคเกจ SMD SIP มักจะมีเท้าที่ได้ถูกย้าย
Passerby

SMD อาจเป็นเรื่องที่ท้าทาย Apem (ที่ทำให้เป็นหนึ่งในภาพ) ไม่ทำพวกเขาฉันจำไม่ได้ว่าเห็นพวกเขาที่อื่น ปกติฉันจะให้พวกมันอยู่ใกล้กับขอบของ PCB ซึ่งการกำหนดเส้นทางไม่ได้สำคัญเสมอไป
Finbarr

9

สวิตช์ "DIP"

ประการแรก "DIP" - สวิตช์ไม่จำเป็นต้องมีขนาดใหญ่ นี่คือสวิตช์ SMD แบบ 6 บิตพร้อมหมุด J-hook และระยะพิท 1.27 มม.:

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

โอมิเตอร์

หากคุณหมดหวังที่จะลดปริมาณการใช้พื้นที่และคุณไม่สะดวกกับผู้ใช้เพียงเล็กน้อยคุณสามารถใช้โพเทนชิออมิเตอร์ที่เชื่อมต่อกับตัวแปลง A / D เนื่องจากคุณต้องการการตั้งค่า 64 ตัวตัวแปลงแบบ 12 บิตควรมี headroom ความละเอียดที่มากพอที่จะแยกแยะระหว่างขั้นตอนต่าง ๆ ได้เนื่องจากมีการกรองด้วยไฟฟ้าและซอฟต์แวร์และการทำซ้ำ นี่คือโซลูชันขนาด 2 คูณ 2 มม:

PVF2A

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

ยิ่งไปกว่านั้นฉันอาจจะไม่ใช้ทริมเมอร์ขนาด 2 คูณ 2 มม. แต่มีทริมพท์แตกต่างกันนับพัน


แนวคิดที่น่าสนใจด้วยโพเทนชิออมิเตอร์ แม้ว่าการแสดงความคิดเห็นด้วยภาพของการตั้งค่าที่แน่นอนจะมีความสำคัญ
PTS

มีเอนโค้ดเดอร์โรตารี่ขนาดเล็กที่มีโปรไฟล์คล้ายกับหม้อที่กันจอน แต่มีเอาท์พุทแบบไบนารี่โดยปกติจะเป็น 4-bit / 16 ก้าวที่ทำเครื่องหมาย 0-F พร้อมตัวยึดที่ชัดเจน
John U

@JohnU คุณต้องการสองสิ่งนี้นำไปสู่ทางออกที่ใหญ่กว่า
ไปป์

สองอย่างนั้น (อาจตั้งตรงแทนที่จะแบน) จะทำให้การบรรจุง่ายขึ้น
John U

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

9

คุณมี ADC สำรองหรือไม่

หากคุณมี ADC ขนาด 8 บิตสำรองอยู่บนไมโครคอนโทรลเลอร์ที่อยู่ใกล้เคียงคุณอาจทิ้ง IO Experer เพื่อสนับสนุนเครือข่ายตัวต้านทาน - ทั้งบันได R-2R หรือบันไดถ่วงน้ำหนักแบบไบนารี่ นั่นจะเข้ารหัสตำแหน่งสวิตช์เป็นระดับแอนะล็อก บันไดตัวต้านทานมีอยู่ในแพ็คเกจขนาดเล็กมาก แต่ฉันไม่รู้ว่าคุณจะมีขนาดเล็กกว่าตัวขยาย I2C ของคุณหรือไม่

วิธีการหลายอเนกประสงค์ IO สายไม่ที่คุณมี?

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

ผู้ใช้ของคุณสามารถจัดการบางอย่างทางเทคนิคเล็กน้อยได้หรือไม่?

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


ด้วยตัวต้านทานคุณสามารถทำตัวต้านทาน 2 ตัวจากนั้นคุณต้องแปลง A / D 4 บิตและคุณต้องการจำนวนตัวต้านทานน้อยลงเพื่อกระจายดังนั้นคุณจึงประหยัดราคาได้
Ferrybig

ฉันตั้งคำถามใหม่ มันไม่จำเป็นต้องเป็นขนาดสวิตช์ DIP ที่เกี่ยวข้องกับฉัน แต่จำเป็นต้องมีส่วนประกอบเพิ่มเติมในรูปแบบของตัวขยาย I / O นอกเหนือจากบัส I2C ของฉันฉันเหลือ 3 IOs เท่านั้น
PTS

สามสาย tri-state IO เพียงพอที่จะจัดการสวิตช์ได้หกตัว โดยทั่วไปคุณสามารถระบุที่อยู่ n ^ 2-n สวิตช์ด้วย n สาย IO และ n ไดโอด ฉันควรเพิ่มแผนผังหรือไม่?
แจ็ค B

7

สวิตช์โรตารี่แบบรหัสหนึ่งรหัสขึ้นไปเป็นสิ่งที่คุณกำลังมองหา

ในทางทฤษฎีจัมเปอร์เสนอการกำหนดค่าเพิ่มเติมเมื่อคุณต้องการตัวเลือก 100s เนื่องจากผู้ใช้สามารถย่อจำนวนใด ๆ ด้วยกันในการกำหนดค่าที่แตกต่างกันเพิ่มตัวต้านทานตัวเก็บประจุไดโอด ฯลฯ แต่นั่นเป็นเทคนิคสำหรับผู้ใช้และบอร์ดถอดรหัส!


ขอโทษฉันต้องพลาดคำตอบของคุณเมื่อฉันเพิ่มของฉัน แน่นอนพวกเขาเป็นทางเลือกที่ดีในการสวิตช์ DIP!
PTS

4

NFC NTAGจาก NXP + สมาร์ทโฟน มันเป็นพื้น I2C EEPROM ที่สามารถอ่านและเขียนผ่าน NFC โดยไม่ต้องใช้ระบบ


2

ตัวเลือกที่ยอดเยี่ยมมากมายที่นี่! อีกอย่างหนึ่งที่ค่อนข้างคลุมเครือ: ใช้ตัวรับสัญญาณ IR จากนั้นใช้รีโมตทีวีหรือคอมพิวเตอร์เพื่อรับสัญญาณการตั้งค่า นั่นคือวิธีที่ไฟ RGB ทำ


1
IR ให้พลังงานเล็กน้อยดังนั้นมันอาจทำงานได้เมื่ออุปกรณ์ไม่ได้ใช้พลังงาน แต่คุณจะรู้ได้อย่างไรว่าในฮาร์ดแวร์
MSalters

2

ในขณะที่ทำการค้นคว้าสิ่งนี้ฉันได้รับคำแนะนำเกี่ยวกับสวิตช์ที่เข้ารหัสแบบหมุน รอยเท้าของพวกเขาเปรียบได้กับสวิตช์ DIP pitch ขนาด 1.27 มม. ที่เทียบเท่ากัน แม้ว่าพวกเขาจะมีส่วนต่อประสานกับผู้ใช้ที่ยอดเยี่ยมกว่าเมื่อเปรียบเทียบกับสวิตช์ DIP / SIP ในความคิดของฉัน

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

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


1

วิธีการที่แตกต่างกันอาจเป็น rotary encoder, EEPROM และ LED ขนาดเล็ก 6 ดวง

สถานะจะถูกบันทึกใน EEPROM และไฟ LED จะระบุโหมดที่เลือกในปัจจุบัน

การเปลี่ยนเอนโค้ดเดอร์จะสลับระหว่างโหมดต่างๆ

อาจไม่ประหยัดพื้นที่มากเช่นกัน - ตัวเข้ารหัสทั่วไปของคุณมีเพลาขนาด 6 มม. และจากนั้นคุณต้องการพื้นที่สำหรับ LED เช่นกัน

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


เพียงแค่อ่านความคิดเห็นของคุณ @Treors คำตอบดังนั้นวิธีการนี้ก็ไร้ประโยชน์เช่นกัน


ขอบคุณวิธีใดก็ตามความคิดของคุณอย่างน้อยก็ไม่ต้องการให้ระบบทั้งหมดถูกบูท ฉันเพิ่มว่าเป็นวิธีที่ยอมรับได้สำหรับคำถาม
PTS

ปุ่มกดขนาดเล็กที่มีไฟ LED สำหรับการขี่จักรยานสามารถทำงานได้ ฉันเดิมพันที่เป็นวิธีที่พวกเขาใช้ในการ tricorders reprogram ใน Star Trek TNG
PlasmaHH

1

สามตัวเลือก

  1. อนาล็อก. ตัวปรับแรงดันไฟฟ้าที่ปรับได้ ผู้ใช้ป้อนตัวต้านทานช่วงมาตรฐาน 5% ของตนเองเพื่อตั้งค่า

  2. PWM วงจร PWM หรือ RC สไตล์ออปโตที่แยกได้ซึ่งมี 64 ขั้นตอนที่อุปกรณ์ของคุณอ่าน พวกเขาสามารถขับเคลื่อนแยกต่างหากหรือจากแหล่งเดียวกัน แต่เนื่องจาก opto แยกอุปกรณ์ของคุณจะไม่เปิด คุณสามารถปิดการใช้งานวงจร PWM หลังจากบูต

  3. ดิจิทัล. โพเทนชิออมิเตอร์แบบดิจิตอลพร้อมปุ่มควบคุม อีกครั้งวงจรสามารถขับเคลื่อนอิสระจากอุปกรณ์ของคุณ


1

Thumbwheel เข้ารหัส? ช่วงเหล่านี้ตั้งแต่ 0 ถึง 9 สามารถวางซ้อนกันได้และมีเอาต์พุตไบนารี:

ตัวเข้ารหัส Thumbwheel


2
นี่เล็กกว่า SMD-switch จริงเหรอ?
ไปป์

อุ๊ย มันเป็นเรื่องใหญ่พอ ๆ กับที่ฉันไม่สามารถอ่านคำถามง่าย ๆ ได้ ... โปรดลงคะแนนตามที่เห็นสมควร ขอโทษที่เสียเวลา
เตอร์

0

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

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

หรือคุณสามารถจัดหา "Dongle" แบบกำหนดเองที่ปลั๊กช่วยให้คุณทำคล้ายกัน

แต่ฉันสงสัยว่ามันจะช่วยคุณประหยัดพื้นที่ได้มาก

หากคุณมีอินพุตของผู้ใช้คนอื่นพูดสองหรือสามปุ่มและตัวบ่งชี้บางประเภทก็เป็นไปได้เช่นกันที่มีอินพุตของผู้ใช้ที่เหมาะสมบนปุ่ม (กดเวลา ฯลฯ ) วางอุปกรณ์เข้าสู่โหมดการเขียนโปรแกรมและกำหนดค่า ทางนั้น. สิ่งเดียวกับที่คุณเห็นในเครื่องใช้ในบ้านเช่นเทอร์โมสแตทเครื่องทำน้ำเย็นคอมพิวเตอร์เป็นต้น

คุณสามารถทำจำนวนมากได้ด้วยปุ่มสองหรือสามปุ่มและ LED

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


3
การใช้แอปพลิเคชั่นโทรศัพท์อาจเป็นปัญหาได้เนื่องจากโทรศัพท์มีความผันผวนค่อนข้างมาก ระบบฝังตัวสามารถอยู่รอดได้อย่างง่ายดาย 5 ถึง 10 รุ่นโทรศัพท์และการให้การสนับสนุนตลอดระยะเวลาอาจเป็นปัญหาได้
AndrejaKo

@AndrejaKo จุดที่ดี .. enuf ที่ดีสำหรับการเพิ่ม :)
Trevor_G

3
แต่น่าเสียดายที่แอปพลิเคชันต้องการให้ผู้ใช้สามารถเปลี่ยนการตั้งค่าโดยไม่ต้องเปิดวงจรดังนั้นทำไมฉันต้องให้การกำหนดค่าทางกลไก บางแนวคิดที่น่าสนใจ
PTS

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