Cambiar el transistor con un bajo voltaje y corriente

Estoy diseñando un circuito que utilizará una combinación de interruptores y resistencias para permitir que un microcontrolador identifique qué interruptor se presionó en función de la lectura de voltaje y realice una acción específica del interruptor. El diseño que se me ocurrió implica el uso de un transistor para activar un relé, que alimenta el microcontrolador. Cuando se enciende el microcontrolador, tira de un pin alto para hacerse cargo de la alimentación del relé. Cuando finaliza la acción, el microcontrolador baja el pin, desactivando el relé y cortando la alimentación al microcontrolador.

Probé el circuito con un interruptor y un divisor de voltaje para simular la combinación de resistencia más grande/voltaje más bajo de mi conjunto de interruptores. El voltaje que calculé en el transistor es de 1,6 V y la corriente es de 0,017 mA. Los valores altos de resistencia son necesarios ya que necesito aproximadamente un diferencial de 0,2 V entre interruptores. El problema es que no se activa el transistor (funciona si le doy de comer 5V directamente).

Mi pregunta: ¿Se debe a que la corriente es demasiado baja? ¿Cómo podría rectificar esto (aparte de disminuir las resistencias)? Si hay un mejor enfoque para este problema, me encantaría escucharlo también.

esquema de circuito que no funciona

Editar

El diagrama omite los otros 15 interruptores y resistencias por motivos de simplicidad.

Este es un circuito para un marco de imagen que realizará acciones específicas según el botón que se presione. Esto funcionará con baterías usando 6 baterías tipo D, montadas en la pared. Me gustaría tener meses, si no años, de funcionamiento antes de tener que reemplazar la unidad. Mi Arduino con un escudo adjunto (con el uso de una fuente de alimentación MAX667 en lugar de la original) consume 45 mA a baja potencia. El Arduino estándar no entra en modo de bajo consumo aunque con un programador el chip puede modificarse para entrar en modo de bajo consumo y consumir nA de corriente. A 45 mA, las baterías durarán unos 11 días (266 horas para una batería de 12000 mAh). De ahí el requisito de que la escalera resistiva encienda el dispositivo.

BC337-40 ha garantizado Beta en el rango 250-600. (La familia es BC337, BC327, BC807, BC817)
PERO un MOSFET solo necesita voltaje para disparar. \\Su interruptor de encendido puede ser un MOSFET en lugar del rea;y/
Colocar el relé en el emisor le da una ganancia de voltaje de ~~ de 1
Es un poco heath-robinson, todo esto... ¿ofrece mucho beneficio real sobre un microcontrolador de baja potencia que siempre está encendido pero en reposo la mayor parte del tiempo?
@pjc50 ¿Qué tienes en contra de los excelentes productos del Sr. Robinson? :-). | Los problemas tienen más que ver con la implementación. Bien hecho esto puede tener ventajas y costar muy poco. El relé debe ser un MOSFET. El cct de Kurt va en la dirección correcta y está bien como ejemplo, PERO el interruptor del lado bajo y el procesador flotante alto fácilmente causarán problemas. Poner el MOSFET en el lado alto y usar un BJT de gelatina operado por interruptor u otro FET para operar el FET del lado alto es la mayor parte de lo que se necesita. El drenaje puede estar tan cerca del cero real que no se puede medir.
@pjc50 - ... El procesador en suspensión puede fallar e incluso los microamperios pueden destruir, por ejemplo, la batería de iones de litio si la batería se agota y luego se deja de lado durante meses (puede suceder, depende de la aplicación).
Busqué corriente de fuga en un 2n3904 (aleatorio). 50 nA. Luego miré un "XLP" PIC18F24K22. Corriente de reposo 20 nA. Mmm.

Respuestas (6)

Sí; En el mejor de los casos, la hFe de un BJT será de aproximadamente 100, lo que significa que sus 0,017 mA se convertirán en 1,7 mA, lo que no es suficiente para alimentar la bobina del relé.

También hay otro problema: la corriente que sale de un Arduino no será suficiente para impulsar la bobina de un relé, ya que la especificación típica es de 25 mA por pin, y los relés típicos usan 35-100 mA de corriente para sus bobinas.

Sin embargo, cuestiono su suposición: ¿cuál es el "0.2V" que necesita para el interruptor? ¿Qué crees que significa eso? ¿De dónde viene este número? Específicamente, cuando el interruptor está abierto, la brecha de voltaje a través del interruptor será más o menos VCC, ya que la resistencia del interruptor será casi infinita. Cuando el interruptor está cerrado, el voltaje a través del interruptor será cercano a cero, ya que el interruptor tendrá una resistencia cercana a cero.

