Boa tarde.
Tenho em mente um projeto para acionamento de um motor trifásico com uso de Arduino. Já estou montando o protótipo, com finalidade de ir acertando agora a programação.
Usarei disjuntor motor, contator, e à motores maiores soft starter, e para o acionamento, um contato NA de um relé, que alimentará a bobina do contator, e assim acionando o motor.
Sobre acionar e desativar o contator, já consegui o código. Agora quero a confirmação de que o contator foi acionado, usando um contato NA do contator. 5V para o borne 13, e o borne 14 com cabo até uma porta digital do arduino configurada como INPUT.
Porém não consigo lançar que quando o valor for 0 nessa INPUT, então o relé tenha que desarmar.
Segue código que está sendo usado:
//Porta para o acionamento do relé
int sinalpararele = 2;
//Porta utilizada para o botão de acionamento
int botao = 12;
//Porta utilizada para o sinal de retorno do relé
int retornopararele = 3;
//Armazena informações sobre a leitura do botão
int leitura;
//Armazena informações sobre a confirmação do sinal de retorno
int confirmacao;
//Armazena o estado do relé (ligado/desligado)
int estadorele = 0;
void setup() {
//Pino como saida (sinal para o relé)
pinMode(sinalpararele, OUTPUT);
//Pino como entrada (pino do botão)
pinMode(botao, INPUT);
//Pino como entrada (retorno para relé)
pinMode(retornopararele, INPUT);
}
void loop() {
leitura = digitalRead(botao);
if (leitura != 0) {
while (digitalRead(botao) != 0) {
delay(100);
}
estadorele = !estadorele;
digitalWrite(sinalpararele, estadorele);
}
}
Tags:
void loop() {
if(digitalRead(botao)) { delay(100); if(digitalRead(botao)) { // elimina bounce do botao
estadorele = !estadorele; // altera a variavel do estado do rele
digitalWrite(sinalpararele, estadorele); // atualiza o pino do sinal do rele
delay(10); // espera o comando acionar os contatores, etc antes de verificar se ligaram
if(estadorele && (!confirmacao)) { estadorele = 0; digitalWrite(sinalpararele, estadorele); } // se nao confirmado ligar rele, desliga
}}
if(digitalRead(botao)) { delay(100); } // espera soltar o botao
}
Esse CEI é fera mesmo
Rui
Concordo RV!
Abs.
CK
na luta ainda pessoal... CEI auxiliando, cara fera
Oi DM, bom dia.
Ontem fiz um teste usando um arduino mini.
Pra isto troquei o port 30 para 3.
Também inverti a lógica dos ports e do code.
Assim botao = 0 é botao apertado;
botao = 1 é botao liberado;
Fiz a mesma coisa no contato auxiliar
Auxiliar = 0 é contator ligado
Auxiliar = 1 é contator desligado.
Segue desenho de como liguei, e code que usei.
Se funcionar ok, voce pode modificar o code para fazer o inverso.
Ops : Tem um rele entre o arduino e o contator, mas não desenhei.
Rui
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por