Proyecto control de luces con domótica y MQTT

Muy buenas a todos.

Llevo ya unos años metido en la domotica del hogar, hasta ahora con productos Z-Wave, pero desde que empecé con Arduino siempre he querido hacerme mis propios actuadores y sensores.

El caso es que tengo un servidor con Home Assistant para gestionar toda la domótica de casa y quiero domotizar las luces de algunas estancias de la casa con mi propia PCB de Arduino. La idea es poder controlar el encendido y apagado a través de MQTT, pero también desde los interruptores de la pared.

La parte del software la tengo clara, pero en el diseño del circuito me estoy quedando un poco atascado.

Este es el enlace a mi proyecto en EasyEDA, con el circuito, la PCB y el listado de componentes. De electrónica ando algo justito y lo que hay en el diseño son partes de diseños que he visto por ahí, adaptadas a mi propósito.

Me gustaría que alguien que tenga más idea que yo me echara una mano para asegurarme que el diseño está bien y los componentes también, y así poder mandar a hacer la placa.

Una vez terminado y testeado mi idea es dejar el proyecto como público, incluyendo el código del sketch.

Pongo aquí también el esquema eléctrico.

Muchísimas gracias a todos.

Hola @danitetus, seguramente no sabes que hay un Wemos que viene con relay incluido, digo esto porque te ahorrarías algunos dolores de cabeza.
De todos modos lo que estas haciendo no esta bien ni mal. En líneas generales bien pero hay errores.

Cuando tienes dudas por algo, no hay nada mejor que probar y hacerlo tomando precauciones asegura que no quemarás nada. Armas tu modelo, un código como Blink siempre funciona y prendes apagas el rele. funciona o no funciona, simple y sacas tus conclusiones.

Qué esta mal desde mi punto de vista?

Tienes dos leds que suelen tener una caída de tensión de 1.5V en lineas generales y serán alimentados por una salida de 3.3V asi que podríamos afirmar que los dos leds se comen toda la tensión entregada, claro que eso ocurre con una circulación de corriente X.
No hay lugar para Resistencias entonces? claro que si pero esta provocará una caida extra.mmm no me gusta.

En lugar de poner el led en el camino de la salida del WeMOS porque no lo pones del lado del RELE y eso no te va a provocar problema.
Un led de ese lado no tendrá problemas porque el Relé consume corriente y asegurás una buena conmutación del lado del led del optoacoplador.

Fui a la hoja de datos del 4n35 y con 1mA tiene una caida Vf de 1.0 V asi que me previsión anterior fue exagerada. El Led en cambio si está en 1.5V. Te quedaría margen para una R. Aunque no es de mi agrado ni es lo que suelo ver en los esquemas asi que será por algo no?

R = (3.3 - Vled-Vled4n35)/Ipin =

Si Ipin = 5mA Entonces 160 ohms

Esta es mi sugerencia:

No lo sabía pero te terminé dando el esquema del módulo relé que existe. Link

Muchas gracias @surbyte.

Sí que conocía los wemos con módulo de relay, pero los motivos de hacer todo el esquema y montaje por mi mismo son dos: aprender lo máximo posible (con módulos preensamblados a veces no aprendes más que a conectar entradas y salidas), y hacerlo modular, ya que en algunas habitaciones tengo más de 2 circuitos de luces, así podría añadir tantos relés como sea posible.

Intento hacer siempre las pruebas en la protoboard y seguramente lo haga, pero antes de comprar componentes me gusta estar más o menos seguro de que el diseño funciona.

No había caído en que Wemos trabaja a 3.3V, había calculado el voltaje de la salida digital a 5V. Por otro lado en el esquema que me has sugerido, me da la sensación que el LED1 nunca llegará a encenderse, he hecho simulaciones con esos valores y la corriente que pasa por ahí es del orden de uA, insuficiente para el led.

Siguiendo con tu sugerencias, he hecho modificaciones en el proyecto. El LED luminoso de estado lo he pasado a la parte del relé. Por otro lado he quitado el transistor, ya que con el optoacoplador (que ya me sirve de interruptor me valdría ¿no?) y por último he cambiado la polaridad del diodo de protección de la parte del relé, que creo que estaba al revés.

Bueno te felicito por haber dado un salto de calidad al postear debidamente. Se que te costó al comienzo pera ya vas muy bien.

Luego veo que en tu calculo de la R del led del 4n35 debiste haber considerado lo siguiente y a modo de prueba lo hago sin haber verificado tu valor.

R = (3.3-1.0)/10mA = 230 ohms

No se como sacaste 442 ohms

Mas allas de los valores recuerda que existen valores standard y que ni 230 ni 442 son valores conseguibles en el mercado.
Los valores consegibles son 180, 220, 270, 330, 390, 470, 500, etc

Eso no afectará mucho el resultado un poco mas o un poco menos de corriente en el LED, no afecta en nada.

Ahora eso si, siempre verifica cual es la corriente máxima de salida del pin... y eso si es un limitante.

