Mudar a saída do registro para relés

8

desculpe pelo comprimento.

Esta é uma continuação da minha pergunta recente . Eu tenho uma placa de 8 relés acoplada que estou tentando conectar ao meu microcontrolador. Coloquei um registrador de deslocamento 74HC595 em linha para consolidar as portas de entrada. Entretanto, ao fazer isso, o conselho exibiu algum comportamento estranho.

insira a descrição da imagem aqui

Se eu não conectar nada, ou apenas uma pequena carga nos relés, tudo funcionará bem usando o registrador de mudança. Eles ligam e desligam sem problemas. Assim que eu conecto uma bomba de mais de 1 amp no relé, você pode ouvir o disparo do relé e ele dispara rapidamente. O LED IN1 (diagrama acima) também acende por uma fração de segundo. Às vezes, porém (1 em 5), o relé e a bomba realmente permanecem ligados. Agora é aqui que fica estranho; se eu remover o registro de mudança e conectar os pinos diretamente ao microcontrolador, ele funcionará bem ao ligar a bomba.

Então, a interferência no registro de mudança foi levantada, mas até onde eu entendo o design da placa de relé, o registro de mudança está apenas alimentando o LED no acoplador óptico (U1) e não está de forma alguma conectado a nenhuma outra parte do circuito (registro de mudança e o controlador foram alimentados por bateria). A placa também é Active Low, pelo que entendi, o registro de deslocamento está afundando a corrente do acoplador óptico. Será que o acoplador óptico está exigindo mais corrente para mudar a carga mais alta do que o registrador de deslocamento pode afundar? Eu posso estar muito longe, pois isso me deixa perplexo. Além disso, existe alguma maneira de a interferência aparecer, mesmo estando isolada e com a bateria?

Todos os testes foram realizados com uma bateria alimentando o microcontrolador \ shift register, e um esboço muito simples que visava apenas um único registro de deslocamento, pin por byte.

O 8-relé ( Info ): Atualmente está configurado com uma verruga de parede de 5V separada, alimentando os relés. O microcontrolador fornece 5V para alimentar apenas o acoplador óptico.

Agradeço qualquer ajuda que você pode me dar. insira a descrição da imagem aqui

Atualização 13 de agosto:

Ainda não foi possível, mas fiz muitos outros testes: movi o registrador de turnos e o Arduino a 3 pés de distância dos relés e da rede elétrica. Ambos foram alimentados por uma bateria de 9V. A única coisa conectada à placa de relé era um trilho de 5V do Arduino e os 8 fios do registro de turno para as entradas da placa de relé. Mesmos resultados, a luz de 100W funciona muito bem, a bomba faz com que ela desapareça. Se eu remover o registro de mudança e conectar os pinos de saída diretamente ao Arduino, a bomba será ligada sem problemas.

Só para verificar se não estava acontecendo nada com a verruga de parede de 5V dedicada que alimenta os relés, desconectei e substituí o jumper no JD-VCC e VCC e conectei o Arduino GND. Mesmo resultado, a luz de 100W funciona, a bomba faz com que ela desarme.

Tem que ser registro de turno.

Também coloquei um capacitor de desacoplamento de 47uf nos trilhos de potência, assim como o registrador de turnos tem um 104 ao lado dele.

Hoje à noite vou tentar alinhar um multímetro com um dos pinos de saída. Quero ver quanta corrente o acoplador óptico está puxando.

Acabei de adquirir um osciloscópio também, então ainda estou aprendendo a usá-lo, mas talvez eu possa descobrir como medir qualquer interferência no trilho de 5V ou nas linhas de saída.

Atualização 14 de agosto:

Consegui capturá-lo falhando com o meu osciloscópio. Arquivos Rigol wfm abaixo. O canal um está conectado a um pino de saída no registrador de deslocamento. O canal dois está conectado ao trilho de 5V.

Arquivos WFM

Acabei de fazer alguns testes e consegui reproduzir um pico de 500mv-1V (às vezes era uma queda) no trilho de 5V e em um dos pinos de saída do registro de mudança. Esse é o problema certo? Esse tipo de pico faria o registro de turnos disparar e agir de maneira estranha?

15 de agosto:

