Conmutación de un voltaje dividido con transistor o MOSFET

Tengo un problema que no puedo resolver y necesito ayuda.

Tengo una entrada analógica en un microcontrolador y quiero tener múltiples interruptores que el micro pueda ver y actuar según el interruptor que se presionó. Tengo 5V en los que funciona el circuito. Entonces, 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 tipo ap 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 usando MOSFET y transistores, ¡pero nada de lo que hago funciona! ¡Los valores divididos nunca son correctos!

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

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

Esto es algo que probé y fracasé.

Otro fracaso.

Otro fracaso.

¿Qué MOSFET está usando (el enlace a la hoja de datos es mejor)? ¿Qué voltaje de suministro? (Edite su pregunta para incluir esta información)
Tengo 5v para trabajar y he usado el canal BC327 P, el canal BS250 P
BC327 no es un MOSFET, es un BJT. BS250 debería funcionar, pero tiene Rds (encendido) bastante alto a -4.5 V --- ¿con qué resistencias lo está usando? En este punto, lo mejor que puedes hacer es compartir todo tu circuito. Haga clic en el ícono del esquema cuando edite su pregunta para acceder al editor de esquemas incorporado.
La primera imagen muestra lo que probé con un mosfet... la segunda fue con un transistor... hubo muchos, muchos intentos diferentes y creo que hay algo llamado sesgo de transistor que también probé y fallé... Simplemente no puedo parece obtener los voltajes correctos cuando corto el interruptor a negativo
En su primer diagrama, el símbolo es para un JFET, no para un MOSFET. En su segundo diagrama, tiene el colector y el emisor intercambiados, y el emisor debe estar conectado directamente al suministro. Suponiendo que usó un MOSFET con la fuente conectada al suministro de 5V, el primer diagrama debería haber funcionado, dando 2.5V desde el divisor a tierra. Sin embargo, su medidor es desde el riel hasta el centro del divisor, no a tierra.
Usé lo que el sim tenía disponible. Tengo la BS250 y la 327 como te decía.
@DeanHill Bueno, si usa un martillo porque está disponible cuando necesita un destornillador, seguramente tendrá problemas. Un JFET no funcionará de la manera que desea, simulación o no.
¿Por qué no usar simplemente un divisor resistivo pasivo y omitir el transistor? Podría tener una resistencia conectada en serie con el terminal positivo de la batería/suministro y algunas resistencias diferentes colgando conectadas a sus botones. Luego, según el botón que presione, aparece un voltaje diferente donde se encuentran todas las resistencias.

Respuestas (4)

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

esquemático

simular este circuito : esquema creado con CircuitLab

como pego imagenes
no puedo hacer que este circuito funcione ... no importa lo que cambie el divisor de resistencia para que el voltaje se mantenga cuerdo
@DeanHill, si realiza un barrido de CC en esto (barriendo R2 con el interruptor cerrado), verá que la salida se mantiene cerca de 2,5 V a medida que aumenta la resistencia hasta cierto punto en el que cae relativamente rápido a 0. Hay un rango pequeño de resistencias entre eso obtendrá diferentes valores. Esto es lo que mencioné en mi respuesta sobre un cambio más lento cuando toma su salida del emisor. De esa manera, puede usar una gama más amplia de resistencias para controlar la salida. Haga un barrido de CC en el laboratorio de circuitos, hará que sea más fácil ver este efecto.

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/puerta aumentadas de 10K a 100K (R7 a 10K), los valores son 2.495 y 2.500V.

esquemático

simular este circuito : esquema creado con CircuitLab

Dios mío... estaba tan cerca... me perdí el divisor de resistencia al transistor... y el mosfet... creo que puedo duplicar uno de estos muchas veces para los diferentes interruptores. ¿Puedo pagarte por tu ayuda amigo?
Valor R4 demasiado alto. No yo dando el -1. solo comento
¡Decir ah! Si Spehro tuviera un centavo para todos los que ayudó aquí, podría retirarse :)
@JasonHan, ¿qué te hace decir eso? Debería haber alrededor de 4,3 V en R4 para una corriente base de 0,43 mA menos los 0,7 V/10 K de R3, suficiente para saturar Q1 con una carga de 200 K en el colector.
@JasonHan - beta forzada de ~0.5. Eso es saturación profunda . Tal vez te refieres a R7, en cuyo caso es mejor más bajo.
@JohnD Afortunadamente, puedo retirarme de todos modos, ¡pero gracias!
bueno gracias de todos modos me has ahorrado mucho tiempo
¿Cómo publico fotos en las cajas de comentarios?
@DeanHill Muy bienvenido. No creo que puedas. Puede cargarlo en un sitio y publicar un enlace (puede depender del representante) o agregarlo al final de su pregunta.
¿No puedo hacer que ninguno de sus circuitos funcione? el divisor de voltaje en ambos da el mismo valor en el sim sin importar lo que cambie

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