Pero en la salida del 4n35 cometes un error.
Ese transistor no es un transistor que entregue mucha corriente y si va a hacerlo entonces debe darle toda la corriente al led que acabamos de calcular. Eso se llama transferencia de corriente y esta en la hoja de datos.

Un buen diseño daría una corriente entre 1 y 5 mA que no serán suficientes para exitar led y Relé. Asi que vuelve a redibujar tu esquema y usa lo que te he sugerido.

Gracias por la felicitación, si que estoy intentando hacer las cosas mejor :wink:

A ver por partes:

  • He sustituído el 4n35 por un EL357N, es más pequeño y solo tiene 4 patillas (el 4n35 tenía 6 pero solo se usaban 4)
  • También he corregido el valor de la resistencia R1A y R2A (no se de donde me salieron los 442 ohms)
  • He añadido un NPN en la salida del optoacoplador (el S9013 120-200). Espero que este si me de suficiente corriente para excitar el relé y encender el LED (debería)
  • He sustituído los relés por otros que son más pequeños, así puedo reducir el tamaño de la placa.

Me queda la duda de si entre el optoacoplador y el transistor he de meter alguna resistencia o no será necesario. Lo cierto es que me cuesta bastante leer los datasheets ya que todavía no estoy muy familiarizado con todos los parámetros.

Supongo que esto para alguien que controle debe ser una chorrada de proyecto, pero lo cierto es que estoy bastante ilusionado en conseguir que funcione, producirlo y ensamblarlo en una PCB :stuck_out_tongue:

Muchas gracias por todo!

Pero si te lo he puesto clarito porque sigues inventando sin criteio?

Ese transitor jamas va a conmutar el rele
Porque el transitor intermedio no puede encontrar su condicion de saturación que es lo que se busca.

Este es el esquema

Tienes toda la razón @surbyte, no se por que creía necesario usar el optoacoplador cuando con el transistor solo me vale. Pérdoname pero es que hay cosas que todavía se me escapan y voy "cogiendo ideas de aquí y de allá", y aunque intento analizar el funcionamiento, muchas veces no lo consigo. Pero bueno, con mis dos libros de electrónica, youtube y este foro, al final conseguiré hacer algo :confused:

He quitado el optoacoplador, he copiado el diseño que me has pasado y creo que está todo correcto

Lo he simulado en la web de everycircuit y aparentemente el transistor entra en saturación (aunque no he podido incluír todos los parámetros del datasheet

A ver si mañana puedo comprar los mismos componentes (o similares) para hacer una simulación en la protoboard.

A no ser que veas que me he dejado algo.... :o

Muchas gracias por tus respuestas y por tu paciencia!!!

Porque si te pongo un esquema con emisor común te empeñas en poner otro con colector común?

Ese esquema esta mal.
El colector esta a 5V y el emisor a GND.
Cuando sature si lo hace se quema porque no tiene Resistencia limitadora.
El simulado es diferente.

Dibujas una cosa y simulas otra.

Ademas en el esquema donde dices quite esto y agregué lo otro el rele esta en el aire.
Tiene un punto a 5V y el otro?

Wow!!! No me di cuenta de que los 5V iban directos al colector :sweat_smile: ... He modificado tantas veces que ya no se ni lo que hago.

Una pregunta que me hago, ¿Realmente son necesarias las resistencias R1A, R1B, R2A y R2B? Apenas pasa corriente por ellas y quitándolas en la simulación no afecta ni a la intensidad ni al voltaje que atacan a la base del transistor.

Veo que estas muy ancioso y eso hace que pases por alto cosas.
La segunda R de 10k en el esquema que te sugerí esta con un LED. Como tu pones el led en el circuito del RELE nada tiene que hacer en la entrada del transistor.

Ahora veamos el LED. Veo que pones una R de 160 ohms. De nuevo de donde sacas esos valores?
Te recuerdo los valores de las R estan tabulados por la industria y los mas cercanos serán 150 o 180 ohms pero no 160.
Es un esquema y no pasa nada pero cuando lo construyas tenlo en cuenta.

Iled = (5-0.2-1.5)V/160 ohms = 20mA

Bueno tendrás buen brillo.

@surbyte es cierto que los valores comerciales de las resistencias son los que tú dices, pero en el momento de buscar los componentes en LCSC vi que si que existían resistencias con esos valores (y muchos más que se supone que no son comerciales), como por ejemplo esta (que es la que yo había seleccionado). ¿Debo evitar comprar estos valores y ceñirme a los estándares?. Los 160 ohms me salen de (5V-1.8V) / 0.02.

Está claro que no habrá gran diferencia con una resistencia de 180 ohms, o incluso de 150 ohms, pero ya que encontré una de 160...

¿Tú la cambiarías?

Si utilizas un led de alta luminosidad, de color verde con una sola resistencia, se puede controlar el relé y tener señalización, alimentando el led en serie con la base-emisor. El transistor está saturado al máximo, la corriente de base es del orden de 1mA. Con esta corriente y en color verde el led muestra brillo más que suficiente para señalizar en interiores muy iluminados.
Así lo monte en un esp12f y cuatro reles...

Captura.PNG

Saludos.

Captura.PNG