Desde que inicia Arduino UNO r3 se queda los relés encendidos.

Hola:

He comrpado par mi lavadora un mçodulo de 8 relés, estoy haciendo pruebas con ello.

Al hacer este código se me activa todos los relay en activo y el otro que si quiero papadea cada segundo.

void setup()
{

pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
}

void loop()
{
digitalWrite(1, HIGH);
delay(1000);
digitalWrite(1, LOW);
delay(1000);

He intentado hacer esto pero nada.

void setup()
{
// Indicamos el pin que va a activar o desactivar la bobina del relé
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
}

void loop()
{
digitalWrite(1, HIGH);
delay(1000);
digitalWrite(1, LOW);
delay(1000);
}

Me imagino que habrá una solución pero no logro conseguirlo.

Saludos.

Edito: Edito: Al poco tiempo se me recalentó mucho y eso que uso fuente externa el Arduino, concretamente lo quemuetsra la imagen de abajo y Aduino se vuelve loco.

Saludo.

Saludos Segun tu diagrama tus rele son de lógica inversa asi que si colocas la salida a LOW estas activando el rele.

Prueba:

void setup()
{
// Indicamos el pin que va a activar o desactivar la bobina del relé
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
}

void loop() {
 digitalWrite(1, HIGH);
 delay(1000);
 digitalWrite(1, LOW);
 delay(1000);
}

Mas que lógica inversa, diría que es NPN, hay que agregar una resistencia a la salida del arduino conectada a masa

PeterKantTropus Tu estas viendo el transistor pero ese no lo controla el Arduino, el arduino se conecta al optoacoplador y alli no necesita nada mas, solo conectas la salida del arduino al modulo de rele y conectas masa de los dos. Y simple, yo tengo un modulo pero de 4 rele.

Puede ser, yo lo lo decía porque a la entrada de la senal (en el optoaclopador) esta marcado como Vcc y in como masa. Generalmente esto indicaría que es NPN.

El orden de las conexiones la selecciona quien la arma.

Si conectas el PIN 1 al Arduino debes conectar el pin 2 a GND, de esa manera activas enviando un HIGH desde el Arduino.

Si conectas el PIN 1 a VCC, el pin 2 conectas al Arduino, y activa enviando un LOW. Por eso es lógica invertida porque activas con un bajo.

Siempre debes conectar en serie un resistor.

http://forum.arduino.cc/index.php?topic=300482.0

max_saeta: El orden de las conexiones la selecciona quien la arma.

Si conectas el PIN 1 al Arduino debes conectar el pin 2 a GND, de esa manera activas enviando un HIGH desde el Arduino.

Si conectas el PIN 1 a VCC, el pin 2 conectas al Arduino, y activa enviando un LOW. Por eso es lógica invertida porque activas con un bajo.

Siempre debes conectar en serie un resistor.

Lo siento Max , pero no estoy de acuerdo. si pudieras elegir la polaridad de las conexiones, la placa debería tener 16 pins de entradas y tiene solo tiene 10. Ya sea la masa o Vcc deben estar unidas entre si en todos los optoaclopadores , por suerte es fácil comprobarlo con un polimetro . Cuando esta desconectada la placa si hay continuidad entre todas las patas 1 de los optoaclopadores, es NPN , en caso de ser PNP debería tener continuidad entre las patas 2.

Metaconta, se esta calentando porque estas sacando potencia del arduino para mantener activados las bobinas de los relés. Deberías abrir el Jumper y alimentar con una fuente externa de 5 V la pata marcada como jd-vcc y la GND. Si es como sostengo NPN, no hace falta conectar el arduino a GND y estarían separados los circuitos.

Saludos

Hola:

He logrado que funciona invirtiendo los estados como me dijeron arriba. max_saeta, gracias campeón.

Para no entrar en confusión a la hora de programar, también no vovlerse loco, a veces vale la pena usar un IC llamado UNL2803 si no tuviera los diodos en la placa.

Para mi caso pongo al final pongo dos un buenos 74HC14.

Como tiene 8 relés a controlar, intentaré conseguir un IC con 8, porque este tiene 6. Lo se si existe, si existe, pueden avisar. ;)

Saludos.

Soy un cabezón y sigo sosteniendo que es NPN y que funcione no significa nada. Solo puede funcionar si se genera una corriente inversa en la salida del Arduino al poner la salida LOW , cosa nunca recomendable.

PeterKantTropus: Soy un cabezón y sigo sosteniendo que es NPN y que funcione no significa nada. Solo puede funcionar si se genera una corriente inversa en la salida del Arduino al poner la salida LOW , cosa nunca recomendable.

Hola:

No es cuestión de lo que cabezón que seas. Es NPN y punto, ya que la señal cuadrada que pasa por untransitor, se vuelve inversa.

Polarización de un transistor NPN como Emisor Común

En este caso el emisor está conectado a masa, se dice que este terminal es común a la señal de base y de colector. El utilizado en este caso un BC547 y estos son algunos de sus datos:

Tensión Base-Colector (VCBO) = 50 V Corriente de Colector (Ic) = 100mA = 0,1A

http://perso.wanadoo.es/luis_ju/edigital/qnpn_pnp.html

Saludos.

Bueno me quedo mas tranquilo, pero ahora me queda la duda, eso significa que hay corrientes inversas en la salida del arduino . Cuan conveniente es eso?

Para sacarme la duda hice el siguiente montaje

Es simplemente el ejemplo de blink de arduino mas un amperimetro que arroja 8 mA

Luego simplemente invierto el led Y acá la sorpresa (por lo menos, para mi) el arduino no tiene protección contra corrientes inversas y se puede hacer circular -8 mA, estuve buscando información y no encontré nada, salvo algunas vagas advertencias de evitar corrientes inversas.

