Go Down

Topic: Ayuda Arduino + Variador de Velocidad Trifasico 220v (Read 36983 times) previous topic - next topic

surbyte

Mi sugerencia pero hay muchas opciones, usa esta librería Switch Debouncer.
Defines los pulsadores, defines el tiempo de antirebote.

Y luego solo adapta el ejemplo para prender/apagar los relés.

Muy fácil. Diviertete un momento aprendiendo para comprender la Librería y luego comentas.

SERGIOLO

#106
Aug 06, 2015, 07:54 pm Last Edit: Aug 10, 2015, 09:51 am by SERGIOLO
Haber como veis lo que llevo hecho... si esta bien, mal, falta algo....

Quote
/*
Ejemplo Modulo Reles Extractor
*/

// defino los pines como salidas
#define RELAY1 11
#define RELAY2 10
#define RELAY3 9

void setup() {
  // Se configuran los pines como salidas
  pinMode(RELAY1,OUTPUT);
  pinMode(RELAY2,OUTPUT);
  pinMode(RELAY3,OUTPUT);
}

void loop() {
  digitalWrite(RELAY1,LOW); //Se enciende rele 1 (ON)
  digitalWrite(RELAY2,LOW); //Se enciende rele 2 (FWD)
  digitalWrite(RELAY3,HIGH); //Se apaga rele 3 (VEL. POT)
  delay(10000);
 
  digitalWrite(RELAY1,LOW); //Se enciende rele 1 (ON)
  digitalWrite(RELAY2,HIGH); //Se apaga rele 2 (REV)
  digitalWrite(RELAY3,HIGH); //Se apaga rele 3 (VEL. POT)
  delay(10000);

  digitalWrite(RELAY1,LOW); //Se enciende rele 1 (ON)
  digitalWrite(RELAY2,HIGH); //Se apaga rele 2 (REV)
  digitalWrite(RELAY3,LOW); //Se enciende rele 3 (VEL. PROG)
  delay(10000);
 
  digitalWrite(RELAY1,LOW); //Se enciende rele 1 (ON)
  digitalWrite(RELAY2,LOW); //Se enciende rele 2 (FWD)
  digitalWrite(RELAY3,LOW); //Se enciende rele 3 (VEL. PROG)
  delay(10000);
 
  digitalWrite(RELAY1,HIGH); //Se apaga rele 1 (OFF)
  digitalWrite(RELAY2,LOW); //Se enciende rele 2 (FWD)
  digitalWrite(RELAY3,HIGH); //Se apaga rele 3 (VEL. POT)
  delay(10000);
 
}

Quote
mi gran duda, como puedo hacer un marcha/paro con dos pulsadores y que el programa no sea ciclico???
como los conecto a la placa y como puedo implementarlo en el programa??

Saludos.
Blas dale Gas

surbyte

Eso que acabas de poner es algo que puede funcionar siempre y cuando no hagas nada mas.
Si escribes eso y luego dices

Quote
como puedo hacer un marcha/paro con dos pulsadores y que el programa no sea ciclico???
Es porque te golpeas contra la pared por el uso de delay.
Ovlida el uso de delay y mira otras opciones. Ejemplo millis() ejemplo TimerOne que es una libreria que usa un Timer y todo esto se hace digamos por atras.

Luego cambia el nombre de lo que ahora llamas Relay1,2,3 y pone AVANCE, ADELANTE/ATRAS sin la / busca nombres que te digan que hace la acción.

Explica que quieres hacer y lo vamos viendo. Desde ya secuencias de 10 segundos.

Por lo que veo tenemos
Arranco y mantengo x 10 segundos hacia adelante a velocidad potenciometro
No detienes y pones
Arranco (de nuevo) y mantienes x 10 segundos invertido a velocidad programada
De nuevo no apagas pero dices
Arranco (de nuevo) y por 10 segundos hacia adelante a velocidad programada
y finalmente apagas y pretendes que gire hacia adelante a velocidad potenciometro

Revisa si lo veo correctamente.

SERGIOLO

Exactamente surbyte. ( los segundos serán en la realidad minutos ) pero para probar lo he puesto así.

Esta maquina tiene un ciclo que desde que aprietas el pulsador marcha, no para hasta que finalice el programa. ( ese ciclo consta como has visto en el programa de giro con dos velocidades y a dos sentidos)

La idea que tengo de lo que me gustaría programar e implementar:

Que yo físicamente pulse "pulsador" MARCHA.
Inicie ese ciclo:
       1. Giro dcha vel. Potenciometro durante X minutos
       2. Giro izq. vel. Potenciometro durante X minutos
       3. Giro izq. vel. Programada durante X minutos
       4. Giro dcha vel. Programada durante X minutos
Y se Pare el ciclo hasta que vuelva a pulsar el pulsador Marcha.

También me gustaría ponerle un "pulsador" PARO ( para parar y resetear el programa/ciclo)

También me gustaría ponerle un led verde para que se encienda mientras el ciclo esta activo.

También me gustaría ponerle un buzzer para que pite cuando pare.

También me gustaría ponerle  un LCD por i2c para poder indicar en que estado esta...

Haber si me puedes ayudar un poco  :smiley-confuse:

Saludos
Blas dale Gas

surbyte

Bien, entonces comencemos al revés.
Comienza con los pulsadores y luego agregamos las secuencias.

Mira la librería de pulsadores Switch que te puse y luego configuramos para que prenda algunos leds por X segundos, te parece?

SERGIOLO

Se me hace un poco cuesta arriba... haber si puede empezar asi con los dos pulsadores..


Quote
#include <Switch.h>

// defino los dos pulsadores

