Alternatives à un commutateur DIP classique


10

Je recherche une pièce qui permet à un utilisateur de modifier fréquemment une configuration. En ce moment, j'utilise un commutateur DIP SMD connecté à un extenseur d'E / S I2C.

Ce qui me dérange, c'est la grande empreinte de ces composants (commutateur DIP combiné avec le module d'extension IO) ainsi que l'interface utilisateur plutôt fastidieuse. Y a-t-il des commutateurs DIP ou quelque chose qui remplit la même fonction que je peux parler sur un bus numérique comme I2C pour lire son état?

Je suis également ouvert à des approches complètement différentes. Tout ce dont j'ai besoin est quelque chose qui peut être modifié mécaniquement de manière permanente et qui permet au moins 64 états différents. Il est important que la configuration puisse être effectuée lorsque le circuit n'est pas sous tension et fournit à l'utilisateur un retour visuel de la configuration exacte. La seule façon où il serait correct de mettre le circuit sous tension est que la configuration et le retour visuel soient autonomes sans avoir besoin d'un contrôle à partir d'un microcontrôleur ou d'un SoC.

La question est quelque peu liée à cette question d'il y a 6 ans: remplacement du commutateur DIP

Edit: Il y a de grandes suggestions dans les réponses et je pense que je laisse cette question sans réponse, les votes de la communauté devraient décider ce qui est utile et ce qui ne l'est pas. Si vous avez le même problème que moi, parcourez toutes les réponses.


Si vous voulez que ce soit sophistiqué, appuyez sur le module Bluetooth et réglez tous les commutateurs via le smartphone.
Chupacabras

8
Ma première pensée est que ce n'est pas l'empreinte réelle qui rend un commutateur DIP grand; ce sont les commutateurs réels. Passer à un protocole série ne le rendrait pas nécessairement plus petit.
pipe

3
Pourriez - vous vous enseigner aux utilisateurs de compter dans Hex et d' utiliser un ou deux de ceux - ci ?
brhans

Eh bien, je voudrais me débarrasser du multiplexeur I2C / expandeur de port. Si c'est juste le commutateur DIP, ce serait bien. Donc, s'il y a quelque chose comme "commutateur DIP numérique", ce serait génial.
PTS

4
Combien plus petit qu'un petit boîtier à 6 interrupteurs vous attendez-vous à ce qu'il puisse être fabriqué avant qu'il ne soit plus manipulable mécaniquement?
Phil Frost

Réponses:


19

Vous pouvez utiliser un commutateur SIP au lieu d'un DIP. L'économie dans la zone de carte vous donnerait de l'espace pour votre interface I2C (ou une interface plus simple comme un registre à décalage avec verrou d'entrée):

entrez la description de l'image ici

L'image la montre horizontale mais elle se monte en fait verticalement.


Ils sont bien en effet et je les considère pour ma conception bien que dans une carte SMD multicouche, c'est un peu difficile d'utiliser l'un d'entre eux sans bloquer une grande zone de routage.
PTS

1
Il peut y avoir des versions SMD. Les packages SMD SIP ont généralement les pieds décalés.
Passerby

SMD pourrait être un défi, Apem (qui fait celui sur la photo) ne les fait pas, je ne me souviens pas les avoir vu ailleurs. Je les aurais normalement près du bord du PCB où le routage n'est pas toujours aussi crucial.
Finbarr

9

"Commutateur DIP

Tout d'abord, un commutateur "DIP" ne doit pas nécessairement être grand. Voici un commutateur SMD 6 bits avec des broches en crochet J et un pas de 1,27 mm:

CHS-06TAentrez la description de l'image ici

Potentiomètre

Si vous cherchez désespérément à réduire l'empreinte et que cela peut gêner un peu l'utilisateur, vous pouvez utiliser un potentiomètre connecté à un convertisseur A / N. Étant donné que vous avez besoin de 64 paramètres, un convertisseur 12 bits devrait avoir suffisamment de marge de résolution pour discerner entre les étapes, compte tenu du filtrage et du seuillage électriques et logiciels. Voici une solution de 2 x 2 mm:

PVF2A

Cependant, je n'ai jamais vu de potentiomètre analogique avec 64 détentes physiques. Cela signifie que vous n'aurez aucun retour tactique fiable pour l'utilisateur lors de la configuration de l'appareil. Il est également difficile de trouver de manière fiable le paramètre correct au démarrage, car il peut être laissé à droite sur un seuil entre deux paramètres - je stocke le paramètre précédent dans une EEPROM, et si le potentiomètre est suffisamment proche de la valeur stockée au démarrage, je les considéreraient comme égaux.

De plus, je n'utiliserais probablement pas cette tondeuse 2 x 2 mm, mais il existe des milliers de potentiomètres différents.


