Controle remoto com baixa corrente inativa no ATmega328P


Segundo o KDPV, é claro que o autor não é indiferente ao equipamento de áudio antigo da Sony. Aqui e MD Walkman, e a recente aquisição - um centro de música compacto com um CD vertical - "transporte". Foi vendido sem controle remoto, para o análogo caseiro do qual o autor fazia uma demanda: a mesma corrente quieta baixa que a dos controles remotos acabados em microcircuitos especializados.

No início, o autor queria escrever o firmware do zero, pois já havia implementado o protocolo de software usado nos controles remotos da Sony. Mas então eu decidi usar a biblioteca existente . Ele suporta vários protocolos, dispositivos e também possui adicionais. recursos que facilitam o desenvolvimento e a depuração.

Com esta biblioteca, basta conectar o diodo IR ao pé do microcontrolador e começar a procurar códigos de controle remoto da Sony. Eles conseguiram ganhar um controle remoto caseiro muito rapidamente. Mas qual é o objetivo se a bateria acabar dentro de um a dois dias, mesmo que você não a use?

Em geral, a tarefa era colocar o ATmega328P no modo de suspensão para que ele praticamente não consumisse corrente até que uma tecla fosse pressionada. Também existem bibliotecas para gerenciar o modo de suspensão, mas o autor decidiu que, como ele havia adquirido uma biblioteca pronta para transmitir comandos, pelo menos essa parte do firmware deveria ser escrita de forma independente. De acordo com a ficha técnica, colocar o microcontrolador no modo de suspensão foi um processo de várias etapas.

Portanto, tudo foi comentado em detalhes suficientes no esboço para que, ao ler o código e o conjunto de dados ao mesmo tempo, você pudesse entender o que acontece quando cada linha é executada. O microcontrolador "dorme" quase o tempo todo e, quando o estado de uma das entradas muda, "acorda", determina qual botão é pressionado, envia um comando e novamente "adormece".

Com quartzo de 16 MHz, o microcontrolador, quando não "dorme", consome mais corrente do que quando utiliza o relógio de 8 MHz incorporado. Para reconfigurar os "fusíveis" correspondentes, tive que usar o programador em circuito. O modo de suspensão é selecionado para que tudo fique desligado, exceto as interrupções. O autor não entendeu imediatamente que era necessário desligar o ADC, pelo qual não encontrou o motivo pelo qual o microcontrolador consumiu quase um miliampere no modo de suspensão. O cronômetro do watchdog também teve que ser desligado, e aqui está o resultado: cerca de 2 μA no modo de suspensão e 3,5 mA ao transmitir um comando. Esta calculadora mostrou que, em condições ideais, se você pressionar os botões 5 vezes por hora, o elemento nesse modo durará 4,82 anos. Mesmo um ou dois anos já é ótimo, e mais ainda.

O autor desenvolveu a placa de circuito na Eagle. Arquivos para repetição: esboço , diagrama , gerbera , quadro fonte .





Vídeo, onde mostrado medição atual:



O processo de melhoria do design continua, antes de tudo, é necessário criar alguns botões para os quais os códigos encontrados na rede estavam incorretos. Além disso, o autor fornece um análogo simplificado do CC-BY a partir de uma frase: "Se você quiser, use o código e o quadro em outros produtos caseiros, lembre-se de indicar quem desenvolveu tudo isso para você". Como a biblioteca de origem não está na GPL, mas na LGPL, você pode fazer isso.

Source: https://habr.com/ru/post/pt452046/


All Articles