Abaixo está uma captura quando eu ligo manualmente a bomba. Não usando o registrador de turnos para fazer isso. A linha azul é o pino de saída 1 do Shift Register, a linha amarela é de 5V.

Também tirei algumas fotos da instalação:

insira a descrição da imagem aqui

Tamanho completo

insira a descrição da imagem aqui

Tamanho completo

insira a descrição da imagem aqui

Também tenho uma postagem no fórum para a qual tenho atualizado os resultados: Fórum do Arduino

16 de agosto:

Consegui capturar uma imagem muito melhor hoje. Eu não percebi que o osciloscópio só captura tantos pontos quando rodava em intervalos de 1 segundo (totalmente faz sentido agora). Aqui está o emi mal sobre o Pin 1 do registro de turnos:

2us

200ns

Vou pegar todos os componentes recomendados neste fim de semana e tentar adicioná-los um a um.

18 de agosto:

Problema confirmado. A bomba estava causando tanto ruído que nada que eu pudesse fazer nas linhas de baixa potência poderia conter as ondulações. Essas ondulações estão chegando ao registrador de turnos \ trava \ pinos de dados e causando corrupção \ redefinem.

Então fui ao extremo extremo e rasguei um circuito protetor de surto de alta potência da APC Rack e o coloquei na frente da bomba.

insira a descrição da imagem aqui

Agora, mal há um pontinho em qualquer uma das linhas em qualquer lugar. Viva!

Agora, o objetivo principal era manter isso contido na área ocupada do gabinete, para ver se consigo fazer uma versão mais compacta, pois acho que essa placa é um exagero e preciso de uma para cada uma das 5 bombas que tenho. Vou começar com apenas um único MOV e ver quanto ele reduz o ruído.

Problema resolvido: Decidi comprar um filtro de linha para ver se conseguia filtrar o ruído da bomba diretamente na fonte. Eu comprei este: Delta High Performance Filter . Agora eu nem percebo um pontinho no osciloscópio.

Obrigado por toda a ajuda a todos, gostaria de poder marcar todos vocês como solucionadores, mas não posso, então dei a quem ofereceu mais dicas.

Existir
fonte
Você adicionou um capacitor de desacoplamento aos pinos de energia do registrador de mudança?
Bruno Ferreira
Sim, tenho um 104 em anexo. Como está isolado, um problema de dissociação não seria um problema o tempo todo, estou perguntando, porque não tenho certeza? Tudo funciona corretamente se eu não conectar a (s) bomba (s).
Existe
Você removeu o jumper entre o Vcc e o JD-Vcc?
precisa saber é o seguinte
Sim, ele foi removido, eu tenho uma verruga de parede 5v dedicada conectada ao Gnd e JD-VCC.
Existe
1
Arquivos Rigol WFM, o que é isso? Como devemos ler isso?
Stevenvh

Respostas:

6

Como é conectado o registro de turno? Você tem um capacitor de desvio de 0,1 uF nos fios de energia próximos ao pacote de IC?

Parece-me um problema de ruído, principalmente porque é acionado apenas quando você tem uma carga nos relés. O fato de resultar na redefinição do estado do registro de turno sendo redefinido me faz pensar que é um problema de energia.


Além disso, como você está conectando o registro de turno.
Com um 74HC595, você precisa:

  • Amarre os dois relógios de registro (pinos 11 e 12)
  • Puxe o pino de reinicialização principal alto (amarre o pino 10 ao VCC)
  • Puxe a linha de habilitação de saída baixa (amarre o pino 13 ao terra)

Por fim, você precisa de um capacitor de desvio de 0,1 uF entre o pino 16 (Vcc) e o pino 8 (Gnd).

Connor Wolf
fonte
Eu tenho um 104 em todo o vcc e gnd do registro de turno.
Existe
@Exist - e você não deixou o pino de redefinição flutuante, ou algo assim, certo?
Connor Lobo
A única coisa que consigo pensar neste momento é tentar alternar uma carga não indutiva (por exemplo, uma lâmpada de 60 W ou algo assim) e ver se isso também desencadeia o problema. Caso contrário, você está tendo problemas com EMI quando a bomba é ligada. se isso acontecer, estou um pouco confuso. Nesse ponto, comece a olhar para os trilhos de suprimento quando o sistema alternar, veja se algo estranho está acontecendo neles.
Connor Lobo
Não, eu nem acho que o registro de mudança está sendo redefinido, pois continua mantendo outros relés, mesmo que não consiga ligar a bomba.
Exista
3

