Fiação do interruptor Reed


9

Estou trabalhando em um projeto de porta de garagem. Comprei alguns deles, mas ficarei surpreso se encontrar uma resposta consistente sobre como eles são conectados a um Rpi.

Meu pensamento era apenas começar a ligá-lo e tentar, mas estou preocupado em explodir meu pi.

Existem alguns sites que dizem usar um pull up, outros dizem usar vários resistores. Algumas pessoas conectam-se por terra (o que faz menos sentido para mim) que o interruptor de palheta não está ligado, não tenho idéia de como o exemplo de Adafruit funciona.

Eu assumi que precisava de energia para o comum e, depois do posto NO / NC, precisava capturar o estado em um pino GPIO, mas não entendo realmente onde colocar o terreno? Ele é dividido como o link de vários resistores? Colocar o interruptor no terra engergize todo o circuito dessa maneira?

Tentei ler algumas das postagens aqui, mas elas não estão realmente me entendendo o porquê. Alguém pode me ajudar a desmistificar isso um pouco? Se você tem algum recurso para construir alguns fundamentos, eu certamente apreciaria. Sou programador por profissão e estou fora do meu elemento.

EDITAR:

Eu tive alguma confusão no NO / NC. Eu acho que isso melhorou um pouco, eu estava olhando do ponto de vista da minha porta e não do contato do interruptor. O SW deve estar normalmente aberto.

Eu tenho três diagramas aqui e estou buscando esclarecimentos Como você configura pull up vs pull down com o resistor. Preciso de um resistor adicional para fazer o 'puxão' e garantir a segurança do meu bravo soldado # 18 GPIO? Mover o resistor altera as propriedades / funcionalidade do circuito?

Diagrama de circuito

Preciso de um resistor menor? Eu já tinha 4,7 no quadro, então usei. Existe uma maneira de calcular um apropriado? Não estou recebendo uma troca de pinos.

Então, eu entendo que isso é uma violação do protocolo SO, fazendo uma pergunta sobre uma pergunta, mas eu prefiro entender o que está acontecendo do que simplesmente esmagar uma de suas respostas e concluir.

EDIT 2:

Quando obtive uma solução funcional, tentei escaloná-la, mas precisava de um resistor em cada linha e mudei para o esquema mostrado. Isso funciona e não explodiu meu pi nem incendiou.

Estou usando um pulldown de software e debounce.

O que moveria a energia da chave para o lado terra do resistor? Nada?

wireDiagram


11
Seus interruptores normalmente fecham e normalmente abrem o contato. Isso facilitará seu projeto. Conecte o resistor de 4.7K ao pino e ao trilho de 3.3V. Pegue um fio do terra e o pino GPIO e conecte-o aos contatos normalmente fechados (NC) e comuns (COM) do comutador e o "bingo" GPIO Pin 18 ficará baixo até que a porta seja aberta. A chave é aberta e o resistor de puxar 4,7k "puxa" o pino GPIO para 3,3V para fornecer a entrada que você está procurando. Essa é uma opção muito mais segura para proteger o pi contra falhas na fiação.
Bob Fk

Respostas:


4

É um interruptor. Conecte-o como faria com qualquer outro switch. A única coisa a decidir é se você deseja usá-lo como normalmente aberto (normalmente lê como desativado) ou normalmente fechado (normalmente lê como ativado).

Existem duas maneiras básicas - conectar-se ao terra ou conectar-se ao 3V3. Qualquer que seja a sua escolha, é mais seguro fazer essa conexão através de um resistor para evitar o risco de um curto-circuito. Algo entre 1-5 mil ohms deve ser adequado.

Conecte o outro contato escolhido a um conjunto GPIO como uma entrada.

Conexão comum ao terra e normalmente fechada a um GPIO

Defina o GPIO como uma entrada com o pull-up interno para 3V3 definido.

O GPIO normalmente lê 0 (quando o interruptor está desligado). Ele lerá 1 quando o interruptor estiver ligado.

Conexão comum ao terra e normalmente aberta a um GPIO

Defina o GPIO como uma entrada com o pull-up interno para 3V3 definido.

O GPIO normalmente lê 1 (quando o interruptor está desligado). Ele lerá 0 quando o interruptor estiver ligado.

Conexão comum a 3V3 e normalmente fechada a um GPIO

Defina o GPIO como uma entrada com o pull-down interno para o terra definido.

O GPIO normalmente lê 1 (quando o interruptor está desligado). Ele lerá 0 quando o interruptor estiver ligado.

Conexão comum a 3V3 e normalmente aberta a um GPIO

Defina o GPIO como uma entrada com o pull-down interno para o terra definido.

O GPIO normalmente lê 0 (quando o interruptor está desligado). Ele lerá 1 quando o interruptor estiver ligado.

Em todas as situações acima, o resistor interno fraco (cerca de 50k) será anulado pela conexão ao terra ou 3V3 através do resistor externo mais poderoso (menos resistência).