Hay varias soluciones al problema central de "cómo encender un microcontrolador con un botón y luego mantenerlo encendido hasta que esté listo". Puede usar un MOSFET de canal N de lado bajo para encender la bobina del relé. Habría un menú desplegable en la puerta MOSFET, y el interruptor lo subiría a VCC. La salida digital de la MCU también se conectaría a esta compuerta MOSFET, con una resistencia limitadora de corriente que es más baja que la desplegable, pero lo suficientemente alta como para no interferir con el interruptor cuando está baja. Sugeriría 10 kOhm para el pull-down y 1 kOhm para la resistencia de pin digital, y el interruptor va directamente de la puerta MOSFET a VCC. Tenga en cuenta que la MCU debe poder tirar de la puerta MOSFET tanto hacia arriba como hacia abajo, por lo que un diodo no funcionaría en ese caso.

Si puede ser más específico sobre lo que realmente significa el requisito de "0.2V" y de dónde proviene, eso también sería útil. Casi todas las especificaciones de voltaje tienen que ver con las clasificaciones de aislamiento, y 0,2 V no está dentro del rango de esas. Otras clasificaciones provienen de espacios de arco, y también son típicamente de 16 V o más. Aparte de eso, el principal factor importante para los interruptores es la cantidad de corriente interrumpida, y eso generalmente se clasifica en al menos docenas de miliamperios.

Pensando en ello: ¿Es la razón por la que necesita un diferencial de 0.2V "entre interruptores" que desea usar un ADC para averiguar cuál de los muchos interruptores se usó para iniciar la MCU? Si es así, para 5 V, se logra un diferencial de 0,2 V con una relación de resistencias, en lugar de valores absolutos. Una resistencia de 24 ohmios y una resistencia de 1 ohmio dividirán 5 V en 4,8 V y 0,2 V, al igual que una resistencia de 24 kOhm y una resistencia de 1 kOhm dividirán 5 V en 4,8 V y 0,2 V, ¡aunque con diferentes cantidades de corriente a través de ellas!

El diferencial de 0,2 V está ahí para que mi ADC pueda detectar con precisión qué interruptor se presionó (por ejemplo, 5 V, 4,8 V, 4,6 V, 4,4 V, 4,2 V). Edité mi pregunta para explicar más lo que estoy tratando de hacer. El diagrama omite los otros 15 interruptores y resistencias por motivos de simplicidad.

Hay muchos problemas con su circuito que otras personas han mencionado. No voy a repasar esos problemas, sino que les presentaré una alternativa.

Cuando dices esto:

Estoy diseñando un circuito que utilizará una combinación de interruptores y resistencias para permitir que un microcontrolador identifique qué interruptor se presionó en función de la lectura de voltaje y realice una acción específica del interruptor.

Parece que está tratando de implementar un circuito de escalera resistivopara que un pin del ADC pueda determinar diferentes pulsaciones de botón por el voltaje resultante. Esta idea no tiene nada de malo, pero no la has incluido en el esquema. La única línea que va a su ADC es la del botón "encender la MCU", lo cual no tiene sentido ya que la MCU sabrá que se presionó este botón porque ya está encendido. Si está tratando de usar este botón para encender inicialmente la MCU, así como un interruptor para realizar una acción una vez que la MCU está encendida, esa es una historia diferente. Sin embargo, no creo que sea una buena idea si incluye este interruptor como parte de una escalera resistiva. Como lo mencionaron otras personas, el transistor está impulsado por corriente y no está siendo impulsado lo suficientemente fuerte como para encenderse por completo. Agregar más botones que generarán diferentes niveles de voltaje solo complicará aún más este problema.

También estoy confundido acerca de su necesidad de un diferencial de 0.2V a menos que se refiera a los niveles de voltaje que se alimentarán al ADC. Pero eso prueba aún más que debe mantener este botón de "encendido" fuera de ese lío. Otro problema además de la ubicación del relé y tratar de conducirlo desde el pin MCU es el uso del relé en conjunto. Parece que está haciendo esto para ahorrar energía al mantener la MCU apagada a menos que necesite hacer algo. Pero los relés consumen constantemente bastante corriente solo para mantener la bobina activada.

Echa un vistazo a este circuito:

Potencia MCU controlada