Switch buttonON = Switch(ON, INPUT, HIGH); // boton ON a +5V, 10k resistencia
Switch buttonOFF = Switch(OFF, INPUT, HIGH); // boton OFF

byte estado;

 
void loop() {

 buttonON.poll();
 buttonOFF.poll();


Blas dale Gas

SERGIOLO

pfff... surbyte me estoy haciendo un cacao.. :smiley-confuse: , no se por donde coger esto, lo he leido, releido pero no entiendo esta libreria...
Blas dale Gas

surbyte

Como es posible si tienes un ejemplo. Usaste el ejemplo?

SERGIOLO

Como es posible si tienes un ejemplo. Usaste el ejemplo?
No, fisicamente no lo he probado por que no he tenido la arduino en mis manos, me la lleve para probar con el modulo de reles y la maquina y la olvide ayi. que por cierto funcionaba con el variador correctamente.

entiendo que con ese programa puedes pulsar de varias maneras..

con un toque, con doble-click y con una pulsación larga.

pushed()... devuelve true con una pulsación.
released().. devuelve true si lo sueltas.
on().. para un interruptor solo devuelve true cuando esta en posicion on.
longPress().. devuelve true con pulsacion de 500ms.
doubleClick().. devuelve true con pulsacion dos veces.

a mi me interesaria que mis dos pulsadores (marcha y paro) fueran LongPress, pero lo que no consigo entender es como poder implementar esto en el programa de los reles, como poder poner el pulsador "marcha" para que solo ejecute una vez el ciclo y cuando acabe se pare, hasta que le vuelva a dar al pulsador "Marcha" de nuevo.
y como poder poner el pulsador "Paro" para que al pulsarlo pare la maquina y resetee el ciclo dejandolo parado hasta que se vuelva a pulsar el "Marcha".

y otra cosa como conectarlos en la placa...

Perdoname surbyte, que de tanto la brasa, pero soy nuevo con arduino y me cuesta bastante.

por otro lado lo del led lo tengo solucionado porque lo voy a conectar al contactor del motor, cuando este el motor en funcionamiento este encendido.

El buzzer lo voy a conectar a el rele que me sobra del modulo.

Y el LCD no lo voy a poner.

Saludos.
Blas dale Gas

surbyte

#114
Aug 10, 2015, 05:16 pm Last Edit: Aug 10, 2015, 05:18 pm by surbyte
Te dejo un sketch donde uso switch. publicado por un hilo de este foro.
Ahora me doy cuenta que quieres usarlo como LongPress.
Mira a ver si el ejemplo te ayuda de algun modo y si no lo conversamos

SERGIOLO

Te dejo un sketch donde uso switch. publicado por un hilo de este foro.
Ahora me doy cuenta que quieres usarlo como LongPress.
Mira a ver si el ejemplo te ayuda de algun modo y si no lo conversamos
Bueno, como LongPress, por lo menos el boton marcha porque asi es mas dificil pulsarlo accidentalmente, pero estoy poniendo un micro de seguridad en la puerta de la centrifugadora y una seta de emergencia, que si son pulsaciones normales tampoco pasa nada.

Lo e intentado comprender y he modificado algo para mi proyecto pero a partir de ahi me pierdo. te lo adjunto haber que te parece o como se puede continuar para que pulsando el pulsador marcha lea el ciclo de reles y pulsando el pulsador paro resetee y espere hasta volver a pulsar el pulsador marcha.

Blas dale Gas

anniel

Hola, Te explico lo que Tienes que hacer, Creo que Puedo ayudarte con mi pequeña experiencia como bobinador en motores Trifásicos.:

Tienes los 6 Cables Afuera en la Bornera (por normas, 3 son de un color distinto a los otros 3):

1 2 3 (por ejemplo color ROJO)
4 5 6 (por ejemplo color NEGRO)

Bien, Ahora solo necesitamos de un Tester, o una serie que nos indique algun tipo de continuidad eléctrica.

Debemos tener una continuidad entre 4-2 . 5-3 y 6-1. Es decir entre 1-4 2-5 y 3-6. No habria ningun tipo de continuidad.

----- Conexión ESTRELLA:

Simple, normalmente las borneras traen 3 chapitas que sirven para "puentear". Estas chapas deben unir los bornes 1 2 y 3. y Deberiamos entrar con linea a 4 , 5 y 6. Es lo mismo hacerlo al reves: Hacer el puente en 4,5,6 y entrar por linea a 1,2 y 3.

Bueno, ahi estaria la conexion ESTRELLA, en la bornera:

------ Conexión TRIANGULO o 660 (tambien conocida así)

Las chapitas que utilizamos como puente, Deberiamos situarlas ahora de forma vertical, es decir:

1-4 2-5 y 3-6. y ahi ya quedaría el puente 660.
Nota: Generalmente los motores que trabajan con puente Triangulo, son de Potencia considerable, por lo general motores que se encuentran arriba de 7.5 hp, ya pueden trabajar en 660.

Como saber si el motore Trabaja en ESTRELLA o en TRIANGULO:

Solo debemos mirar la Placa del motor, si dice:

220/380: CONEXION ESTRELLA
380/660: CONEXION TRIANGULO.

Nota: Si el motor que trabajas, no tiene Chapitas para puentear, es seguro que funciona con una llave estrella triangulo, obvio, si el motor trabaja en TRIANGULO. De lo contrario un motor que trabaja solo en estrella, al pasarlo a TRIANGULO, no duraría mas de unos minutos y se quemaría.

Decearía que dijieras los sgtes datos para poder ayudarte:
Motor Marca:
Rpm:
hp , cv , kw:
y mas datos que encuentres en la PLACA:

Salu2 espero que te sirva lo de arriba, hay mas inf en http://www.hidroterm.com.ve/ chequea ahi

Go Up