Alternatywy dla klasycznego przełącznika DIP

10

Szukam części, która pozwala użytkownikowi często zmieniać konfigurację. Obecnie używam przełącznika DIP SMD podłączonego do ekspandera I2C I2C.

Niepokoi mnie duży rozmiar tych komponentów (przełącznik DIP w połączeniu z ekspanderem IO) oraz dość żmudny interfejs użytkownika. Czy są przełączniki DIP lub coś, co pełni tę samą funkcję, z którą mogę rozmawiać przez cyfrową magistralę, taką jak I2C, aby odczytać jej stan?

Jestem również otwarty na zupełnie inne podejścia. Wszystko czego potrzebuję to coś, co może być mechanicznie zmienione na stałe i pozwala na co najmniej 64 różne stany. Ważne jest, aby konfigurację można było wykonać, gdy obwód nie jest zasilany i zapewnia użytkownikowi wizualną informację zwrotną na temat dokładnej konfiguracji. Jedynym sposobem, w którym dobrze byłoby włączyć obwód, jest to, że konfiguracja i wizualne informacje zwrotne są niezależne, bez potrzeby kontroli z mikrokontrolera lub SoC.

Pytanie jest nieco związane z tym pytaniem sprzed 6 lat: wymiana przełącznika DIP

Edycja: Istnieje kilka świetnych sugestii w odpowiedziach i myślę, że pozostawiam to pytanie bez odpowiedzi, głosy społeczności powinny decydować, co jest pomocne, a co nie. Jeśli masz ten sam problem, co ja, przejrzyj wszystkie odpowiedzi.

PTS
źródło
Jeśli chcesz, żeby było fantazyjne, włóż moduł bluetooth i ustaw wszystkie przełączniki za pomocą smartfona.
Chupacabras
8
Moja pierwsza myśl jest taka, że ​​to nie rzeczywisty ślad powoduje, że przełącznik DIP jest duży; to rzeczywiste przełączniki. Przejście na protokół szeregowy niekoniecznie zmniejszy go.
rura
3
Czy możesz nauczyć użytkowników liczenia w Hex i korzystania z jednego lub dwóch z nich ?
brhans 18.04.17
Chciałbym pozbyć się multipleksera / ekspandera portów I2C. Gdyby to był tylko mikroprzełącznik, byłoby dobrze. Więc jeśli istnieje coś takiego jak „cyfrowy przełącznik DIP”, byłoby świetnie.
PTS
4
O ile mniejszy niż mały pakiet z 6 przełącznikami, jak można oczekiwać, można go wyprodukować, zanim nie będzie można nim już manipulować mechanicznie?
Phil Frost

Odpowiedzi:

19

Możesz użyć przełącznika SIP zamiast DIP. Oszczędność w obszarze płyty zapewniłaby miejsce na interfejs I2C (lub prostszy interfejs, taki jak rejestr przesuwny z zatrzaskiem wejściowym):

wprowadź opis zdjęcia tutaj

Zdjęcie pokazuje poziomo, ale tak naprawdę montuje się pionowo.

Finbarr
źródło
Są naprawdę ładne i rozważam je ze względu na mój projekt, choć w wielowarstwowej płycie SMD trochę trudno jest użyć jednego z nich bez blokowania dużego obszaru do routingu.
PTS
1
Mogą istnieć wersje SMD. Paczki SMD SIP mają zwykle rozłożone nogi.
Passerby,
SMD może być wyzwaniem, Apem (który sprawia, że ​​ten na zdjęciu) nie robi ich, nie pamiętam, aby widziałem je gdzie indziej. Normalnie miałbym je blisko krawędzi płytki drukowanej, gdzie routing nie zawsze jest tak ważny.
Finbarr,
9

"Przełącznik DIP

Przede wszystkim przełącznik „DIP” nie musi być duży. Oto 6-bitowy przełącznik SMD ze sworzniami J-hook i rastrem 1,27 mm:

CHS-06TAwprowadź opis zdjęcia tutaj

Potencjometr

Jeśli desperacko chcesz zmniejszyć powierzchnię, a użytkownik może trochę utrudnić użytkownikowi, można użyć potencjometru podłączonego do przetwornika A / C. Ponieważ potrzebujesz 64 ustawień, 12-bitowy konwerter powinien mieć wystarczająco dużo miejsca na rozdzielczość, aby rozróżnić poszczególne kroki, biorąc pod uwagę pewne filtrowanie elektryczne i programowe oraz progowanie. Oto rozwiązanie 2 na 2 mm:

PVF2A

Jednak nigdy nie widziałem potencjometru analogowego z 64 fizycznymi zaczepami. Oznacza to, że podczas konfigurowania urządzenia nie będziesz mieć żadnych wiarygodnych informacji taktycznych dla użytkownika. Trudno również niezawodnie znaleźć prawidłowe ustawienie podczas rozruchu, ponieważ można je pozostawić na progu między dwoma ustawieniami - poprzednie ustawienie zapisałbym w pamięci EEPROM, a jeśli potencjometr jest wystarczająco zbliżony do wartości zapisanej podczas rozruchu, I uznałby je za równe.

