Alternativas a um switch DIP clássico


10

Estou procurando uma peça que permita que um usuário altere frequentemente uma configuração. No momento, estou utilizando um comutador DIP SMD conectado a um expansor de E / S I2C.

O que me incomoda é a grande área ocupada desses componentes (switch DIP combinado com o IO do expansor de IO), bem como a interface do usuário bastante entediante. Existem comutadores DIP ou algo que tenha a mesma função com a qual eu posso conversar através de um barramento digital como o I2C para ler seu estado?

Também estou aberto a abordagens completamente diferentes. Tudo o que preciso é de algo que possa ser mecanicamente alterado de maneira permanente e permita pelo menos 64 estados diferentes. É importante que a configuração possa ser feita quando o circuito não estiver ligado e forneça feedback visual da configuração exata ao usuário. A única maneira em que seria bom ligar o circuito é se a configuração e o feedback visual forem independentes, sem a necessidade de controle de um microcontrolador ou SoC.

A pergunta está um pouco relacionada a esta pergunta de 6 anos atrás: Substituição de chave DIP

Edit: Existem algumas ótimas sugestões nas respostas e acho que deixo esta pergunta sem resposta, os votos da comunidade devem decidir o que é útil e o que não é. Se você tem o mesmo problema que eu, procure todas as respostas.


Se você quiser que seja chique, bata no módulo bluetooth e defina todos os interruptores via smartphone.
Chupacabras

8
Meu primeiro pensamento é que não é a pegada real que amplia um interruptor de mergulho; são os interruptores reais. Mudar para um protocolo serial não o tornaria necessariamente menor.
pipe

3
Você poderia ensinar os usuários a contar em Hex e usar um ou dois deles ?
brhans

Bem, eu gostaria de me livrar do expansor de porta / multiplexador I2C. Se for apenas o interruptor DIP, tudo bem. Portanto, se houver algo como "chave DIP digital", isso seria ótimo.
PTS

4
Quão menor do que um pequeno pacote de 6 switches você espera que possa ser fabricado antes que não seja mais manipulável mecanicamente?
Phil Geada

Respostas:


19

Você pode usar um comutador SIP em vez de um DIP. A economia na área da placa daria a você espaço para sua interface I2C (ou uma interface mais simples, como um registro de turno com trava de entrada):

insira a descrição da imagem aqui

A imagem mostra na horizontal, mas na verdade é montada na vertical.


Eles são realmente legais e estou considerando-os pelo meu design, embora em uma placa SMD multicamada seja um pouco difícil usar um desses sem bloquear uma grande área para roteamento.
PTS

1
Pode haver versões SMD. Pacotes SMD SIP geralmente têm pés escalonados.
quer

O SMD pode ser um desafio, o Apem (que faz o que está na foto) não os faz, não me lembro de vê-los em outro lugar. Normalmente, eu os terei perto da borda do PCB, onde o roteamento nem sempre é tão crucial.
precisa

9

Interruptor "DIP"

Primeiro de tudo, um interruptor "DIP" não precisa ser grande. Aqui está um comutador SMD de 6 bits com pinos de gancho J e um passo de 1,27 mm:

CHS-06TAinsira a descrição da imagem aqui

Potenciômetro

Se você está desesperado para reduzir a área ocupada e pode incomodar um pouco o usuário, pode usar um potenciômetro conectado a um conversor A / D. Como você precisa de 64 configurações, um conversor de 12 bits deve ter espaço para resolução mais do que suficiente para discernir entre as etapas, considerando filtros e limiares elétricos e de software. Aqui está uma solução de 2 por 2 mm:

PVF2A

No entanto, nunca vi um potenciômetro analógico com 64 detentores físicos. Isso significa que você não terá nenhum feedback tático confiável para o usuário ao configurar o dispositivo. Também é difícil encontrar com segurança a configuração correta na inicialização, pois ela pode ser deixada à direita em um limite entre duas configurações - eu armazenaria a configuração anterior em uma EEPROM e, se o potenciômetro estiver próximo o suficiente do valor armazenado na inicialização, eu os consideraria iguais.

Além disso, eu provavelmente não usaria esse aparador de 2 por 2 mm, mas existem milhares de aparadores diferentes.