Tente mover o Arduino o mais longe possível do módulo de relé e bombeie como for prático. Verifique também se algum cabo relacionado à energia da bomba não está próximo ao Arduino.

Em seguida, use um par trançado ou cabo CAT5 para enviar o sinal liga / desliga do Arduino.

Não consigo abrir o arquivo wfm (acho que são alguns valores hexadecimais, mas isso será difícil de visualizar se aberto de qualquer maneira), mas a partir da sua descrição parece que você capturou o evento.
Esse pico (que pode ser mais rápido / maior do que o mostrado no seu escopo, dependendo do BW e das configurações) provavelmente será o problema. Ainda não se sabe como esse pico está entrando em seus trilhos - acho que nesse momento uma ou duas fotos de sua configuração provavelmente ajudariam muito e, se possível, um diagrama detalhado de toda a sua fiação (bomba, módulo de relé, tudo fontes de alimentação, arduino, etc)

O adaptador de relé e o terra do arduino estão ligados?

EDIT - olhando para a foto, o layout não parece ótimo, é um pouco apertado. Parece que há cabos de alimentação passando por baixo do módulo de relé - eles podem estar acoplados ao lado isolado do Arduino. Tente afastá-los, se puder.
Além disso, você realmente deve usar o CAT5 ou similar para o sinal do registrador de mudança - execute-o junto com o 5V para diminuir a área do loop.
Neste ponto, eu também tentaria adicionar alguns diodos de polarização reversa a 5V e aterrar a partir da saída do registrador de mudança, para prender qualquer pico que aparecer (zener de 5V opcional, mas é uma boa ideia se você tiver um)

Voltar para diodos traseiros

Você também pode colocar um capacitor pequeno da linha ao terra (por exemplo, 100nF), pois é apenas um sinal de chave.
Para ter certeza absoluta de que não há conexão entre algo que não deveria existir, provavelmente vale a pena testar a continuidade entre o terra do Arduino e o módulo do relé e o Arduino 5V e o relé 5V.

Oli Glaser
fonte
Você quer dizer o registro de turno também? Atualmente, ele está montado no conjunto da barra de energia, mas eu poderia desanexá-lo e movê-lo para mais longe. Você está pensando que está pegando barulho?
Existe
Sim, mova isso também e use o cabo da saída do registrador de deslocamento para o módulo. Parece que é irradiado EMI se ainda estiver acontecendo enquanto o Arduino é alimentado pela bateria.
precisa saber é o seguinte
@Exist - você tentou o acima? Se sim, isso fez alguma diferença?
precisa saber é o seguinte
Eu fiz, resultados postados acima.
Existe
Hmmm, algumas coisas estão erradas aqui :-) Se você tem um escopo agora, comece a sondar os sinais e a potência durante a comutação do relé, deve ter uma idéia do que está acontecendo. Publique uma imagem dos resultados se não tiver certeza do que fazer com eles.
perfil completo de Oli Glaser
1

Isso certamente soa como um problema de interferência eletromagnética.

O terra da fonte de alimentação do Arduino deve ser conectado ao "terra verde" do seu sistema de energia local. Um plugue em branco com um único fio para o 'terra verde' pode ser usado.

Tente separar fisicamente a fiação da bomba do material do microcomputador.

Você também pode adicionar um MOV (varredor de óxido de metal) na bomba para absorver os picos que podem ocorrer quando a carga é trocada.

Quais são os níveis de tensão e corrente da bomba?

Sua fiação parece certa.

Terry King
fonte
Atualizei minha postagem com mais alguns testes. Concordo que parece ser EMI, Fake estava me pressionando assim ontem também. Eu estou tendo um inferno de tempo rastreando-o embora. Quando você diz para conectar o terra, isso ainda se aplica se o Arduino é alimentado por bateria? A bomba é de 120V 1,2 A. Obrigado
existe