Idée intéressante avec le potentiomètre. Bien que la rétroaction visuelle du réglage exact soit importante.
PTS

Des mini encodeurs rotatifs sont disponibles, avec un profil similaire à un potentiomètre, mais avec des sorties binaires, généralement 4 bits / 16 étapes marquées 0-F avec des détentes claires.
John U

@JohnU Vous en avez besoin de deux, ce qui conduit à une solution plus large.
pipe

Deux d'entre eux (peut-être debout plutôt que plats) pourraient faciliter l'emballage.
John U

@PTS S'il existe déjà une sorte d'affichage disponible sur votre appareil, vous pouvez abuser du logiciel pour lire la valeur et l'afficher. En supposant que vous ayez déjà chargé une sorte de menu de configuration, cela ne nécessite pas non plus beaucoup de travail. Bien sûr, vous ne pourrez pas lire l'affichage lorsque l'appareil est éteint.
Mast

9

Avez-vous un ADC de rechange?

Si vous avez un ADC 8 bits de rechange sur un microcontrôleur à proximité, vous pourriez probablement abandonner l'expandeur d'E / S en faveur d'un réseau de résistances - soit une échelle R-2R ou une échelle pondérée binaire. Cela coderait les positions des commutateurs comme un niveau analogique. Les échelles de résistance sont disponibles en très petits packages, mais je ne sais pas si vous en obtiendrez une plus petite que votre expandeur I2C.

Combien de lignes d'E / S à usage général avez - vous?

Si vous pouvez vous en sortir avec moins de lignes d'E / S, peut-être pouvez-vous abandonner l'expandeur d'E / S et utiliser celles que vous avez? Vous pouvez multiplexer les commutateurs sur moins de six lignes d'E / S. En fait, si vous avez de l'espace pour 3 diodes et que votre microcontrôleur a des broches à trois états, vous pouvez gérer avec seulement 3 broches.

Vos utilisateurs peuvent-ils gérer quelque chose d'un peu technique?

Si vos utilisateurs peuvent suivre les instructions et que la configuration ne change que rarement, vous pourriez avoir des terminaux ouverts où ils peuvent mettre une résistance. Vous mesureriez la résistance avec un ADC, ou en mesurant la constante de temps qu'elle fait contre un condensateur. Il faudrait pouvoir distinguer 64 valeurs de résistance, ce qui pourrait être délicat avec cette dernière approche. Et bien sûr, vos utilisateurs devraient avoir à portée de main les bonnes valeurs de résistance / styles de boîtier.


Avec les résistances, vous pouvez également faire 2 résistances, alors vous n'avez besoin que d'un convertisseur A / N 4 bits, et vous avez besoin de moins de résistances à distribuer, donc vous économisez le prix
Ferrybig

J'ai reformulé ma question. Ce n'est pas nécessairement la taille du commutateur DIP qui me concerne mais le besoin du composant supplémentaire sous la forme d'un expandeur d'E / S. Mis à part mon bus I2C, il ne me reste que 3 E / S.
PTS

Trois lignes d'E / S à trois états suffisent pour adresser six commutateurs. En général, vous pouvez adresser n ^ 2-n commutateurs avec n lignes IO et n diodes. Dois-je ajouter un schéma?
Jack B

7

Vous recherchez un ou plusieurs commutateurs rotatifs codés .

Théoriquement, les cavaliers offrent plus de configurations lorsque vous avez besoin de 100 options car les utilisateurs peuvent en court-circuiter un certain nombre dans différentes configurations, ajouter des résistances, des condensateurs, des diodes, etc. mais c'est très technique pour les utilisateurs et pour la carte à déchiffrer!


Désolé, j'ai dû manquer votre réponse lorsque j'ai ajouté la mienne. En effet, ils sont une excellente alternative aux commutateurs DIP!
PTS

4

NFC NTAG du smartphone NXP +. Il s'agit essentiellement d'une EEPROM I2C, qui peut également être lue et écrite sur NFC sans alimentation du système.


2

Beaucoup d'excellentes options ici! Un autre quelque peu obscur: utilisez un récepteur infrarouge, puis utilisez une télécommande de télévision ou un ordinateur pour diffuser les paramètres. C'est comme ça que les lumières RVB le font.


1
L'IR fournit un peu d'énergie, donc cela pourrait juste fonctionner lorsque l'appareil lui-même n'est pas alimenté, mais comment le réaliseriez-vous dans le matériel?
MSalters le

2

Pendant mes recherches, j'ai reçu une recommandation pour les commutateurs codés rotatifs. Leur encombrement est comparable à un commutateur DIP à pas de 1,27 mm un peu équivalent. Bien qu'ils offrent une interface utilisateur largement supérieure aux commutateurs DIP / SIP à mon avis.

