UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA ELETRICA LEONARDO HENRIQUE MENEZES SISTEMA DE MONITORAMENTO PARA BATERIAS DO TIPO CHUMBO ÁCIDO CURITIBA 2013 LEONARDO HENRIQUE MENEZES SISTEMA DE MONITORAMENTO PARA BATERIAS DO TIPO CHUMBO ÁCIDO Trabalho de Conclusão de Curso ou apresentada como requisito parcial à obtenção do título de Engenheiro Eletricista, do Departamento de Engenharia Elétrica, Setor de tecnologia, da Universidade Federal do Paraná. Orientador: Prof. Ademar Luiz Pastro CURITIBA 2013 AGRADECIMENTOS Agradecimento inicial a Universidade Federal do Paraná, bem como seu corpo docente, que tornou possível o aprendizado e forneceu apoio quando necessário. Agradeço ao professor Ademar Luiz Pastro pela orientação nesse projeto. Agradeço também ao meu pai, Lincolm Neri Menezes, que auxiliou muito como consultor durante esse projeto. Meu agradecimento póstumo à minha mãe por sua paciência e compreensão. RESUMO Este trabalho tem por objetivo o projeto e o desenvolvimento de um sistema para o monitoramento de baterias do tipo chumbo ácido especificamente baterias VRLA-AGM. A execução do projeto necessitou de conhecimento de eletrônica básica, eletrônica digital, programação de microcontroladores, programação orientada a objeto, banco de dados e programação gráfica. A integração desses conhecimentos é necessária para a obtenção da solução final para o sistema de monitoramento de baterias. O monitoramento dos valores de tensão é feito através de optoacopladores para realizar um isolamento entre o banco de baterias e o µC. O monitoramento dos valores de temperatura é feito através do sensor de temperatura LM35 e a leitura dos valores de corrente é feito através de um sensor de efeito Hall. O software desenvolvido no µC é responsável por enviar as informações ao computador que as trata e as apresenta em uma interface amigável para o usuário. Os testes foram realizados utilizando um no-break para demonstrar a eficácia do sistema de monitoramento. A realização dos testes provou a eficácia do sistema de monitoramento na detecção de baterias defeituosas. Palavras chave: Monitoramento de baterias. Micro controlador. Baterias. Multiplexador analógico. Optoacopladores. Programação orientada a objeto. Programação gráfica. ABSTRACT This paper refers to the Project and development of a battery monitor system designed to monitor VRLA-AGM batteries. The execution of this project required knowledge of several engineering fields, including electronics, digital electronics, micro controllers programming, object oriented programming, data bases and graphics programming. The integration between these fields was fundamental to obtain the final solution for the battery monitor system. The voltage values are monitored through opt couplers to ensure isolation between the battery bank and the micro controller. The temperature is monitored through the use of a LM35 linear temperature sensor and the current values are monitored through the use of a Hall Effect sensor. The software developed for the micro controller has the unique purpose of sending the information coming from the sensor to the computer. The computer is responsible for interpreting this information and presents it to the user through a friendly interface. Tests were realized using a no-break UPS system do show the effectiveness of the battery monitor system. The tests proved the effectiveness of the battery monitor system in detection of faulty batteries. Key words: Battery monitor. Micro controller. Battery. Analog Multiplexer. Optocoupler. Oriented Object Programming. Graphics programming. LISTA DE TABELAS Tabela 1: Tabela resumo das características de baterias chumbo ácidas. ............... 26 Tabela 2: Aplicação das baterias em função das características construtivas. ......... 26 Tabela 3: Capacidade em função da descarga. ........................................................ 31 Tabela 4: Tensão de corte em função do tempo de descarga.. ................................ 31 Tabela 5: Tempo de recarga em função da temperatura .......................................... 33 Tabela 6 - Estado de carga em função da tensão de circuito aberto. ....................... 33 Tabela 7: Comparação das características dos dois sistemas comerciais estudados. .................................................................................................................................. 41 Tabela 8: Valores de tensão de entrada e saída para o circuito do optoacoplador. .. 45 Tabela 9: Variáveis a serem armazenadas na tabela do banco de dados. ............... 59 Tabela 10: Valores experimentais do tamanho do banco.......................................... 60 Tabela 11: Ganhos dos optoacopladores. ................................................................. 69 LISTA DE FIGURAS Figura 1: Banco de baterias. ..................................................................................... 12 Figura 2 - Placa de chumbo e placa com o material ativo. ........................................ 20 Figura 3 - Placa de chumbo plana e placa após receber o material ativo.. ............... 21 Figura 4 - Placa tubular e placa tubular com material ativo. ...................................... 22 Figura 5 - Bateria VRLA AGM. .................................................................................. 23 Figura 6 - Bateria VRLA-GEL. ................................................................................... 24 Figura 7 - Bateria tubular gel. .................................................................................... 25 Figura 8 - Principais componentes da bateria AGM-VRLA........................................ 27 Figura 9 - Esquema de bateria chumbo ácida e reações de carga e descarga......... 29 Figura 10 - Resistência interna em função da carga. ................................................ 32 Figura 11 - Efeitos da temperatura na vida útil da bateria ......................................... 35 Figura 12 - Curva de auto-descarga.......................................................................... 36 Figura 13 - Ciclos de carga e descarga em função da profundidade de descarga.... 37 Figura 14: Sistema de Monitoramento Sentinel Chloride. ......................................... 39 Figura 15: Sistema de monitoramento Sentinel LEM. ............................................... 40 Figura 16: Diagrama em blocos do sistema de monitoramento proposto. ................ 42 Figura 17: Circuito do LOC110 para operação em modo fotovoltaico. ...................... 44 Figura 18: Circuito de testes do optoacoplador. ........................................................ 46 Figura 19: Sensor de efeito Hall LA100P da LEM. .................................................... 47 Figura 20: Circuito para leitura da corrente do banco de baterias. ............................ 48 Figura 21: Valor da corrente de entrada que simula o sensor de efeito Hall. ............ 49 Figura 22: Valores das tensões de saída. ................................................................. 49 Figura 23: Histerese dos comparadores de saída. .................................................... 49 Figura 24: Circuito da fonte de alimentação simétrica. .............................................. 50 Figura 25: Circuito do sensor de efeito Hall com a fonte de alimentação simétrica. . 50 Figura 26: Histerese no comparador de saída. ......................................................... 51 Figura 27: Circuito do sensor de temperatura. .......................................................... 51 Figura 28: Termômetro digital infravermelho Fluke. .................................................. 52 Figura 29: Plataforma Arduino e seus pinos numerados. .......................................... 53 Figura 30: Tabela verdade do multiplexador HEF4067B. .......................................... 54 Figura 31: Pinos do multiplexador HEF4067B........................................................... 54 Figura 32: Fluxograma do algoritmo desenvolvido no Arduino.................................. 55 Figura 33: Tela de configuração do banco de baterias. ............................................ 56 Figura 34: Tela de monitoramento das baterias. ....................................................... 57 Figura 35: Tela principal do sistema de monitoramento. ........................................... 57 Figura 36: Visão geral do sistema. ............................................................................ 58 Figura 37: Fluxograma do algoritmo de leitura do µC através da porta serial. .......... 58 Figura 38: Fluxograma do algoritmo para criação do banco de dados...................... 60 Figura 39: Fluxograma do algoritmo para criação da tabela no banco de dados "dbbaterias". .............................................................................................................. 61 Figura 40: Fluxograma do algoritmo de inserção na tabela do banco de dados. ...... 62 Figura 41: Processos paralelos do sistema de monitoramento. ................................ 63 Figura 42: Fluxograma do algoritmo de atualização do formulário de monitoramento. .................................................................................................................................. 64 Figura 43: Fluxograma do algoritmo geral para a função gráfica que utiliza a biblioteca OpenGL..................................................................................................... 65 Figura 44: Fluxograma do algoritmo da função Display. ........................................... 66 Figura 45: Janela gráfica OpenGL com eixos e gráfico de tensão exemplo.............. 67 Figura 46: Diagrama de classes do sistema.............................................................. 68 Figura 47: Software do sistema de monitoramento em funcionamento. .................... 69 Figura 48: Teste final do sistema de monitoramento. ................................................ 70 Figura 49: Bateria defeituosa inserida no banco de baterias..................................... 71 Figura 50: Placa com o hardware desenvolvido durante o projeto. ........................... 73 Figura 51: Placa de circuito impressa refeita............................................................. 74 LISTA DE ABREVIATURAS E SIGLAS UPS Uninterruptible Power Supply VRLA Valve regulated Lead – acid battery AGM Absorption Glass Material µC microcontrolador USB Universal Serial BUS GUI Graphic User Interface IDE Integrated Development Environment GLUT OpenGL Utility Toolkit RBGA Red Blue Green Alpha color system SGBD Sistema Gerenciador de Banco de Dados SQL Structured Query Language SLI Starting, Lighting, ignition OCV Open Circuit Voltage A/D Analógico / Digital AN – 107 Application Note 107 MOSFET Metal Oxide Semiconductor Field Effect Transistor MOSFET-n MOSFET de canal n MOSFET-p MOSFET de canal p avr-g++ Compilador GNU de C e C++ GNU Sistema operacional tipo Unix DLL Dynamic Link Library API Application Programming Interface C++/CLI C++/Common Language Infrastructure MC++ Managed C++ Sumário 1. Introdução ........................................................................................................... 12 2. Objetivo............................................................................................................... 13 3. Público Alvo ........................................................................................................ 13 4. Diferencial do Projeto.......................................................................................... 13 5. Recursos Necessários ........................................................................................ 14 5.1. Hardware ......................................................................................................... 14 5.2. Software .......................................................................................................... 14 5.2.1. Linguagem de Programação C++ ................................................................ 14 5.2.2. Biblioteca OpenGL ....................................................................................... 15 5.2.3. Banco de Dados PostgreSQL ...................................................................... 16 6. Baterias............................................................................................................... 17 6.1. Introdução........................................................................................................ 17 6.2. Breve Histórico ................................................................................................ 17 6.3. Classificação das Baterias Chumbo Ácidas .................................................... 19 6.3.1. Baterias Ventiladas ...................................................................................... 19 6.3.2. Baterias Seladas .......................................................................................... 22 6.4. Principais características das baterias ............................................................ 25 6.5. Baterias VRLA-AGM........................................................................................ 27 6.5.1. Teoria de Funcionamento ............................................................................ 28 6.5.2. Principais Parâmetros .................................................................................. 29 6.5.3. Manutenção.................................................................................................. 34 6.5.4. Causas de Falha .......................................................................................... 35 6.6. 7. Critérios para detecção de falha ...................................................................... 38 Sistemas de Monitoramento comerciais ............................................................. 39 7.1. Sistema de monitoramento Sentinel ................................................................ 39 7.2. Sistema de monitoramento da LEM ................................................................ 40 7.3. Comparação dos dois sistemas....................................................................... 41 8. Idéia de um sistema de monitoramento .............................................................. 41 9. Desenvolvimento do sistema de monitoramento ................................................ 42 9.1. Hardware ......................................................................................................... 42 9.1.1. Circuito para leitura de tensão...................................................................... 43 9.1.2. Circuito para leitura de corrente ................................................................... 46 9.1.3. Circuito do sensor de temperatura ............................................................... 51 9.2. Software .......................................................................................................... 52 9.2.1. Software plataforma Arduino ........................................................................ 52 9.2.2. Software plataforma Windows ...................................................................... 55 9.2.2.1. Desenho das telas .................................................................................... 56 9.2.2.2. Desenvolvimento dos algoritmos .............................................................. 58 9.2.2.3. Diagrama de classes do sistema .............................................................. 67 9.3. Resultados Obtidos ......................................................................................... 68 9.4. Próximos passos ............................................................................................. 71 10. Dificuldades enfrentadas ................................................................................. 72 10.1. Dificuldades hardware .................................................................................. 72 10.2. Dificuldades Software................................................................................... 74 11. Conclusão........................................................................................................ 76 12. Bibliografia ....................................................................................................... 77 12 1. Introdução O funcionamento contínuo de diversos equipamentos críticos atualmente depende diretamente da disponibilidade de eletricidade para alimentá-los. Tendo em vista essa demanda cada vez mais crítica pela disponibilidade de eletricidade, elementos capazes de armazenar energia foram desenvolvidos e aperfeiçoados. Esses elementos, conhecidos como baterias, são fundamentais em qualquer sistema que tenha como propósito o fornecimento ininterrupto de eletricidade. A disponibilidade da energia de maneira contínua depende diretamente da qualidade dos elementos armazenadores e qualquer falha desses elementos pode inutilizar o sistema e interromper o fornecimento de energia. A prevenção das falhas depende diretamente na capacidade de determinar a vida útil dos elementos e prever possíveis falhas que possam inutilizar o sistema. Um monitoramento contínuo dos elementos armazenadores pode ser capaz de determinar a ocorrência de falhas e até mesmo aumentar o tempo de vida útil das baterias. O monitoramento desses elementos consistirá basicamente em monitorar algumas grandezas físicas da bateria. Dentre essas grandezas físicas podemos citar: temperatura, corrente e tensão de carga, descarga e flutuação. Os acumuladores de energia a serem monitorados são do tipo chumbo ácido. Esses acumuladores, que também são chamados de elementos ou blocos, são do tipo regulado por válvula, na sigla em inglês VRLA – Valve regulated Lead acid battery. Um exemplo de banco a ser monitorado pode ser visto na Figura 1: Figura 1: Banco de baterias. 13 O projeto será realizado com a ajuda de um especialista da área, para o desenvolvimento do entendimento sobre os acumuladores, as grandezas a serem medidas e informações a respeito dos sistemas comerciais disponíveis. Esse projeto tem como foco principal o monitoramento de bancos de baterias utilizados por UPS (Uninterruptible Power Supply) do tipo no-break, e irá limitar-se ao monitoramento de cinco baterias. Essa limitação foi estabelecida por critérios puramente financeiros, mas a ideia do sistema de monitoramento pode ser expandida até 64 baterias. 2. Objetivo O objetivo desse projeto é desenvolver um sistema de monitoramento para os acumuladores de chumbo ácido capaz de ajudar na manutenção preventiva desses bancos de acumuladores garantindo uma maior disponibilidade para o sistema armazenador de energia. Esses acumuladores são específicos para UPS’s do tipo no-break. O sistema será constituído por um hardware e um software. O hardware será responsável pela leitura das grandezas físicas e envio dessas leituras para um computador onde o software se encarregará de interpretar as leituras e entregar uma saída em uma interface amigável para o usuário. 3. Público Alvo Inicialmente esse projeto irá limitar-se ao monitoramento de acumuladores de energia do tipo chumbo ácido. Para outros tipos de acumuladores de energia, modificações no hardware seriam necessárias. O escopo principal desse projeto consiste em monitorar acumuladores chumbo ácidos utilizados por no-breaks. 4. Diferencial do Projeto O sistema de monitoramento garantirá o funcionamento contínuo dos bancos de acumuladores utilizados em sistemas críticos, garantindo assim a possibilidade de executar manutenções preventivas antes que uma falha crítica ocorra. O monitoramento contínuo do banco de acumuladores também poderá influir na vida útil de cada acumulador. Novas técnicas podem ser desenvolvidas, baseadas nos dados obtidos durante o monitoramento, para desenvolver melhorias que aumentem a vida útil das baterias. 14 5. Recursos Necessários O desenvolvimento do sistema de monitoramento irá requerer recursos de software e de hardware. 5.1. Hardware Dentre os componentes de hardware utilizados podemos citar: sensor de efeito Hall, opto-acopladores lineares, amplificadores operacionais, multiplexadores, µC, resistores e capacitores. A interface do µC será feita através da plataforma Arduino. Essa plataforma utiliza comunicação serial através da porta USB para enviar dados ao computador. A programação do µC também é feita através da plataforma Arduino utilizando o software e linguagem própria do Arduino. Maiores detalhes sobre os componentes serão fornecidos no desenvolvimento dos circuitos. 5.2. Software Os recursos de software necessários serão aqueles utilizados para criar a interface gráfica com o usuário (GUI – Graphic User Interface), essa interface será criada através formulários gerados com o auxílio do Visual Studio utilizando a linguagem C++. 5.2.1. Linguagem de Programação C++ O uso de programação orientada a objeto foi necessária para a criação de uma interface amigável para o usuário. Essa interface permite a interação entre o usuário e as informações mostradas no monitor. O usuário poderá controlar parâmetros fundamentais do sistema, como, por exemplo, os valores de tensão críticos e o número de baterias no banco de baterias, e também escolher qual a bateria terá o seu gráfico mostrado no monitor. A interface de desenvolvimento integrada utilizada (IDE na sigla em inglês, Integrated Development Environment) foi o Microsoft Visual Studio 2008. A linguagem C++ foi escolhida pelo fato de que o desenvolvedor já está familiarizado com essa linguagem e suas peculiaridades. Além das janelas para interação com o usuário, uma janela com gráficos será criada para facilitar o entendimento das informações fornecidas pelos sensores. Essas informações, provenientes do hardware, serão utilizadas por uma biblioteca OpenGL para gerar esses gráficos em duas dimensões. 15 5.2.2. Biblioteca OpenGL O acrônimo OpenGL é a abreviação em inglês para Biblioteca Gráfica Aberta (Open Graphics Library). É uma interface multiplataforma, independente do hardware, simplificada para programação gráfica com mais de 700 comandos distintos (SHREINER, 2010, capitulo 1). A biblioteca de OpenGL foi escolhida por ser open source, ou seja, uma biblioteca de distribuição gratuita, e pelo fato do desenvolvedor já estar familiarizado com essa biblioteca. A biblioteca OpenGL não executa nenhum tipo de operação com janelas, formulários e também não é capaz de ler dados de entrada provenientes do usuário. Para esse propósito a biblioteca FreeGLUT é utilizada. O acrônimo FreeGLUT é uma abreviação da sigla inglesa para Kit de ferramentas para OpenGL (OpenGL Utility Toolkit). Ela fornece ferramentas para criação de janelas e operações de entrada de dados. A seguir uma descrição das funções básicas utilizadas durante o desenvolvimento desse projeto: • glutInit (&argc, argv): Inicialização a biblioteca GLUT. • glutInitDisplayMode (Tipo de buffer e sistema de cor): Essa função vai configurar o modo inicial da janela. Ela define se a janela utilizará o sistema de cor RBGA (Vermelho, Azul, Verde e Alfa) ou um sistema de tabela de cores indexada. Ela também define o tipo de buffer a ser utilizado pela aplicação (Simples ou duplo para o numero e, para o tipo, de profundidade, estêncil, multiamostral e/ou de acumulação); • glutInitWindowsSize (largura, altura): Define o tamanho da janela onde os gráficos renderizados serão mostrados, o tamanho é em pixels. • glutWindowPosition (x,y): Define a posição inicial da janela, a referência é o canto superior esquerdo da janela. • glutCreateWindow: Cria uma janela com um contexto OpenGL; • glutDisplayFunc (Função Display): Indica qual é a função estática que será invocada quando o evento de atualização da tela for necessário. Essa função é chamada de função callback e ela é responsável por desenhar os elementos necessários na janela OpenGL; 16 • glutIdleFunc (Processo em segundo plano): Essa função recebe um ponteiro para uma função que será executada em segundo plano. Isso quer dizer que quando a janela OpenGL não precisar ser atualizada, essa função de segundo plano será executada. • glutReshapeFunc (Função de redimensionamento): Essa função é chamada quando a janela OpenGL é redimensionada, essa função determina como redimensionar a janela; • glutMainLoop(): Inicia o evento de processamento do loop do GLUT. Além das funções da biblioteca glut, algumas outras funções OpenGL serão utilizadas para o desenho dos gráficos. As funções OpenGL utilizadas pelos algoritmos para desenho dos gráficos serão descritas conforme a necessidade. A geração de gráficos será feita a partir dos dados coletados pelo hardware, e para armazenar esses dados e gerar os gráficos, foi utilizado um banco de dados. 5.2.3. Banco de Dados PostgreSQL O banco de dados tem por objetivo fundamental armazenar as informações obtidas pelo hardware para posterior processamento pelo modulo gráfico do Sistema de Monitoramento. Um banco de dados é uma coleção de informações organizadas em tabelas. Eles são operados pelos Sistemas Gerenciadores de Bancos de Dados (SGBD). O banco de dados utilizado pelo projeto desenvolvido usa o SGBD PostgreSQL, que é baseado na Linguagem de Consulta Estruturada (SQL Structured Query Language). Essa é a linguagem de pesquisa declarativa padrão para bancos de dados relacionais. O PostgreSQL é um SGBD (Sistema Gerenciador de Banco de Dados) de fonte aberta que possui a maioria dos padrões adotados pela linguagem SQL:2008, além de ser multiplataforma e altamente confiável. Esse banco de dados foi escolhido por ser open source e pelo fato do desenvolvedor já estar familiarizado com a ferramenta. Associado ao PostgreSQL será utilizado a ferramenta pgAdmin III, que é uma interface gráfica para do SGBD, facilitando a operação do banco e a visualização de resultados. 17 6. Baterias 6.1. Introdução A bateria é um dispositivo composto por um ou mais elementos eletroquímicos capazes de armazenar energia na forma de energia química para posterior conversão em energia elétrica. O sistema eletroquímico é formado por um material ativo, por exemplo, chumbo e seus compostos, e um eletrólito, por exemplo, ácido sulfúrico. Desde sua invenção em 1800 por Alessandro Volta (a pilha “voltaica”), as baterias tem se tornado cada vez mais comuns como fonte de energia estocada para equipamentos eletrônicos. São classificados basicamente em baterias primárias que não podem ser recarregadas, e secundárias que admitem recarga (MERRIAN WEBSTER, 2013). As baterias que admitem recargas sofrem um processo de envelhecimento com o aumento do número de recargas. Essas recargas produzem desgastes nos materiais que compõem a bateria. E esses desgastes são produzidos pelas reações químicas internas e pelo aquecimento dos elementos. Após um determinado número de descargas, os materiais da bateria estão envelhecidos e esta perde a capacidade de armazenar energia. 6.2. Breve Histórico Apesar de Alessandro Volta ser usualmente conhecido como o inventor das baterias modernas no ano de 1800, há indícios de células antigas em ruínas da civilização suméria datadas de 250 a.C.. As primeiras evidências vieram de descobertas arqueológicas em Bagdá, e sua aplicação era folhear metais com ouro e prata. Esta bateria era composta de um jarro com uma tampa de asfalto; e dentro do jarro havia um cilindro de cobre oco, que por sua vez tinha uma barra de ferro no centro. Ao encher o jarro com vinagre, era possível obter uma diferença de potencial de 1,1V (WINDSUN, 2013). Uma pequena cronologia da história das baterias de acordo com o site da inventors.about (2013): • 1748 - Benjamin Franklin utilizou o termo “bateria” pela primeira vez para descrever um conjunto de placas de vidro carregadas. 18 • 1780 – Luigi Galvani demonstrou o que nós agora entendemos com a base elétrica dos impulsos nervosos, provendo a pedra angular de pesquisa para inventores posteriores. • 1800 - Volta demonstrou a Napoleão a pilha Volta, a primeira pilha não recarregável. Construída alternando discos de zinco e cobre com pedaços de papelão mergulhados em água com sal entre os metais. Foi a primeira “célula de bateria úmida” que produzia uma corrente estável e confiável. • 1854 - Sinstede usa pela primeira vez placas de chumbo em ácido sulfúrico para armazenar eletricidade; • 1859 - Planté melhorou a capacidade de baterias ácidas com uma técnica que ainda é utilizada atualmente (placas tipo planté); • 1882 - Gladstone e Tribe descrevem as operações básicas das baterias ácidas. Tudor abre em Luxemburgo uma fábrica de baterias ácidas; • 1904 - É utilizada madeira de cedro nos separadores das baterias; • 1915 - Willard introduz os separadores de borracha nas baterias; • 1958 - Jache descreve as baterias VRLA de gel; • 1965 - Começam a ser utilizadas as baterias SLI (starting, lighting, ignition) nos automóveis; • 1968 - São desenvolvidas as baterias SLI sem manutenção; • 1980 - São desenvolvidas as baterias VRLA baseadas na tecnologia AGM; • 1990 - Revolução das baterias ácidas nos telefones celulares. Um marco na história das baterias é a descoberta de Gaston Planté, que demonstra em 1859 as primeiras baterias recarregáveis, um processo que é utilizado até os dias de hoje. Esta bateria era composta por duas tiras de chumbo, separadas por fitas de borracha e mergulhadas em solução de 10% de ácido sulfúrico. O sistema foi ligado a uma fonte de corrente externa, e após um determinado período de tempo obtinha-se uma célula de 2V. A quantidade de energia armazenada dependia da quantidade de dióxido de chumbo formado, sendo que esta bateria requeria uma quantidade considerável de ciclos de carga e descarga até atingir sua capacidade para utilização prática. Este processo era chamado por Plante de “formação”, processo no qual as superfícies ativas dos 19 eletrodos (PbO2 e Pb) são transformados em um material poroso. Como não havia um sistema eficiente de recarga, estas baterias permaneceram como meras curiosidades de laboratório até a invenção do dínamo em 1886, quando as pesquisas retornaram focando na aceleração do processo de formação, novos materiais e nas teorias de funcionamento (CHAGAS, 2007). 6.3. Classificação das Baterias Chumbo Ácidas As baterias chumbo ácido são classificadas de acordo com suas características construtivas. Existem duas categorias principais, as baterias ventiladas e as baterias seladas. Os próximos tópicos abordarão os detalhes das tecnologias de ambos os tipos. 6.3.1. Baterias Ventiladas As baterias ventiladas são aquelas que possuem eletrólito líquido e livre dentro da célula e que permitem a adição de água durante a vida útil, sendo tolerantes a altas temperaturas e sobrecargas. Essas baterias emitem quantidade considerável de gases e não podem ser instaladas junto com equipamentos eletrônicos. Possuem a vantagem de ter uma alta durabilidade, porém com alto custo e somente podem ser montadas com as tampas viradas para cima, inclusive durante o transporte, sob o risco de vazamento do eletrólito (BATTERY,2013). Estas baterias são subclassificadas de acordo com a tecnologia de construção (BATTERY, 2013): • Planté: É uma variação da primeira bateria, demonstrada por Gaston Planté no século XVIII. A placa ou grade positiva é composta de chumbo puro com lamelas finas que proporcionam uma área de superfície em torno de 12 vezes a área aparente. O material ativo é produzido a partir da superfície do chumbo e pode se regenerar durante toda a vida útil da bateria, sendo assim a capacidade dessa bateria não diminui com o tempo, mantendo-se constante durante todo o tempo de operação da bateria. A grande área de superfície e a capacidade de reciclar seu material ativo tornam esta bateria ideal para aplicações de missão crítica, ou seja, onde falhas têm elevado custo, tais como em centrais 20 elétricas, estações de comutação de energia, grandes bancos e call centers. Seu alto custo e sua limitada capacidade de efetuar ciclos de carga e descarga são compensados pelo fato de terem uma vida útil de até 20 anos e ficarem normalmente em estado de espera (flutuação). A placa de chumbo e a placa com material ativo são mostradas na Figura 2. Figura 2 - Placa de chumbo e placa com o material ativo. Fonte: BATTERY, 2013. • Placas planas: Estas baterias têm um custo e uma durabilidade menor (em flutuação) que as baterias Planté. Seu design oferece uma capacidade de ciclos de carga e descarga maiores. A placa positiva é composta por uma liga de chumbo na qual o óxido de chumbo é colocado sob pressão, o que diminui os custos de fabricação. Esta placa também é mais fina e com isto há uma redução na vida útil da bateria. Durante sua operação há uma redução gradual de capacidade até que esta atinja 80% da capacidade nominal no fim da vida útil. A Figura 3 mostra a placa de chumbo e a mesma placa depois de receber o material ativo (BATTERY, 2013). 21 Figura 3 - Placa de chumbo plana e placa após receber o material ativo. Fonte: BATTERY, 2013. • Placas tubulares: A placa positiva consiste de tubos de liga de chumbo cercados por tubos de fibra sintética preenchidos com material ativo. Isso as torna ideais para aplicações que requeiram frequentes ciclos de carga e descarga, tais como sistemas solares e sistemas de tração. Na Figura 4 pode-se observar a placa tubular e a mesma placa com o material ativo. Em certas aplicações de espera, onde a rede é instável e descargas são frequentes, a bateria tubular é preferível à placa plana ou Planté. Como a chapa plana, a capacidade desta bateria também cai com o tempo, e a mesma medida de 80% de capacidade no final da vida se aplica (BATTERY, 2013). 22 Figura 4 - Placa tubular e placa tubular com material ativo. Fonte: BATTERY, 2013. 6.3.2. Baterias Seladas As baterias reguladas por válvula, denominadas seladas, possuem eletrólito imobilizado na forma de gel ou em separadores de fibra de vidro, com uma válvula de alívio de pressão que limita a fuga de gases, provenientes dos ciclos de carga e descarga. Essas são geralmente menores e mais baratas que as baterias ventiladas devido ao fato de não poderem ser acessadas externamente, sendo, também, muito sensíveis a temperaturas elevadas e a sobrecarga: quando há um destes fatores ou sua combinação, ocorre um processo de evaporação (dry out) que faz com que a bateria perca eletrólito e se danifique. Como a emissão de gases é desprezível em operação normal, podem ser instaladas em ambientes com equipamentos eletrônicos e com circulação de pessoas, podendo ser montadas em qualquer posição, pois não há risco de perda de eletrólito (BATTERY, 2013). Estas baterias também são subclassificadas quanto às tecnologias de construção disponíveis (BATTERY, 2013): • Placas Planas AGM: Estas baterias possuem a mesma construção básica das baterias ventiladas de placas planas, no entanto utilizam diferentes ligas de chumbo, separadores e outros 23 recipientes. Os separadores são compostos por mantas de fibra de vidro absorventes que imobilizam o eletrólito e facilitam a recombinação dos gases internos. Estas baterias possuem uma capacidade de descarga de corrente relativamente alta, entretanto o número de cargas e descargas é limitado e seu custo, quando comparado às baterias ventiladas, menor. É, atualmente, a bateria mais utilizada devido ao seu custo, tamanho reduzido e emissão de gases desprezível. Sua capacidade diminui ao longo da vida útil. A Figura 5 mostra uma bateria VRLA AGM. Figura 5 - Bateria VRLA AGM. Fonte: BATTERY, 2013. • Placas Planas Gel: Essa bateria tem a mesma construção das baterias AGM, porém o eletrólito é imobilizado em um gel a base 24 de sílica. Esta característica ajuda a suportar uma maior temperatura, e por esta razão é considerada mais robusta. O processo produtivo a torna mais cara, possui um número de cargas e descargas limitado e sua capacidade cai ao longo da vida útil. A Figura 6 mostra uma bateria VRLA-GEL. Figura 6 - Bateria VRLA-GEL. Fonte: BATTERY, 2013. • Placas Tubulares Gel: Possuem a mesma característica produtiva das ventiladas tubulares, porém utilizam separadores e ligas metálicas diferentes. O eletrólito imobilizado em um gel a base de sílica oferece uma melhor tolerância a variações de temperatura. Possui alta capacidade de ciclos de carga e descarga, porém sua capacidade decresce durante a vida útil. A Figura 7 mostra uma bateria tubular gel. 25 Figura 7 - Bateria tubular gel. Fonte: BATTERY, 2013. 6.4. Principais características das baterias Nos itens anteriores algumas das principais características construtivas das baterias foram apresentadas de acordo com a sua classificação. Na Tabela 1 vemos um resumo dessas principais características de acordo com a classificação das baterias. 26 Tabela 1: Tabela resumo das características de baterias chumbo ácidas. Fonte: Adaptado de BATTERY, 2013. De acordo com a classificação das baterias e de suas características construtivas, é possível adequar cada tipo de bateria a uma aplicação mais específica. A Tabela 2 mostra um resumo com os tipos de baterias e suas possíveis aplicações. Tabela 2: Aplicação das baterias em função das características construtivas. Fonte: Adaptado de BATTERY, 2013. 27 6.5. Baterias VRLA-AGM Como o objetivo principal deste projeto foi desenvolver um sistema de monitoramento para baterias VRLA-AGM, foi realizado um estudo mais detalhado deste componente (VADER, 2007). Na Figura 8 vemos os componentes de uma bateria VRLA-AGM. Figura 8 - Principais componentes da bateria AGM-VRLA. Fonte: Adaptado de VARTA, 2013 Os próximos itens descrevem em detalhe os componentes dessa bateria. • Grelha Positiva: Composta por uma liga de chumbo com função de suprir corrente elétrica e servir de base de sustentação para o material ativo. • Placa Positiva: É a grelha que já recebeu o material ativo composto por dióxido de chumbo. • Grelha Negativa: Composta por uma liga de chumbo com a função de suprir corrente elétrica e servir de base de sustentação para o material ativo. • Placa Negativa: É a grelha que já recebeu o material ativo composto por chumbo. • Separador de fibra de vidro: Tem a função específica de separador elétrico, também atua como elemento confinante do eletrólito, que é retido por absorção, o que assegura total contato do eletrólito com o material ativo da placa, além de manter constante a distância entre as placas de polaridades opostas. 28 • Válvula de segurança de pressão: É acionada sempre que houver situações de sobrecarga na bateria, retornando à posição original quando a condição normal de funcionamento for restabelecida. Além disso, impede a entrada do ar para dentro da bateria, o que poderia contaminar o equilíbrio químico dos elementos reagentes. • Material Ativo: Serve para o processo de oxidação (carga) e redução (descarga). • Eletrólito: O eletrólito é composto por água + ácido sulfúrico e sua densidade é de 1,300 g/dm3 a 25°C. • Caixa e tampa: São construídos com resina acrilonitrila butadieno estireno (ABS) de elevada resistência mecânica, resistente à corrosão química e de grande durabilidade. 6.5.1. Teoria de Funcionamento Na Figura 9 pode-se ver um diagrama simplificado de uma bateria de chumbo ácido composta por uma única célula com dois eletrodos, sendo a placa positiva de chumbo poroso e a negativa de dióxido de chumbo, ambas imersas em uma solução de ácido sulfúrico e água, separadas por uma manta de microfibra de vidro. Quando imersas no eletrólito apresentam uma diferença de potencial de 2 V, que é um padrão para baterias chumbo ácidas (uma bateria de 12V possui 6 células interligadas em série). 29 Figura 9 - Esquema de bateria chumbo ácida e reações de carga e descarga. Fonte: Adaptado de BATTERY, 2013. No processo de descarga, os íons presentes no eletrólito interagem com a placa positiva e a negativa, formando sulfato de chumbo em ambas. A perda de íons no eletrólito reduz sua densidade específica na proporção em que a carga é entregue. Durante a recarga, a corrente elétrica reversa converte as placas positivas e negativas para o estado carregado, dióxido de chumbo e chumbo, respectivamente. O sulfato retorna para o ácido sulfúrico e a densidade do eletrólito aumenta também. Pode-se observar que o processo é reversível, e os ciclos de carga e descarga podem ocorrer várias vezes durante a vida útil da bateria. A capacidade da bateria (em ampères-hora) depende da quantidade de dióxido de chumbo (placa positiva), chumbo poroso (placa negativa) e ácido sulfúrico (eletrólito) presentes no conjunto. Qualquer perda nestes elementos resulta numa queda na capacidade da mesma (BATTERY, 2013). 6.5.2. Principais Parâmetros Projetistas que precisam dimensionar baterias ou bancos de baterias se baseiam em uma série de parâmetros para definir qual a bateria mais adequada, que servem para efeito de comparação entre fabricantes. Estes são referenciados sempre a temperatura de 25ºC e compreendem (VADER, 2007): 30 • Parâmetro – Tensão: Nominal: Valor da tensão por elemento multiplicado pelo número de elementos ligados em série e condicionadas na caixa da bateria. O valor é de 2,0V por elemento; e para uma bateria com seis elementos; e o valor impresso na caixa é de 12 V. Flutuação: Tensão aplicada à bateria que evita sua auto-descarga, depende da temperatura ambiente e seu valor fica entre 2,20 e 2,25 V por elemento. Equalização: tensão aplicada em um banco de baterias no qual há baterias com tensões diferentes, este processo faz com que as tensões de cada bateria se aproximem de um determinado valor. Normalmente são aplicados valores entre 2,43 e 2,48V. Carga: Tensão necessária, a ser aplicada por elemento, para que a bateria entre em processo de carga. Valor normalmente entre 2,43 e 2,48V por elemento. As baterias VRLA-AGM são carregadas sempre com tensão constante. De circuito aberto (OCV, Open Circuit Voltage): Tensão que a bateria atinge após ser desconectada de qualquer circuito e decorrido um período de quatro horas. Final de descarga: Mínima tensão que uma bateria pode atingir no processo de descarga. E este valor depende da duração do tempo de descarga. Para descargas de até 1 hora o valor recomendado é de 1,75V por elemento. Se a bateria for descarregada abaixo deste valor, a mesma pode sofrer um processo irreversível de sulfatação das placas e, com isto, um dano permanente. • Capacidade: Refere-se à quantidade total de energia armazenada. Capacidade nominal é definida em Ampere-hora (Ah), que é o produto do valor da corrente de descarga pelo número de horas necessárias para atingir a tensão final de descarga. Normalmente as baterias vêm com referência ao tempo C (descarga em uma hora), por exemplo: 31 Uma bateria 12V/40Ah é capaz de fornecer 40A durante um período de uma hora. Em C10, ou seja em 10 horas, é capaz de fornecer 4A. Em C20, ou seja em 20 horas, é capaz de fornecer 2A. Quatro fatores determinam a capacidade de uma bateria: Tamanho: A capacidade de uma bateria é diretamente proporcional à quantidade de eletrólito e material ativo. Temperatura: Influência diretamente a capacidade de armazenamento da célula e sua vida útil, como pode ser visto na Tabela 3. Tabela 3: Capacidade em função da descarga. Fonte: Adaptado de ACTPOWER, 2013. Capacidade em função da temperatura 40ºC 102% 25ºC 100% 0ºC 85% -15ºC 65% Tempos de ciclo: Eles determinam qual a tensão mínima que cada elemento pode apresentar dependendo da sulfatação ou descarga total das placas. Os valores por célula são mostrados na Tabela 4. Tabela 4: Tensão de corte em função do tempo de descarga. Fonte: Adaptado de ENERSYSTEM, 2011. Ciclo Tensão final mínima 5 min. <= t <= 1h 1,65 V 1h <= t <= 5h 1,70 V 5h <= t <= 8h 1,75 V 8h <= t <= 20h 1,80 V Histórico: O tempo de duração da carga da bateria depende do estado de carga antes do início da descarga; é possível que o 32 evento que originou a descarga ocorreu antes da bateria estar totalmente carregada. • Resistência Interna: É um dos fatores responsáveis por perdas durante os processos de carga e descarga já que a energia é convertida em calor e quanto menor a resistência interna, melhor o desempenho. Cargas e descargas lentas, ou seja, com uma corrente menor, são mais eficientes. A resistência é menor com a bateria plenamente carregada e aumenta conforme esta perde a carga, apresentada na Figura 10. O valor da resistência interna é fornecido pelos fabricantes e especificado com a bateria totalmente carregada e a temperatura de 25ºC. Baterias de mesma capacidade, fabricação e idade têm resistências internas muito próximas e baseadas nesta informação é possível construir um histórico de evolução da resistência interna e, com isto, ter-se-ia uma idéia do estado das baterias (ACTPOWER, 2013). Figura 10 - Resistência interna em função da carga. Fonte: ACTPOWER, 2013. • Intervalo entre recargas: A Tabela 5 indica o intervalo necessário entre as recargas para evitar danos na bateria, caso ela esteja armazenada sem ser utilizada. 33 Tabela 5: Tempo de recarga em função da temperatura. Fonte: ACTPOWER, 2013. Temperatura de armazenamento Recarga 20ºC ou menos A cada 9 meses 20ºC a 30ºC A cada 6 meses 30ºC a 40ºC A cada 3 meses • Estado de carga: A Tabela 6 indica o estado de carga da bateria em função da sua tensão de circuito aberto (OCV). Pode se estimar sua quantidade de carga a partir da tensão de circuito aberto. Tabela 6 - Estado de carga em função da tensão de circuito aberto. Fonte: Adaptado de WINDSUN, 2013. Estado de carga Bateria 12 Volts Tensão por célula 100% 12,7 2,12 90% 12,5 2,08 80% 12,42 2,07 70% 12,32 2,05 60% 12,2 2,03 50% 12,06 2,01 40% 11,9 1,98 30% 11,75 1,96 20% 11,58 1,93 10% 11,31 1,89 0 10,5 1,75 • Corrente: Corrente inicial máxima de carga: máxima corrente suportada no início do processo de carga sem que haja danos na bateria. Como o processo de carga adotado para baterias VRLA-AGM é por tensão constante, esta corrente tende a diminuir durante o ciclo de carga. 34 Corrente de curto circuito: Máxima corrente fornecida pela bateria em caso de curto circuito dos pólos positivo e negativo. Corrente máxima de descarga por 5 segundos: Corrente máxima fornecida pela bateria em uma descarga de 5 segundos. • Ciclo: é o processo em que se descarrega totalmente uma bateria para em seguida carregá-la totalmente. A vida útil de uma bateria é definida em número de ciclos. • Dimensões: Estas definem se a bateria pode ser alocada no espaço dimensionado, ou em caso de troca do banco de baterias, se as novas baterias cabem no armário ou estante existente na instalação. 6.5.3. Manutenção Os modelos VRLA-AGM são chamados livres de manutenção. Este termo indica que a bateria não é acessível para troca de seus componentes internos, porém efetuar um controle dos agentes externos é importante e vai garantir que a transferência de energia ocorra conforme o desejado. Alguns procedimentos que podem ser adotados para manutenção: • Limpeza e verificação das conexões; • Controle da temperatura ambiente; • Medição das tensões de flutuação das baterias; • Medição da resistência interna de cada bateria, construindo um histórico que ajudará na verificação do estado da bateria; • Efetuar um ciclo de carga e descarga; • Verificar a corrente de recarga; As verificações devem ser referenciadas conforme o manual da bateria fornecido pelo fabricante. 35 6.5.4. Causas de Falha As baterias são elementos suscetíveis a falhas. A correta manutenção e o controle de agentes externos (temperatura, torque de aperto das conexões, etc.) podem fazer com que estas alcancem a vida útil projetada. Alguns itens merecem atenção especial (VADER, 2007). • Temperatura: A temperatura de referência para se definir a capacidade nominal da bateria é de 25ºC. Em temperaturas superiores a capacidade nominal da bateria aumenta, e em temperaturas inferiores diminui. Na Figura 11 pode-se verificar os efeitos da temperatura na vida útil de uma bateria. Figura 11 - Efeitos da temperatura na vida útil da bateria. Fonte: ACTPOWER, 2013. Com o aumento da temperatura, tem-se um aumento na velocidade das reações químicas. Sendo que, para cada 10ºC, a velocidade dobra (FISICA, 2013). Em temperaturas elevadas tem-se (LACTEC, 2013): Aumento da corrente de corrosão, que pode vir a danificar as grades; Aumento da decomposição da água, diminuindo o eletrólito; 36 Desprendimento do material ativo das grades; Temperatura em que ocorre dano das baterias é de 55ºC. • Auto descarga: Baterias que ficam armazenadas devem ser recarregadas a cada 3 meses sob pena das placas sofrerem um processo irreversível de sulfatação. Quando uma bateria está em descarga, ou auto descarga, formam-se pequenos grãos de sulfato que tendem a crescer, e com o tempo criam uma barreira isolante que pode diminuir ou mesmo interromper o fluxo de corrente entre os pólos de uma bateria. Uma curva característica de auto descarga pode ser vista na Figura 12. Figura 12 - Curva de auto-descarga. Fonte: Adaptado de ACTPOWER, 2013. • Sobrecarga: Baterias que são mantidas com uma tensão de flutuação e/ou carga acima das especificadas pelo fabricante tendem a sofrer sobre temperatura e, consequentemente, danos nas placas e no eletrólito. 37 • Descarga abaixo da tensão final de descarga: Quando as baterias são submetidas a ciclo de descarga e permanecem neste estado mesmo após a tensão da bateria estar abaixo do valor final de descarga, as mesmas ficam com as placas positivas e negativas descarregadas. Descargas regulares a mais de 80% de sua capacidade sem recargas de equalização podem resultar em danos nas células. • Número de ciclos de carga e descarga suportados: As baterias VRLAAGM possuem um número limitado de ciclos de carga que dependem da profundidade da descarga (depth of discharge, DOD), conforme apresentado na Figura 13. Quanto mais profunda for a descarga, menor o número de ciclos possíveis, devido a características construtivas das placas. Figura 13 - Ciclos de carga e descarga em função da profundidade de descarga. Fonte: ACTPOWER, 2013. 38 6.6. Critérios para detecção de falha Utilizando os conceitos discutidos no tópico anterior, podemos determinar quais serão os critérios para detecção de falhas nos elementos individuais de um banco de baterias. Serão três grandezas monitoradas: tensão, temperatura e corrente. Sendo que a corrente será monitorada com o propósito exclusivo de determinar se o banco está carregando, descarregando ou em flutuação. A partir do estado do banco podemos determinar os critérios de tensão. É necessário salientar que os valores apresentados abaixo são das baterias do fabricante ActPower. • Banco de baterias em flutuação: Nesse estado o UPS apenas mantém uma tensão constante para todo o banco sem utilizar a energia armazenada nas baterias. Como as baterias perdem carga com o tempo, mesmo não estando conectadas a nenhum circuito que consuma a energia armazenada, o UPS mantém essa tensão de flutuação para garantir que as baterias permaneçam carregas, sendo assim o sistema fica sempre disponível para uso. Segundo o fabricante das baterias, a tensão de flutuação deve ficar entre 2,20 V e 2,25 V por elemento na bateria, sendo assim é de 13,2 V a 13,8 V em cada bateria. Valores fora dessa faixa podem indicar um problema na bateria ou no UPS. • Banco de baterias carregando: Nesse estado o UPS mantém uma tensão de carga para o banco de baterias. Segundo o fabricante, a tensão de carga deve ficar entre 2,43 V e 2,48 V por elemento, totalizando 14,58 a 14,88 V por bateria. Um valor de tensão superior a 14,8V pode danificar as baterias, indicando um defeito do carregador do UPS ou de alguma bateria isolada. • Banco de baterias descarregando: Quando há uma falha no sistema de alimentação principal, o UPS utiliza a energia armazenada nas baterias para suprir a demanda de energia do sistema alimentado. Entretanto, o UPS possui uma autonomia limitada, quando as baterias descarregam, elas podem atingir um nível mínimo de tensão de final de descarga que é definido pelo fabricante conforme a Tabela 4. O critério para a temperatura da bateria não indica um defeito, ou uma falha, mas uma redução na vida útil da bateria, sendo que uma temperatura superior a 55° C pode causar defeitos na bateria. A temperatura de operação ótima é de 25° C, onde a capacidade de descarga é de 100% e a vida útil da bateria é máxima. 39 7. Sistemas de Monitoramento comerciais Atualmente existem alguns sistemas de monitoramento disponíveis no mercado. A ideia desses sistemas é o monitoramento das grandezas físicas das baterias para evitar falhas e tentar aumentar o índice entre manutenção preventiva e manutenção corretiva. 7.1. Sistema de monitoramento Sentinel O Sentinel, da powerShield, é capaz de monitorar as principais grandezas dos acumuladores, como resistência interna, tensão e temperatura. Ele é composto por dois componentes principais: • O modulo principal: Capaz de monitorar até cinco bancos de baterias, que é o equivalente a 160 baterias individuais. Também é responsável pela comunicação com a rede externa ou computador. • O modulo de mídia ou m-Sensor: Monitora a tensão e a resistência interna. É isolado do restante do sistema através de opto-acopladores. Figura 14: Sistema de Monitoramento Sentinel Chloride. Fonte: Adaptado de POWERSHIELD, 2010. O monitoramento do valor da tensão das baterias vai identificar valores incorretos de tensão de carga e falhas como curto circuito em uma bateria. Pode ser utilizado com baterias do tipo VRLA. O monitoramento do valor de resistência interna é capaz de detectar outros tipos de falha, como “dry-out”, bateria em circuito aberto, perda de compressão, corrosão do grid e perda de material ativo. 40 7.2. Sistema de monitoramento da LEM O sistema de monitoramento da LEM é considerado o mais moderno atualmente. E ele é composto pelos seguintes componentes principais: • Sentinel: é capaz de monitorar células de baterias individuais ou monoblocos. Ele monitora os valores de temperatura interna, tensão e impedância interna. Cada bloco pode monitorar células ou monoblocos que vão de 2 a 12 volts. • MicroGuard: Projetado para integrar com os blocos de monitoramento Sentinel, é o sistema de registro de eventos e de dados do monitorador. Ele pode constituir o registro com até 250 módulos Sentinel (equivalente a 250 células ou monoblocos). • MicroGuard Gateway: é uma versão avançada do MicroGuard com uma interface para comunicação externa via ethernet. Ao contrário do MicroGuard, ele não possui display nem teclado, enviando as informações diretamente à um PC. Figura 15: Sistema de monitoramento Sentinel LEM. Fonte: Adaptado de LEM, 2011. 41 7.3. Comparação dos dois sistemas Comparando os dois sistemas pode-se concluir que são parecidos em termos de monitoramento e acessibilidade, sendo o sistema da Sentinel Chloride é 42% mais barato por bateria relativo ao LEM. A Tabela 7 mostra essa comparação. Tabela 7: Comparação das características dos dois sistemas comerciais estudados. O sistema Sentinel Chloride ainda possui um protocolo de comunicação mais antigo disponível, o MODBUS. 8. Idéia de um sistema de monitoramento A pesquisa realizada tem como objetivo o desenvolvimento de um sistema de monitoramento de baixo custo para as grandezas físicas de tensão, temperatura e corrente. A medida de resistência interna possui grande complexidade, e por questões orçamentárias e de tempo, não foi realizada. A idéia de desenvolver um sistema de baixo custo envolve economia em termos de hardware, portanto todo o tratamento dos dados obtidos será feito via software. Com essa idéia fundamental mais os conceitos obtidos pela análise dos sistemas de monitoramento disponíveis, foi possível desenvolver o diagrama de blocos da Figura 16. 42 Figura 16: Diagrama em blocos do sistema de monitoramento proposto. Os valores de tensão, temperatura e corrente da bateria são lidos por circuitos independentes conectados a um multiplexador analógico. Esse multiplexador tem sua saída conectada ao leitor A/D (Analógico/Digital) do µC. Os pinos de controle do multiplexador também estão conectados ao µC, de forma que esse controla qual saída do multiplexador está ativamente conectada ao leitor A/D. Com o diagrama de blocos do sistema definido, o desenvolvimento dos componentes pode ser realizado. 9. Desenvolvimento do sistema de monitoramento 9.1. Hardware O hardware desenvolvido tem por objetivo a leitura das grandezas físicas da bateria: tensão, temperatura e corrente. Os tópicos a seguir descreverão detalhadamente todos os circuitos. 43 9.1.1. Circuito para leitura de tensão A leitura de tensão será feita com o auxílio de um opto acoplador linear. Optou-se por essa solução uma vez que é necessário o isolamento entre as baixas tensões do µC e a alta tensão do banco de baterias. Esse isolamento também é necessário para evitar que sobre cargas no banco de baterias venham a danificar o equipamento de monitoramento das baterias. O opto acoplador linear utilizado foi LOC110 da Clare Micro Chips. Esse componente não está disponível no mercado nacional e foi importado dos Estados Unidos. Esse componente é capaz de fazer acoplamento entre sinais contínuos e alternados com uma grande estabilidade no ganho servo de transferência. Esse ganho de transferência entre corrente de entrada e corrente de saída é unitário com uma tolerância de apenas 1%. Os opto acopladores da série LOC são lineares e foram desenvolvidos para aplicações onde isolamento galvânico é necessário e a linearidade entre entrada e saída deve ser preservada com precisão (CLARE MICRO CHIPS, 2013). A utilização do circuito desenvolvido pela Clare está descrita na nota de aplicação AN-107. Essa nota descreve os princípios de design para amplificadores de isolamento utilizando opto acopladores lineares. Ela descreve a operação dos circuitos nos modos fotocondutor e fotovoltaico e fornece também alguns exemplos de aplicação na indústria (CLARE MICRO CHIPS, 2013). O opto acoplador pode ser utilizado em dois modos: operação foto condutiva e operação fotovoltaica. O modo de operação foto condutor não apresenta características interessantes para este estudo e, portanto não será abordado em detalhes. A operação fotovoltaica é a que apresenta a grande linearidade entre a tensão de entrada e a tensão de saída. Antes de entrar em detalhes a respeito da operação no modo fotovoltaico, é necessário fornecer algumas informações básicas do componente que são encontradas na sua folha de especificação: • Ganho servo – K1: Definido como a razão entre a foto corrente do servo corrente direta do LED ea . Para o LOC110 K1 tem valor típico de 0,007 para uma alimentação de 15 V. • Ganho direto – K2: Definido como a razão entre a foto corrente de saída e a corrente direta do LED .Para o LOC110 K2 tem valor típico de 0,007 para um uma alimentação (Vcc) de 15 V. • Ganho de transferência K3: Definido como a razão entre K2 e K1. Tipicamente de valor unitário. 44 Figura 17: Circuito do LOC110 para operação em modo fotovoltaico. No modo de operação fotovoltaico, os fototransistores agem como geradores de corrente. Todo gerador de corrente possui algum tipo de dependência da tensão em termos de linearidade. Mantendo um ponto de operação de zero volt para o fototransistor elimina esse problema e melhora a linearidade. Pode-se ver o circuito para operação em modo foto voltaico na Figura 17 e as relações fundamentais desse circuito serão descritas a seguir. Como o fototransistor está conectado a uma resistência de baixo valor, a corrente de saída é linear com o aumento do fluxo incidente do LED. Para essa finalidade, os fototransistores estão conectados nos amplificadores operacionais vistos na Figura 17. Com o aumento de a corrente através do LED aumenta e com isso o fluxo ótico também aumenta. O fluxo ótico proveniente do LED incide no servo fototransistor cuja corrente começa a fluir para a entrada inversora do amplificador operacional. Essa fotocorrente é linearmente proporcional à tensão de entrada e mantém a tensão na saída inversora igual à zero. 45 O fluxo ótico do LED também incide no fototransistor de saída o que causa que a corrente comece a fluir da saída inversora do amplificador operacional de saída através do fototransistor. Conforme é drenada da entrada inversora do amplificador operacional, a saída do amplificador operacional começa a aumentar até que uma corrente com a mesma amplitude de é injetada na entrada inversora do amplificador operacional. Uma vez que a corrente flui através do resistor a tensão de saída é igual a (CLARE MICRO CHIPS, AN-107, 2013): Como a tensão de saída é fornecida pela equação (IV). Dessa forma a equação (VII) descreve a tensão de saída em função da tensão de entrada (CLARE MICRO CHIPS, AN-107, 2013). Com as equações do circuito é possível definir os valores das resistências para a aplicação de leitura da tensão das baterias. A tensão de uma bateria pode chegar ao máximo de 14,8 V durante o processo de carga da bateria. Para evitar e foi escolhido de tal forma a obter um danos à entrada do µC, o valor de ganho de 0,2695 V/V. Assim, mesmo considerando uma sobre carga, o valor da tensão de entrada no leitor analógico do µC não ira passar de 5 V. O circuito do opto acoplador foi montado em uma placa de testes para verificar a linearidade da leitura de tensão. Na Figura 18 mostra o circuito de testes utilizado para verificação do funcionamento. A tensão de entrada foi variada de 1 V até 15,17 V para analisar o ganho de tensão. A Tabela 8 contém os valores obtidos no ensaio. Tabela 8: Valores de tensão de entrada e saída para o circuito do optoacoplador. Entrada (V) 1,02 2,09 3,05 3,53 4,09 4,52 5,03 5,53 6,04 6,5 7,03 7,59 8,02 8,56 9,01 Saída (V) 0,01 0,07 0,41 0,63 0,94 1,18 1,36 1,48 1,62 1,75 1,89 2,06 2,17 2,29 2,42 Ganho 102 29,86 7,44 5,60 4,35 3,83 3,70 3,74 3,73 3,71 3,72 3,68 3,70 3,74 3,72 46 9,53 10,04 10,57 11,03 11,53 12,05 12,5 13,08 13,54 14,05 14,6 15,17 2,56 2,71 2,85 2,98 3,11 3,25 3,37 3,53 3,65 3,79 3,95 4,1 3,72 3,70 3,71 3,70 3,71 3,71 3,71 3,71 3,71 3,71 3,70 3,70 É possível inferir pela tabela que o ganho de tensão entrada/saída é estável a partir do momento em que a entrada atinge 5 Volts. Como a faixa de interesse de medida vai de 8 V até 15 V, pode-se considerar que o circuito do optoacoplador funciona de maneira linear. Figura 18: Circuito de testes do optoacoplador. 9.1.2. Circuito para leitura de corrente A medida de corrente será realizada uma única vez para todo o banco de baterias, tendo em vista que o propósito da medida de corrente é determinar se o banco de baterias está carregando, descarregando ou se ele está em flutuação. O circuito é baseado no sensor de efeito Hall LA100P da LEM. O LA100P é um sensor de corrente de loop fechado baseado no efeito Hall. Ele é capaz de medir 47 correntes que vão de 0 a 100 A, além de ser capaz de medir uma corrente de sobrecarga de 120 A sem sofrer danos. Esse componente possui grande linearidade e baixa dependência de temperatura (LEM). Figura 19: Sensor de efeito Hall LA100P da LEM. O funcionamento do componente depende de uma fonte de alimentação simétrica. Ele necessita de uma alimentação de ±12 V para funcionar corretamente. Esse componente converte o valor da corrente que passa através do sensor em um valor de corrente equivalente a 1/2000 vezes o valor da corrente medida. Ele pode medir corrente nos dois sentidos, sendo que a saída será positiva se a corrente fluir no sentido da seta indicativa do componente (Figura 19) e negativa se fluir no sentido contrário. As características desse sensor são tais que ele se comporta como uma fonte de corrente controlada. O valor máximo lido pelo sensor é de ±100 A, e portanto a saída máxima será de ± 500 mA. Para que a leitura do valor da corrente seja feita pelo µC, esse valor de corrente deve ser transformado em um valor de tensão. O circuito desenvolvido para esse propósito é apresentado na Figura 20. A fonte I3 representa o sensor de efeito Hall, o valor de corrente que flui da fonte passa através do resistor R1 fazendo com que a tensão no resistor R1 seja uma imagem do valor da corrente. A corrente máxima que é fornecida pelo sensor de efeito Hall é de 500 mA, ou seja, uma tensão de 500 V no diodo R1. Para limitar o valor de tensão no resistor R1, uma vez que esse valor de tensão será utilizado por comparadores que suportam um valor máximo de entrada igual a 12 V, diodos zener foram associados em paralelo com o resistor. A idéia fundamental é de que os valores de tensão não ultrapassem ± 5 V, logo a tensão avalanche dos diodos zener escolhidos é de 4.7 V. Como a corrente proveniente do sensor pode ser positiva ou negativa, dois diodos devem ser utilizados. Um deve ser reversamente polarizado quando a corrente for positiva (diodo D2 da Figura 20) e o outro quando a corrente for negativa (diodo D3 da Figura 20). Para evitar que um diodo esteja polarizado reversamente e outro esteja polarizado diretamente, foram associados dois transistores MOSFET (M1 e M2 da Figura 20). 48 Figura 20: Circuito para leitura da corrente do banco de baterias. Para que o circuito funcione apropriadamente, devem ser utilizados MOSFET do tipo depleção, cujo canal existe mesmo na presença de uma tensão nula entre porta e fonte. Quando uma tensão positiva é aplicada na porta do MOSFET-n (M1 da Figura 20), o canal entre dreno e fonte aumenta fazendo com que a corrente proveniente da fonte flua através do diodo D2, que está polarizado reversamente. Essa mesma corrente positiva faz com que o canal do MOSFET-p se esgote impedindo a corrente de circular no diodo D3. Analogamente o MOSFET-p conduz se uma tensão negativa for aplicada na porta, fazendo com que a corrente polarize inversamente o diodo D3 e bloqueie o MOSFET-n. Agora que os valores de tensão foram limitados a ± 4.7 V, precisamos converter isso em valores digitais de tal forma que esses valores indiquem se o banco de baterias está carregando, descarregando ou em flutuação. Para tal propósito serão utilizados comparadores com histerese. O comparador cuja entrada está conectada a R10 compara o valor de tensão do resistor R1 com o zero. Se o valor de corrente estiver aumentando, ao passar um determinado valor positivo, a tensão de saída do comparador será de 5 V. No retorno, a tensão de saída será zero volt assim que o valor da tensão de entrada do comparador for inferior a zero volt. Fenômeno análogo acontece com o comparador cuja entrada está conectada no resistor R12. Com o modelo spice dos diodos zener e dos amplificadores operacionais LM358P, uma simulação no spice foi realizada para 49 validar o funcionamento do circuito. A fonte de corrente, que representa o sensor de efeito Hall, teve seu valor de corrente variado durante a simulação conforme Figura 21. Iniciou-se com o valor máximo que o sensor pode fornecer. Figura 21: Valor da corrente de entrada que simula o sensor de efeito Hall. As tensões de saída obtidas podem ser vistas na Figura 22. Vemos que as tensões são complementares como projetado inicialmente. Figura 22: Valores das tensões de saída. O sinal vermelho é a saída do comparador um e o sinal verde a saída do comparador dois. O sinal roxo representa a tensão no resistor R1. Na Figura 23, vemos a histerese dos comparadores. A histerese foi adicionada para permitir a detecção da não passagem de corrente no sensor de efeito Hall. Se as duas tensões de saída estiverem no nível alto ou ambas no nível baixo, não há corrente passando no sensor de efeito Hall. Figura 23: Histerese dos comparadores de saída. 50 Esse circuito foi implementado em uma placa de teste para verificar o seu funcionamento correto. Para que o sensor funcionasse apropriadamente, foi necessário construir uma fonte de alimentação simétrica que fornecesse ± 12 V. O esquemático da fonte pode ser visto na figura 25. Figura 24: Circuito da fonte de alimentação simétrica. O circuito do sensor de corrente com a fonte simétrica pode ser visto na Figura 25. Figura 25: Circuito do sensor de efeito Hall com a fonte de alimentação simétrica. Após a montagem do circuito, foi realizado um teste em laboratório para verificar seu funcionamento. Um condutor foi enrolado com dez voltas passando pelo interior do sensor, fazendo com que a corrente percebida pelo sensor seja dez vezes o valor da corrente que atravessa o condutor. Para os testes foi utilizada uma resistência de 100 Ω alimentada por uma fonte de tensão variável. Dessa forma pode verificar-se a existência da histerese nos comparadores de saída, a histerese de um dos comparadores de saída pode ser visto na Figura 26 51 Figura 26: Histerese no comparador de saída. 9.1.3. Circuito do sensor de temperatura O circuito utilizado para realizar a leitura da temperatura nas baterias é bastante simples e utiliza o sensor LM35 para obter os valores de temperatura. O LM35 é um circuito integrado de precisão cuja tensão de saída é linearmente proporcional à temperatura em graus Celsius do sensor. A grande vantagem do LM35 é o fato da temperatura não ser calibrada em Kelvin e também pelo fato do sensor não necessitar de nenhuma fonte de calibração externa. O circuito faz com que a tensão de saída seja proporcional à temperatura em mV. Se a temperatura do sensor for de -55 °C, a saída do sensor de temperatura será de -550 mV, para uma temperatura de 25 °C, a saída do sensor será de 250 mV. O circuito utilizado para o sensor de temperatura pode ser visto na Figura 27. Figura 27: Circuito do sensor de temperatura. 52 O valor de R1 utilizado foi de 100 k Ω. Após a implementação do circuito, um teste comparativo foi realizado para verificar a precisão do sensor de temperatura. Um termômetro infravermelho digital da Fluke (Figura 28) foi utilizado para realizar a comparação. Figura 28: Termômetro digital infravermelho Fluke. Fonte: myflukestore.com. Os testes comprovaram o funcionamento do circuito do sensor de temperatura, com um erro de ±0.75 °C com relação ao sensor infravermelho foi verificado. Essa precisão é considerada adequada para essa aplicação. 9.2. Software O desenvolvimento dos softwares envolvidos no sistema de monitoramento foi a parte mais dispendiosa e trabalhosa do projeto. O software desenvolvido possui grande complexidade para simplificar o hardware e manter a idéia de um projeto econômico em termos de material. Dois softwares foram desenvolvidos, um para a comunicação do µC instalado na plataforma Arduino e outro para o computador plataforma Windows. Os próximos dois tópicos descreverão em detalhes o desenvolvimento de ambos. 9.2.1. Software plataforma Arduino A plataforma Arduino foi criada para facilitar o desenvolvimento de sistemas embarcados sem a necessidade de um grande conhecimento sobre microcontroladores. Essa plataforma foi escolhida, pois o hardware de comunicação entre o PC e o µC já está pronta, implicando em um grande ganho de tempo para o desenvolvimento do sistema. Essa comunicação é serial e é feita através da porta USB, que também é responsável por alimentar o circuito do Arduino. A linguagem de programação utilizada é a linguagem wiring, que é um conjunto de comandos de C e 53 C++. O compilador utilizado é o avr-g++ e todos os comandos suportados em C e C++ são suportados pela linguagem wiring. O algoritmo desenvolvido tem o propósito de controlar o multiplexador que está conectado aos pinos da plataforma Arduino. Os pinos de controle do multiplexador estão conectados nos pinos de 8 a 11 do µC, a tabela com a numeração dos pinos pode ser vista na Figura 29. Figura 29: Plataforma Arduino e seus pinos numerados. Fonte: ARDUINO, 2013. O multiplexador utilizado possui dezesseis entradas analógicas e quatro pinos de controle. A configuração dos pinos do multiplexador pode ser vista na Figura 31. Os quatro pinos de controle (A0, A1, A2 e A3) estão conectados aos pinos 11, 10, 9 e 8 respectivamente, do µC. Esses pinos são utilizados para controlar qual entrada do multiplexador está conectada à saída. O pino conectado a saída depende da combinação dos valores lógicos fornecidos pelo µC aos pinos de 8 a 11, essa combinação segue a tabela verdade fornecida pela Figura 30. Uma bateria utiliza duas entradas analógicas do multiplexador (Tensão e Temperatura). A saída do multiplexador (pino 1), está conectada à entrada do primeiro conversor analógico digital do µC (A0). 54 Figura 30: Tabela verdade do multiplexador HEF4067B. O valor L é o valor zero digital, o valor H é o valor lógico alto digital. O canal conectado é mostrado na coluna “Channel ON”. O Controle ‘E’ é mantido no valor lógico zero para habilitar o funcionamento do multiplexador. Fonte: adaptado de DATASHEETCATALOG, 2013. Figura 31: Pinos do multiplexador HEF4067B. A leitura de corrente é realizada uma única vez para todo o banco de baterias através da entrada analógica A1 (Analog 1) da plataforma Arduino. 55 As entradas analógicas da plataforma Arduino são conversores A/D internos do µC ATmega328 O algoritmo de leitura das portas recebe um número inteiro que indica qual porta deve ser lida naquele instante. Esse número de porta será enviado pelo software desenvolvido no PC. O algoritmo pode ser descrito pelo fluxograma da Figura 32. Figura 32: Fluxograma do algoritmo desenvolvido no Arduino. O funcionamento desse algoritmo pode ser testado através da plataforma Arduino utilizando a ferramenta Serial Monitor. Essa ferramenta envia um dado pela porta serial e recebe sua resposta, enviada pelo µC. 9.2.2. Software plataforma Windows O desenvolvimento do software para a plataforma Windows tem por objetivo criar uma interface gráfica amigável para o usuário do sistema de monitoramento de baterias. Esse software foi desenvolvido em C++ utilizando bibliotecas de OpenGL, PostgreSQL e bibliotecas da plataforma Arduino. Os próximos tópicos irão descrever em detalhes o processo de desenvolvimento do software. 56 9.2.2.1. Desenho das telas Antes de iniciar o desenvolvimento propriamente dito, é necessária uma análise de requisitos para verificar o que deve ser desenvolvido. O sistema tem por objetivo monitorar bancos de baterias conectados a um hardware que lê as grandezas físicas dessas baterias e as mostra para o usuário em uma interface gráfica. O monitoramento serve especificamente para determinar se há ou não defeitos nas baterias dos bancos. A partir desses requisitos é possível determinar quais telas serão necessárias para que o usuário possa interagir com o sistema. Como cada fabricante de bateria possui suas próprias especificações para os valores limite de tensão, é necessária uma tela para configurar esses valores. Essa tela pode ser vista na Figura 33. Figura 33: Tela de configuração do banco de baterias. Nessa tela é possível configurar todos os parâmetros necessários para o monitoramento do banco de baterias. Outra tela com as baterias que estão sendo monitoradas também é necessária, dessa forma o usuário pode verificar qual o status de todas as baterias ao mesmo tempo. Essa tela pode ser vista na Figura 34. 57 Figura 34: Tela de monitoramento das baterias. A conexão entre essas duas telas é feita através de uma tela com um conjunto de opções principais, essa tela principal aparece assim que o sistema de monitoramento é executado. Essa tela pode ser vista na Figura 35. Figura 35: Tela principal do sistema de monitoramento. A partir dessa tela é possível acessar a tela de configuração do banco de baterias e a tela de monitoramento das baterias. O desenho das telas foi o passo inicial para o desenvolvimento dos algoritmos do software. 58 9.2.2.2. Desenvolvimento dos algoritmos Os algoritmos desenvolvidos têm por objetivo ler os dados provenientes do µC, interpretá-los e mostrá-los na tela para o usuário. A ideia inicial pode ser descrita pelo diagrama da Figura 36. Figura 36: Visão geral do sistema. O primeiro algoritmo desenvolvido tem por objetivo obter os dados provenientes do µC, esse algoritmo se conecta intrinsecamente com o algoritmo desenvolvido na seção 9.2.1, ou seja, ele é responsável por enviar o número da porta do multiplexador que deve ser lida a cada instante. Esse algoritmo utiliza algumas bibliotecas DLL (Dynamic Link Library) do sistema operacional para conseguir acesso à porta serial. A idéia geral do algoritmo está descrita na Figura 37. Figura 37: Fluxograma do algoritmo de leitura do µC através da porta serial. 59 Os dados obtidos devem ser armazenados de alguma forma para uso posterior, esse armazenamento é necessário porque gráficos serão gerados a partir dos dados obtidos na aquisição. Um banco de dados será utilizado com o propósito de armazenar esses dados, o banco escolhido foi o PostgreSQL por sua facilidade e pelo fato do desenvolvedor já estar familiarizado com este banco. Uma alternativa para o banco de dados seria o armazenamento de informações na memória dinâmica, entretanto essa alternativa foi descartada uma vez que para um banco de baterias de tamanho pequeno, trinta baterias, o consumo de memória dinâmica seria grande demais e acabaria por inutilizar o computador para outros propósitos além do monitoramento de baterias, sendo necessário um computador dedicado ao monitoramento. O próximo algoritmo é o algoritmo que insere os dados obtidos no banco de dados do sistema. Esse algoritmo utiliza o algoritmo desenvolvido anteriormente para ler os dados e inseri-los no banco de dados. Antes de começar a desenvolver o algoritmo, é necessário definir quais serão os dados salvos e qual será o formato da tabela que irá conter os dados. Como o propósito desse projeto se limita a monitorar cinco baterias, serão necessárias pelo menos 11 variáveis na tabela do banco de dados, cinco tensões, cinco temperaturas e uma corrente elétrica. Além dessas onze variáveis, também é necessário inserir uma variável chave que identifique cada amostra como sendo única, além do tempo que determina quando a amostra foi obtida. Com esses requisitos claros chegou-se a seguinte tabela: Tabela 9: Variáveis a serem armazenadas na tabela do banco de dados. Nome da variável amostra tensao_1 tensao_2 tensao_3 tensao_4 tensao_5 temp_1 temp_2 temp_3 temp_4 temp_5 corrente tempo Tipo Serial float float float float float float float float float float int datetime Total Tamanho (bytes) 4 4 4 4 4 4 4 4 4 4 4 4 8 56 Para analisar o tamanho do banco de dados, devemos levar em conta o tempo de amostragem. Considerando o espaço de tempo de um mês e os valores fornecidos pelo desenvolvedor do postgreSQL, teríamos o equivalente a 2.47 MB de 60 informação salvas no banco de dados para um período de amostragem de 1s. Um teste foi realizado com o banco de dados para verificar experimentalmente quanto espaço seria utilizado pelo banco de dados. Os resultados obtidos estão na Tabela 10. Esses valores foram obtidos com ajuda do pgAdmin III, que é a interface gráfica do banco de dados postgreSQL. Tabela 10: Valores experimentais do tamanho do banco. Tamanho Inicial do banco (kB) 5537 Tamanho após um minuto de amostragem (kB) 5553 Total por minuto (kB) Total Mensal (MB) 16 675 O valor foi obtido através de uma extrapolação matemática considerando um monitoramento diário 24 horas por dia durante 30 dias. Para os padrões de armazenamento de dados atuais, esse valor é bem aceitável para esta aplicação. Antes de desenvolver o algoritmo de inserção de dados no banco de dados, um algoritmo para criar o banco de dados e a tabela de dados foi criado. Esses dois algoritmos são executados uma única vez na primeira inicialização do software de monitoramento. As próximas figuras mostram os algoritmos de criação do banco de dados, da tabela de dados e o algoritmo de inserção. Figura 38: Fluxograma do algoritmo para criação do banco de dados. 61 O fluxograma da Figura 38 mostra como o banco de dados é criado, inicialmente um teste no arquivo de inicialização do sistema é feito para verificar se o banco de dados existe ou não. Esse arquivo de inicialização é criado quando o software é executado pela primeira vez, quando o banco de dados é criado, uma variável nesse arquivo de inicialização é alterada para evitar que novos bancos sejam criados com o mesmo nome. Uma vez que a verificação foi concluída, um comando SQL é enviado ao postgreSQL para criar uma conexão com o banco de dados padrão, uma vez que é necessária uma conexão SQL antes de se criar um banco de dados. Se a conexão for estabelecida com sucesso, um novo banco é criado com o nome “dbbaterias”. Se houver um problema na conexão com o banco de dados padrão ou na criação do novo banco, uma mensagem de erro é enviada ao usuário. Uma vez criado o banco de dados, é necessário criar a tabela que irá conter os dados inseridos, o fluxograma para a criação da tabela pode ser visto na Figura 39. Figura 39: Fluxograma do algoritmo para criação da tabela no banco de dados "dbbaterias". O algoritmo se conecta ao banco “dbbaterias” e, uma vez estabelecida a conexão com sucesso, cria a tabela que contém as variáveis a serem armazenadas. Se houver um problema na conexão com o banco de dados ou na criação da tabela, uma mensagem de erro é enviada ao usuário. 62 Uma vez criado o banco de dados e a tabela de variáveis, já é possível realizar a inserção de dados no banco. O fluxograma do algoritmo de inserção de dados pode ser visto na Figura 40. Figura 40: Fluxograma do algoritmo de inserção na tabela do banco de dados. O algoritmo de inserção faz a conexão com o banco de dados “bdbaterias” e insere os dados na tabela das variáveis. Esse algoritmo será um dos processos paralelos do sistema de monitoramento (thread). Esse paralelismo é necessário para gerenciar as janelas de interação com o usuário, inserir dados provenientes do hardware e gerar gráficos a partir dos dados provenientes do hardware de maneira simultânea. Os processos paralelos que funcionam durante o tempo de execução do sistema podem ser vistos na Figura 41. Para gerenciar esse paralelismo, diferentes técnicas foram utilizadas. No caso do algoritmo de inserção de dados no banco de dados, a técnica utilizada foi o paralelismo através de um recurso da classe System::Form do Windows. Esse recurso é chamado processo de plano de fundo (backgroundworker). Durante o tempo de execução da janela de monitoramento, esse processo de plano de fundo pode ser executado através de um evento do formulário ou temporizado para ser executado com certo período de tempo. O sistema de monitoramento utiliza a temporização para executar esse algoritmo, essa temporização é de um segundo e ela define o tempo de amostragem dos sensores de tensão e temperatura. 63 Figura 41: Processos paralelos do sistema de monitoramento. Outro processo paralelo do sistema de monitoramento é responsável por atualizar os valores de tensão e temperatura das baterias, além de atualizar também os status de todas as baterias e o status de conexão entre a plataforma Arduino e o sistema de monitoramento. Para tanto, ele faz a leitura do banco de dados e atualiza as informações do formulário, utilizando os critérios da seção 6.6 para determinar se há ou não falhas nas baterias. O fluxograma do algoritmo pode ser visto na Figura 42. Esse algoritmo indica se há falha ou não em alguma bateria, fazendo com que o status da respectiva bateria indique “falha” até que o problema seja resolvido. 64 Figura 42: Fluxograma do algoritmo de atualização do formulário de monitoramento. Outro processo paralelo do sistema é responsável por desenhar os gráficos no tempo dos valores de tensão e corrente das baterias em uma janela OpenGL. Esse algoritmo é o mais complexo desenvolvido, pois necessita de uma biblioteca externa do OpenGL além de um processo paralelo que lê o banco de dados e cria um vetor de pontos para serem desenhados na tela. A API (Interface de Programação de Aplicativos) OpenGL não é orientada a objetos, sendo assim não é possível criar uma classe que contenha as funções OpenGL necessárias para a criação de uma janela gráfica para o sistema. Essa limitação provém do fato de que a função de callback, descrita na seção 5.2.2, precisa de um ponteiro para uma função estática do sistema. Para que fosse possível a integração entre OpenGL e C++, foi necessário a criação de um nome de espaço (namespace) que contém as funções OpenGL utilizadas para criar a janela gráfica. O algoritmo principal do OpenGL é composto por várias funções da biblioteca OpenGL responsáveis pela execução das tarefas necessárias para a criação de uma janela e desenho dos gráficos nessa janela. Essas funções foram descritas na seção 5.2.2. As funções utilizadas são encontradas na biblioteca “Freeglut”, que é uma biblioteca de fonte aberta do tipo GLUT para OpenGL. A 65 Figura 43 apresenta o fluxograma do algoritmo geral para a rotina de desenho OpenGL. Figura 43: Fluxograma do algoritmo geral para a função gráfica que utiliza a biblioteca OpenGL. A função desenvolvida para desenho na janela OpenGL, chamada de função display que foi descrita na seção 5.2.2, utiliza outras sub-rotinas que fazem a leitura do banco de dados e desenham os eixos de tempo, tensão e temperatura na janela. A função display é descrita no fluxograma apresentado na Figura 44. Essa função de display é chamada uma vez a cada 500 ms pela função de plano de fundo OpenGL (glutIdleFunc). A primeira rotina define qual é a bateria cujo gráfico será desenhado na tela, essa bateria é definida na janela do sistema de monitoramento. Uma vez definida qual é a bateria escolhida pelo usuário, uma consulta ao banco de dados é executada para construir o vetor que contém os dados para o desenho do gráfico. Com os dados da bateria já armazenados no vetor de dados, os eixos do gráfico são desenhados e em seguida os pontos do vetor de dados são desenhados na tela. 66 Figura 44: Fluxograma do algoritmo da função Display. A função que faz a leitura do banco de dados obtém os dados de tensão e temperatura da bateria selecionada nas últimas seis horas e armazena em um vetor com cem pontos. Após a obtenção desses dados, os eixos de tempo, temperatura e tensão são desenhados. O horário mostrado na janela OpenGL é o horário atual menos seis horas, que é o horizonte de observação. Após o desenho dos eixos, os pontos do vetor são desenhados na tela. Um exemplo de gráfico obtido com esses algoritmos pode ser visto na Figura 45. 67 Figura 45: Janela gráfica OpenGL com eixos e gráfico de tensão exemplo. A linha tracejada representa o limite inferior de tensão para a bateria, qualquer valor de tensão inferior a este indica um defeito na bateria. 9.2.2.3. Diagrama de classes do sistema O sistema foi desenvolvido em um nome de espaço (namespace), isso foi feito para facilitar o desenvolvimento de funções que são utilizadas em várias classes diferentes sem a necessidade de criar uma instância de uma classe que contivesse esses métodos. Isso foi feito uma vez que as funções de callback OpenGL não aceitam ponteiros para métodos de classes, mas sim somente ponteiros para funções estáticas definidas em um nome de espaço. Devido à necessidade de misturar programação orientada a objeto e programação estruturada, o nome de espaço foi utilizado. As classes criadas, a exceção da classe Banco de Dados e da classe Gráficos, são classes do tipo formulário que são herdeiras da classe System::Form. Essas classes são do tipo referencial que são tipicamente utilizadas por C++ gerenciado (C++/CLI). O C++ gerenciado é uma forma de programação onde a sintaxe de C++ é utilizada, porém o código é compilado como C#. Essa modalidade de programação foi criada para evitar que a alocação de memória fosse feita diretamente pelo desenvolvedor. Ele é utilizado no lugar do antigo MC++ para resolver alguns problemas de ambigüidade. Na Figura 46 vemos o diagrama de 68 classes do sistema incluindo o nome de espaço que define o escopo global do sistema de monitoramento. Figura 46: Diagrama de classes do sistema. 9.3. Resultados Obtidos Com os recursos de software e hardware obtidos, foi possível realizar um teste no sistema de monitoramento. O primeiro teste consistiu em verificar a linearidade dos circuitos dos optoacopladores. Uma fonte de tensão variável foi conectada a entrada de cada um dos optoacopladores e a saída foi medida para verificar se o ganho era linear. Os resultados obtidos podem ser vistos na Tabela 11. 69 Tabela 11: Ganhos dos optoacopladores. Com o ganho dos optoacopladores definidos, passou-se a fase de testes com a fonte de tensão. Isso foi feito para verificar o funcionamento dos gráficos e do indicador de defeitos de bateria. Como apenas a fonte de tensão foi conectada aos optoacopladores, o valor de corrente lido pelo sensor de efeito Hall foi desconsiderado. Uma tela do software em funcionamento pode ser vista na Figura 47. Uma alteração foi realizada com relação ao tempo de amostragem. Para reduzir o efeito dos ruídos, uma média com cem amostras é realizada antes do valor de tensão ser inserido no banco de dados. Isso fez com que o tempo de amostragem passasse de 1s para 20s. Figura 47: Software do sistema de monitoramento em funcionamento. Para verificar o funcionamento do sensor de temperatura LM35, o valor lido pelo software foi comparado com o sensor infravermelho Fluke (Figura 28). A diferença no valor apresentado pelo software e o valor lido pelo sensor infravermelho ficou em torno de ±0.75 °C. O último teste realizado consistiu em conectar um banco de baterias de um no-break de 3 KVA ao sistema de monitoramento e verificar o comportamento do sistema inteiro. A primeira rodada de testes manteve o no-break (UPS) desligado sendo que apenas os valores reais de tensão das baterias foram medidos com o valor da corrente lida pelo sensor de efeito Hall ignorado. A leitura dos valores de tensão obteve um erro aproximado de ±0,2 V. Uma foto do teste sendo realizado pode ser visto na Figura 48. 70 Figura 48: Teste final do sistema de monitoramento. O passo seguinte consistiu em ativar o UPS no modo by-pass, ou seja, a tensão que entra no UPS é passada diretamente para a saída sem nenhum tipo de filtro ou controle. Esse teste foi realizado para verificar a tensão de flutuação do banco de baterias. O erro de leitura de tensão manteve-se em ±0,2 V e a indicação de ausência de defeitos no banco funcionou com esperado, sem indicação de defeitos para tensões inferiores a 13 V. Após a verificação da tensão de flutuação, o UPS foi configurado para o modo inversor de freqüência (on-line). Dessa forma, quando o UPS for desconectado de uma fonte de tensão externa, a tensão fornecida na saída será proveniente do banco de baterias. Com o UPS desconectado de uma fonte de tensão externa, os valores de tensão lido nas baterias não podem ser inferiores a 10,5 V, a descarga do banco durou cerca de quatro horas e o UPS desligou o banco quando a tensão de cada bateria ficou em torno de 10,8 V. Sendo assim nenhum defeito foi detectado no banco de baterias. Após a verificação do valor de tensão de descarga, o UPS foi novamente conectado a uma fonte de tensão externa para verificar a tensão de carregamento das baterias. Como esse UPS é diferente de um carregador industrial de baterias, o valor para a carga das baterias é o mesmo valor de tensão utilizado durante a flutuação do banco. Os valores de tensão de carga não ultrapassaram os 13,8 V 71 especificados, sendo assim nenhum defeito foi indicado pelo software de monitoramento durante a carga do banco de baterias. A última verificação realizada consistiu em inserir uma bateria com defeito no banco de baterias e verificar a tensão de descarga de cada bateria (Figura 49). Com a bateria inserida no banco e com o UPS no modo inversor de freqüência, desconectamos o no-break da fonte de alimentação externa. Assim que a alimentação externa foi removida e a tensão de saída passou a ser fornecida pelo banco de baterias, um defeito foi indicado na bateria inserida, pois a tensão dessa bateria caiu para 9 V. Figura 49: Bateria defeituosa inserida no banco de baterias. 9.4. Próximos passos O sistema de monitoramento pode se tornar uma solução comercial com um maior desenvolvimento do hardware e do software envolvidos. O hardware precisa de um aperfeiçoamento com relação à conexão com as baterias, para reduzir o numero de cabos, e uma parceira com um fabricante de placas de circuito impresso. O software pode ter seu tratamento de dados melhorado, além de ser possível implementar um sistema de relatórios a serem enviados pela internet para o controlador do sistema, tornando desnecessária a presença de um usuário para verificar o sistema de monitoramento. 72 10. Dificuldades enfrentadas O projeto apresentou vários desafios a serem vencidos, tanto em termos de hardware quanto em software. Para facilitar a compreensão essas dificuldades podem ser divididas em problemas de hardware e problemas de software. 10.1. Dificuldades hardware O primeiro problema enfrentado foi o de fornecedores, houve uma grande dificuldade para encontrar fornecedores para o optoacoplador LOC110 e para o multiplexador de dezesseis canais, finalmente foi necessário importar esses itens dos Estados Unidos. Um problema ocorreu durante a importação e os itens ficaram retidos na alfândega por quase um mês, atrasando razoavelmente o cronograma do projeto. Outro problema enfrentado em termos de hardware foi o fato do sensor de efeito Hall funcionar como uma fonte de corrente, foi necessário o desenvolvimento de um circuito que convertesse esse valor de corrente em um valor conveniente de tensão para identificar correntes positivas, negativas e nulas passando pelo banco de baterias. Esse circuito teve uma dificuldade razoável de desenvolvimento, uma vez que o sensor de efeito Hall possui um pequeno offset de corrente quando a corrente passando através do transdutor é nula. Esse problema foi resolvido utilizando histerese nos comparadores que determinam se existe ou não corrente e em qual sentido essa corrente está passando. Esse desenvolvimento demorou cerca de duas semanas, atrasando ainda mais o cronograma do projeto. Um projeto de placa de circuito impresso foi desenvolvido para englobar todos os circuitos do hardware. Para a fabricação da placa, devido à complexidade dos circuitos envolvidos, foi necessária uma placa de fenolite dupla face para comportar todos os circuitos. A placa foi desenvolvida no software PCBExpress no formato .pcb, convertido para o formato gerber e enviado à um fabricante especializado. Esse fabricante cometeu diversos erros na fabricação da placa, além do fato de não ter metalizado os furos dos soquetes dos componentes, tornando necessário soldar os componentes dos dois lados da placa. Uma foto do circuito montado pode ser visto na Figura 50. 73 Figura 50: Placa com o hardware desenvolvido durante o projeto. A baixa qualidade da fabricação da placa implicou em diversos problemas de contato. Esses problemas de contato causaram uma falha na bateria que acabou por descarregar sua carga no circuito causando uma sobre carga nos reguladores levando a falha da alimentação da placa. Os circuitos leitores de tensão também apresentaram problemas. Esses problemas surgiram do fato dos circuitos não se comportarem de maneira completamente linear como previsto na primeira prototipagem. Para resolver esses problemas, uma nova placa de fabricação caseira foi desenvolvida. Os circuitos de alimentação e do sensor de corrente funcionaram de maneira apropriada no primeiro protótipo. Sendo assim, somente os circuitos dos optoacopladores foram reconstruídos na segunda placa de circuito impresso desenvolvida. 74 Figura 51: Placa de circuito impressa refeita. 10.2. Dificuldades Software O software desenvolvido apresentou grande complexidade de desenvolvimento, pois envolve múltiplos processos paralelos (multi-threading), além de banco de dados, efeitos gráficos, interface gráfica e comunicação com um hardware externo. Uma das primeiras dificuldades enfrentadas foi a definição de como a configuração do banco de baterias seria realizada, pois o banco deveria ser configurado uma única vez na primeira inicialização do sistema de monitoramento. Optou-se pela criação de um arquivo de inicialização para o sistema, que acabou por demandar um esforço de desenvolvimento maior para a criação e a leitura desse arquivo de inicialização. Outra dificuldade ocorreu na implementação da interface com o banco de dados, inicialmente previu-se o uso do MySQL com banco de dados padrão, entretanto, após varias tentativas sem sucesso de integrá-lo com o Microsoft Visual Studio 2008, optou-se por utilizar o postgreSQL. As causas pelas quais a integração não pode acontecer são desconhecidas, todas as bibliotecas encontradas na 75 internet para integração dessas duas plataformas (MySQL e Visual Studio 2008) mostraram-se não operacionais. Esse problema causou mais atrasos no cronograma do projeto. A integração do Visual Studio com o OpenGL também apresentou problemas uma vez que a biblioteca OpenGL possui processos paralelos específicos que tiveram de ser integrados aos processos paralelos já existentes do sistema. 76 11. Conclusão O desenvolvimento do sistema de monitoramento teve como objetivo inicial um estudo aprofundado sobre os acumuladores chumbo ácido, para conhecer suas características permitindo determinar os principais parâmetros a serem monitorados em cada acumulador. O segundo passo do projeto consistiu em um estudo sobre sistemas de monitoramento já existentes para verificar suas características e para averiguar quais tecnologias eram empregadas no monitoramento de baterias. Com essas informações em mãos, foi possível desenvolver um diagrama de blocos do sistema que ajudou nos próximos passos do desenvolvimento. Com o diagrama em blocos do sistema definido, o desenvolvimento do hardware começou a ser realizado. Foram desenvolvidos circuitos para leitura de tensão, temperatura e corrente no banco de baterias utilizando componentes como optoacopladores lineares, microcontroladores e multiplexadores. Após o desenvolvimento desses circuitos o desenvolvimento do software foi iniciado, tendo como base a comunicação entre a plataforma Arduino e o micro computador. O software envia sinais à plataforma Arduino, que controla o multiplexador e especifica qual o sensor que enviará dados ao computador. Com esses dados armazenados em um banco de dados, uma análise das informações é realizada para verificar possíveis defeitos em cada bateria. Após alguns testes, ficou comprovado que esse sistema é uma alternativa viável para os sistemas existentes de monitoramento de bancos de baterias. Um melhor desenvolvimento do hardware pode permitir que esse projeto torne-se uma solução comercial viável e de baixo custo. 77 12. Bibliografia [1] SENTINEL BROCHURE – Disponível em: <www.powershield.com>. Acesso em 20 jan. 2013 [2] CLARE MICRO CHIPS – Disponível em: <www.clare.com>>. Acesso em 20 jan. 2013 [3] MERRIAN WEBSTER – Disponível em: <www.merriam-webster.com>>. Acesso em 20 jan. 2013 [4] ABOUT.COM INVENTORS – Disponível em: <www.inventors.about.com/od/bstartinventions/a/History-Of-The-Battery.htm>. Acesso em 20 jan. 2013 [5] CHAGAS, Marcos Wilson Pereira. Novas Tecnologias para Avaliação de Baterias. 2007. 86f. Dissertação de mestrado – IEP/LACTEC, Curitiba, 2007. [6] POSTGRESQL. Disponível em/ < http://www.postgresql.org/docs/8.4/static/datatype-datetime.html>. Acesso 30 jan. 2013 [7] DAVE, OpenGL Programming Guide. Seventh Edition, Pearson, 2010. [8] ACTPOWER, Manual de Instalação, Operação e Manutenção para Acumuladores Chumbo-Ácido Estacionário Regulado Por Válvula. São Paulo: Actpower, 2013. 30p. [9] ACTPOWER. Disponível em <http://www.actpower.com.br>. Acesso em 5 jan. 2013. [10] BATTERY. Disponível em <http://www.battery.co.za>. Acesso: 5 jan. 2013. [11] KEHUA. Disponível em: <http://www.kehua.com>. Acesso: 10 fev. 2013. [12] LACTEC. Disponível em: <http://www.lactec.org.br/pt/>. Acesso: 5 jan. 2013. [13] LEM. Disponível em: <http://www.lem.com>. Acesso: 10 jan. 2013. [14] POWERSHIELD. Disponível <http://www.pwrshield.com/?action=downloads&cat=70>. Acesso: 10jan. 2013. em: [15] WINDSUN. Disponível em: <http://www.windsun.com>. Acesso: 10 jan. 2013. [16] BDCHARGERS. Disponível em: <http://www.bdchargers.com/batterytypes.php>. Acesso 15 fev. 2013 [17] ARDUINO. Disponível em: <http://www.Arduino.com.br>. Acesso: 25 jan. 2013. [18] Dave Shreiner , OpenGL Programming Guide. Seventh Edition, Pearson, 2010.