Cambio de voltaje dividido con transistor o MOSFET

2

Tengo un problema que no puedo resolver y necesito ayuda.

Tengo una entrada analógica en un microcontrolador y quiero tener varios interruptores que el micro pueda ver y actuar según el interruptor que se presionó. Tengo 5V que el circuito funciona. Así que estoy tratando de obtener diferentes voltajes de 0-5 en la entrada analógica del micro.

Sin embargo, el problema es que quiero controlarlo con un transistor de tipo p o MOSFET para que el usuario pueda hacer un cortocircuito a tierra para activar el voltaje dividido. Me he sentado aquí durante días tratando de resolver esto utilizando MOSFET y transistores, ¡pero nada de lo que hago funciona! ¡Los valores divididos nunca son correctos!

He estado jugando con los MOSFET de BC327 y BS250 para intentar que algo funcione, pero todo lo que intento falla.

Me doy cuenta de que necesito ayuda, ¡así que estoy desechando la posibilidad de que alguien pueda ayudarme!

    
pregunta Dean Hill

4 respuestas

2

Su circuito no funcionará cuando la base del transistor está reduciendo la corriente a tierra. Vuelva a colocar su resistencia y vuelva a intentarlo.

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Jason Han
2

A continuación hay dos métodos. El voltaje simulado para el circuito BJT es 2.497V, para el circuito MOSFET 2.500V.

Con 3 resistencias base / compuerta aumentadas de 10K a 100K (R7 a 10K), los valores son 2.495 y 2.500V.

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Spehro Pefhany
2

No hay ninguna razón para usar un transistor o MOSFET en un circuito de detección de interruptor como este. Simplemente puede conectarse de la siguiente manera:

Esto toma mucho menos componentes y permite una fácil detección del cambio a través de la lectura ADC. Ningún interruptor presionado lee un valor de casi 5V. S1 produce una tensión inferior a 2,5 V, S2 produce una tensión de aproximadamente 2,5 V y S3 produce una tensión superior a 2,5 V. Por supuesto, usted es libre de cambiar los valores de resistencia para adaptarse a su aplicación. Solo recomiendo mantenerlos en el rango de Kohm para que alguna impedancia de entrada en el ADC no cambie mucho los divisores de voltaje conmutados. También tenga en cuenta que cuando detecte cada interruptor, debe verificar un rango de lecturas A / D para cada uno para adaptarse a la tolerancia y el ruido de la resistencia.

Editar: (en respuesta a la consulta de OP sobre cables largos)

Esto debería funcionar bien con el cableado para tocar los interruptores montados en una placa de circuito. También puede funcionar si los interruptores están cableados remotamente con cables, pero considera varias cosas. Primero, puede haber ruido en los cables más largos, así que asegúrese de seleccionar las resistencias para que la diferencia de voltaje de un interruptor a otro sea mucho mayor que el voltaje de ruido. También mantenga la impedancia más baja en el rango de Kohm como sugerí. Si usó resistores de rango Mohm, las líneas serán más susceptibles a la captación de ruido.

Con los interruptores montados de forma remota, donde el cable puede ser muy largo o si existe alguna inquietud con respecto a la ESD, sería recomendable no utilizar esta clasificación analógica para la detección del interruptor. En su lugar, cada interruptor debe ser tratado de una manera digital. El tratamiento digital hace que sea más práctico:

  1. Proporcione sujeción ESD en las señales en el borde de la placa de circuito.
  2. El interruptor de búfer señala si es necesario para proteger los pines MCU sensibles.
  3. Señales de interruptor de rebote con 1 y 0 en lugar de valores analógicos variables.
  4. Organice recuentos de conmutadores más grandes en una matriz para guardar los pines GPIO.
respondido por el Michael Karas
0

Originalmente, dijiste que querías usar un transistor PNP y unos cuantos botones diferentes que ponen en cortocircuito a tierra para producir una salida de 0-5 V para enviar a una sola entrada de tu microcontrolador.

Aquí hay una forma de hacerlo.

simular este circuito : esquema creado usando CircuitLab

[los valores mostrados son solo un ejemplo aproximado, debes jugar con ellos y ver qué funciona mejor para tu aplicación]

Si presiona cada botón uno a la vez, la salida cambiará según la resistencia conectada. Ajustando los valores de su resistencia ajusta la salida. (Esto no siempre funcionará si planeas presionar dos botones simultáneamente, ya que eso pondría las resistencias en paralelo).

Alternativamente, puede poner Ro en el colector y llevar su salida allí, pero no podrá usar un rango tan amplio de valores de resistencia en la base (no está seguro de cuántos valores diferentes necesita en la salida) , y en ese caso el valor de R1 / R2 / R3 variará inversamente a la salida. Con la configuración que se muestra, la salida aumentará con su resistencia y el cambio será más lento (puede hacer un barrido de CC para observar esto).

Por supuesto, puede omitir el transistor y Ro por completo y tomar su salida directamente desde el divisor resistivo.

    
respondido por el Avid Pro Tool

Lea otras preguntas en las etiquetas