Альтернативи класичному DIP-комутатору


10

Я шукаю частину, яка дозволяє користувачеві часто змінювати конфігурацію. Зараз я використовую перемикач SMD DIP, підключений до розширювача вводу-виводу I2C.

Мене турбує великий слід цих компонентів (DIP-перемикач у поєднанні з IO-розширювачем IC), а також досить втомлений інтерфейс користувача. Чи є DIP-комутатори чи щось, що виконує ту саму функцію, з якою я можу поговорити через цифрову шину, як I2C, щоб прочитати її стан?

Я також відкритий до зовсім інших підходів. Все, що мені потрібно, - це те, що можна механічно змінювати постійним чином і дозволяє принаймні 64 різних станів. Важливо, що конфігурація може бути зроблена, коли схема не живиться і забезпечує візуальний зворотний зв'язок про точну конфігурацію для користувача. Єдиний спосіб, коли було б нормально живити ланцюг, це якщо конфігурація та візуальний зворотний зв'язок не містяться без необхідності контролю з боку мікроконтролера або SoC.

Питання дещо пов'язане з цим питанням від 6 років тому: Заміна DIP-перемикача

Редагувати: Є кілька чудових пропозицій у відповідях, і я думаю, що я залишаю це питання без відповіді, голоси громади повинні вирішити, що корисно, а що ні. Якщо у вас є те саме питання, що і у мене, перегляньте всі відповіді.


Якщо ви хочете, щоб це було фантазійно, вставте модуль bluetooth та встановіть усі комутатори через смартфон.
Чупакабра

8
Моя перша думка полягає в тому, що не фактичний слід робить перемикач великим; це фактичні вимикачі. Перехід до послідовного протоколу не обов'язково робить його меншим.
труба

3
Чи могли б ви навчити користувачів рахувати в Hex і користуватися одним або двома з них ?
brhans

Ну, я хотів би позбутися I2C мультиплексора / розширювача портів. Якщо його просто DIP-перемикач, було б добре. Тож якщо є щось на кшталт "цифрового DIP-перемикача", це було б чудово.
PTS

4
На скільки менше, ніж невеликий пакет з 6 комутаторами, на вашу думку, він може бути виготовлений до того, як він більше не піддається механічному керуванню?
Філ Мороз

Відповіді:


19

Ви можете використовувати SIP-комутатор замість DIP. Економія в зоні плати дасть вам простір для інтерфейсу I2C (або більш простого інтерфейсу, наприклад, регістр зсуву з вхідною засувкою):

введіть тут опис зображення

На малюнку видно горизонтально, але він фактично монтується вертикально.


Вони справді приємні, і я розглядаю їх для свого дизайну, хоча на багатошаровій платі SMD трохи важко використовувати один з них, не блокуючи велику площу для маршрутизації.
PTS

1
Можливі версії SMD. Пакети SMD SIP зазвичай мають ступінчасті ноги.
Перехожий

SMD може стати викликом, Апем (хто робить той, хто на фотографії) не виконує їх, я не пригадую, щоб їх бачили деінде. Як правило, вони мають їх біля краю друкованої плати, де маршрутизація не завжди є настільки важливою.
Фінбарр

9

Перемикач "DIP"

Перш за все, перемикач "DIP" не повинен бути великим. Ось 6-бітний SMD-перемикач із штифтами J-гачка та кроком 1,27 мм:

CHS-06TAвведіть тут опис зображення

Потенціометр

Якщо ви відчайдушно знижуєте площу, і ви можете трохи неприємно скористатись користувачем, ви можете використовувати потенціометр, підключений до A / D перетворювача. Оскільки вам потрібно 64 налаштування, 12-розрядний перетворювач повинен мати більш ніж достатню високу роздільну здатність для розрізнення між етапами, враховуючи деяку електричну та програмну фільтрацію та порогове значення. Ось розчин 2 на 2 мм:

PVF2A

Однак я ніколи не бачив аналогового потенціометра з 64 фізичними сповіщувачами. Це означає, що у вас не буде надійних тактичних зворотних зв’язків для користувача під час налаштування пристрою. Також важко надійно знайти правильну настройку під час завантаження, оскільки її можна залишити праворуч на порозі між двома налаштуваннями - я б зберігав попереднє налаштування в EEPROM, і якщо потенціометр досить близький до збереженого значення при завантаженні, я вважав би їх рівними.