Ponadto prawdopodobnie nie użyłbym tego trymera 2 na 2 mm, ale istnieją tysiące różnych trymerów.

rura
źródło
Ciekawy pomysł z potencjometrem. Ważne byłoby jednak wizualne sprzężenie zwrotne z dokładnym ustawieniem.
PTS
Dostępne są mini enkodery obrotowe, podobne do profilu trymera, ale z wyjściami binarnymi, zwykle 4-bitowe / 16 kroków oznaczone 0-F z wyraźnymi zapadkami.
John U
@JohnU Potrzebujesz dwóch z nich, co prowadzi do większego rozwiązania.
rura
Dwa z nich (być może raczej w pozycji stojącej niż płaskiej) mogłyby ułatwić pakowanie.
John U
@PTS Jeśli na twoim urządzeniu jest już dostępny wyświetlacz, możesz wykorzystać oprogramowanie do odczytania wartości i wyświetlenia jej. Zakładając, że masz już załadowane jakieś menu konfiguracyjne, nie musi to również wymagać dużo pracy. Oczywiście nie będzie można odczytać wyświetlacza, gdy urządzenie jest wyłączone.
Maszt
9

Czy masz zapasowy ADC?

Jeśli masz zapasowy 8-bitowy ADC na pobliskim mikrokontrolerze, prawdopodobnie możesz porzucić ekspander IO na korzyść sieci rezystorów - albo drabiny R-2R, albo drabiny binarnie ważonej. To kodowałoby pozycje przełączników jako poziom analogowy. Drabinki rezystorowe są dostępne w bardzo małych opakowaniach, ale nie wiem, czy dostaniesz jeden mniejszy niż ekspander I2C.

Ile ogólnego przeznaczenia IO linie nie masz?

Jeśli możesz sobie poradzić z mniejszą liczbą linii we / wy, może możesz porzucić ekspander we / wy i użyć tych, które masz? Możesz multipleksować przełączniki na mniej niż sześciu liniach IO. W rzeczywistości, jeśli masz miejsce na 3 diody, a twój mikrokontroler ma trójstykowe styki, możesz poradzić sobie z zaledwie 3 stykami.

Czy Twoi użytkownicy mogą zarządzać czymś technicznym?

Jeśli użytkownicy mogą postępować zgodnie z instrukcjami, a konfiguracja zmienia się tylko rzadko, możesz mieć otwarte terminale, w których mogą umieścić rezystor. Mierzysz rezystor za pomocą ADC lub mierząc stałą czasową, jaką tworzy względem kondensatora. Trzeba będzie umieć rozróżnić 64 wartości rezystorów, co może być trudne przy drugim podejściu. I oczywiście twoi użytkownicy będą musieli mieć pod ręką odpowiednie wartości rezystorów / stylów obudowy.

Jack B.
źródło
Dzięki rezystorom można również zrobić 2 rezystory, a następnie potrzebujesz tylko 4-bitowego konwertera A / D i potrzebujesz mniejszej liczby rezystorów do dystrybucji, więc oszczędzasz cenę
Ferrybig
Przeredagowałem moje pytanie. Niekoniecznie dotyczy mnie rozmiar przełącznika DIP, ale potrzeba dodatkowego komponentu w postaci ekspandera we / wy. Oprócz mojej magistrali I2C pozostały mi tylko 3 IO.
PTS
Trzy trójstanowe linie we / wy są wystarczające do rozwiązania sześciu przełączników. Zasadniczo można adresować n ^ 2-n przełączników za pomocą n linii we / wy i n diod. Czy powinienem dodać schemat?
Jack B,
7

Jeden lub więcej kodowanych przełączników obrotowych jest tym, czego szukasz.

Teoretycznie zworki oferują więcej konfiguracji, gdy potrzebujesz setek opcji, ponieważ użytkownicy mogą skrócić dowolną ich liczbę w różnych konfiguracjach, dodać rezystory, kondensatory, diody itp., Ale jest to bardzo techniczne dla użytkowników i do rozszyfrowania płyty!

Graeme Wicksted
źródło
Przepraszam, musiałem przegapić twoją odpowiedź, kiedy dodałem moją. Rzeczywiście są świetną alternatywą dla przełączników DIP!
PTS
4

NFC NTAG ze smartfona NXP +. Zasadniczo jest to EEPROM I2C, który można również odczytywać i zapisywać przez NFC bez zasilania systemu.

filo
źródło
2

Wiele wspaniałych opcji tutaj! Jeszcze jedno, nieco niejasne: użyj odbiornika podczerwieni, a następnie użyj pilota telewizora lub komputera, aby przesłać ustawienia. Tak właśnie robią światła RGB.

Dithermaster
źródło
1
IR zapewnia trochę energii, więc może po prostu działać, gdy samo urządzenie nie jest zasilane, ale jak byś to zauważył w sprzęcie?
MSalters
2