Além disso, os switches Reed têm uma taxa de rejeição muito alta. Portanto, algum debounce seria muito útil em software.
Piotr Kula

4

Exatamente, basta usá-lo como um interruptor. Presumo que quando a porta está aberta ou fechada, o Pi quer saber sobre isso através de um de seus pinos de entrada. O pi está procurando um ponto baixo? Em seguida, conecte o interruptor do pino de entrada ao terra e leve um resistor de pull-up à linha de + 3,3V. Quando o interruptor estiver aberto, ou seja, nenhum ímã presente, a entrada terá lógica alta. Quando o ímã ativa a chave, o pino de entrada fica com uma lógica baixa. O resistor de pull-up não é crítico, comece com 4k7Ohm (amarelo, roxo, vermelho, X). Meça o pino com o interruptor desligado, ele deve estar próximo de 3,3V, se não tentar um resistor com menos Ohms. digamos 2k2. Não fique abaixo de 1k, isso seria de 3,3mA. Se você estiver procurando por uma alta, use os contatos normalmente fechados da chave reed. Não execute 3.3V em um switch externo. Um curto pode matar seu chip regulador Pi.


Obrigado por responder, acho que estou chegando mais perto. Coloquei algumas edições na minha pergunta, se você quiser dar uma olhada.
Bmo

1

Seu diagrama à esquerda e no meio não é bom; o GPIO está em curto e não pode fazer nada.

O diagrama à direita está correto se o seu programa GPIO pin 18 estiver procurando por uma entrada para subir alto para dar o próximo passo. No entanto, normalmente não conectamos um trilho de força, o 3.3V, diretamente a uma entrada, normalmente o alimentamos através de um resistor de 2,2k ou mais. Experimente o 4.7k e veja se o pino está alto. Eu conectaria o resistor do pino GPIO 18 ao comutador e o outro lado iria para a linha de alimentação de 3,3V. Não estou feliz por ter a linha de 3,3V indo para a porta da garagem sem algum resistor para limitar a corrente no caso de um curto-circuito na sua fiação. Se o resistor de 4,7k for suficiente para puxar o pino para cima, eu o dividiria no produto final com 2,2k de cada lado do comutador na extremidade do Pi para proteger a entrada do Pi e a fonte de alimentação do Pi contra curto-circuitos acidentais na fiação externa ao interruptor da porta da garagem. O resistor no seu circuito direito seria chamado de pull down e geralmente não são necessários. Mais uma vez, verifique se com um voltímetro ou sonda lógica se a entrada está normalmente baixa até que a chave seja puxada alta e verifique se está perto de 3V. Sou o seu oposto, bom em hardware, não sei nada de programação, tentando aprender um pouco de Linux.


Obrigado novamente. Eu adicionei um diagrama da minha configuração atual. Você está dizendo que eu deveria mover a fonte de 3,3V no lado terra do resistor? Eu deveria ficar mais confortável com meu provador ...
BMO

0

Remova o resistor de 4.7K ao terra. Não é necessário. É apenas mais uma carga pequena e desnecessária na fonte de alimentação. Seu circuito atual funcionará como está, mas seria melhor ter um resistor em série do trilho de energia de 3,3v a cada um dos interruptores para proteger a fonte de alimentação, caso um dos interruptores seja acidentalmente curto-circuito. Qual o tamanho do resistor? Tente 10k, se funcionar, ou seja, você tem cerca de> 3v no pino GPIO, ótimo, se não, tente 4,7k ou 2,2k ou até 1k


0

Somente o seu circuito direito funcionará. As respostas que você obteve acima estão provavelmente corretas (tentar descrever um circuito em palavras é confuso, mesmo para um engenheiro elétrico).

Eu sinto que estas dão muitas opções. Eu recomendo o seguinte. http://elinux.org/RPi_GPIO_Interface_Circuits#Buttons_and_switches

Por razões técnicas relacionadas à interferência e segurança, é preferível puxar o Vcc com uma chave para o terra, mas ambos funcionarão. (Você pode usar um comutador Normalmente aberto ou Normalmente fechado).

Se você quiser ser super seguro, poderá incluir um pequeno resistor em série com a liderança do GPIO. Isso é necessário apenas se você conectar um switch a um pino configurado como uma saída. O Pi não será danificado, mesmo que você o faça, pois possui proteção interna contra sobrecarga, mas pode afetar a operação de outros pinos.

Os interruptores de palheta PS saltam como uma criança em um trampolim. Você precisará de alguma técnica anti-rejeição, seja em hardware ou software.


-1

Consegui fazê-lo funcionar, seguindo este exemplo que usa tensão do pino e do terra do GPIO. Eu pulei o material do Streamer porque não estava interessado nele.

Tutorial do switch Reed


11
Por favor, coloque um pequeno resumo no link, caso ele ocorra.
Human
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.