Idéia interessante com o potenciômetro. Embora o feedback visual da configuração exata seja importante.
PTS

Estão disponíveis mini codificadores rotativos, perfil semelhante a um pote de aparador, mas com saídas binárias, geralmente etapas de 4 bits / 16 marcadas como 0-F com detenções claras.
John L

@JohnU Você precisa de dois desses, levando a uma solução maior.
pipe

Dois deles (talvez na vertical e não na horizontal) poderiam facilitar a embalagem.
você

@PTS Se já existe algum tipo de exibição disponível no seu dispositivo, você pode abusar do software para ler o valor e exibi-lo. Supondo que você já tenha algum tipo de menu de configuração carregado, isso também não precisa dar muito trabalho. Obviamente, você não poderá ler a tela enquanto o dispositivo estiver desligado.
Mast

9

Você tem um ADC de reposição?

Se você tiver um ADC de 8 bits sobressalente em um microcontrolador próximo, provavelmente poderá abandonar o expansor de E / S em favor de uma rede de resistores - uma escada R-2R ou uma escada ponderada binária. Isso codificaria as posições do comutador como um nível analógico. As escadas de resistência estão disponíveis em pacotes muito pequenos, mas não sei se você terá uma menor que o seu expansor I2C.

Quantas propósito geral IO linhas que você tem?

Se você conseguir conviver com menos linhas de E / S, talvez possa abandonar o expansor de E / S e usar as que possui? Você pode multiplexar os switches em menos de seis linhas de E / S. De fato, se você tiver espaço para 3 diodos e seu microcontrolador tiver pinos tristados, poderá gerenciar com apenas 3 pinos.

Seus usuários podem gerenciar algo um pouco técnico?

Se seus usuários puderem seguir as instruções e a configuração mudar raramente, você pode ter terminais abertos onde eles podem colocar um resistor. Você mede o resistor com um ADC ou medindo a constante de tempo que ele faz contra um capacitor. Você precisaria distinguir 64 valores de resistores, o que pode ser complicado com a última abordagem. E é claro que seus usuários precisariam ter os valores corretos de resistores / estilos de caixa à mão.


Com os resistores, você também pode fazer 2 resistores, então você só precisa de um / conversor de 4 bits Um D, e você precisa de menos quantidade de resistentes para distribuir, de modo a poupar o preço
Ferrybig

Eu reformulei minha pergunta. Não é necessariamente o tamanho da chave DIP que me preocupa, mas a necessidade do componente extra na forma de um expansor de E / S. Além do meu barramento I2C, só tenho 3 IOs restantes.
PTS

Três linhas de E / S de três estados são suficientes para tratar de seis switches. Em geral, você pode endereçar n ^ 2-n switches com n linhas IO e n diodos. Devo adicionar um esquema?
Jack B

7

Um ou mais comutadores rotativos codificados são o que você procura.

Teoricamente, os jumpers oferecem mais configurações quando você precisa de centenas de opções, pois os usuários podem criar um curto-circuito em várias configurações diferentes, adicionar resistores, capacitores, diodos etc., mas isso é muito técnico para os usuários e para a placa decifrar!


Desculpe, devo ter perdido sua resposta quando adicionei a minha. Na verdade, eles são uma ótima alternativa aos switches DIP!
PTS

4

NFC NTAG do smartphone NXP +. É basicamente uma EEPROM I2C, que também pode ser lida e escrita em NFC sem energia do sistema.


2

Muitas ótimas opções aqui! Um mais obscuro: use um receptor de infravermelho e, em seguida, use o controle remoto da TV ou o computador para transmitir as configurações. É assim que as luzes RGB fazem isso.


1
O IR fornece um pouco de energia; portanto, ele pode funcionar apenas quando o dispositivo em si não é alimentado, mas como você perceberia isso no hardware?
precisa saber é o seguinte

2

Enquanto pesquisava isso, recebi uma recomendação para Switches Codificados Rotary. Sua pegada é comparável a um switch DIP pitch de 1,27 mm, equivalente a um bit. Embora eles ofereçam uma interface de usuário muito superior à dos switches DIP / SIP na minha opinião.