Au lieu d'avoir besoin de convertir un nombre décimal ou hexadécimal en binaire et de retourner une tonne de petits commutateurs, vous pouvez simplement tourner 1 ou 2 de ces commutateurs rotatifs et travailler avec des nombres hexadécimaux. Il est beaucoup plus facile de dire à un utilisateur de "saisir" E6 que de lui demander de basculer de nombreux commutateurs selon un modèle spécifique.

entrez la description de l'image ici


1

Une approche différente pourrait être un encodeur rotatif, une EEPROM et 6 petites LED.

L'état est enregistré dans l'EEPROM et les LED indiquent le mode actuellement sélectionné.

Tourner l'encodeur passera d'un mode à l'autre.

Probablement pas non plus d'économiser beaucoup d'espace - votre encodeur typique a un arbre de 6 mm et vous avez également besoin d'espace pour les LED.

L'utilisation d'un seul commutateur rotatif ne semble pas prometteuse. Avec 64 positions, vous vous retrouveriez avec un peu moins de 6 ° par position, sentant que ou l'étiquetage deviendrait difficile.


Il suffit de lire votre commentaire @Trevors réponse, donc cette approche est également inutile.


Merci de toute façon, votre idée n'exigerait au moins pas que tout le système soit démarré. J'ai ajouté cela comme une façon acceptable de répondre à la question.
PTS

Un petit bouton poussoir avec les LED pour le cyclisme pourrait cependant fonctionner. Je parie que c'est la façon dont ils utilisent pour reprogrammer les tricordeurs dans Star Trek TNG
PlasmaHH

1

Trois options.

  1. Analogique. Un diviseur de tension réglable. L'utilisateur fournit ses propres résistances standard de 5% pour définir la valeur.

  2. PWM. Un circuit de type PWM ou RC opto-isolé avec 64 étapes que votre appareil lit. Ils peuvent être alimentés séparément ou à partir de la même source, mais comme il est opto-isolé, votre appareil ne sera pas allumé. Vous pouvez désactiver le circuit PWM après le démarrage.

  3. Numérique. Un potentiomètre numérique avec commande par bouton-poussoir. Encore une fois, le circuit peut être alimenté indépendamment de votre appareil.


1

Encodeurs à molette? Celles-ci vont de 0 à 9, sont empilables et ont des sorties binaires:

Encodeurs à molette


2
Est-ce vraiment plus petit qu'un commutateur DIP SMD?
pipe

Aïe, non. C'est à peu près aussi grand que mon incapacité à lire une simple question ... Veuillez voter comme bon vous semble. Désolée de vous avoir fait perdre votre temps.
peter

0

Vous pouvez toujours faire ressortir l'I2C ou une autre interface, peut-être USB, et laisser l'utilisateur connecter son téléphone avec une application personnalisée qui vous permet de configurer une adresse EEPROM interne.

Cependant, l'utilisation d'une application téléphonique peut être assez problématique. Vous devez prendre en charge l'application et rester à jour avec les dernières technologies, et vous devez prendre en charge de nombreux fournisseurs de téléphones.

Ou vous pouvez fournir un "Dongle" personnalisé qui se branche et vous permet de faire de même.

Mais je doute que cela vous fasse gagner beaucoup d'espace.

Si vous avez d'autres entrées utilisateur, disons deux ou trois boutons et une sorte d'indicateur, il est également possible, avec une entrée utilisateur appropriée sur les boutons (temps de maintien, etc.), de mettre l'appareil en mode de programmation et de le configurer de cette façon. Même chose que vous voyez sur les appareils électroménagers comme les thermostats, les adoucisseurs d'eau, les ordinateurs, etc.

Vous pouvez faire beaucoup de choses avec deux ou trois boutons et une LED.

S'il doit être configuré sans être alimenté, vous êtes à peu près coincé avec des commutateurs ou des cavaliers.


3
L'utilisation d'une application téléphonique peut être assez problématique, car les téléphones sont assez volatils. Un système intégré peut facilement survivre à 5 à 10 générations de téléphones et la prise en charge pendant toute la période peut être problématique.
AndrejaKo

@AndrejaKo bon point .. bon enuf pour un ajout :)
Trevor_G

3
Malheureusement, l'application nécessite que l'utilisateur puisse modifier la configuration sans avoir le circuit sous tension, d'où la raison pour laquelle j'ai besoin qu'il soit configurable mécaniquement. Quelques idées intéressantes cependant.
PTS

2
@PTS alors vous êtes à peu près coincé avec des commutateurs ou des cavaliers.
Trevor_G
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.