¿Este circuito ADC es seguro cuando mi Pro Micro está apagado?

Tengo el siguiente pequeño circuito:

ingrese la descripción de la imagen aquí

Mi Pro Micro utiliza este divisor de voltaje para detectar cuándo CB_VCCestá encendido. CB_SENSEconduce a un pin ADC en mi Pro Micro.

¿Este circuito es seguro para cuando el Pro Micro está apagado, pero CB_VCCestá encendido? Estoy tratando con 3.3V (eso es lo que alimenta Pro Micro y CB_VCC). ¿Necesito una resistencia en serie antes del pin ADC?

No tengo un razonamiento técnico para respaldar esto, pero por experiencia, siempre que no aplique un voltaje mayor que el que puede manejar el chip, debería estar bien.

Respuestas (2)

No es una buena idea tener voltajes más altos que el voltaje de suministro en un microcontrolador. De hecho, el controlador tiene diodos de sujeción para proteger las entradas contra voltajes demasiado altos y demasiado bajos, pero es un Bad Habit™ usarlos intencionalmente. C B S mi norte S mi no será superior a 0,67 V y pensaría que esto es inofensivo, pero en la página 378 de la hoja de datos dice bajo Calificaciones máximas absolutas:

"Voltaje en cualquier Pin excepto RESET y VBUS con respecto a Tierra: -0.5V a Vcc+0.5V"

Entonces, incluso ese bajo 0.67 V es demasiado alto. Su instinto puede decir que el voltaje y la corriente son tan bajos que probablemente sea inofensivo, y estaría de acuerdo si la hoja de datos no dijera lo contrario:

"Esfuerzos más allá de los enumerados en "Clasificaciones máximas absolutas" pueden causar daños permanentes al dispositivo . Esta es solo una clasificación de tensión y la operación funcional del dispositivo en estas u otras condiciones más allá de las indicadas en las secciones operativas de esta especificación no está implícita. La exposición a condiciones de clasificación máxima absoluta durante períodos prolongados puede afectar la confiabilidad del dispositivo (énfasis mío )

Por lo tanto, si bien desea correr el riesgo de su proyecto único, no haría esto para mi diseño de 10k/año.

¡Bueno, gracias! ¿Cómo arreglarías el circuito para que sea seguro?
@SimpleCoder - ¿Qué es ese CB_VCC? ¿No puedes apagarlo con el poder del microcontrolador?
Básicamente, la situación es la siguiente: este circuito es parte de un circuito más grande que incrusté en una batería de guitar hero. La batería tiene una caja de control que es lo que normalmente alimenta los circuitos de la batería. La potencia de la caja de control es cb_vcc. El arduino también puede alimentar el circuito de la batería, pero no la caja de control. Tampoco quiero que la caja de control alimente el arduino, así que uso diodos Schottky. Voy a publicar un esquema en sólo unos segundos.
Aquí está mi esquema. Tenga en cuenta que esto es para un tutorial y un proyecto de bricolaje, por lo que asumo que la caja de control y Arduino no se encenderán al mismo tiempo. i.imgur.com/gJsnX.png
@SimpleCoder: este tipo de esquema es difícil de leer. Siempre tengo que escanear todas las partes para ver si aparece la red que estoy viendo en ellas. Un esquema más común mostraría esto más claramente. De todos modos, según tengo entendido, ¿está usando CB_SENSE solo para detectar el voltaje, no para medirlo? Si ese es el caso, ¿no puede conducir un transistor NPN o MOSFET desde CB_VCC y usar un pullup a VCC? Luego, un nivel bajo en el colector de NPN significa que CB_VCC está presente. Apagar el Pro-Micro también hará que el pullup vaya a cero.
@SimpleCoder: R6 también es un problema, incluso más que el divisor. Obtiene el CB_VCC completo en la entrada del Pro-Micro.
Perdón por el esquema. Tiene razón, solo necesito detectar CB_VCC, no medirlo. Pero, esa característica es innecesaria en lo que respecta a mi proyecto. Creo que lo descartaré para evitar más errores de mi parte. En cuanto a R6, ¿puedo reemplazarlo con un transistor PNP en el lado de Arduino? Lo único que hace Arduino con esa línea es tirar de ella a tierra para habilitar los búferes. R6 está ahí para deshabilitar los amortiguadores elevando el OE cuando la caja de control está alimentando el circuito.
@SimpleCoder: ¿por qué no puede conectar CB_VCC directamente a las entradas de habilitación de búfer 74125? Luego se desactivarán si la caja de control tiene energía.
@SimpleCoder - Está bien, ya veo. Otra idea: el Pro-Micro es consciente del estado CB_VCC a través de la entrada CB_SENSE, ¿verdad? Entonces, ¿no puedes usar una de las E/S libres para controlar las habilitaciones?
Eso es lo que hago actualmente. Cuando el Arduino está encendido, reduce el OE. Dado que este es un proyecto de bricolaje, asumo que el usuario no ha conectado el Arduino mientras la caja de control está encendida. Creo que solo obtendré una versión alta activa del chip y vincularé OE a Vcc en el Arduino con un menú desplegable a tierra.
Gracias por toda su ayuda, realmente lo aprecio (incluyendo mis preguntas secundarias).