Крім того, я б, мабуть, не використовував цей тример на 2 на 2 мм, але є тисячі різних тримінгів.


Цікава ідея з потенціометром. Хоча візуальні відгуки про точну настройку були б важливими.
ПТС

Доступні міні-обертові кодери, схожий на профіль з тримерним горщиком, але з двійковими виходами, як правило, 4-бітні / 16 кроків, позначені 0-F із чіткими детекторами.
Джон U

@JohnU Вам потрібно два з них, що призводять до більшого рішення.
труба

Два з них (можливо, вертикальні, а не плоскі) могли полегшити упаковку.
Джон У

@PTS Якщо на вашому пристрої вже є якийсь дисплей, ви можете зловживати програмним забезпеченням, щоб прочитати значення та відобразити його. Якщо припустити, що ви вже завантажили якесь меню конфігурації, це також не потребує великої роботи. Звичайно, ви не зможете читати дисплей, поки пристрій вимкнено.
Щогли

9

У вас є запасний АЦП?

Якщо у вас є запасний 8-бітний АЦП на мікроконтролері, який розташований поблизу, ви, ймовірно, могли вирвати розширювач IO на користь резисторної мережі - або сходи R-2R, або двійкові зважені сходи. Це кодувало б положення перемикачів як аналоговий рівень. Сходи резисторів доступні в дуже маленьких упаковках, але я не знаю, чи ви отримаєте один менший, ніж ваш розширювач I2C.

Скільки у вас ліній загального призначення IO ?

Якщо ви можете подолати меншою кількістю ліній вводу-виводу, можливо, ви можете викопати розширювач IO і використовувати ті, що у вас є? Ви можете мультиплексувати вимикачі на менше шести ліній вводу-виводу. Насправді, якщо у вас є місце для 3-х діодів, а ваш мікроконтролер має тристатні штифти, ви можете керувати лише 3-ма штифтами.

Чи можете ваші користувачі керувати чимось технічним?

Якщо ваші користувачі можуть слідувати інструкціям, а конфігурація змінюється лише рідко, у вас можуть бути відкриті клеми, де вони можуть поставити резистор. Ви можете виміряти резистор за допомогою АЦП або вимірявши постійну час, яку він робить проти конденсатора. Вам потрібно буде вміти розрізняти 64 значень резистора, що може бути складним при останньому підході. І звичайно, ваші користувачі повинні мати під рукою правильні значення резисторів / стилі корпусу.


З резисторами ви також можете зробити 2 резистори, тоді вам потрібен лише 4-бітний A / D-перетворювач, і вам потрібна менша кількість резисторів, щоб розподілити, так що ви економите ціну
Ferrybig

Я переформулював своє запитання. Це не обов'язково розмір DIP-перемикача, який стосується мене, але необхідність додаткового компонента у вигляді розширювача вводу-виводу. Крім моєї шини I2C у мене залишилось лише 3 IO.
PTS

Три тридержавних лінії вводу-виводу достатньо, щоб вирішити шість комутаторів. Як правило, ви можете адресувати n ^ 2-n комутатори з n лініями IO та n діодами. Чи варто додати схематично?
Джек Б

7

Один або кілька кодованих поворотних вимикачів - це те, що ви шукаєте.

Теоретично перемички пропонують більше конфігурацій, коли вам потрібні 100-ти варіантів, оскільки користувачі можуть стискати будь-яку їх кількість в різних конфігураціях, додавати резистори, конденсатори, діоди тощо, але це дуже технічно для користувачів і для розшифровки плати!


Вибачте, що я, мабуть, пропустив вашу відповідь, коли я додав свою. Дійсно, вони є чудовою альтернативою DIP-комутаторів!
PTS

4

NFC NTAG від смартфона NXP +. Це в основному I2C EEPROM, який також можна читати і записувати через NFC без системного живлення.


2

Тут багато чудових варіантів! Ще один дещо незрозумілий: використовуйте ІЧ-приймач, а потім використовуйте пульт дистанційного керування телевізором або комп'ютер для передачі налаштувань. Ось так це роблять лампи RGB.


1
ІЧ дає трохи енергії, тому він може просто працювати, коли сам пристрій не працює, але як би ви це зрозуміли в апаратному забезпеченні?
MSalters

2

Досліджуючи це, я отримав рекомендацію щодо поворотних комутованих комутаторів. Їх слід порівняно з бітовим еквівалентним DIP-перемикачем 1,27 мм. Хоча вони, на мою думку, пропонують надзвичайно чудовий інтерфейс користувача порівняно з DIP / SIP комутаторами.

