Estoy tratando de reducir la potencia consumida por el microcontrolador pic16f1618, y por lo tanto pensé en usar SLEEP (). Todas las interrupciones, como el temporizador y el pin están deshabilitados. El código se genera con la ayuda de MCC (configurador de código). Se comenta la llamada de función al temporizador y la inicialización del pin. El microcontrolador está funcionando a 16MHz. Estoy midiendo la corriente consumida por el microcontrolador en dos circunstancias.
- Solo hay una función main () después de la inicialización del sistema, hay un código para leer un pin dentro de main (). - la corriente consumida es 8.4mA
- Hay SLEEP () después de leer el pin en main (). - la corriente consumida es 6.6mA
El pic16f1618 se alimenta a través de un chip de administración de batería, bq40z60. El multímetro se coloca entre la fuente de voltaje de 12 V y el voltaje de entrada del chip de la batería. Por lo tanto, la corriente medida es un total de la corriente consumida por el chip de la batería y pic16f1618. BQ40z60 consume un máximo de 1.8mA.
Aunque hay una reducción en el consumo actual, no es significativo. La hoja de datos documenta en nA. Teniendo en cuenta que los pines no son entradas, el consumo de corriente debe estar al menos en uA. ¿Hay algo que necesito mirar?