Estoy tratando de entender un poco mejor los presupuestos de energía y tengo una pregunta con respecto a las dominadas. Tengo una entrada a un microcontrolador que debe tener una lógica alta en todo momento. El micro se duerme de vez en cuando, por lo que el pull-up interno no es una opción. Parece que sí (wow, eso es grande).
simular este circuito : esquema creado con CircuitLab
Estoy tratando con un sistema de bajo consumo que funciona con baterías (2 baterías AA), por lo que cada pequeño ahorro de energía cuenta. Mi pregunta es cómo averiguar cuánta corriente consume esto. Si solo miro V = IR, estamos hablando de 30 μA, que en realidad es mucho para esta aplicación.
Lo que realmente no entiendo es cómo tener en cuenta el microcontrolador. Supongo que hay algo que debo tener en cuenta de la hoja de datos, pero no sé qué elementos son relevantes.
La resistencia de 100k es de un diseño de referencia, pero ¿hay algo que me impida colocar una resistencia mucho más grande para reducir el consumo de corriente?
Estas son probablemente preguntas básicas, pero soy un tipo de software fuera de su elemento aquí, así que tengan paciencia conmigo.
Fuga
Según algunos comentarios, parece que la corriente de fuga es la especificación del microcontrolador en la que debería estar interesado. A continuación se muestra lo que encontré en la hoja de datos. ¿Es 3 nA el número mágico?
Necesita la corriente de fuga de entrada. Esta pregunta tiene una buena discusión de lo que realmente está sucediendo. Básicamente, los transistores de entrada presentan una resistencia efectiva de megaohmios a gigaohmios y la corriente que fluye será extremadamente pequeña. Esa discusión también dice que generalmente puede aumentarlo a 1Mohm.
Los pullups internos son de 20 a 50 kΩ. Las características típicas se miden con pines como entradas y pullups internos habilitados. Los modos de suspensión afectan el estado lógico del pin de entrada y el consumo de corriente. Pueden y se utilizan en los modos de suspensión. La única diferencia es el valor. Su 100kΩ es más grande y tiene un mejor valor fijo/conocido.
Secciones relevantes. Todos estos se extraen de la hoja de datos de MCU de la serie ATTinyx5, pero son típicos de la mayoría de ATTiny y ATMegas
Hay una compensación en los valores de resistencias altas. Que a su vez las entradas sean más susceptibles al ruido.
Tu calculo de 10 A asume que la entrada del microcontrolador está a tierra y que el voltaje de suministro total está en la resistencia. Pero la resistencia elevará el pin de entrada y prácticamente no habrá voltaje en la resistencia pullup (la mayor parte del tiempo). Por lo tanto, la corriente a través de la resistencia sería cero para un pin de entrada CMOS ideal, después de unos microsegundos de tiempo de carga.
El parámetro clave es la corriente de fuga de entrada, como ha visto en la hoja de datos. Si está tirando del pin hacia arriba, lo importante es la corriente de fuga de alto nivel, y el valor típico de este parámetro es 3nA. No usaría ese valor si realmente le importa el consumo de energía, trataría de encontrar un valor en el peor de los casos en la hoja de datos o usaría la cifra de 20nA (en el peor de los casos si la entrada se eleva a 5V).
De hecho, si la resistencia pullup está en un pin que siempre es una entrada, entonces el valor de la resistencia pullup es poco importante. Podrías usar 10k en su lugar y sentirse mejor acerca de la inmunidad al ruido.
He pasado por este problema y he descubierto que lo mejor es usar el pullup interno. Debe considerar que si coloca la resistencia externa, consumirá 30 uA cada vez que fuerce la salida a nivel bajo. En el futuro, es posible que deba mantenerlo bajo durante más tiempo, y es posible que haya olvidado esa resistencia que absorberá su preciado poder.
Dije que he pasado por esto: también tenía un dispositivo de muy baja potencia para trabajar, y cada corriente se midió en el rango uA-nA para reducir la demanda de energía al mínimo. Cuando usa la resistencia pull-up interna, puede olvidar que está ahí. Si mal no recuerdo, cuando fuerza un nivel lógico en la salida, debe deshabilitar el pull-up.
Nick Alexeev
Wouter van Ooijen
bababooey
alexan_e
chris stratton
bababooey
Transeúnte
dext0rb