¿Cuál es un buen diseño de circuito para manejar este relé de manera segura desde un ESP32?

Tengo este módulo de relé: https://www.amazon.co.uk/gp/product/B06XKQQXKW/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1

Quiero manejar los 8 pines de control (conduciendo bajo a 3.3v) desde el ESP32. Creo que cada pin necesita 70 mA según esta hoja de datos: http://datasheetcafe.databank.netdna-cdn.com/wp-content/uploads/2015/10/SRD-05VDC-SL-C-Datasheet.pdf .

El relé es un SRD-05VDC-SL-C que creo que se correlaciona con una bobina de alta sensibilidad de 5v. Eso significa que cada pin consumirá 70 mA para impulsar la bobina, obviamente, esto va mucho más allá de las especificaciones del ESP32. Excepto que esta placa de relés está siendo impulsada por un optoacoplador, por lo que no estoy seguro de si esta es la corriente que se supone que debo mirar.

¿Cómo puedo conducir esto de manera segura usando componentes baratos normales, ya que hacerlo directamente desde el dispositivo estaría superando sus limitaciones actuales? Entiendo que es probable que un transistor NPN esté involucrado, sin embargo, no estoy completamente seguro de cuál es la mejor manera de proceder. Por favor ayuda con el ejemplo de un circuito.

Parecería que ya tiene circuitos de conducción incorporados. Si le preocupa el total de 8x10 miliamperios, considere usar algunos búferes CMOS.
Nunca los usé antes, ¿puedes ayudarme a dibujar un circuito? Creo que estos relés consumen más de 10 mA, por lo que está más allá de la especificación del esp32
@ChrisStratton, además, si ya tiene circuitos de conducción, ¿cuánta corriente consumirá cada pin?

Respuestas (2)

El ESP32 tiene puertos de salida configurables que admiten hasta 40 mA cuando se conduce alto:

ingrese la descripción de la imagen aquíConsulte la hoja de datos .

Todos los puertos se hundirán 40 mA conduciendo bajo (el máximo absoluto es 80 mA). El valor predeterminado, como se muestra, es de 20 mA para un nivel alto.

Conecte la señal VCC al relé 5 V VCC, y el optodiodo en serie con DSx garantiza que el pin ESP32 no se pueda tirar por encima de unos 2,5 V.
Si quiere asegurarse absolutamente de que el voltaje no pueda aumentar, entonces podría agregar, digamos, un Resistencia de 10k Ohm de cada salida que use a tierra.

Hay muchos derivados de la placa de relés que ha elegido y muchas de las hojas de datos especifican que funcionan con niveles de señal de 3,3 V. Esto entonces le da un circuito de entrada como este:

esquemático

simular este circuito : esquema creado con CircuitLab

Hola Jack. Bien, esto ayuda, pero en términos prácticos, tengo un pin GPIO y tengo mi relé que tiene 8 pines de señal, un VCC y un GND. Estoy alimentando el relé externamente. Entonces, ¿qué conectaría entre mi pin GPIO y el pin de señal para que esto funcione? Por lo que puedo ver, esto es básicamente conectar el pin GPIO directamente al pin de señal en el tablero de relés.
Además, el relé se señala conduciendo BAJO.
Como mostré, simplemente puede conectar el pin DIO al pin de señal... su VCC para la placa es de 5 V, que supongo que ya tiene. El circuito que mostré tiene una resistencia adicional a tierra que garantiza un buen Vf tanto para el LED como para el diodo en serie. ¿De qué otros riesgos cree que necesita protegerse?
Jack-muchas gracias. Bueno, esto puede parecer algo tangencial a nuestra discusión, sin embargo, este problema de github de la biblioteca ESP32 hizo que el mantenedor de la biblioteca creyera que estoy manejando el relé incorrectamente... y por lo que puedo ver, lo estoy manejando como usted especifica: github . com/earlephilhower/ESP8266Audio/issues/65
Además, creo que este relé necesita 70 mA para conducirlo. Es un SRD-05VDC-SL-C que creo se correlaciona con una bobina de alta sensibilidad de 05v. Eso significa que cada pin consumirá 70 mA para impulsar la bobina, obviamente esto va mucho más allá de la especificación para el ESP32, de ahí mi pregunta.
Completamente incorrecto... mira la placa y verás que el relé es accionado por un transistor, por lo que la corriente del relé no fluye desde el pin DIO. Por supuesto, deberá suministrar la corriente de los relés (para 8 relés) por separado.
Está bien, sí, ya veo. Me gustaría controlar el pin del relé a través de un búfer cmos HCT244N, ya que creo que puede consumir menos del Esp32 ya que el consumo actual me está causando problemas. ¿Pueden ayudarme a establecer cómo puedo usar este chip para respaldar mi pregunta?
No, no necesitas un amortiguador. El relé se activa mediante una señal a tierra...es decir, absorbe corriente. Esto de ninguna manera afecta su unidad de salida ESP32 y NO extrae corriente de la fuente de alimentación ESP32 (3.3 V).
Jack, ¿puedes leer detenidamente este problema relacionado si lo que dices arriba es el caso?: github.com/earlephilhower/ESP8266Audio/issues/65
Yo diría que earlephilhower está mal, no necesita configurar la potencia de la unidad DIO para absorber la corriente. Sin embargo, tiene razón en que está utilizando el pin de tierra ESP32 (y sus pistas de PCB asociadas). Podrías tener pistas muy delgadas y obtener interferencias cuando hundes 40 mA+, pero lo veo poco probable. ..... configure una prueba para su tablero de relés .... cortocircuite el pin de señal a tierra usando un multímetro .... eso le dirá la corriente máxima que debe absorber el pin DIO. Si eso es menos de 20 mA, simplemente no veo que sea un problema.

En palabras simples, use

  1. un optoacoplador donde el lado del fototransistor pasa corriente desde la propia fuente de alimentación. PC817 es una buena opción, o
  2. un mosfet como BS170 para tal operación. Los circuitos para arduino y BS170 están fácilmente disponibles en línea.