Projetar um novo dispositivo eletrônico geralmente se resume a fazer trocas. O custo é muitas vezes em desacordo com o desempenho. Em mercados sensíveis ao custo, como produtos orientados ao consumidor, selecionar o microcontrolador ou microprocessador no centro do sistema embarcado talvez seja a decisão mais crucial que afeta o desempenho. Muitas vezes, existem características de sistema concorrentes que podem afetar o desempenho geral de um sistema embarcado. Para este post, vamos considerar o seguinte:
- Vida útil da bateria
- Capacidade de resposta
- Performance térmica
- Alcance e velocidade do sinal sem fio
- Funcionalidade fornecida por componentes periféricos externos
O projeto de baixo consumo de energia é crucial para dispositivos operados por bateria ou dispositivos que dependem de tecnologias de coleta de energia. Algumas perguntas iniciais devem incluir:
- Quão acessível será o dispositivo para manutenção em campo? As baterias podem ser substituídas?
- Qual é o ambiente operacional (faixas de temperatura, faixas de umidade, exposição à luz solar, exposição a produtos químicos, etc.)?
- Quais são os limites dimensionais e de peso?
- Que tipo de comunicações serão necessárias? Com que frequência a telemetria precisará ser enviada?
- Quantos dispositivos externos (sensores, atuadores) devem interagir com o nosso dispositivo? Quais são suas interfaces?
Depois que os requisitos do “quadro geral” forem entendidos, é hora de construir um orçamento aproximado de energia. Primeiro, podemos somar todos os consumos atuais de dispositivos externos. Então é hora de olhar para os possíveis microcontroladores/microprocessadores que atendem aos requisitos funcionais e determinar o quão eficientes eles são. Normalmente, uma especificação irá detalhar a eficiência em termos de uA desenhado por Hz de velocidade de clock. Reservar um tempo para pesquisar e selecionar o MCU/MPU correto – tanto em termos de funcionalidade quanto de desempenho – ajudará bastante a atender aos requisitos de baixo consumo de energia de um projeto. Uma vez que tenhamos uma boa noção do consumo de energia ativo e ocioso esperado, podemos fazer algumas contas de forma aproximada analisando as várias opções de bateria para estimar quanto tempo durará a carga da bateria. Não se esqueça de que escolher a química certa da bateria é essencial para esta discussão. Por exemplo, baterias de níquel-cádmio (NiCd) e níquel-metal (NiMH) não mantêm a carga bem em climas frios.
Com as questões de nível de arquitetura do quadro geral fora do caminho, é hora de focar nas considerações de nível de projeto que otimizam um sistema embarcado para consumo de energia. Algumas regras de projeto a serem consideradas para hardware e firmware incluem:
- Escolha a menor tensão de operação possível. Durante muito tempo, 5V foi a norma, depois 3,3V. Hoje não é incomum ver tensões operacionais de núcleo e memória de 2,7 V e 1,8 V. Alguns componentes embutidos no mercado chegam a 0,9V.
- Reduza a taxa de clock do núcleo para a velocidade mais lenta possível sem afetar o desempenho.
- Além da menor tensão de operação, tente escolher componentes com a mesma tensão de operação, reduzindo a necessidade de conversores DC-DC e direcionando vários barramentos de alimentação.
- Cuidado com LEDs e telas de cristal líquido! Eles são bonitos e podem adicionar funcionalidade, mas podem consumir muita energia (em relação à sua utilidade). Adicione LEDs criteriosamente. Se for necessário um LCD, dê ao usuário a capacidade de ajustar o brilho.
- A topografia do circuito e a seleção de componentes podem ter impactos significativos no seu orçamento de energia. Divisores de tensão, resistores pull-up e resistores pull-down, embora necessários, podem consumir corrente. Certifique-se de que eles são necessários e dimensione-os para serem eficazes e eficientes.
- Não basta conectar dispositivos periféricos para serem ativados o tempo todo. Em vez disso, dedique o tempo de projeto e reserve um pino GPIO do MCU para permitir que o firmware ligue e desligue os dispositivos periféricos conforme necessário.
- Evite usar atrasos ou sondagens constantes de sensores em seu código; isso leva a ciclos de clock inúteis que não fazem nada funcionalmente, mas ainda consomem energia. Em vez disso, use agendadores de tarefas e interrupções.
- Escolha um protocolo de comunicação que atenda, não exceda, a distância a ser percorrida. Zigbee® será mais eficiente que BLUETOOTH®, por exemplo. Desligue as rádios quando não for necessário. Embora considere o tempo que leva para ligar o rádio. Para aplicativos de baixa potência e baixa taxa de dados, isso não deve ser um grande problema.
- Não deixe os pinos GPIO flutuando.
- Para pinos GPIO com pull-ups internos, NÃO habilite o pull-up se não for necessário.
- Reduza os barramentos de comunicação de taxa de clock, como I²C e SPI.
- O resistor e o capacitor usados na conversão analógico-digital podem consumir bastante energia. Reduza a frequência com que as leituras do ADC e desligue a rede R-C entre as leituras. Mas certifique-se de dar aos capacitores tempo suficiente para recarregar antes de fazer uma leitura.
A otimização de um design para consumo de energia faz mais do que apenas economizar a vida útil da bateria. Menor potência significa menos calor, o que melhora a confiabilidade e reduz o risco de falhas induzidas pelo calor. Por último, certifique-se de verificar o seu projeto. Seja com medidores de energia USB baratos, multímetros, joulescopes ou analisadores de energia, reserve um tempo para observar o consumo de energia do dispositivo em configurações de laboratório e do mundo real. Para tornar isso mais fácil, certifique-se de colocar pontos de teste na placa para que a corrente e a tensão possam ser medidas.
Artigo escrito por Michael Parks e publicado no blog da Mouser Electronics: Tips and Tricks for Low-Power Embedded Design
Traduzido pela Equipe Embarcados. Visite a página da Mouser Electronics no Embarcados
(*) este post foi patrocinado pela Mouser Electronics