Creo que Michael tiene razón. Aquí hay algunos razonamientos para respaldarlo.

Cuando CB_VCC = 3,3 V, el circuito equivalente de Thevenin conectado al pin ADC es una fuente de 0,67 V en serie con 7,96 k Ω . La corriente máxima que este circuito podría suministrar al pin ADC es de aproximadamente 85 m A .

Realmente no dijo en qué se energizaría CB_VCC. Puede que no sea 3.3v.
Es 3.3v, penúltima línea de mi pregunta.
@Alfred Centauri: esto suena bien, gracias por responder. Escuché que si un pin es algo así como 0.5 v mayor que la potencia del chip, los diodos de protección inversa en el pin conducirán la corriente hacia el chip, encendiéndolo. Dado que la corriente que el circuito puede proporcionar es tan baja, ¿es por eso que esto no ocurre?
Del mismo modo, si tengo una resistencia de 10k tirando de un pin digital mientras el micro profesional está apagado, ¿eso causará algún problema?
@SimpleCoder: la razón por la que el controlador no se enciende de esta manera es que el voltaje es demasiado bajo. Tienes 0,67 V y pierdes 0,5 V en el diodo de protección, así que quedan 0,17 V. Si desea extraer corriente de él, incluso bajaría, a 0 V a 21,8 uA.
@SimpleCoder, ¿cuál es el voltaje en el pin ADC cuando el Pro Micro está apagado y CB_VCC = 3.3.V?
No estoy seguro. El pin se eleva a 3.3v a través de 10k.
Luego mida los voltajes de los pines que se elevan cuando el micro está apagado. Si los voltajes de los pines están dentro de las clasificaciones máximas, debería estar bien para un proyecto único. No es una buena práctica, como señala correctamente stevenh, por lo que si se trata de un diseño que tiene la intención de producir o publicar, debería pensarlo dos veces antes de hacerlo.
Lo único que hace el pin es tirar de la línea a tierra cuando el Arduino está encendido. ¿Se implementaría mejor esto con un transistor PNP?
Bien, el objetivo se ha movido, ¿no? La pregunta original era "¿es esto seguro?". Mi respuesta es que, dado que la corriente es muy baja, es poco probable que los voltajes de los pines excedan la clasificación máxima que puede verificar si simplemente mide los malditos pines en cuestión cuando el micro está apagado . Ahora, está preguntando cómo hacerlo de manera diferente, así que asumo que está renunciando a la pregunta original.
Sí, estaba haciendo preguntas secundarias. Si no quieres responderlas, entonces lo entiendo.
No es que no me interese responderlas, es que si la pregunta ha cambiado, abra un nuevo hilo de preguntas y ahí lo tratamos.
Tienes razón, lo siento. Debería haber creado una nueva pregunta. Aunque creo que lo tengo todo resuelto.