quarta-feira, 10 de agosto de 2016

Medidor de Tensão/Corrente dos barramentos 3,3V, 5V e 12V de fonte ATX com o INA3221

        A Texas Instruments lançou uma linha de ADCs com interface I²C específicos para medir corrente e tensão de forma muito simples. Destaco aqui o INA219, o INA226 (parecido com o anterior, mas mais preciso) e o INA3221 do qual este projeto é baseado.
        Este IC mede a tensão e corrente em três barramentos, perfeito para medir e monitorar as saídas de uma fonte ATX. Ele usa resistores shunt de valores muito baixos, da ordem de mili-ohms. No meu projeto usei 0,020R para o barramento de 3,3V e 0,010R para os barramentos de 5V e 12V.
       O medidor usa um display OLED, com o famoso controlador Solomon Systech SSD1306, com interface ajustada para I²C, um PIC12F1822 para controlar tudo e um sensor de temperatura de precisão LM73, também I²C para medir a temperatura do processador.
        Comecei pelo cabeamento, que deve ficar entre a saída da fonte e entrada de alimentação da placa mãe do computador. Os shunt são SMD, foram retirados de placas de notebooks e foram soldados em pequenas placas recobertas com fita isolante auto-fusão. Destas pequenas placas saem dois fios: a entrada de corrente e tensão e saída de corrente para o INA3221. Sendo três barramentos, totaliza seis fios mais o GND e alimentção oriunda do 5V Stand-by.
Cabeamento e conectores. Note que os 12V da alimentação do processador também passam pelo mesmo shunt da placa.
Os conectores servem para conectores de 20 ou 24 pinos.
        O INA3221, gentilmente cedido pela  Texas Instruments através de envio de amostras, vem apenas no encapsulamento Plastic Quad Flatpack, assim tive que fazer um adaptador para DIP. O PIC12F1822 só consegui em SOIC-8, também adaptado para DIP.
        A placa é alimentada pelo barramento 5V stand-by, cuja tensão/corrente não é monitorada. Nela há um regulador linear de 3,3V.
        A medição de temperatura é feita pelo LM73, um sensor bastante preciso, mas que está disponível somente em SOT23-6. Em vez de fazer um adaptador para DIP, soldei direto em uma pequena placa, com a face superior livre para fazer o acoplamento térmico no dissipador do processador. Também testei com o TMP100, outro sensor I²C, mas menos preciso.
       Este medidor só mede a energia que vai para a placa mãe, não mede de periféricos como o HDD ou DVD-RW.

Placa do medidor com o conector do OLED no topo, I²C a esquerda, programação/debug a direita e alimentação/sensores em baixo. A cola cinza é uma resina epoxi da 3M.
Soldar os fios no encapsulamento Plastic Quad Flatpack foi o mais difícil.
Pinagem da placa, dos adaptadores e da módulo LM73

Placa alimentada com o 5V stand-by, com os outros barramentos desabilitados (computador desligado). A temperatura está marcando -1,03°C erroneamente pois o sensor não está conectado.

Placa mãe ligada, rodando Windows7 mas ociosa. É uma MiniITX baseada no Intel Atom N270. Note que a energia total consumida é pequena:
3,400V x 0,298A = 1,01W;
5,070V x 1,028A = 5,1W
12,328V x 0,144A = 1,8W
Total 6,2W
Está sendo monitorado somente o consumo da placa, excluindo periféricos como o HDD e DVD-RW.

Com o teste de performance do 7-Zip rodando, o consumo aumentou:
3,392V x 0,298A = 1,01W;
5,032V x 1,836A = 9,3W
12,400V x 0,144A = 1,8W
Total 12,0W
Note que só o barramento de 5V aumentou o consumo pois esta placa não usa o conector auxiliar de 4 pinos e 12V.

        O INA3221 é bastante preciso para medir tensões, não necessitando de nenhuma calibragem. Já a corrente, deve ser calibrada com uma constante definida na inicialização do mesmo pois depende do valor do shunt usado. Gostei muito da estabilidade das leituras do INA3221, pois internamente ele pode fazer a média de até 1024 leituras. Ligando uma carga resistiva em uma fonte estabilizada, a leitura se mantem estável mesmo nos mili-volts.

Esta placa é do INA219, outro projeto, mas mostra como o shunt SMD fica na placa. Note que é um valor muito pequeno, apenas 20 mili-ohms.


        Testei em outra placa-mãe com o conector auxiliar de 12V para o processador e funcionou perfeitamente, com a diferença que o consumo varia mais no barramento de 12V ao invés do de 5V como nesta placa Mini-ITX.
        A ligação do INA3221 com o shunt deve ser feita nos terminais do resistor, pois qualquer segmento de fio ou trilha na placa já influi na leitura e deve ser o mais curta possível.

Nenhum comentário:

Postar um comentário