Sigo diciendo se puede selecciona la forma de polarizar el opto acoplador.

El fabricante de este modulo de rele, selecciono este método, al cual le puede llamar como quieras, pero el caso es que para encender tienes que enviar un LOW y para desactivar un HIGH, lo que se entiende como lógica inversa, ya que si estuviese conectado de otra manera cuando enviar una HIGH activa y un LOW desactiva seria directa.

PeterKantTropus te enfrascas en terminología que no ayudan a resolver el problema, el opto transistor en su salida es un PNP, pero eso ya esta montado en un modulo, lo que interesa ahora es como hacer para que funcione lo que le explique a Metaconta fue la lógica a utilizar para la programación de sus salidas. Si el tuviese que hacer el montaje y buscar los elementos toda la discusión que creaste le ayudaría, pero desde el principio el dijo que había comprado el modulo. Y si tiene solo 10 pines porque VCC de los optos son comunes y el GND de toda la placa es común también. Y 8 pines para la salida del Arduino.

En este tipo de problema no hay que decirle de donde sale la leche solo darle el biberón.

Sin ánimos de ofender Metaconta.

Metaconta. Como conclusión se desprende que no hace falta conectar la masa del arduino al modulo de reles. En el lavarropas vas a activar por bastante tiempo los reles, te conviene separar completamente los dos circuitos con una fuente externa conectada a jd-vcc y la GND y evitar quemar el regulador de tensión del arduino. Gracias por aguantarme, desde mi punto de vista fue muy enriquecedor.

saludos

Yo tengo una pregunta que no le va a gustar a Metaconta. Esto de la lavadora es lo mismo que el sensor de presion para medir nivel en frecuencia.

Porque habres tantos post que estan todos relacionados con la lavadora? No es mas lógico poner de título Control de lavadora con arduino y luego vas presentando los problemas? El motor con su inversión de marcha El manejo de relés El sensor de nivel. y seguiremos con 4 o 5 post mas que estan todos relacionados entre si pero los pones todos como disociados.

Es para seguir el hilo no para criticar por criticar.

Se entiende el punto?

LOGICA INVERSA Y algo mas, cuando detectas com bien te dijo MAX_Saeta que esto es lógica inversa tienes una alternativa simple para trabajar que no hace que tu cerebro entre en cortocircuito como me ocurre a mi cuando debo pensar al revés. Yo uso esta técnica que la aprendí de uno de Uds.

Simplemente escribo todo como estoy acostumbrado y luego uso ! para negarlo

Entonces esto esta bien

digitalWrite(5, HIGH);

pero es lo mismo que si fuera logica directa

digitalWrite(5, !LOW); // el ! niega lo que pones luego

Hola PeterKantTropus:

Este módulo de 8 relé lo compré porque me informé en alguna parte de Internet que se puede añadir 5V, 12V y 24VDC con fuente alimentación externa. El otro módulo viejo que me querían vender no se puede hacer y tampoco tenía optoacopladores. Tampoco tiene Jumper.

Supuestamente es este su esquema.

Tiene que ser conectado así y sin el Jumper puesto. Antes de hacerlo tengo que saber que es así realmente antes de quemar algo. Como pueden ver en el esquema de abajo, Arduino solo enciende los Led mientras activa el optoacoplador. Después del opto están los 24 VDC. Estos relés aguantan hasta 30 VDC, las bobinas, claro.

Espero que se entienda lo que quiero decir. Como no encuentro el esquema oficial, me ariesgaré solo introduciendo 5 VDC y poco a poco aunmento de tensión regulable. No afirmo que así sea el esquema de arriba, creoq ue es así, quiero que me lo confirmen.

Buenas surbyte: Sobre las preguntas, entendido, todo en el mismo tema. En cuanto a lo de negado, está bien como lo dices que no se me había ocurrido. Así me ahorro comprar dos 74HC14 para no volverme loco, sobre todo en el futuro que no se ni lo que hice. ;) Buen truco de la programación.

Vamos haber si esto sigue adelante.

A mi me parece correcto. Sobre alimentarlo con distintos voltajes, se me ocurre que el diodo marcado como D1 debe ser un Zener (limita el voltaje ) pero cuando mas te alejes del valor propio del Zener mas calor va a disipar.

"Estos relés aguantan hasta 30 VDC, las bobinas, claro." yo no tengo tan claro que las bobinas del rele aguanten 30vdc ,el voltaje de la bobina lo marca el modelo ,que en la foto es el SRD-05VDC y esos 30vdc creo que es el voltaje maximo de conmutacion en continua de los contactos del rele,otra cosa es que la placa la puedas alimentar con varios voltajes,eso no lo se,pero a la bobina le tienen que llegar 5v: http://elecfreaks.com/store/download/datasheet/breakout/Relay/SRD(T73).pdf

Lo que dice la especificiación del RELE es que sus contactos soportan 10A a 250VAC 10A a 125VAC 10A a 30VDC 10A a 28VDC

No que se puede alimentar el rele con 30VDC ni 28 ni otra cosa. Se debe usar 5V

No se que pasa con este post, cada vez ideas mas locas que la anterior.

El rele dice SRD-05VDC, eso quiere decir que se alimenta con 5 Voltios DC. NADA de 24 V. Y mucho menos de Zeners.

D1 es un diodo normalmente 1N4001 o 1N4007, en polarización inversa. Esto es para evitar fallos en contra inversión de polaridad. Mas info AQUI.

Por lo menos mi placa de reles Ywrobot tiene diodo Zener de montaje superficial (con una lupa se ve perfecto). Y para los que no lo sepan un diodo zener en polarización directa funciona igual que un diodo común.

Saludos.