Badając to, otrzymałem zalecenie dotyczące obrotowych przełączników kodowanych. Ich powierzchnia jest porównywalna z nieco równoważnym przełącznikiem DIP raster 1,27 mm. Chociaż oferują moim zdaniem znacznie lepsze interfejsy użytkownika w porównaniu do przełączników DIP / SIP.

Zamiast konwertować liczbę dziesiętną lub szesnastkową na dwójkową i przerzucać tonę małych przełączników, wystarczy obrócić 1 lub 2 z tych przełączników obrotowych i pracować z liczbami szesnastkowymi. Znacznie łatwiej jest powiedzieć użytkownikowi, aby „wprowadził” E6, niż poinstruować go, aby przerzucił wiele przełączników w określony sposób.

wprowadź opis zdjęcia tutaj

PTS
źródło
1

Innym podejściem może być enkoder obrotowy, EEPROM i 6 małych diod LED.

Stan jest zapisywany w EEPROM, a diody LED wskazują aktualnie wybrany tryb.

Obracanie enkodera powoduje przełączanie trybów.

Prawdopodobnie też nie oszczędza dużo miejsca - twój typowy enkoder ma trzonek o średnicy 6 mm, a następnie potrzebujesz również miejsca na diody LED.

Samo użycie jednego przełącznika obrotowego nie wygląda obiecująco. Z 64 pozycjami skończyłbyś z nieco poniżej 6 ° na pozycję, czując, że lub etykietowanie stanie się trudne.


Wystarczy przeczytać komentarz na komentarz @Trevors, więc to podejście jest również bezużyteczne.

Arsenał
źródło
W każdym razie dzięki, twój pomysł przynajmniej nie wymagałby uruchomienia całego systemu. Dodałem to jako akceptowalny sposób na pytanie.
PTS
Może jednak działać niewielki przycisk z diodami LED do jazdy na rowerze. Założę się, że właśnie w ten sposób przeprogramowują trikordery w Star Trek TNG
PlasmaHH
1

Trzy opcje

  1. Analog. Regulowany dzielnik napięcia. Użytkownik dostarcza własne standardowe rezystory 5%, aby ustawić wartość.

  2. PWM. Optoizolowany obwód PWM lub RC z 64 krokami odczytywanymi przez urządzenie. Mogą być zasilane osobno lub z tego samego źródła, ale ponieważ jest optoizolowane, urządzenie nie będzie włączone. Możesz wyłączyć obwód PWM po uruchomieniu.

  3. Cyfrowy. Cyfrowy potencjometr ze sterowaniem przyciskiem. Ponownie obwód może być zasilany niezależnie od urządzenia.

Przechodzień
źródło
1

Enkodery z pokrętłem? Zakresy od 0 do 9, można ustawiać jeden na drugim i mają wyjścia binarne:

Enkodery z pokrętłem

Piotr
źródło
2
Czy to naprawdę mniejsze niż mikroprzełącznik SMD?
rura
O nie, nie. To prawie tak duża, jak moja niezdolność do przeczytania prostego pytania ... Głosuj według własnego uznania. Przepraszam że marnuje twój czas.
Piotr
0

Zawsze możesz wydobyć I2C lub inny interfejs, może USB, i pozwolić użytkownikowi podłączyć swój telefon za pomocą niestandardowej aplikacji, która pozwala skonfigurować jakiś wewnętrzny adres EEPROM.

Jednak korzystanie z aplikacji na telefon może być dość problematyczne. Będziesz musiał obsługiwać aplikację i być na bieżąco z najnowszymi technologiami oraz obsługiwać wielu dostawców telefonów.

Możesz też podać niestandardowy „klucz sprzętowy”, który podłącza się i pozwala robić podobnie.

Ale wątpię, czy zaoszczędziłoby ci to dużo miejsca.

Jeśli masz inne dane wejściowe od użytkownika, na przykład dwa lub trzy przyciski i jakiś wskaźnik, możliwe jest również, przy odpowiednim wprowadzeniu danych użytkownika na przyciskach (przytrzymanie czasu itp.), Ustawić urządzenie w tryb programowania i skonfigurować w ten sposób. To samo, co widzisz na urządzeniach domowych, takich jak termostaty, zmiękczacze wody, może komputer itp.

Możesz zrobić bardzo dużo z dwoma lub trzema przyciskami i diodą LED.

Jeśli trzeba go skonfigurować, gdy nie jest zasilany, prawie utkniesz w przełącznikach lub zworkach.

Trevor_G
źródło
3
Korzystanie z aplikacji telefonicznej może być dość problematyczne, ponieważ telefony są dość niestabilne. Wbudowany system może z łatwością przetrwać od 5 do 10 generacji telefonów, a zapewnienie wsparcia przez cały okres może być problematyczne.
AndrejaKo 18.04.17
@AndrejaKo dobry punkt .. dobry enuf do dodania :)
Trevor_G
3
Niestety aplikacja wymaga, aby użytkownik mógł zmienić konfigurację bez włączania zasilania obwodu, dlatego też muszę ją konfigurować mechanicznie. Kilka interesujących pomysłów.
PTS
2
@PTS, więc prawie utknąłeś z przełącznikami lub zworkami.
Trevor_G