El voltaje negativo empuja al AVR a nuevas alturas
Si decimos que un hacker es alguien que busca un problema "resuelto" y aún puede encontrar varias soluciones alternativas, entonces [Charles Ouweland] cumple absolutamente el grado. No es que necesitáramos más pruebas de su crédito de piratería dado lo que vimos de él antes, sino que simplemente nos escribió para contarnos un problema interesante que creemos que es un ejemplo perfecto del principio. Quería manejar una pantalla LED de siete segmentos recuperada con un microcontrolador AVR, pero solo había un problema: la pantalla necesita 15V pero el AVR solo es capaz de 5V. ¿Entonces lo que hay que hacer?
Como resultado, el primer paso para resolver el problema fue verificar si realmente hay un problema para empezar. [Charles] Experimenté un poco y descubrí que la pantalla en realidad no necesitar 15V funcionaría, y en realidad se iluminaría bastante bien con solo 6.5V. Esto bajó la barra lo suficiente, pero aún estaba demasiado alta para operar directamente desde el chip.
Había varias formas comunes de resolver este problema, de las que sin duda el lector de La-Tecnologia es muy consciente. Pero [Charles] Quería tomar el camino menos transitado. Más específicamente, la ruta con la menor cantidad de elementos adicionales que tuvo que colocar en su PCB. Su objetivo era encontrar la forma más fácil de convertir su 5V-AVR en una luz LED de 6.5V, y finalmente se le ocurrió una solución muy inteligente que algunos ni siquiera sabían que era posible.
Razonó que si conectaba los pines de origen de dos MOSFET BS170 a un voltaje de -1,5 V, incluso cuando el pin AVR sería 0 V, todavía obtendrían 1,5 V. Esta "escalera" virtual significaba que una vez que el pico del AVR fuera alto (5 V), el voltaje relativo sería en realidad de 6,5 V y suficiente para alimentar sus LED. Por supuesto, el único problema con esto es que necesita tener una fuente para -1.5V.
Obtener un voltaje negativo generalmente requeriría agregar más elementos al diseño (lo que primero evitó), pero luego tuvo otra idea inteligente. Para extraer el truco, en realidad alimenta el AVR 6.5V, pero aumenta el voltaje de tierra en 1.5V agregando dos diodos 1N4007. Por lo tanto, el AVR obtiene voltaje dentro de sus capacidades y, sin embargo, puede suministrar 6,5 V relativos a los LED.
Uno podria decir [Charles] tomó el Kobayashi Maru acceso, y simplemente redefinió las reglas del juego. Pero tal es el poder de la confusa tensión negativa.
solipso dice:
Agregar tres diodos entre un pin de micro-tierra y 0V resolvería el problema.
chango dice:
¿No hicieron eso?
daviderepetto dice:
¿Pero no fue eso exactamente lo que hizo ... y con solo dos diodos?
tgt dice:
lol encontré el tl; Dr
apodado dice:
Hice algo similar con compañías no ferroviarias que ferroviarias que funcionan con una sola batería. Se cortaba cuando la señal se acercaba a 0V, un par de diodos resolvió el problema 🙂
Genki dice:
Mattel Electronics utilizó el mismo diseño para obtener un riel negativo en sus sistemas Intellivision de 1979. 3 diodos para alcanzar alrededor de -3,3 v; https://console5.com/wiki/Intellivision#/media/File%3ASylvania-Intellivision-Power-Supply-Schematic.png
tekkieneet dice:
También se podría hacer con el microcontrolador sin cambiar el lado de tierra. Una vez que desee conectarlo a dispositivos externos y eso requirió un riel de tierra de 0V, por ejemplo, una serie TTL, USB. etc.
Por lo general, los transistores NMOS son un poco más fuertes (es decir, menos caída de voltaje), por lo que se usarían para impulsar una carga (pin negativo de LED) en "0" lógico. Se puede usar un divisor de voltaje para nivelar un interruptor para controlar un recipiente de hielo PNP en el riel positivo común.
Independientemente del enfoque, tiene la opción de dejar que el humo salga del micro si / si su LED se filtrara cuando se apaga / acorta. Sin la caída anterior, el pin de E / S ve el voltaje total del otro riel, que está fuera de las especificaciones de voltaje máximo. Reemplacé una luz LED para saber que pueden tener un cortocircuito.
Lucas dice:
¿Por qué tuvo que lidiar con todos los problemas para crear un voltaje negativo cuando podía colocar los diodos en el lado de suministro positivo de la MCU y simplemente bajar los LED?
Los 1,5 voltios restantes no excederían el voltaje de umbral de un LED y no fluiría corriente. Poner el pin en estado Hi-Z reduciría aún más el voltaje residual a aproximadamente 0,8 voltios porque tendría que pasar el diodo de protección de entrada del chip.
El AVR puede absorber más corriente que una fuente de todos modos, por lo que tensaría menos el componente.
SparkyGSX dice:
Parece que los diodos están conectados como 2 juegos de 15 en una configuración de cátodo común dentro de la pantalla, por lo que no puede hacer eso. De lo contrario, sin embargo, no habría tenido que cambiar tanto el lado alto como el lado bajo.
SparkyGSX dice:
Esto solo funciona si la puerta de umbral MOSFET es mayor que 1,5 V; la hoja de datos para el BS170 dice 0.8V mínimo, 2V típico, 3V máximo, y este umbral de puerta disminuye con el aumento de temperatura. Es posible que algunos conduzcan a 1,5 V, un diodo en serie con una resistencia de tierra resolvería eso.
Pensé en usar un capacitor y algunos diodos para cargar una bomba para cada salida de alto rendimiento, pero eso aún requiere alrededor de 45 partes adicionales para 15 canales (o 30 si puede usar diodos SMD duales).
Lucas dice:
El umbral se define como el límite en el que pueden fluir 100 µA de corriente entre una fuente y un drenaje. El MOSFET es básicamente una resistencia controlada por voltaje.
En esta aplicación no importa si hay corrientes fluyendo, siempre que sea lo suficientemente pequeña para que los LED no se enciendan visiblemente.
rebobinar dice:
Y cuánto crees que es necesario para que sea visible. Hice algunas pruebas hace aproximadamente un año, y 1 millón de veces menos actual que el 20mA común: 20nA es muy poco, no puede ver eso. Pero 50nA es visible (en la oscuridad). 50 uA es lo que quiero decir con las pieles que vendo como indicadores.
Lucas dice:
Aproximadamente 1 mA generalmente solo es visible para los indicadores LED normales. Si tiene lentes de colores difusos, no verá nada en el rango de microamperios porque el sobre absorbe demasiada luz.
BN BN dice:
Esto depende en gran medida de cómo defina los "indicadores regulares". Usé LED que llamaría regulares y con fines indicativos, y puedes ver el brillo a 100uA fácilmente normal y a 20uA en la oscuridad. Esto fue con lentes difusos de colores.
Lucas dice:
Aprovecho indicadores de 5 mm difusos baratos normales.
http://i.ebayimg.com/images/g/1T0AAOxyM89SblOi/s-l300.jpg
Estos no son particularmente sensibles a la corriente, ni muy brillantes. Son luces indicadoras diseñadas para ser un punto brillante en un dispositivo para indicar su función. Actualmente, la gente los está mezclando con los LED “superbrillantes”, que son los que tienen lentes tintados más claros que en realidad proyectan un rayo de luz, lo cual es realmente molesto cuando los fabricantes los colocan en productos e iluminan toda la habitación por la noche.
Lucas dice:
Tenga en cuenta también que la salida de luz LED es más o menos proporcional a la corriente (excepto para corrientes muy altas)
Entonces, bajar la corriente de 20 mA a 20 µA provoca un cambio de contraste de aproximadamente 1000: 1 más o menos. La relación de contraste del papel blanco y la línea creada por un letrero negro bajo la iluminación normal de una habitación es de aproximadamente 150: 1. Pasar de 20 mA a 100 µA es una relación de contraste de 200: 1, que es más que suficiente para que el LED se vea completamente. apagado en circunstancias normales, especialmente si coloca un difusor delante de él.
Daniel dice:
Vi un FPGA dentro de un osciloscopio donde alimentaron casi -5V a través de resistencias en dos pines de E / S.
Según los datos de IBIS, el flujo resultante apenas es aceptable.
¿Alguien tiene alguna idea de por qué hicieron eso? ¿Para contrarrestar un rebote en el suelo?chango dice:
¿Se usaron esos pines de E / S para algo? Es posible que haya algo de inestabilidad en el riel de E / S que se limpió alimentando energía a través de los televisores.
Vojťák dice:
Un condensador de 1 μF así ubicado significa que el microcontrolador recibe un pulso corto de 6,5 V cuando se aplica el voltaje. Una mejor solución sería colocarlo "convencionalmente" entre los pines VCC y GND.
rebobinar dice:
Creo que la solución encontrada no es una buena forma de hacer las cosas. Use un transistor P-FET o PNP para cambiar el lado alto y conducir el otro lado con el arduino o algo similar. Es posible que deba agregar un componente de caída de voltaje de aproximadamente 3 V (por ejemplo, zener o led) en la base o circuito de puerta. De esa manera, las cosas funcionarán de manera confiable. El "1,5 V parece bonito y no enciende al feto" está "de mal humor" y es posible que no funcione la próxima vez. Lo suficientemente bueno para ejecutarlo los sábados por la noche, pero no lo suficientemente bueno para la producción.
charlesouweland dice:
Punto valido. Según la hoja de datos, el voltaje umbral VGS (TH) está entre 0,8 V y 3,0 V. Desafortunadamente, la hoja de datos del BS170 no contiene un gráfico de transferencia para verificar, lo que ocurre a 1.4V. Si tuviera que usar el 2N7000, Philips da un gráfico característico de transferencia de eso. HIGO. 6 en la hoja de datos muestra que la corriente de drenaje todavía es casi cero a 1.4V.
Sin embargo, agrego diodos en las líneas de las puertas para superar este problema potencial, como puede ver en la ilustración del encabezado de este artículo de La-Tecnologia. Pero nuevamente, eso aumentaría la resistencia del MOSFET en el estado ON.
besenyeim dice:
Eso puede matar al micro. Atmega32 funciona a 5v5 * máx. Y los pines IO pueden manejar Vdd + .5V. Cuando enciende un transistor del lado alto y no baja algunos de los LED, el micro puede obtener el 6v5 completo y morir con humo.
* La hoja de datos dice abs. máx. 6v. Además, es probable que los LED no conduzcan por debajo de 1 V, por lo que, en teoría, hay mucha capacitancia. Todavía no dependería de ese reloj.
Greenaum dice:
¿Significa esto que, teóricamente, si la fuente de alimentación fuera de 120 V CC, y usaría una pila de diodos para dejar caer la mayor parte del AVR, podría usar el AVR para cambiar un voltaje tan alto? ¿Cambiar entre los estados "1" y "Z"? Aquí hay algo que no es apropiado. Veo que tiene sentido, pero no hace clic.
jaap dice:
Cambiaría la salida entre 115 (apagado) y 120 (encendido) voltios. O algo más, dependiendo de la estabilidad de voltaje de sus diodos.
Greenaum dice:
No, eso sería 1 y 0, ¿verdad? Alt-Z no es un flujo de corriente.
Anónimo dice:
¿Es High-Z realmente High-Z más allá del voltaje de suministro de uC?
charlesouweland dice:
Alt-Z no es un flujo de corriente solo bajo el supuesto de que el voltaje en el pin de salida está dentro de ciertos límites. En el estado "Z", el voltaje en la salida comenzará en 115 V, quizás 114 V. Si el voltaje es más bajo que eso, el diodo del cuerpo dentro del AVR comenzará a conducir y si la corriente resultante es lo suficientemente fuerte, matará al AVR.
Miguel dice:
Poner diodos en la línea de alimentación de un micro es una idea estúpida. el tiempo y la carga fluctuarán constantemente en la línea de alimentación.
solo tuvo que poner una tapa serial de 0.1uf en el pin de salida, un diodo serial y luego otra tapa de 2.2uf a tierra junto con una resistencia en paralelo de 500k a tierra. PWM la salida y cargaría el límite de 2.2uf. el 0.1uf aislaría el pin de la puerta, por lo que no importa lo alto o lo bajo, el feto no haría nada a menos que la salida se balanceara lo suficientemente rápido como para cargar la tapa, conduciendo así a la puerta.METRO dice:
¿Puedes diseñar un esquema rápido? Suena como una buena idea, pero me cuesta entender tu descripción.
Paul dice:
El circuito referido se conoce como “bomba de carga” y necesita 2 diodos y 2 tapas para aumentar el voltaje.
Y es inútil en este caso particular porque se necesita un voltaje más alto en muchos pines de salida. Eche un vistazo a los tocones de alambre cortos en el segundo esquema. Probablemente vayan a los ánodos de muchos diodos de matriz de pantalla.En este caso, tampoco importa si el voltaje por encima de los "diodos de levitación" fluctúa. Puede estar entre 400 mV y 700 mV y el circuito seguirá funcionando. Muchos microcontroladores también se sienten cómodos con los voltajes de alimentación fluctuantes. Muchas ucs de 5V se pueden utilizar desde 5V5 o 6V0 hasta 2V o, a veces, incluso menos.
nombre dice:
¿No se vería comprometido el AVR de 6.5V a voltaje de tierra en el momento de encenderlo antes de que todo se estabilice para dar una situación de 6.5V-1.5V = 5V?
Paul dice:
Sí, esta es una preocupación válida.
Especialmente por el 1uF por encima de los diodos.
Este límite debe ser cargado por la uC, que necesita tiempo.
Sería mucho mejor si este 1uF se conectara como una tapa de búfer adicional directamente sobre los pines de la fuente de alimentación de uC como un condensador de desconexión normal. En ese caso, reduce la velocidad a la que aumenta el voltaje por encima de los pines de alimentación de uC.
== dice:
Resuelva cálculos complicados de un amplificador mosfet con voltajes positivos y negativos,
aumente el voltaje más negativo a 0 V y todos los demás en consecuencia.
todo es relativo si no hay nada más conectado.Cabeza LED dice:
De la misma manera, los LED WS2811 / 2812 fueron operados directamente por ESP8266. Míralo en: https://www.youtube.com/watch?v=letCT3vq8V4
charlesouweland dice:
Otro gran ejemplo del mismo principio. ¡Me encanta cómo reduce simultáneamente 5V a 3.7V y cambia de nivel, usando un diodo en la línea GND y en la línea VCC!
METRO dice:
Y de acuerdo con el título, esperaba que alguien descubriera cómo doblar el circuito del micro a través de sus pines de E / S o de alimentación para aplicar un voltaje corporal negativo y así mejorar el rendimiento. Todo bien.
Paul dice:
Este truco también es útil si desea cambiar algunos fetos MOS poderosos, y el único feto disponible necesita demasiado voltaje en la puerta para cambiar de manera confiable a 5V.
Pero cuando hagas algo así, ponte las gorras sueltas con cuidado.
En el esquema dibujado arriba hay un límite de 1uF sobre los diodos. No se sabe qué hace esto allí, pero las tapas de desconexión siempre deben estar lo más cerca posible del uC y conectadas directamente a los pines uC, no a la fuente de alimentación.
Entonces en este caso van de + 6V5 al Ánodo del cuero superior, y al pin GND del uC. No a la referencia "GND" del resto del circuito.charlesouweland dice:
Buen punto (también mencionado anteriormente por Vojt'ák y nombre) y gracias por sus comentarios. De hecho, si esa tapa es la única tapa, habría un problema durante el encendido, ya que se necesita tiempo para cargar la tapa y durante ese tiempo el voltaje sobre el microcontrolador podría alcanzar hasta 6.5V. Supongo que no lo creo. Afortunadamente, en el diagrama final también hay una tapa de 1uF directamente encima de los pines del microcontrolador y esto elimina el problema.