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.
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.
Ele quem?
Errei a escrita era pra ser "EU" queria colocar um botão de pausa.
Quantos reles tem seu modulo?
Modulo com 4 reles.
Informe o modelo dele se possível um link com imagem dele.
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.
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.
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?
[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
é 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.