Debido a que estos microcontroladores pueden funcionar a 8Mhz y 16Mhz, ¿el consumo de energía es una función lineal de la frecuencia? es decir, ¿el funcionamiento a 8Mhz consume 0.2mA * 8 = 1.6 mA de corriente?
En primer lugar, el 328 puede funcionar a muchas más velocidades; su velocidad máxima de reloj es de 20MHz, y se admite al menos hasta 32kHz, posiblemente más bajo. Cualquier cosa en el medio también es válida.
En cuanto al consumo de energía, eche un vistazo a hoja de datos , en particular el gráfico en la sección 33.1.1 (Características típicas de ATmega328 - > Corriente de alimentación activa):
Comopuedever,lacorrienteaumentadeformaaproximadamentelinealconlavelocidaddelreloj.Enmiexperiencia,hayuncomponente"estático" en el consumo de energía que se agrega al consumo de energía relativo a la velocidad, y esta parte puede dominar a velocidades de reloj muy bajas. Pero esto dependerá de la tensión de alimentación y de los periféricos habilitados.
¿Cuál es la relación entre el voltaje y el consumo de energía? Entiendo que la potencia de CC se define por W = VI; sin embargo, si operara a 3.3 V, ¿no obtendría menos corriente? Sin embargo, no estoy seguro de si esa es una suposición correcta.
Los circuitos integrados basados en transistores generalmente consumen menos corriente a voltajes más bajos; podría aproximarlos como una carga resistiva (lo cual no es del todo exacto, pero es lo suficientemente justo para una estimación). Nuevamente, la hoja de datos tiene un gráfico útil (la misma sección):
Comopuedever,larelaciónesinclusomásfuertequelalineal,tieneunacurvacuadráticaleve.A5V,consumeaproximadamente1mAparaunapotenciade5mW.Alamitaddeeso,2.5V,essolo0.4mA,loquedacomoresultadounapotenciade1mW.Labajatensiónesunanecesidadsilapotenciabajaessuobjetivo.
SupongoquelapotenciadesalidaenumeradatambiénexcluyecualquierpotenciaadicionalqueelchipestésuministrandoalaE/S(esdecir,suministrar10mAaunLEDaumentaríalacantidadtotaldecorrientequeentraenelmicrocontrolador).
Correcto.
Sinembargo,¿ciertasoperacionesdentrodelmicrocontroladorhacenqueconsumamásenergía?EstoyespecialmenteinteresadoenelcasodeimplementarcomunicacionesserialescomoSPI.
Sí.LosAVR,incluidoel328,puedendesactivarmuchosdesusperiféricosinternos,comoSPI,UART,ADC,temporizadores,etc.Silosdesactiva,disminuirásuconsumodeenergía.Lapreguntaesporcuánto;enmiexperiencia,esosperiféricosconsumenunapotenciadespreciableencomparaciónconlaCPUprincipala5V/20MHz,peroavelocidadesderelojmásbajasocuandolaCPUduermemucho,lapotenciaperiféricapuedesersignificativa.Paraunapotenciabaja,desactivetodoloquenonecesite.
Unanotasobrehojasdedatos:tiendenapresentarlosmejoresescenarios.Sospechoquelascifrasygráficosdeconsumodeenergíaenlahojadedatosestáncontodoslosperiféricosdesactivados.
Lainformaciónenlahojadedatosesútil,perosideseaaprovecharalmáximosupoder,necesitarealizarexperimentosymediciones.Medirelsorteoactual:
- Adiferentesvelocidadesdereloj
- EndiferentesVCC(¡observeelVCCmínimoparaunavelocidadderelojdeterminada!)
- Concadaunodelosperiféricosdeshabilitadosohabilitados
- Enlosdistintosmodosdesuspensión
- Usandolasdiversasfuentesdereloj
Engeneral,paraoptimizarsuproyectodeenergía328,sigaestospasos:
- Optimicesucódigo.Cuantosmenosciclosnecesitesparahacertutrabajo,menospotencianecesitarás.
- Ejecutael328alavelocidadderelojmásbajaquepuedas.
- Ejecutael328alatensiónmásbajaquepuedas(considerandolavelocidaddelreloj).
- Dejequeel328duermacuandonotienenadaquehacer.
- Desactivetodoslosperiféricosquenonecesite.
- IntenteutilizarelosciladorRCinternode128kHzsiesposible.
Realmentedependedecuántotrabajotengaquehacertu328.A20MHz/5V,un328activoconsumeaproximadamente20mA=100mW,peroabajavelocidadderelojyvoltaje,1mWesmuyfactible.Grandiferencia.
Cuandoseoperaconvoltajesbajos,cercadelatoleranciadel328,esposiblequetambiéndeseeconsiderarcómolidiarconlacaídadevoltajedelabatería.Discutirlacapacidaddelabateríaylacaídadevoltajeestámásalládeestarespuesta,pero este video de EEVblog es un excelente punto de partida.