Problema com Automação

Boa tarde. Estou tendo um problema com meu cod para controlar um Arduino Uno com um Módulo Relé 5V e uma Ponte h BTS7960..

Ela era pra seguir o seguinte critério..

Ligar o motor no sentido 1 por 10s e desligar (Motor n tem controle de RPM)
Ligar o motor no sentido 2 por 10s e desligar (Motor n tem controle de RPM)

Ativar o rele 1 por 2s e desligar
Ativar o Rele 2 por 2s e desligar
Ativar o Rele 3 por 5s e desligar.

E retornar a função do motor.

int motoA = 2; // motor sentido 1
int motoB = 3; // motor sentido 2
int releA = 4; // rele 2
int releB = 5; // rele 3
int releC = 6; // rele 4

int onTime1 = 10 * 1000;
int onTime2 = 2 * 1000;
int onTime3 = 3 * 1000;


void setup() {
  pinMode(motoA, OUTPUT);
  pinMode(motoB, OUTPUT);
  pinMode(releA, OUTPUT);
  pinMode(releB, OUTPUT);
  pinMode(releC, OUTPUT);
}
void loop() {
  if (digitalRead(releC) == LOW) {
    digitalWrite(motoA, HIGH);
    delay (onTime1);
    digitalWrite(motoA, LOW);
  }
  if (digitalRead(releC) == LOW) {
    digitalWrite(motoB, HIGH);
    delay (onTime1);
    digitalWrite(motoB, LOW);
  }
  if (digitalRead(releC) == LOW) {
    digitalWrite(releA, HIGH);
    delay (onTime2);
    digitalWrite(releA, LOW);
  }
  if (digitalRead(releA) == LOW) {
    digitalWrite(releB, HIGH);
    delay (onTime2);
    digitalWrite(releB, LOW);
  }
  if (digitalRead(releB) == LOW) {
    digitalWrite(releC, HIGH);
    delay (onTime3);
    digitalWrite(releC, LOW);
  }
}

Ele queria colocar uma função para por um botão de pausar. para parar script onde ele estiver. e depois de apertar novamente retornar de onde parou.

agradeço desde já

  1. E o que ocorre? Qual "critério" está seguindo?
  1. Ele quem?

  2. Quantos reles tem seu modulo?
    Informe o modelo dele se possivel um link com imagem dele.

Bom dia Ruilviana.

  1. E o que ocorre? Qual "critério" está seguindo?
    A programação em si, ela faz o primeiro loop corretamente porem quando vai pro segundo loop a programação perde o "tempo" que é determinado pra cada função. O critério basicamente é apenas refazer o loop no tempo correto estipulado.

  2. Ele quem?
    Errei a escrita era pra ser "EU" queria colocar um botão de pausa.

  3. Quantos reles tem seu modulo?
    Modulo com 4 reles.

Informe o modelo dele se possível um link com imagem dele.

(https://Modulo com 4 canais)

Bom dia.
Erro neste link
" Não é possível acessar esse site ".

1 Like

Voce modificou o seu codigo publicado non primeiro post?
Está diferente do que eu copiei ontem.
Não modifique tópicos já postados ou informe as modificações, se não
a ajuda fica confusa.

Vou copiar o codigo atual.

1 Like

So as informações de tempo que estavam erradas quando coloquei. n tinha atualizado o tempo correto que era 10s depois 2 e 3s

Link

https://www.smartkits.com.br/modulo-rele-4-canais-5v?parceiro=9390&gad_source=1&gclid=Cj0KCQiAi_G5BhDXARIsAN5SX7rHGWv5lST5WPdSXBlBCV_B2Oq4imdq7bti8AM0p5j3QD_1p6oFE68aAoj9EALw_wcB

Simulei seu codigo no wokwi e funciona como previsto.
Como não tem este tipo de driver no wokwi,
usei LEDS no lugar dos motores.

(Alterei os tempos dos delays para facilitar a visualização).

Pois é eu tinha testado tbm, porem quando ele vai pra placa e começa a fazer o loop. na segunda ou terceira vez do loop ele perde o time. E os tempos ficam todos errados.

O motor que era pra ser 10s. fica 20 a 30 e os rele.

Por algum motivo a memoria em si ta dando erro

Como voce está alimentando este seu "sistema"?

Poste um esquematico do seu projeto. (esquematico não é fritizing).

Usando 2 fontes separadas. Uma fonte de 12v com 3A só pra alimentar o Arduino Uno no qual ele manda alimentação pra placa modulo de 4 reles de 5v, e uma pra alimentar a placa que gerencia o motor de 12v 10A.

Será que pode ser por falta de amperagem que a memoria ta ficando bagunçada?

Acho que não é problema de corrente.

Me parece problema de "ruido"eletrico.

O que os reles estão "operando"?

Poste o esquematico completo.

[ruilviana] desculpa a pergunta bem burra que vou fazer. Mas não sei o que seria o esquemático que vc precisa. É a primeira vez que estou fazendo isso. Sou o rapaz do help desk da empresa ai do nada a tu meche com pc. faz isso aqui e me jogaram o projeto.

Referente aos Reles eles estão operando uma eletro válvula pra liberar um pistão de ar comprimido. que estão em 220v

Seu problema deve estar nesta parte dos reles e valvulas. Deve estar faltando snubbers.

Ex: de esquematico com arduino(ESP) e reles.

é isso eu realmente n tenho. Fui apenas fazendo e não vou mentir não tenho ideia de como fazer esse esquema elétrico mas. pelo que entendi desses snubbers eu não tenho nenhum filtro de tensão. Seria bem capaz de ser realmente esse o problema. A partir dai eu também já n saberia o que usar pra filtrar essa informação.

E poderia me dar uma ajuda referente a colocar um botão que quando pressionado ele pause a o loop? e se pressionado novamente ele retorne de onde parou?

Voce disse que os reles acionam eletrovalvulas.
Mande mais informações sobre estas eletrovalvulas:
Modelo,! Tipo de voltagem. AC ou DC.
Quantos volts elas precisam para operar,
Link de datasheet delas.
Como elas estão ligadas nos reles, etc.

Faça um teste do seu projeto com os reles , mas sem conectar as eletrovalvulas nele e veja se funciona normal.