Bom dia galera! Tudo bem ?
Estou com um problema com interrupcao externa.
Eu nao sei o que acontece, mas estou utlizando as interrupcoes atraves dos pinos 2 e 3 do arduino uno para os sensores fim de curso de uma porta automatica. O estranho e' que qualquer variacao que tem na rede eletrica, interfere na porta.
Eu faco todo os motores pararem assim que a porta encosta no sensor, e quando encosta, faco ela recuar 2 cm.
Ontem estava testando-a, deixei ligado, ate então tudo OK, o motor tava la parado, normal. Ai fui ligar a luz da sala, teve alguma pequena variacao que acionou o motor.
Estou utlizando o attachInterrupt... como HIGH
A ideia é a seguinte:
attachInterrupt(0, abriuInterrompe, HIGH);
Criei essa funcao abriuInterrompe() que é chamado assim que a porta encosta nesse sensor fim de curso, enviando HIGH para a porta 2, ou seja, quando ela esta aberta. Assim que ela encosta, faco ela recuar 2 cm, para que a porta nao fique encostando o tempo todo no sensor. O problema e' que qualquer variacao que seja na rede eletrica, interfere no motor. Ele ta la "dormindo" de repente comeca a dar "estalinhos", no qual o motor de passo fica acionando, ou seja, dando alguns passos indesejaveis.
Como resolvo essa situacao ? Estou utilizando resistores de 10k como pull Down na entrada dos pinos 2 e 3 e uma fonte chaveada de 1A ate 20 volts.Na aimentacao externa do driver A4988(de 7v a 35v) estou utilizando um capacitor eletrolitico de 100 uF de 25V para evitar picos de energia.
Nao sei o que fazer para acabar com esses acionamento indesejaveis atraves causado pelas interrupcoes.
Por favor, vocês poderiam me ajudar ?
Muito obrigado galera!!