Em vez de precisar converter um número decimal ou hexadecimal em binário e girar uma tonelada de pequenos comutadores, basta girar 1 ou 2 desses comutadores rotativos e trabalhar com números hexadecimais. Muito mais fácil dizer ao usuário para "entrar" no E6 do que instruí-lo a ativar muitos interruptores em um padrão específico.

insira a descrição da imagem aqui


1

Uma abordagem diferente poderia ser um codificador rotativo, uma EEPROM e 6 pequenos LEDs.

O estado é salvo na EEPROM e os LEDs indicam o modo selecionado atual.

Girar o codificador alternará entre os modos.

Provavelmente também não economiza muito espaço - o seu codificador típico possui um eixo de 6 mm e você também precisa de espaço para os LEDs.

Apenas usar um único interruptor rotativo não parece promissor. Com 64 posições, você acabaria com pouco menos de 6 ° por posição, sentindo que a rotulagem se tornará difícil.


Basta ler o seu comentário na resposta @Trevors, portanto, essa abordagem também é inútil.


De qualquer forma, graças a sua idéia, pelo menos, não seria necessário que todo o sistema fosse inicializado. Eu adicionei isso como uma maneira aceitável para a pergunta.
PTS

Um pequeno botão com os LEDs para ciclismo pode funcionar. Aposto que é a maneira que eles usam para tricorders reprogramar em Star Trek TNG
PlasmaHH

1

Três opções

  1. Analógico. Um divisor de tensão ajustável. O usuário fornece seus próprios resistores de faixa padrão de 5% para definir o valor.

  2. PWM. Um circuito PWM ou RC opto-isolado com 64 etapas que seu dispositivo lê. Eles podem ser alimentados separadamente ou da mesma fonte, mas, como é opcional, seu dispositivo não estará ligado. Você pode desativar o circuito PWM após a inicialização.

  3. Digital. Um potenciômetro digital com controle por botão. Novamente, o circuito pode ser alimentado independentemente do seu dispositivo.


1

Codificadores de roda de polegar? Eles variam de 0 a 9, são empilháveis ​​e têm saídas binárias:

Codificadores de roda de polegar


2
Isso é realmente menor do que um comutador DIP SMD?
pipe

Ai, não. É do tamanho da minha incapacidade de ler uma pergunta simples ... Por favor, vote como achar melhor. Desculpe por desperdiçar seu tempo.
Peter

0

Você sempre pode trazer o I2C ou outra interface, talvez USB, e permitir que o usuário conecte seu telefone com um aplicativo personalizado que permite configurar algum endereço EEPROM interno.

No entanto, o uso de um aplicativo de telefone pode ser bastante problemático. Você precisaria oferecer suporte ao aplicativo e manter-se atualizado com as tecnologias mais recentes, além de oferecer suporte a muitos fornecedores de telefones.

Ou você pode fornecer um "Dongle" personalizado que se conecta e permite fazer o mesmo.

Mas duvido que você economizaria muito espaço.

Se você tiver outras entradas do usuário, digamos dois ou três botões e algum tipo de indicador, também é possível, com a entrada apropriada do usuário nos botões (tempo de espera etc.), colocar o dispositivo no modo de programação e configurá-lo dessa maneira. A mesma coisa que você vê em aparelhos domésticos como termostatos, amaciadores de água, pode computador, etc.

Você pode fazer muito com dois ou três botões e um LED.

Se ele precisar ser configurado enquanto não estiver energizado, você ficará preso a switches ou jumpers.


3
O uso de um aplicativo de telefone pode ser bastante problemático, pois os telefones são bastante voláteis. Um sistema embutido pode sobreviver facilmente de 5 a 10 gerações de telefone e fornecer suporte por todo o período pode ser problemático.
precisa saber é o seguinte

@AndrejaKo ponto bom .. boa enuf para um add :)
Trevor_G

3
Infelizmente, o aplicativo requer que o usuário possa alterar a configuração sem ter o circuito ligado, por isso, preciso que ele seja configurável mecanicamente. Algumas idéias interessantes.
PTS

2
@PTS, você está praticamente preso a interruptores ou jumpers.
Trevor_G
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.