Замість того, щоб перетворювати десятковий чи шістнадцятковий номер у двійкові та перевертати тону маленьких комутаторів, ви можете просто повернути 1 або 2 цих поворотних комутаторів і працювати з шестигранними числами. Набагато простіше сказати користувачеві "ввести" E6, ніж доручити їм перевертати багато комутаторів за певною схемою.

введіть тут опис зображення


1

Іншим підходом може бути поворотний кодер, EEPROM та 6 маленьких світлодіодів.

Стан зберігається в EEPROM, а світлодіоди вказують поточний вибраний режим.

Повернення кодера переключиться між режимами.

Напевно, також не економляться багато місця - ваш типовий кодер має 6 мм вал, і тоді вам знадобиться місце і для світлодіодів.

Просто використання одного поворотного вимикача не виглядає перспективно. З 64 позицій ви закінчите трохи менше 6 ° на позицію, відчуваючи, що або маркування стане важким.


Просто прочитайте ваш коментар @Trevors відповідь, тому такий підхід також марний.


Дякуючи будь-яким способом, ваша ідея хоча б не вимагає завантаження всієї системи. Я додав це як прийнятний спосіб до питання.
PTS

Хоча крихітна кнопка зі світлодіодами для велосипедного руху може працювати. Б'юсь об заклад, що саме так вони використовують для перепрограмування трикод в Star Trek TNG
PlasmaHH

1

Три варіанти.

  1. Аналогові. Регульований дільник напруги. Користувач постачає власні стандартні резистори діапазону 5% для встановлення значення.

  2. ШІМ. Оптово-відокремлена схема PWM або RC з 64 кроками, яку читає ваш пристрій. Вони можуть живитись окремо або з одного джерела, але оскільки це опто-ізольовані, ваш пристрій не буде увімкнено. Ви можете відключити схему ШІМ після завантаження.

  3. Цифровий. Цифровий потенціометр з керуванням кнопкою. Знову ж, схема може живитись незалежно від вашого пристрою.


1

Енкодери? Вони варіюються від 0 до 9, складаються з можливістю складання та мають бінарний вихід:

Датчики великого пальця


2
Це дійсно менше, ніж SMD-DIP-комутатор?
труба

О, ні. Це приблизно так само, як і моя нездатність прочитати просте запитання ... Проголосуйте, будь ласка, як вважаєте за потрібне. Вибачте, що витратили свій час.
пітер

0

Ви завжди можете вивести I2C або інший інтерфейс, можливо, USB, і дозволити користувачеві приєднати свій телефон за допомогою спеціального додатка, який дозволяє налаштувати якусь внутрішню адресу EEPROM.

Однак користуватися телефонним додатком може бути досить проблематично. Вам потрібно буде підтримувати додаток і бути в курсі новітніх технологій, і вам потрібно буде підтримувати багатьох постачальників телефонів.

Або ви можете поставити спеціальний "Dongle", який підключається до того, що ви можете робити подібне.

Але я сумніваюся, що це заощадить вам багато місця.

Якщо у вас є інші входи користувача, скажімо, дві або три кнопки та якийсь індикатор, також можна, за допомогою відповідного введення користувачем кнопок (час утримування тощо), перевести пристрій у режим програмування та налаштувати його цей шлях. Те саме, що ви бачите на побутових приладах, як термостати, пом’якшувачі води, комп'ютер тощо.

Ви можете зробити чортівку за допомогою двох-трьох кнопок та світлодіода.

Якщо це потрібно налаштувати під час відключення живлення, ви в значній мірі застрягли з вимикачами або перемичками.


3
Використовувати телефонний додаток може бути досить проблематично, оскільки телефони досить мінливі. Вбудована система може легко пережити від 5 до 10 поколінь телефонів, а надання підтримки протягом усього періоду часу може бути проблематичним.
AndrejaKo

@AndrejaKo хороший момент .. хороший енуф для додання :)
Trevor_G

3
На жаль, програма вимагає, щоб користувач міг змінити конфігурацію, не вмикаючи ланцюг, отже, чому мені потрібно, щоб він був механічно налаштований. Хоча кілька цікавих ідей.
ПТС

2
@PTS, то ви в значній мірі застрягли в комутаторах або перемичках.
Trevor_G
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.