Parece que la mayoría de las personas manejan los relés a través de un transistor en lugar de hacerlo directamente desde un pin de salida digital en un Arduino.
Había conectado el pin de salida directamente a mi relé antes de darme cuenta de esto y funcionó bien.
Hasta ahora, has tenido suerte.
¿Para qué sirve el transistor?
Los puertos GPIO tienden a tener altas impedancias de salida. Esto se traduce aproximadamente a "hay muchos y muchos transistores de potencia relativamente baja dentro del IC que no pueden emitir mucha corriente ya sea porque están diseñados para eso o porque el IC no pudo disipar tanto calor lo suficientemente rápido". También hay muy poca necesidad de emitir mucha corriente, ¿por qué hacer eso (y abrir la Caja de Pandora de "hasta dónde voy? ¿Pongo 1mA? 100mA? 10A? 100A?") Cuando solo puede emitir una pequeña señal ¿Para manejar amplificadores externos?
¿Es para proteger el pin de salida para que no exceda la corriente máxima si la bobina del relé tiene una resistencia demasiado baja?
Esto está en el camino correcto. Más sobre esto más adelante. Y antes, en realidad.
O, ¿es para ahorrar energía aprovechando la amplificación del emisor común?
Si simplemente / ingenuamente agrega un transistor a la salida, usando los mismos rieles de voltaje, esto técnicamente usará más energía, ya que estará usando la salida de corriente del IC así como la corriente de la carga. / p>
¿Para producir menos calor quizás?
Para producir menos calor del IC, con mayor precisión.
En realidad, las salidas GPIO están diseñadas casi exclusivamente para la señalización. En el caso de Arduino, MEJORAN un poco las salidas para que pueda controlar los LED y similares, pero este no es el caso en la mayoría de los microcontroladores.
El transistor hace varias cosas:
(1) Proporciona protección contra cargas de baja impedancia que querrán consumir demasiada corriente. Un BJT y una resistencia se pueden configurar de manera que siempre se sepa el consumo de corriente máximo de la carga, como lo ve el IC. Se puede configurar un MOSFET (mi favorito personal) para que el IC vea una carga de impedancia extremadamente alta, lo que puede ser deseable en este caso. (Nota: los MOSFET tienden a ser más lentos, pero el Arduino no puede ir lo suficientemente rápido para que esto sea particularmente significativo).
(2) Proporciona una protección mínima contra la corriente de retorno (debido a los diodos dentro del transistor externo).
(3) Te permite poner las cosas hambrientas de poder en otro lugar. Los transistores dejan caer el voltaje dentro de ellos, lo que significa que consumen energía y se calientan. Si conduce una carga de 100 mA, un BJT de una etapa quemará 70 mW. Esos 70 mW son bastante importantes para el IC, pero realmente no son significativos para un transistor externo (que puede tener un disipador de calor dedicado si es necesario). En este caso, el transistor externo puede extraer 1 mA del IC (suponiendo un BJT beta de 100), por lo que ahora el CI debe disipar solo 700 µW mientras que el transistor externo se ocupa de los 70 mW.
(4) Permite que el otro circuito tenga diferentes rieles de alimentación. El IC puede funcionar a 5 V, pero es posible que desee controlar una carga de 12 V (como un motor pequeño). Los dos lados del transistor no tienen que tener los mismos rieles, por lo que puede usar esto para vincular los dos lados de un sistema. Esta no es una idea particularmente buena para controlar, digamos, 120V con un microcontrolador de 5V, pero 12V no es un gran problema.
(5) Le permite convertir la salida de 5V en una fuente controlada por corriente si lo desea. Esto es particularmente importante en algunos entornos.
Los transistores son dispositivos mágicos que hacen mucho y MUCHAS cosas muy, muy buenas. Vienen en diferentes tamaños por una razón, y los que están dentro de los microcontroladores son pequeños y solo pueden hacer cosas pequeñas.