Estou usando o arduino para ler um fim de curso em chão de fábrica. Uso um código simples para button, com pequenas alterações para funcionar como anti-repique. O caso é que, quando instalo à vera, no fim de curso, com um cabo de uns 5 metros, quando o fim de curso é acionado funciona, mas após o desacionamento, o estado da porta continua com UP, ou Down, dependendo da configuração. E já usei as duas: pull up e pull down. Tenho certeza que o cabo está funcionando como antena e sofrendo interferência dos diversos motores do ambiente. Alguém já passou por isto? Obrigado.

Exibições: 1943

Responder esta

Respostas a este tópico

Boa noite Rogério. Tem coisas que não dá para prever. Já tentou utilizar um cabo blindado, devidamente aterrado nas extremidades ?

Pois é!
Já usei blindado, par trançado, diminui os resistor de pull, mas mesmo assim, sofre interferência. Na bancada, tá perfeito, coloco no ambiente de produção, que é infestado de campos eletromagnéticos fortíssimos, dá zica.

Quanto à aterramento, não é possível utilizar no fim de curso, e do lado do computador, como uso alimentação USB direta, já tem.

Já tentou colocar um snubber em paralelo com a entrada?

Faça um snubber com um capacitor de 470nFx400V em série com um resistor de 100Rx1/2W.

Quanto a aterramento, aterre em apenas uma ponta, na outra deixe isolado.

Mas para que a malha seja efetiva a malha de terra tem que ser ligada ao terra da instalação.

Um terra mau instalado é pior que uma instalação  sem aterramento nenhum.

Achei esta dica e acho que é mais ou menos o que está me sugerindo:

http://www.digikey.com/en/articles/techzone/2012/apr/protecting-inp...

Vou implementar e ver se resolve.

Oi RI, boa noite.

Realmente o chão de fábrica é bastante poluído de ruídos elétricos.

Para evitar isto deve-se tomar algumas precauções:

1a. Usar um cabo blindado entre a porta do Arduino e o botão.

2a.  Aterrar somente do lado do Arduino, para evitar o "Ground loop"

3a. Usar uma caixa metálica aterrada para o Arduino.

4a. Usar capacitores em paralelo com o botão e na porta do Arduino onde será ligado o botão ( +- 1nF),

      para jogar para ground pulsos de alta frequência.

5a. Definir com LOW e aterrar as portas do Arduino que não estiverem em uso.

Pelo que entendi da sua resposta ao Sr. B, você está alimentando este Arduino. a partir de um cabo USB.

Este cabo USB, está ligado em uma fonte externa ou em um computador?

Rui

Olá, obrigado pelas respostas!
O Arduino é alimenta diretamente pelo computador e me retorna um "1" na porta serial quando fecha o switch. Este "1" é lido por um programa vb.net que entende que houve o fim de curso e executa os procedimentos previstos.
Andei procurando alguns artigos e vi algumas dicas como a que citou, do capacitor de 1nf. Mas na dica, o sugerido é um circuito pull up e um capacitor de 1nf conctando a porta à terra, além de um resistor de 1k em série com  a porta. Vou experimentar e ver o que dá.

Segue link abaixo:

http://www.digikey.com/en/articles/techzone/2012/apr/protecting-inp...

O computador  também gera muito ruido e pode passar para o Arduino através do cabo USB, caso seu cabo seja de boa qualidade ele deve ter um ferrite.

eu ja passei por isso mas em um circuito analógico usando um cabo de 9 a 12 metros.  Na protoboard era sucesso mas quando colocava no cabo de 9 metros dava falso positivo.

Resolvi isso de forma simples sem trocar o cabo. lembrei que nos cabos muito longos ocorre interferência de ondas de alta frequência e tbm lembrei que capacitores deixa passar altas frequência. Sem osciloscópio ou outro equipamento para saber se estava certo coloquei vários capacitores e achei ums que resolveu.

salve engano era um  de 100uf 10v 

esse capacitor ficou entre o gnd e o sinal, que no meu caso ia ao transistor. 

sem cabos de blindado só com 0,50 a mais no projeto. 

 

use capacitor em paralelo em fontes chaveadas para cortar interferências no meu caso a fonte gerava interferência tbm . mais outro capacitor e seu problema ta resolvido.

 

O melhor é usar fibra ótica ! 

Mas se não der, pode tentar usar um driver de interface RS485.

https://www.maximintegrated.com/en/app-notes/index.mvp/id/643

Também acho que que comunicação serial via rs385 resolve. Mas antes preciso tentar usando os mínimos recursos, ou seja, um cabo blindado, tensão de 5v (direto da  USB)  é um fim de curso. Se não conseguir sanar a interferência, ai parto para algo mais complexo.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço