sexta-feira, 5 de janeiro de 2018

Carregador de baterias de chumbo-ácido seladas de 12V/7Ah com o IC UC3906 e LM2825.

        O IC UC3906 é específico para carregamento de baterias de chumbo-ácido, seladas ou não. Ele é feito para acionar um transistor bipolar externo (NPN ou PNP) de forma linear, limitando assim sua aplicação no carregamento de grandes baterias, como de automóveis que requerem mais de 5A de corrente de carga. Há a versão comutada do UC3906, o UC3909, porém pretendo futuramente modificar uma fonte chaveada de notebook para carregar baterias de automóveis, assim este carregador também serve para avaliar o comportamento do UC3906 controlando a realimentação de um regulador comutado externo (neste caso o LM2825HN-ADJ) em vez de um transistor linear externo.
Esquemático. O botão é para forçar o reinício de um novo ciclo de carga. Note que a realimentação do LM2825 (Pino ADJ) é controlada pelo UC0906.
        O LM2825 é um regulador de tensão comutado com os componentes passivos (indutor e capacitores) integrados em um DIP de 28 pinos. Este já está obsoleto, havendo alternativos melhores, mais eficientes e com maior capacidade atualmente, mas como tenho uma unidade dele resolvi usá-lo neste projeto.
        A carga de uma bateria de chumbo-ácida de 12V/7Ah é feita em duas etapas: a primeira, com corrente constante de 1000mA até a mesma atingir 14,4~14,6V, passando então para a segunda etapa, de tensão constante, onde a corrente ira decair até 1/10 da corrente de carga da primeira etapa. Logo que esta corrente seja menor que 1/10, a tensão de carga muda para 13,4~13,6V onde a bateria se auto-ajustará a uma pequena corrente que mantenha sua carga.

Placa montada com o LM2825 e o UC3906. Há ainda o comparador de tensão LM311 para indicar que a bateria está carregada e/ou na etapa de tensão constante para manter a carga da mesma (segundo LED verde de baixo para cima).
Tensão da saída do carregador quando não há bateria ligada. O medidor de tensão/corrente com o INA260 está sendo, como sempre, extremamente útil.
Depois da etapa de corrente constante, o UC3906 passa para a etapa de tensão constante onde a corrente irá decrescer até 1/10 da corrente da etapa de corrente constante.
Após o ciclo de carga se completar, o UC3905 mantém uma tensão constante onde a bateria se auto ajustará a uma pequena corrente que mantenha sua própria carga.


quinta-feira, 21 de dezembro de 2017

Teste do display HP HPDL-2416.

        Comprei recentemente duas unidades do display HP HPDL-2416. Este já possui um controlador integrado que aciona 17 LEDs para cada um dos 4 dígitos.
        O mais interessante deste display é como os LEDs são fabricados, em vez de um cubo de cristal é um filete sendo que cada dígito tem seu tamanho aumentado através de uma lente, assim tais displays são chamados de "bubble displays". É uma tecnologia obsoleta, mas é muito bonito de se ver ao vivo. Há muitos vídeo no YouTube mostrando-os.

Display HPDL-2416 visto de cima. Note as lentes (Bubbles) para aumentar os caracteres.
Display HPDL-2416 visto de baixo.
        Para acionar estes displays, uso um PIC16F1933 montado em uma placa onde o microcontrolador fica de um lado e os displays de outro, ficando a montagem final bem compacta. Por usar uma antiquada interface paralela, precisei usar a porta PORTA como barramento de dados e a porta PORTB como controle (endereçamento de cada dígito A1~A0, _WR e _ChipEnable).

Pinagem. Na minha aplicação não uso a função Cursor (Pinos CUE e _CU), Clear (_CLR) nem BlankDisplay (_BL).


Disposição dos segmentos em cada dígito do HPDL-2416.
Mapa de caracteres, muito limitado. Note que os numerais tem metade da largura das letras.
Placa vista de cima sem os displays.
Placa vista de baixo sem o microcontrolador.

PIC16F1933 montado em um adaptador SOIC-DIL da Aries Eletronics, os melhores adaptadores que existem.
Adaptador visto de baixo.
Todos os componentes montados.
Mostrando um texto. Note que os numerais são metade da largura das letras.
Mais texto.
Mostrando tensão do INA219. Note que o ponto decimal ocupa um caractere inteiro, outro aspecto negativo deste display.
Mostrando corrente do INA219.


domingo, 5 de novembro de 2017

Carregador de baterias de Li-Ion com o IC bq24086.

        Fiz este carregador de baterias de Li-Ion baseado no IC bq24086 da Texas Instruments. Ele é feito para carregar baterias de somente uma célula, com a corrente de carga sendo definida apenas com um resistor. Para este carregador, optei por 7 valores de corrente (255, 300, 400, 500, 625, 700 e 815mA) selecionadas por uma chave de 7 posições. O bq24086 é feito para operar com a tensão das portas USB e com poucos componentes externos, assim usei uma fonte chaveada de DVD que fornece esta tensão, 5V. Este IC vem em um encapsulamento SMD, assim tive que adaptá-lo para DIP além de soldar um dissipador de calor em seu pad central.

Adaptador DIP do bq24086 com o dissipador de calor. Tosco mas funciona!
Adaptador DIP visto de outro ângulo.

Fonte chaveada retirada de um DVD player, cuja saída de 5V alimenta a placa do bq24086.

Placa do bq24086 encaixada à placa da fonte dentro da caixa metálica.

Painel frontal do carregador carregando a bateria de uma parafusadeira cuja tensão e corrente são mostrados pelo display OLED. Note os três LEDs de status: Ligado (azul), carregamento (vermelho) e carga completa (verde).





quarta-feira, 4 de outubro de 2017

Lanterna LED com o IC LT1937 e PIC10F200.

        Fiz esta lanterna LED baseada no IC LT1937 (conversor step-up específico para acionamento de LEDs) e no microcontrolador PIC10F200 para atender os seguintes requisitos:
  • Ser eficiente ao acionar 9 LEDs brancos em série;
  • Operar diretamente com um bateria de Li-Ion simples;
  • Ligar um LED azul por aproximadamente 16 milissegundos e desligar a cada 2 segundos para que a lanterna seja localizada na ausência de luz;
  • Acionado por um simples botão;
        O motivo de se usar o um microcontrolador é fazer o debouncer do botão, habilitar/desabilitar a saída do LT1937 com controle biestável e acionar o LED azul de localização. O PIC10F200 não possui interrupções, uso o watchdog time-out alternando o seu tempo mínimo de 16ms (LED azul aceso) e 2s (16ms x 128, LED azul apagado). Neste meio tempo, o PIC10F200 permanece no modo sleep consumindo uma corrente típica de apenas 6uA. Ao ser acionado o botão pela entrada GPIO3, o firmware faz o debounce do sinal de entrada bem como a lógica biestável habilitando ou não a saída do LT1937 através da GPIO2 ligado ao terminal SHDN do mesmo. O LT1937 quando está com a saída desabilitada consome uma corrente típica de 0,1uA.
         Ligando a uma bateria de tablet usada, a luz azul fica piscando por quase um ano!
         Os LEDs brancos que usei são compostos de 3 LEDs no mesmo encapsulamento, que podem ser ligados em paralelo ou em série. Eles também são "warm white", um branco meio amarelado cuja luz acho bem mais agradável que o "cold white" do LEDS brancos comuns.

Placa da lanterna vista de cima mostrando os LEDs brancos, o LED azul de localização, o indutor e o diodo do circuito step-up.
Placa da lanterna vista de baixo, onde estão o PIC10F200 e o LT1937 encobertos por resina epóxi cinza. Os cinco pinos do conector são para alimentar a placa bem como programar o PIC10F100.

Conector auxiliar com o botão de acionamento.
Placa ligada à bateria de Li-ION.

LED azul em ação. Quando falta luz, fica fácil achar a lanterna!
Esquemático não tão bem desenhado.


quarta-feira, 27 de setembro de 2017

Complemento da postagem anterior: medidor de Tensão/Corrente com o INA219 com display LCD no NOKIA1100.

        Aproveitando a montagem do placa do medidor da postagem anterior com displays LED, fiz esta adaptação para usar o display LCD do indestrutível NOKIA1100 e testar a comunicação da USART do PIC12F1840 enviando 9 bits requeridos por este display LCD que usa o controlador PCF8814 da NXP (antiga Philips).
        Assim como no caso do AS1107/MAX7219, o PCF8814 deve além de receber o bit mais significativo primeiro deve receber antes o 9ºbit de comando/dados. A USART do PIC12F1840 pode enviar este 9 bits mas deve-se inverter a ordem dos bits e acrescentar o 9° bit, uma tarefa que me consumiu bastante tempo.

Placa do medidor com o display do NOKIA1100 e seu adptador.

Display em ação mostrando o bargraph da corrente, tensão, potência e corrente.

Com uma corrente maior.


















Medidor de Tensão/Corrente com o INA219 com display de 7 segmentos.

       Para a futura fonte que estou projetando, montei este medidor de tensão/corrente com o já mostrado IC INA219. Este medidor, no entanto, usa displays comuns de LED de 7 segmentos de catodo comum acionados pelo IC AS1107 da AMS. Este IC é compatível com o MAX7219, da Maxim.
        O IC AS1107 pode acionar 8 displays de 7 segmentos (mais o ponto decimal). Usa comunicação serial síncrona e pode ser cascateável com outros AS1107 para acionar mais displays. Pode também acionar 64 LEDs em uma matriz 8x8.
Este medidor é controlador por um PIC12F1840 que pode usar simultaneamente I²C (comunicação com o IN219) e serial síncrona (comunicação com o AS1107).
        Como é um protótipo, fiz este medidor em duas placas: uma é do display e o IC AS1107 (que pode ser aproveitada em outro projeto ou protótipo) e a outra é do medidor propriamente dito, com o PIC12F1840 e o INA219.
        O que mais deu trabalho neste medidor foi fazer a USART do PIC12F1840 comunicar com o AS1107, pois esta envia o bit menos significativo primeiro e o AS1107 deve receber o bit mais significativo primeiro, assim o bits a serem enviados devem ter a ordem de envio invertida. Consegui fazer uma rotina que fizesse esta inversão gastando menos de 30 words da memória do PIC12F1840.

Medidor visto de cima, com o PIC12F1840 e o INA219 em um adaptado DIP.

Medidor visto de baixo, note o resistor shunt de 0R200 e os componentes de filtragem.

Display do medidor. Linha superior mostra tensão e de baixo a corrente.

Placa com os displays LED e o AS1107 visto de cima.

Placa com os displays LED e o AS1107 visto de baixo.

Medidor em ação mostrando um corrente positiva de 0,10A.

Medidor em ação mostrando um corrente negativa de 0,10A.

Medidor em ação mostrando um corrente positiva de 1,59A.



segunda-feira, 31 de julho de 2017

Display LCD TFT de 5", 800x840, com touchscreen e interface HDMI para Raspberry PI.

Comprei este display TFT de 5", com touchscreen, interface HDMI e resolução de 800x480 para Raspberry PI3.

Display visto de frente.
Display visto por traz. Adicionei um header onde vai o RTC de precisão com o DS3231 ocupando a interface I²C. Há ainda a interface serial assíncrona bem como algumas GPIOs. A interface SPI é usada pelo touchscreen.
A pequena placa RTC teve seu conector adaptado para caber atrás do display e não exceder a altura do Raspberry PI3.
Placa com os conectores HDMI.
Detalhe do header (sem alguns terminais e interface SPI usada pelo touchscreen). A placa do Raspberry PI é fixada no display por seu header, um poste com uma porca e a placa com os conectores HDMI, portanto não fornecendo robustez. Tenha cuidado ao inserir dispositivos USB.

Detalhe da interface HDMI. Note o conector micro USB alimentar o display, que pode ser feito pelo Raspbery PI também.
Display em ação.
Display em ação.
A vantagem deste display com interface HDMI é que pode ser usada para outras aplicações além do Raspberry PI bem como liberar o conector do mesmo para outras funções (GPIOS e interfaces seriais).
No próximo post mostrarei com configurar a interface touchscreen e como calibrá-la.