Cuando se presiona, el botón SW1 pondrá VCC en la puerta del transistor FET. Esto "encenderá" el FET, conectando la MCU a tierra. Una vez que la MCU está encendida, puede habilitar PINx como una salida alta que mantendrá la puerta del transistor alta y feliz. La resistencia R2 está allí para mantener la compuerta baja cuando se supone que debe estar baja, y R1 protegerá el pin MCU durante el tiempo que esté bajo y se presione el botón. El capacitor C1 debería ayudar a que el interruptor rebote para que el transistor no se encienda y apague rápidamente. El transistor debe tener una puerta de nivel lógico (umbral de voltaje de puerta a fuente de menos de VCC) para garantizar un funcionamiento adecuado.

Sus otros interruptores y resistencias pueden luego alimentarse a un canal ADC para cualquier otro propósito que tenga para ellos.

Cuando la MCU está lista, puede reducir el PINx. Una vez que el capacitor C1 se haya descargado, el transistor se apagará, desconectando la MCU de tierra.

El método general es bueno. Tener un procesador flotante conectado al lado alto es más difícil de manejar cuando está apagado. El uso de MOSFET de lado alto más cualquier otra cosa que se necesite hace la vida más fácil.
@RussellMcMahon Muy buen punto.
Edité mi pregunta para explicar más lo que estoy tratando de hacer. El diferencial de 0,2 V está ahí para que mi ADC pueda detectar con precisión qué interruptor se presionó (por ejemplo, 5 V, 4,8 V, 4,6 V, 4,4 V, 4,2 V).

¿Por qué molestarse con un bipolar y un relé? ¿Qué tal usar un Pch conectado desde la entrada de +5V al pin de suministro Vdd (arduino)? Use un interruptor para conducir la puerta de 5V (apagado) a tierra (encendido). La señal de la puerta se puede bloquear o alternar con un dispositivo lógico de 5 V (p. ej., flip flop tipo D). Elija el PFET de modo que su Vt sea de -1 a -1.5V y un Rds-on (100 mohms o menos) que no caiga mucho bajo la carga de corriente máxima del arduino.

Edité mi pregunta para explicar más lo que estoy tratando de hacer. Mis interruptores emitirán 5 V, 4,8 V, 4,6 V, etc. ¿Funcionará eso con un FET de este tipo?

Hay un gran problema con su circuito: tiene el relé en serie con el emisor, lo que significa que el relé solo puede obtener cualquier voltaje en la base, menos la caída BE de 0.6V o más del transistor.

Para lo que está tratando de hacer, debe colocar el relé en el circuito colector del transistor y usar un segundo transistor impulsado por Arduino para mantenerlo encendido una vez activado. Si realmente necesita operar con corrientes de detección tan bajas, entonces su transistor existente debe ser reemplazado por un Darlington.

esquemático

simular este circuito : esquema creado con CircuitLab

Aparte de mis preocupaciones con respecto a la energía desperdiciada en el relé, esta es probablemente la mejor manera de hacerlo.

Mira mi circuito, puede ser adecuado para ti:

ingrese la descripción de la imagen aquí

https://www.circuitlab.com/circuit/dsyqc8/uc-switching-by-bjt/

Los BJT Q1 y Q2 forman un interruptor electrónico. Cuando se presiona SW1, el microcontrolador obtendrá +Vcc y para mantener el uC alimentado, la salida HOLD uC debe estar alta. Esto funciona incluso con un voltaje de entrada muy bajo.

Yendo en la dirección correcta PERO Q1e debe ser devuelto a tierra y R5 en el colector. Como es necesario, la base debe estar por encima del emisor vy 2 x Vbe PERO espera que uC no pueda llegar allí.
gracias Russel por señalar el error. Actualizaré el esquema

aquí publico el circuito de trabajo (construí yo mismo usando MSP430G2553 con oscilador interno y usé 2XAA EVEREADY cell. Cuando reduje el voltaje del R8 por debajo de 0.8 y nuevamente aumenté a 0.9 o Vcc, el controlador se congela, luego restablecí el controlador incluso usted puede usar temporizador de vigilancia para evitar este problema)

https://www.circuitlab.com/circuit/u9j7dk/uc-switch-by-bjt-1_1/

Ajuste el potenciómetro (R8) para cambiar el voltaje aplicado a la terminal base de Q1 (el interruptor se encendería incluso a 0,9 V a Vcc). No he probado con la señal HOLD uC, podría funcionar porque el voltaje mínimo requerido para encender el interruptor es de 0,9 V (la salida del uC es de aproximadamente 3 V y la caída en D2 sería o.7)