ingrese la descripción de la imagen aquí

Esto requiere muchos menos componentes y da como resultado una fácil detección del interruptor a través de la lectura del ADC. Ningún interruptor presionado lee un valor de casi 5V. S1 produce un voltaje inferior a 2,5 V, S2 produce un voltaje de aproximadamente 2,5 V y S3 produce un voltaje superior a 2,5 V. Por supuesto, puede cambiar los valores de resistencia para adaptarlos 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 detecta cada interruptor, debe verificar un rango de lecturas A/D para cada uno para adaptarse a la tolerancia de la resistencia y al ruido.

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

Esto debería funcionar bien con el cableado de los interruptores táctiles montados en una placa de circuito. También puede funcionar si los interruptores están conectados de forma remota con cables, pero considere varias cosas. En primer lugar, puede haber ruido en los cables más largos, así que asegúrese de seleccionar las resistencias de manera 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ó resistencias de rango Mohm, las líneas serán más susceptibles a la captación de ruido.

Con interruptores montados de forma remota donde el cable puede ser muy largo o si hay problemas con ESD, sería recomendable no utilizar esta clasificación analógica para la detección de interruptores. En su lugar, cada cambio debe tratarse de 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 conmutación antirrebote con 1 y 0 en lugar de variar los valores analógicos.
  4. Organice recuentos de interruptores más grandes en una matriz para ahorrar pines GPIO.
Esto es realmente inteligente, ¿funcionará si el usuario tiene cables largos como si agregara un botón externo?
@DeanHill esto es básicamente lo mismo que mi esquema sin el transistor como mencioné. Esto debería funcionar bien y ser mucho más sencillo.
Lo digital es lo que estaba tratando de lograr con el uso del mosfet o el transistor porque simplemente no sé cómo la gente los montará y me preocupa que la gente los monte lejos.

Originalmente dijiste que querías usar un transistor PNP y algunos botones diferentes que cortan algo a tierra para producir una salida de 0-5V para enviar a una sola entrada de tu microcontrolador.

Esta es una forma de hacerlo.

esquemático

simular este circuito : esquema creado con CircuitLab

[los valores que se muestran son solo un ejemplo aproximado, debe jugar con ellos y ver qué funciona mejor para su aplicación]

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

Alternativamente, puede poner Ro en el colector y tomar su salida allí, pero no podrá usar un rango tan amplio de valores de resistencia en la base (no estoy 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, podría omitir el transistor y Ro por completo y tomar su salida directamente del divisor resistivo.

¡Esto es increíble! es perfecto, ¡esto es en lo que estaba tratando de convertir el circuito de Spehro! ¡Muchas gracias!
@DeanHill no hay problema, me alegro de haber podido ayudar. Si no le importaría votar por mi pregunta o marcarla como correcta, se lo agradecería.
@DeanHill y tampoco pienses demasiado en esto. Realmente no necesita el transistor allí en absoluto, un divisor resistivo probablemente funcionaría bien y sería mucho más simple / eficiente. Michael Karas mencionó este método anteriormente. Solo incluí el BJT porque dijiste que querías usar uno, apenas está haciendo nada aquí. ¿Por qué quieres agregar un transistor a la mezcla?
hmm... cuando simulo esto, no funciona... no importa qué interruptor presiones, ¿tiene el mismo valor?
La razón por la que quiero el transistor allí es porque me preocupa que la gente lo toque si no usan una correa de tierra con descargas... no quería que dañara el micro.
@DeanHill hmm, verifique dos veces que no haya cerrado varios interruptores a la vez. SW3 ya está cerrado en el esquema anterior, por lo que deberá abrirlo para usar los demás. Con los 3 abiertos, la salida leerá 5V. Con solo SW1 cerrado, cae a 4.778V. Con solo SW2 cerrado, cae a 3.227V. Y finalmente con SW3 cerrado, muestra 731.6mV. Puede jugar con los valores de resistencia (R1/R2/R3) para cambiar estos números. Puede cerrar un interruptor y hacer un barrido de CC en la resistencia conectada para ver cuál sería su salida con diferentes resistencias.
Gracias, de hecho construiré esto, ¡creo que es un problema de multisim! ¡salud Amigo!