Go Down

Topic: Motor de persiana eléctrica (Read 620 times) previous topic - next topic

Mauropek

Muy buenas. Quisiera saber si es posible realizar un script para controlar un motor AC de 3 cables de modo tal que a través de un pulsador logre activar el giro en sentido horario, al pulsar nuevamente que permanezca off, al pulsar por tercera vez activar el giro en sentido contra horario.

Muchas gracias.

surbyte

#1
Aug 09, 2017, 10:21 pm Last Edit: Aug 09, 2017, 10:22 pm by surbyte
La respuesta es si, pero con la poca y nada de información sobre tu motor poco podemos sugerirte.

Lee las normas del foro, haz una descripción detallada de los elementos, con fotos, esquemas y todo lo que ayude a que podamos brindarte una buena respuesta/solución. De lo contrario tenemos que imaginar y para el post 10 recien dirás.. ahhh este es el motor...

Entonces ya sabes qué hacer?

Mauropek

#2
Oct 13, 2017, 10:53 am Last Edit: Nov 01, 2017, 06:29 am by Mauropek
El motor es un motor AC, común de tres cable: Un cable es común, los otros dos fases. Si se le aplica 220v a uno de ellos gira hacia un lado, si se le aplica al otro, gira en sentido contrario.
Lo que intento hacer es, entonces, con un Arduino UNO y un módulo de relays hacer que al pulsar pase por tres estasdos. SUBE, APAGA, BAJA, APAGA, SUBE, etc.

Debajo está el código que actuamente tengo: con el logro hacer solo dos estados.


Code: [Select]
const int SUBE =13;
const int BAJA =12;
const int BOTON = 7;
int val = 0;  
int state = 0;
int old_val = 0;
int sube=0;
int valor=0;
void setup()    
{
 Serial.begin(9600);
 pinMode(SUBE,OUTPUT);
 pinMode(BAJA,OUTPUT);
 pinMode(BOTON,INPUT);
}

void loop()    
{
  val= digitalRead(BOTON);

 if ((val == HIGH) && (old_val == LOW)){
   state=1-state;
   delay(10);
  }
   old_val = val;

 if (state==1){
   digitalWrite(SUBE, HIGH);
   digitalWrite(BAJA,LOW);
  } else{
   digitalWrite(SUBE,LOW);
   digitalWrite(BAJA,HIGH);
  }
}



Go Up