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.
Réponses:
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):
L'image la montre horizontale mais elle se monte en fait verticalement.
la source
"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:
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:
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.
la source
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.
la source
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!
la source
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.
la source
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.
la source
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.
la source
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.
la source
Trois options.
Analogique. Un diviseur de tension réglable. L'utilisateur fournit ses propres résistances standard de 5% pour définir la valeur.
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.
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.
la source
Encodeurs à molette? Celles-ci vont de 0 à 9, sont empilables et ont des sorties binaires:
la source
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.
la source