universidade do vale do paraíba

Propaganda
UNIVERSIDADE DO VALE DO PARAÍBA – UNIVAP
FACULDADE DE ENGENHARIA, ARQUITETURA E URBANISMO - FEAU
ENGENHARIA ELÉTRICA/ELETRÔNICA
ESTUDO SOBRE USO DE PAINEL FOTOVOLTAICO DE SILÍCIO
DANIEL TELES DE CASTRO ABRANTES FERRÃO
Relatório do Trabalho de Conclusão de Curso
apresentado à Universidade do Vale do Paraíba,
como requisito para a obtenção do título de
Engenheiro Eletroeletrônico.
Orientador: Alessandro Correa Mendes
Co-Orientador: Dr. Homero Santiago Maciel
São José dos Campos, SP.
2016
DEDICATÓRIA
Dedico este trabalho primeiramente a Deus, que me deu oportunidades e me lançou em
caminhos que me deram sustento e forças para conquistar meus objetivos, dentre eles,
prosseguir para a conclusão deste curso me graduando como engenheiro.
Especialmente a minha mãe e meu pai que sempre contribuíram das diversas formas
possíveis na formação de meu caráter dignamente, tanto de forma social como profissional.
Aos meus colegas que estiveram ao meu lado mantendo uma relação forte de companheirismo
e amizade, criando um alivio às tensões do dia-a-dia, e ao mesmo tempo focando e
encorajando um ao outro para superar todas as barreiras com este espírito de união. Aos
professores que me ensinaram não apenas o obrigatório, mas a viver melhor.
Ao meu melhor amigo Willian, mil desculpas por não o visitar muito nestes infinitos
anos de estudos, está será a última graduação, depois só pós, preferencialmente a distância.
Agradeço a meu primo Charlot por me conceder o segredo que por tanto tempo
repousou.
“"Determinação coragem e autoconfiança são
fatores decisivos para o sucesso. Se estamos
possuídos por uma inabalável determinação
conseguiremos superá-los. Independentemente das
circunstâncias, devemos ser sempre humildes,
recatados e despidos de orgulho." (Dalai Lama)
RESUMO
O projeto em questão trata-se de uma unidade de carregamento de bateria (Controlador
de carga) a energia fotovoltaica, capaz de captar a energia proveniente do Sol e transformá-la
em energia elétrica por meio de um painel fotovoltaico de silício monocristalino. É composto
por um painel fotovoltaico com potência de pico 30 Watts de corrente contínua, com tensão
em circuito aberto de 21,1 Volts segundo o fabricante e circuito eletrônico para gestão de
recarregamento de bateria de chumbo ácido.
Palavras-chave: Recarregador de baterias. Controlador de carga. Painel fotovoltaico. Silício
Monocristalino.
ABSTRACT
The project in question is a battery charging (Charge controller) unit based on solar
power, able to capture energy from the sun and turn it into electricity through a photovoltaic
panel. It consists of a monocrystalline silicon solar panel, with a peak power of 30 watts, open
circuit voltage of 21.1 Volts of direct current, according to the manufacturer and an electronic
circuit for supplying acid battery recharging management, controlled by a microcontroller.
Keywords: Batteries charger. Charge Controller. Photovoltaic panel. Monocrystalline silicon.
SUMÁRIO
1.
INTRODUÇÃO .................................................................................................................. 7
1.1 OBJETIVO .................................................................................................................... 9
1.2 MÓDULO FOTOVOLTAICO .................................................................................... 10
1.3 MICROCONTROLADORES ATMEGA328P ........................................................... 13
1.4 A BATERIA ................................................................................................................ 15
1.1.1 MERCADO ATUAL DE ENERGIA SOLAR...................................................... 17
1.1.2 COTAÇÃO DE UM SISTEMA DE ENERGIA FOTOVOLTAICA ............... 17
1.1.3 MICRO E MINIGERAÇÃO DISTRIBUÍDA................................................... 17
2. MATERIAIS E MÉTODOS............................................................................................. 19
2.1 DIAGRAMA FUNCIONAL DO PROJETO .............................................................. 19
2.2 FUNCIONAMENTO DO CONTROLADOR DE CARGA ....................................... 19
2.3 FUNCIONAMENTO DO DRIVER DOS LEDS........................................................ 27
2.4 O PROTÓTIPO ........................................................................................................... 30
2.5 ORIENTAÇÃO E INCLINAÇÃO DO GERADOR FOTOVOLTAICO ................... 33
3. RESULTADOS E DISCUSSÃO: .................................................................................... 34
4. CONCLUSÃO: ................................................................................................................. 36
REFERÊNCIAS ....................................................................................................................... 37
ANEXO 1: ................................................................................................................................ 41
ANEXO 2: ................................................................................................................................ 47
ANEXO 3: ................................................................................................................................ 48
ANEXO 4: ................................................................................................................................ 49
1.
INTRODUÇÃO
Quase todas as fontes de energia como a biomassa, eólica e combustíveis fósseis são
formas indiretas de energia solar. Além disso, a radiação solar pode ser utilizada diretamente
como fonte de energia térmica, para aquecimento de fluidos e ambientes e para geração de
potência mecânica ou elétrica. Pode ainda ser convertida diretamente em energia elétrica, por
meio de efeitos sobre determinados materiais, entre os quais se destacam os efeitos
termoelétrico e o fotovoltaico, estudado neste trabalho.
A grande maioria dos painéis fotovoltaicos é composta de uma ou mais camadas de
material semicondutor. Quando o semicondutor é exposto a luz, os fótons colidem no material
e cargas elétricas são geradas, podendo ser conduzidas por terminais condutivos e gerar uma
corrente contínua, efeito este chamado de fotovoltaico, como mostrado na Figura 1.
Figura 1- Efeito fotovoltaico
FONTE: Viridian Ecotecnologia [1]
Há muitos tipos de painéis fotovoltaicos em estudos e no mercado atual, como o de
silício policristalino, e o de filme fino de silício amorfo, que podem ser até certo ponto
dobrável, porém o painel de silício monocristalino é o mais viável financeiramente e com
resultados satisfatórios.
Optou-se pelo uso de um painel de silício monocristalino já que este notoriamente:
-É um tipo de painel solar que tem eficiência da ordem de 20%, algo aceitável para seu
custo-benefício;
-Os painéis monocristalinos ocupam menos espaço em relação ao painel policristalino
por exemplo;
-A vida útil de um painel de Silício monocristalino chega a 25 anos;
7
-Em baixas condições de iluminação o painel monocristalino tem mais eficiência que
um painel policristalino.
Os painéis fotovoltaicos são uma fonte de energia não poluente, e que facilmente são
utilizáveis em boa parte do globo terrestre, de forma econômica para lugares afastados demais
e sem muita demanda de energia, podem ser utilizados no lugar da energia elétrica trazida por
cabeamento. Podem ser utilizados até mesmo em acampamentos, residências e edifícios. Um
circuito fotovoltaico típico é o mostrado na Figura 2.
Figura 2- Sistema Fotovoltaico típico
Fonte: Autor
O sistema mostrado na Figura 2 é formado por:
-Painéis fotovoltaicos, também chamados de painéis solares, são os dispositivos que
convertem luz solar em energia elétrica;
-O controlador de carga, tem a função de gerenciar a carga da bateria (ou banco de
baterias). Um controlador de carga deve manter níveis de tensão para o correto carregamento
da bateria, prevenindo sobrecargas ou descargas excessivas da bateria. Este dispositivo
também é importante para indicação do estado da bateria;
-O inversor é um dispositivo que converte a tensão contínua armazenada na bateria em
tensão alternada, é largamente utilizada para alimentar aparelhos eletrônicos em geral,
lâmpadas e eletrodomésticos por exemplo.
Segundo o INPE (Instituto Nacional de Pesquisas Espaciais), a região Nordeste do
Brasil apresenta a maior disponibilidade energética solar com radiação média global 5,9
kWh/m², seguida pelas regiões Centro-Oeste com radiação média global 5,7 kWh/m² e
Sudeste com radiação média global 5,6 kWh/m²[2]. Ou seja, se um hipotético chuveiro de 5,7
kW de potência funcionar por 1 hora (3600s), este irá gastar 5,7 kWh de energia.
8
O uso de um painel fotovoltaico em conjunto com a tecnologia dos LEDs (Light
Emitting Diodes) para iluminação, pode tornar mais baixos os custos atualmente altos das
tarifas de energia elétrica, gerando menos calor com menos perdas, e maior durabilidade.
Um outro uso interessante dos painéis fotovoltaicos é a implantação das fazendas
solares, estrategicamente localizadas em locais onde a iluminação solar é vasta. Estas nada
mais são do que milhares de painéis interligados para gerar energia elétrica. Como a corrente
contínua não é adequada para fornecer energia em grande escala, inversores de frequência
geram uma tensão alternada que é devidamente trabalhada para ser distribuída.
A maior planta solar fotovoltaica em operação atualmente é a de Solar Star Projects,
localizada em Rosamond no estado da Califórnia, Estados Unidos. Está planta tem a
capacidade de gerar 579 MW de energia elétrica.
1.1
OBJETIVO
Conceber e projetar um protótipo demonstrativo da capacidade de um painel
fotovoltaico de silício monocristalino recarregar baterias, para que a energia armazenada seja
utilizada em um sistema de iluminação de corrente contínua, conforme Figura 3.
O controlador de carga será baseado no uso de modulação por largura de pulsos
(PWM), e a bateria será do tipo Chumbo ácido.
Figura 3-Sistema proposto
Fonte: Autor
9
1.2 MÓDULO FOTOVOLTAICO
O circuito equivalente de cada célula solar de silício é mostrado na Figura 4, onde a
carga deve ser conectada onde há a tensão V.
Figura 4-Circuito equivalente de uma célula solar
Fonte: USP [3]
Da Figura 4 tem-se que:
IL – É corrente gerada pela incidência da radiação solar
ID,Io – É corrente de saturação do diodo
Ift – É corrente de fuga para o terra
I – É corrente nos terminais de saída da célula
Rp – Resistência em paralelo, de desvio (Shunt)
Rs – Resistência em série e A é parâmetro de correção de curva
Em condições fixas de temperatura e irradiação solar, tem-se a corrente e tensão desse
circuito equivalente dada pela seguinte equação:
I=IL-ID-Ift=IL-Io [exp(V+IRs/A)-1]-(V+IRs)/Rp (Equação 1)
Em uma célula ideal, Rs = 0 (sem nenhuma perda interna) e Rp =∞ (nenhuma corrente
circula para o terra).
A tensão de circuito aberto de uma célula solar é dada pela expressão:
V circuito aberto (Vca) = V+I.Rp (Equação 2)
10
A corrente de curto circuito de uma célula solar (Icc) é obtida colocando-se em curto os
terminais da célula, e ao mesmo tempo medindo-se a corrente que é gerada com a célula
submetida a irradiação solar máxima. Os valores de ID, Ift e Icc são desprezados por sua
baixa magnitude, sendo assim, é medido IL nestas condições.
Como a tensão nos terminais de uma célula fotovoltaica é aproximadamente 0,6 volts
para as células baseadas em silício, consequentemente sua corrente também é baixa, na ordem
dos mili Amperes. É necessário que as células sejam ligadas em série e/ou paralelo
constituindo o que comumente é chamado de painel solar (módulo fotovoltaico).
A eficiência da foto-conversão de uma célula ou módulo fotovoltaico, pode ser definida
pela seguinte expressão:
η= Potência elétrica fornecida pela célula/ módulo (Equação 3)
Potência contida na radiação solar incidente
O gráfico mostrado na Figura 5 evidencia a relação entre a corrente e tensão gerada
pelo módulo fotovoltaico e a irradiância com que o módulo é iluminado, foi gentilmente
cedido pela Sun Home Solar [4].
Figura 5-Gráfico de eficiência do módulo
Fonte: Sun Home Energia Solar[4]
Ao nível do mar, ao meio dia (com Sol no Zênite) com céu límpido, a intensidade da
radiação solar atinge um valor aproximado de 1000Watts/m2. Por este motivo, quando se
11
adquire um módulo fotovoltaico de 30Wp (Watts de pico), indica que o módulo aqui utilizado
disponibilizará 30Watts somente quando incidir na superfície da terra 1000W/m2 (Sol no
zênite – céu limpo). Portanto, a corrente gerada pelo módulo somente será máxima, tendo-se
assim a potência nominal do módulo, na incidência de radiação máxima. Com menores
intensidades de radiação solar (dias nublados), a corrente produzida diminuirá na mesma
proporção. A redução na tensão de circuito aberto (Vca), no entanto é pequena.
O módulo fotovoltaico de modelo ST-M30, utilizado no projeto, possui as seguintes
especificações segundo a Sun Home Energia Solar [4], a fornecedora do módulo, com
contrato firmado com empresa chinesa confidencial, segundo e-mail do atendimento, são:

Irradiância (fluxo de potência) de 1000W/m² (±3%);

Potência de pico de 30Wp (±3%);

Tensão máxima de pico (Vmp) de 18,5V;

Tensão de circuito aberto (Vca) de 21,10V;

Corrente de curto circuito (Icc) de 1,792A;

Tensão máxima de associação em sistema de 600V;

Dimensões: 450mm x 541mm x 25mm (área:0,2434 m²);

Peso de 2,9kg. Fabricado com alumínio anodizado e vidro temperado;

36 células em série, do tipo silício monocristalino.
Os módulos solares são aprovados pelo INMETRO (Instituto Nacional de Metrologia,
Qualidade e Tecnologia), conforme Tabela 1. O módulo ST-M30 é da classe “C”.
Tabela 1- Eficiência do Painel Solar
Classe
Faixa de eficiência
A
Maior que 13,5 %
B
De 13% a 3,5%
C
De 12% a 13%
D
De 11% a 12%
E
Menor ou igual a 11%
Fonte: Inmetro [5]
Segundo a norma NBR 10899, a Norma Brasileira para Conversão Fotovoltaica de
Energia Solar, o símbolo para qualquer transdutor que converta energia solar radiante em
12
energia elétrica por efeito fotovoltaico pode ser representado pelo símbolo, desenhado pelo
autor, mostrado na Figura 6.
Figura 6-Símbolo Transdutor Solar
Fonte: Autor
Também foram encontradas fontes, uma delas o Manual de Engenharia para Sistemas
Fotovoltaicos [6], que afirmam ser possível utilizar um segundo símbolo para o módulo
fotovoltaico, conforme a Figura 7.
Figura 7-Símbolo do Painel Solar
Fonte: Autor
1.3 MICROCONTROLADORES ATMEGA328P
O microcontrolador de código Atmega328P, que é fabricado pela empresa Atmel®
Corporation se mostrou uma ótima escolha para o microcontrolador a ser utilizado no projeto,
em relação ao MSP430G2553 da Texas Instruments.
O Atmega328P foi utilizado no controlador de carga, não somente por custo, mas
também pela facilidade de manuseio ao usar portas analógicas em aquisições de dados, e
ainda também a facilidade em se utilizar portas para comunicação padrão I2C e PWM. Dentre
suas características descritas em sua folha de dados, as mais notáveis, na opinião do autor, e
que podem ser encontradas no Datasheet [7] (folha de dados do fabricante) são:
13
- Microcontrolador: Atmega328p, montado em invólucro DIP de 28 pinos;
- Tensão de operação: 1,8-5,5v;
- Pinos de entrada/saída I/O digitais: 23 (das quais 6 podem ser PWM);
- Pinos de entradas analógicas: 6 entradas;
- Frequência de operação: Máxima de 20MHz;
- Memória EEPROM (Electrically-Erasable Programmable Read-Only Memory):
1KBytes;
- Memória SRAM (Static Random Access Memory): 2KBytes;
- Memória Flash: 32KBytes (espaço para programação).
A pinagem do microcontrolador, que mostra as funções principais de cada pino do
microcontrolador, é demonstrada na Figura 8.
Figura 8-Pinagem do Microcontrolador
Fonte: Webtronico [8]
Os microcontroladores Atmega328P são disponibilizados em kits de desenvolvimento,
como na Figura 9, com interface fácil pré-programada, trazendo alta performance e
aproveitamento por quem os manipula. No presente relatório, um kit “Arduino Uno R3” foi
utilizado durante o processo de testes e protótipo.
14
Figura 9-Kit de desenvolvimento Arduino
Fonte: Autor
O Arduino Uno R3 é uma plataforma de código aberto usado para a construção de
projetos eletrônicos. O Arduino consiste tanto em uma placa física programável e um
software, ou IDE (Integrated Development Environment), que é executado em um
computador, e é utilizado para escrever e fazer upload do código de computador através de
uma porta USB (Universal Serial Bus) para o microcontrolador.
1.4
A BATERIA
Existem muitos tipos de baterias que podem ser utilizadas em sistemas de energia
fotovoltaicos, como as baterias de Níquel Cádmio (Ni-Cd), baterias de Chumbo ácido (PbH2SO4) e baterias derivadas do Lítio, como a de Fosfato de Lítio-Ferro (LiFePo4).
As baterias de Ni-Cd são mais caras que as de Chumbo ácido, mas apresentam
vantagens em relação a estas:

Podem sofrer até certos níveis sobrecargas;

Podem ser totalmente descarregadas, o que é bom para períodos longos sem
iluminação solar suficiente;

Aguentam temperaturas baixas;

Mantem tensão constante durante descarga;
15

Tem vida útil mais longa em relação a Chumbo ácido por exemplo.
Atualmente são utilizadas as baterias de Hidreto Metálico de Níquel (NiMh) que
possuem maior densidade energética (Wh/kg).
As baterias de íons de lítio apresentam densidade energéticas da ordem de 80-150
Wh/kg (Relação potência por peso), o que as torna menores e mais leves, mas são muito
custosas e exigem níveis de controle de carga mais sofisticado, pois as baterias podem
aquecer muito e até mesmo explodir.
As baterias de Fosfato de Lítio-Ferro (LiFePo4) podem alcançar 92% de eficiência,
contra a média de 80% das baterias de Chumbo ácido, segundo a empresa Victron Energy [9].
A bateria Chumbo-ácido foi inventada em 1859 por Planté, tinha, entretanto, detalhes
construtivos diferentes dos adotados atualmente, eram fabricadas com placas planas de
Chumbo puro sólido, e sem aditivos que melhoram o desempenho atual.
As células Chumbo-ácido são a tecnologia de armazenamento de energia de menor
custo por Watt/hora atualmente disponível no mercado para aplicação em sistemas
fotovoltaicos, mas são pesadas e são problemáticas quanto a eficiência e tem vida útil menor
que outros tipos de baterias de custo maior.
Para amenizar problemas com o uso das baterias de Chumbo ácido, será utilizado um
artifício no carregamento da bateria utilizada neste projeto, o uso da modulação por pulsos
(PWM), o que traz vantagens segundo a Morningstar Corporation [10] como:
1.Ter a capacidade de recuperar a capacidade perdida da bateria e reduzir os efeitos da
sulfatação, principal causa da deterioração das baterias de Chumbo ácido, que se dá pela
formação de cristais de sulfato de chumbo sobre as placas da bateria, e é resultado do
prolongado tempo que a bateria ficou sem carga ou, severos e repetidos ciclos de carga.
A sulfatação aumenta a resistência interna da bateria, e pode causar curto circuito de
células da bateria, o que a inutiliza.
2. Aumentar drasticamente a aceitação de carga da bateria;
3. Manter a capacidades médias da bateria elevadas (90% a 95 %) em comparação com
os controladores de carga que somente comparam a tensão da bateria e consideram a bateria
descarregada com 1,9V a 2,1V por célula, e carregada com tensão de 2,3V a 2,5V por células,
que são os controladores tipo ON-OFF, que tem níveis que são tipicamente de 55% a 60 %.
4. Equalizar as tensões das células da bateria;
16
5. Reduzir o aquecimento da bateria e a produção de hidrogênio.
1.1.1 MERCADO ATUAL DE ENERGIA SOLAR
1.1.2 COTAÇÃO DE UM SISTEMA DE ENERGIA FOTOVOLTAICA
Abaixo foi realizado uma cotação média de preços de geradores de energia solar
conectados à rede, segundo o site Portal Solar [11], onde tem-se a unidade quilowatt de pico
(kWp), que especifica a potência de saída alcançada por um módulo Solar sob radiação solar
máxima (em condições nominais de teste):
 Um gerador de Energia Solar de 1.5kWp custa de R$ 15.000 a R$ 20.000
 Um gerador de Energia Solar de 2kWp custa de R$ 18.000 a R$ 24.000
 Um gerador de Energia Solar de 3kWp custa de R$ 25.000 a R$ 32.000
 Um gerador de Energia Solar de 4kWp custa de R$ 32.000 a R$ 40.000
 Um gerador de Energia Solar de 5kWp custa de R$ 36.500 a R$ 46.500
 Um gerador de Energia Solar de 10kWp custa de R$ 70.000 a R$ 85.000
Os preços iniciais da instalação são elevados, porém, a longo prazo, se a instalação for
superdimensionada, é possível vender a energia excedente a distribuidora de energia elétrica
local, o que requer uma análise de viabilidade econômica individual. Por exemplo, uma casa
onde o consumo médio mensal é de 250 kWh por mês, instalando-se 6 painéis solares de
250W, já é o suficiente com boa iluminação solar, em um local sem sombras, ideal.
O preço de uma conta de 237kWh, conta de energia elétrica do mês de agosto do autor,
está em torno de 174 reais no ano de 2016, com impostos inclusos (0,71 reais em média por
kWh), com esse valor de conta em 7 anos o investimento será totalmente pago, o que com a
utilização do sistema para 1,5kWp, seria algo desvantajoso.
1.1.3 MICRO E MINIGERAÇÃO DISTRIBUÍDA
Como visto, o custo inicial de um sistema fotovoltaico é ainda alto, mas, atualmente a
Agência Nacional de Energia Elétrica (ANEEL) aprovou melhorias na Resolução Normativa
nº 482/2012, o que criou o Sistema de Compensação de Energia Elétrica, permitindo que o
consumidor instale geradores de pequeno porte, de baixa potência (painéis fotovoltaicos,
17
microturbinas eólicas...), em suas residências por exemplo, e troque energia com a
distribuidora local com objetivo de reduzir o valor da sua fatura de energia elétrica mensal.
É permitido o uso de qualquer fonte renovável, além da cogeração qualificada de
energia elétrica, ou seja, o processo simultâneo de produção e utilização de energia elétrica
com utilização eficiente da fonte de energia, utilizando-se o calor do Sol concentrado por
espelhos, ou até mesmo oriundo da queima de derivados do petróleo, para aquecer a água de
torneiras, ou mesmo o ambiente, e ao mesmo tempo gerar vapor, a ser utilizado para girar
uma turbina, que gera energia elétrica por exemplo.
Denominam-se:
 Microgeração distribuída, é aquela central geradora com potência instalada de até 75
kilowatts ou quilowatts (kW);
 Minigeração distribuída, é a central geradora com potência acima de 75 kW e menor
ou igual a 5 MW (sendo 3 MW para a fonte hídrica), conectada na rede de distribuição por
meio de instalações de unidades consumidoras.
Quando a quantidade de energia gerada em determinado mês for superior à energia
consumida naquele período, o consumidor obtém créditos que podem ser utilizados para
diminuir a fatura dos meses seguintes. A validade dos créditos é de 60 meses, sendo que eles
podem também ser usados para abater o consumo de unidades consumidoras do mesmo
proprietário situadas em outro local, atendido pela mesma distribuidora.
A energia gerada pode ser repartida entre condôminos em porcentagens definidas pelos
próprios consumidores.
A ANEEL criou ainda a figura da “geração compartilhada”, possibilitando que diversos
consumidores se unam em um consórcio ou em uma cooperativa, instalem uma microgeração
ou minigeração distribuída e utilizem a energia gerada para redução das faturas de energia
elétrica dos consorciados ou cooperados.
A distribuidora EDP Bandeirante possui um sistema normativo, onde o procedimento
de conexão de mini e microgeradores ao sistema de distribuição deve ser utilizado como
referência para acesso à rede de distribuição.
18
2.
MATERIAIS E MÉTODOS
2.1 DIAGRAMA FUNCIONAL DO PROJETO
Um diagrama de fácil compreensão, composto de fotos dos componentes principais
para o funcionamento do sistema como um todo, pode ser visualizado na Figura 10.
Figura 10- Diagrama funcional do Projeto
Fonte: Autor
2.2
FUNCIONAMENTO DO CONTROLADOR DE CARGA
O diagrama elétrico, desenvolvido em um CAD (Computer Aided Design), e foi
exportado para o formato Bitmap dividido em módulos para facilitar visualização e
entendimento do circuito elétrico do projeto, já que, a folha ideal para o diagrama elétrico ser
visualizado de forma ideal seria a de padrão A2 ou A3 vide Anexo 3.
Para o processamento dos sinais optou-se pelo uso de um microcontrolador Atmega
328P. O circuito relacionado ao processamento digital e dos sinais analógicos do controlador
de carga é mostrado na Figura 11.
19
Figura 11-Esquema elétrico da parte de processamento
Fonte: Autor
O microcontrolador é alimentado por uma tensão de 5V em seus pinos 7 e 20, vinda do
regulador U3, mostrado na Figura 17. O terra do circuito é comum em todos os pontos, e no
microcontrolador, é ligado aos pinos 8 e 22. A frequência de trabalho do microcontrolador é
definida pelo cristal oscilador de 16 MHz e os capacitores de ressonância C8 e C7.
O pino 1 do microcontrolador é ligado ao VCC por meio de um resistor de pull-up, o
que garante que este pino esteja em nível lógico alto, a não ser que este pino seja posto em
nível lógico baixo através de SW1 ou quando uma gravação esteja ocorrendo, e, portanto, o
circuito esteja operante nas condições diferentes das citadas.
Como o microcontrolador está trabalhando como autônomo (Standalone), ou seja, sem
estar em seu kit de desenvolvimento Arduino, ficaria complicado ter que retirar o invólucro
DIP (Dual in Package) do microcontrolador e colocar este no kit Arduino para realizar cada
programação do microcontrolador.
Pensando-se na gravação, e sabendo que o Atmega328P possui um código pré-gravado
que permite a comunicação serial (Bootloader), utilizou-se os seguintes pinos do
microcontrolador para gravação: 17 (MOSI-Master OUT Slave IN) ligado ao Pino 11 do kit
Arduino; 18 (MISO-Master IN Slave OUT) ligado ao pino 12 do Arduino; 19 (SCK- Clock de
sincronismo) e por último ligou-se o terra (GND) do microcontrolador ao terra do Arduino. O
pino 17 é um canal de comunicação de saída para o Arduino (Master ou Mestre) e de entrada
para o microcontrolador (Slave ou Escravo) e o pino 18 o inverso.
O display de 16 colunas por duas linhas tem comunicação I2C, através dos pinos 27
(SDA) e 28 (SDL) do microcontrolador. SDA significa Serial Data e SCL significa Serial
20
Clock. SDA é o pino que efetivamente transfere os dados, e SCL serve para manter a
sincronia entre os dispositivos.
O pino 5 está ativo em modo PWM e gera um sinal de 490Hz, e varia o Duty cycle de
acordo com o programado.
O pino 6 é uma saída digital e aciona ou não a carga, de acordo com o programa.
Os pinos 23, 24 e 25 são programados no modo que funcionam como entradas
analógicas. O pino 23 é o de leitura de tensão do sensor de corrente, o pino 24 é o de leitura
da tensão do painel solar, e o pino 25 é o pino que recebe a tensão do sensor da bateria, após
condicionamento por um divisor de tensão.
O circuito responsável pelo chaveamento PWM da tensão vinda do painel solar, de
acordo com as tensões da bateria, predefinidas em programação é mostrado na Figura 12.
Figura 12- Circuito de chaveamento do PWM
Fonte: Autor
O circuito de chaveamento do PWM funciona com um MOSFET Q1 na parte de
potência. O dreno de Q1 recebe a tensão do Painel solar através de D3, que impede correntes
parasitas de circularem na falta de tensão do painel solar, para que não causem erro na leitura
21
do sensor de tensão do painel solar, e faça com isso, que o PWM cesse durante a noite, ou
quando o painel solar estiver mal iluminado. C9 é um filtro que ameniza as quedas de tensão
(Ripples) causados pelo chaveamento em PWM.
O sinal de PWM passa por um resistor de 1kOhms (R10), o que faz o transistor NPN
Q6 saturar a cada pulso em nível lógico alto do PWM, a saturação de Q6 por sua vez liga a
base do transistor PNP Q7 ao terra, o que o faz saturar. A saturação de Q7 anula a ação do
resistor pull-down R12, e faz o Gate de Q1 ser energizado com uma tensão de (20V - 0,7V), o
que garante uma tensão VGS (Tensão Gate Source) de aproximados 20V necessárias para que
o MOSFET conduza da forma correta, esquentando o mínimo possível e não entrando em
avalanche térmica. Esta tensão de VGS garante uma tensão maior que a tensão da tensão de
treshould ou limiar do MOSFET IRF3205 (2V a 4V), o que faz o MOSFET saturar, e
conduzir a corrente proveniente do painel solar de acordo com os pulsos do PWM,
recarregando assim a bateria. A Figura 13 demonstra o comportamento de um MOSFET
Figura 13- Curva característica de um MOSFET
Fonte: Museu das Comunicações de Macau [12]
O controle da tensão máxima que é imposta a bateria é feito controlando-se este
MOSFET do circuito de PWM. Quando a tensão atinge um valor programado no
microcontrolador (14,3V), tensão da bateria carregada, a geração de PWM é cessada,
deixando o MOSFET em condição de corte.
No circuito de controle da carga, mostrado na Figura 14, um sinal de 5V controla a
saída da tensão da bateria para a carga, esta tensão passa por um resistor de 1kOhms (R14), o
que faz o transistor NPN Q3 saturar a cada pulso em nível lógico alto, a saturação de Q3 por
22
sua vez liga a base do transistor PNP Q4 ao terra, o que o faz saturar. A saturação de Q4 anula
a ação do resistor pull-down R16, e faz o Gate de Q2 ser energizado com uma tensão de (20V
- 0,7V), o que faz conduzir a corrente proveniente da bateria, alimentando a carga.
Para o correto condicionamento das tensões a serem lidas pelo microcontrolador, foram
utilizados divisores de tensão. Para a leitura da corrente foi utilizado um circuito integrado
ACS712elc30A que suporta medições de até 30A, em um módulo, como consta na Figura 15.
Figura 14- Circuito de acionamento da carga
Fonte: Autor
Figura 15- Módulo de leitura de corrente
Fonte: Autor
Nos circuitos sensores de tensão, na Figura 16, o divisor de tensão formado pelos
resistores R3 e R4 de precisão de 1% permitem a leitura analógica da tensão de até 21,1V que
é a tensão em circuito aberto gerada pelo painel solar, sendo que as portas analógicas do
Atmega328 suportam nominalmente no máximo 5V.
23
Figura 16- Sensores de tensão e corrente
Fonte: Autor
O divisor de tensão formado por R1 e R2, resistores de 1% de precisão reduz a tensão
de até 16V para 5V permitidos as entradas analógicas do microcontrolador.
O sensor de efeito Hall ACS712 detecta o campo magnético gerado pela passagem de
corrente de até 30A, com erro de ±1,5%, ainda por cima trabalha isolando completamente os
bornes de ligação e os pinos Vcc, GND e OUT.
O pino OUT gera uma tensão proporcional à corrente detectada 66mV/A, com tensão
de off-set de 2,5V, que foi devidamente computada na programação do microcontrolador.
Na placa do circuito, tanto as trilhas que interligam o circuito de PWM, e do controle
de carga são devidamente reforçadas para suportar altas correntes, os fios utilizados nas
interligações são da bitola AWG 16, e suportam 22A quando utilizados em chassis (módulos)
e para transmissão de energia 3,7A.
Um regulador 7805 gera a tensão de 5V necessária para alimentar o microcontrolador, e
o sensor de corrente conforme Figura 17. C6 é um filtro para suprimir variações de tensão.
24
Figura 17- Regulador de tensão
Fonte: Autor
O display LCD, Figura 18, possui comunicação paralela, onde foi utilizado um
conversor de comunicação paralela para o padrão I2C, para redução do número de portas
utilizadas do microcontrolador, já que, o circuito originalmente teria mais funções.
Figura 18- Ligações do Display
Fonte: Autor
O módulo de conversão do protocolo de comunicação paralelo para o padrão I2C
funciona com 5V, e seu endereço é 0X27, mas, pode ser modificado com alterações nos
jumpers do módulo, conforme é mostrado na Figura 19, seguindo o padrão da Tabela 2:
A conexão dos pares de trilhas acima da indicação de A0, A1 e A2 fazem o nível lógico
ser baixo, portando como zero para o endereçamento.
25
Figura 19- Módulo I2C
Fonte: Autor
Tabela 2- Endereçamento do módulo I2C
Endereço A0 A1 A2
0x20
0
0
0
0x21
1
0
0
0x22
0
1
0
0x23
1
1
0
0x24
0
0
1
0x25
1
0
1
0x26
0
1
1
0x27
1
1
1
Fonte: Bom Conselho [13]
O circuito dobrador de tensão, Figura 20, é um circuito muito importante para o
funcionamento correto dos circuitos de chaveamento de carga e de PWM.
O circuito é composto por um simples circuito integrado (CI) 555, configurado em
modo astável, ou seja, como oscilador, gerando uma onda quadrada. A frequência do circuito
está calculada para 2 kHz, e segue a Equação 4, com valores em Ohms e Farads:
f=1.4/((R8+2*R7)*C1) (Equação 4)
Na saída do CI 555 está ligado um circuito dobrador de tensão formado por capacitores
de 10uF e diodos retificadores 1N4007, o que gera no catodo de D2 uma tensão contínua de
aproximadamente 20V. A frequência do oscilador não é crítica, já que o dobrador de tensão a
capacitor funciona até mesmo com 60Hz, e sendo assim foi estabelecida de modo a manter
menores variações da tensão de saída, vista por meio de um osciloscópio.
26
Figura 20- Dobrador de tensão
Fonte: Autor
Os 20V gerados neste dobrador de tensão são cruciais para o correto funcionamento dos
MOSFETs do circuito, já que, estes trabalham com variação de tensão em seus Gates, e
consomem algo na casa de 250uA segundo o Fabricante International Rectifier.
Tensões de VGS abaixo do indicado para os MOSFET fazem com que este não aja
como uma chave eletrônica, com resistência entre o Dreno e o Source de 8mOhms para o
IRF3205, e sim como resistores com maior oposição a corrente elétrica, o que dissipa muito
calor e queima o componente, mesmo o IRF3205 sendo fabricado para correntes máximas de
pico de 110A e corrente contínua de 80A entre seu Dreno e Source, e tensão Dreno Source,
enquanto o circuito trabalhará com 10A no máximo e 22V.
2.3 FUNCIONAMENTO DO DRIVER DOS LEDS
A corrente através de um diodo emissor de luz é muito sensível a pequenas alterações
na tensão de alimentação do diodo emissor de luz, e também na temperatura ambiente onde
está o LED, e ainda por cima também existem as imperfeições inerentes ao LED. Por esse
motivo se torna necessário limitar a corrente que percorre o LED com o uso de um circuito
próprio chamado de driver.
27
Uma maneira simples e eficaz de controlar a corrente de um LED de alta potência é usar
uma fonte de corrente constante, que pode ter o circuito constituído de um MOSFET, um
transistor NPN e dois resistores, conforme a Figura 21.
Figura 21- Driver do LED
Fonte: Autor
Q2 é usado como um interruptor de detecção de excesso de corrente, e R1 é o "resistor
sensor" que chaveia Q2 quando uma corrente alta está fluindo por este resistor. Quando uma
corrente alta flui através R1, Q2 vai começar a saturar, o que aumenta resistência entre o
Dreno e o Gate de Q3. Q3 então reduz a corrente através do LED e R1. O circuito então
trabalha assim continuamente (em loop), o que mantem a corrente constante no LED,
dissipando o excedente de potência no MOSFET Q3, já que este age como um resistor.
Como o resistor R2 tem alta resistência, quando Q1 começa a conduzir, este
rapidamente sobrepõe a corrente de R2.
Os LEDs testados no projeto possuem temperatura de cor branco quente (Warm White),
com temperaturas de cor de 2800K a 3500K, o que gera uma iluminação com espectro
avermelhado para amarelado, como é exemplificado na Figura 22. Os LEDs têm ângulo de
feixe luminoso de 120°, podem trabalhar na faixa de temperatura de -20°C a 60°C. Estes são
fabricados pela Epistar. Suas características mostradas no Anexo 2.
28
Figura 22- Comparação do espectro de cor dos LEDs
Fonte: ShenZhen ATCOM Technology Co., LTD. [14]
Ao contrário da temperatura térmica, a temperatura de cor diz-se mais fria para valores
mais elevados.
As lâmpadas LED do tipo Warm White, tem uma cor semelhante as antigas lâmpadas de
tungstênio. Produzem uma cor mais quente, o que torna todos os ambientes mais acolhedores
e confortáveis.
As lâmpadas de cor fria (o fabricante dos LEDs aqui usados diz apenas White) ao
contrário das anteriores, produzem ambientes “frios” e não tão acolhedores.
De uma maneira geral, e em ambientes domésticos é preferível usar LEDs de cores
quentes.
A corrente indicada pelo fabricante para o LED de 100W (±10%) é de 3A para uma
alimentação de 30V a 35V. Uma tensão de 34Volts a partir da tensão da bateria foi
conseguida com o uso de um circuito elevador de tensão chaveado (Boost Converter DC-DC).
Para cálculo de R1 deve-se usar as seguintes equações:
Corrente elétrica do LED: ILED= 0,5V/R1 (Equação 5)
Então: R1=0,17 Ohms.
Para cálculo da potência do resistor temos que:
PR1= 0.25 / R1 (Equação 6)
29
Então: PR1=1,5W. Foi utilizado um resistor 0,22Ohms de 5W, já que os testes
mostraram que este fez como que o circuito funcionasse melhor.
Para um LED de 10W foi utilizado um resistor R1 de 0,56Ohms de 1W (ILED =
900mA).
2.4 O PROTÓTIPO
O protótipo do projeto foi construído em sua maioria com materiais reaproveitados, o
que é vantajoso para questões ambientais. O protótipo é mostrado na Figura 23.
Figura 23- Protótipo
Fonte: Autor
Para gravação ISP (In System Programmer) do código no microcontrolador utilizou-se a
adaptação do Arduino Uno conforme a Figura 24, no circuito somente o terra está interligado
entre o Arduino e o microcontrolador, devendo assim o sistema estar alimentado pela bateria
para gerar o 5V para a gravação ocorrer.
A placa universal do circuito é mostrada na Figura 25, onde notam-se trilhas mais
espessas para condução das correntes de carga da bateria e ligação do circuito a carga. Os
quadrados cinzas são isoladores plásticos para fixar a placa a carcaça metálica.
30
Figura 24- Gravação ISP
Fonte: Arduino[15]
Figura 25- Placa do circuito vista por baixo
Fonte: Autor
Montagens da placa vista de cima, mostrado na Figura 26. No sistema existe um conector
dedicado a gravação, evidenciado nesta foto.
Figura 26- Placa vista de cima
Fonte: Autor
Na Figura 27 é possível observar o display do sistema em funcionamento.
31
Figura 27-Display do Sistema
Fonte: Autor
O display indica:
-Em I a corrente que flui pela carga;
-Em V a tensão da bateria;
-Onde se lê “Ok” tem-se a indicação da condição da bateria, onde: “OK”, a bateria está
em condições de uso, com tensão entre 11,51V e 14,3V; “RUIM” a bateria está abaixo de
11,5V, e “CHEIA” a bateria está com tensão maior que 14,3V (2,383V por célula), sendo
que no display “CHEIA” aparece momentaneamente no display, devido ao controle de tensão
do circuito que limita a tensão a seguros 14,3V.
-Onde lê-se: “SIST.OK” é uma indicação de que o sistema está operando corretamente;
“CARDESL” indica que a carga está desabilitada; "SOBREC!" indica uma sobrecarga no
circuito, o que corta a tensão para carga durante 60 segundos, se o problema persistir, o
sistema arma e desarma a cada 60 segundos, até que alguém observe e conserte o defeito.
O diagrama de ligação para o LED de 100W é mostrado na Figura 28, e o circuito
elétrico completo do controlador de carga é mostrado no Anexo 3, notar as dimensões do
dissipador de calor para prover ao LED uma vida útil que pode chegar a 100000h [10], já que,
este dissipa 108W (36V*3A). Se o calor do LED não for dissipado este sofrerá danos assim
que alimentado, ou logo após algumas frações de segundos.
O circuito elétrico do módulo driver do LED é mostrado na Figura 21.
O módulo Booster mostrado na Figura 28 é um módulo comercial, e suporta até 6A em
sua saída, com tensão máxima nominal de 35V.
32
Figura 28-Testes com LED de 100w
Fonte: Autor
2.5 ORIENTAÇÃO E INCLINAÇÃO DO GERADOR FOTOVOLTAICO
Os módulos devem estar orientados em direção à linha do equador. Nas instalações
localizadas no hemisfério Sul, a face dos módulos fotovoltaicos deve estar orientada em
direção ao Norte Verdadeiro, caso de boa parte do Brasil, que está com seu território 93%
abaixo da linha do Equador, portanto no hemisfério Sul, conforme Figura 29.
Figura 29- Hemisférios do Brasil
Fonte: Tudo mais um Pouco [16]
Caso o local de instalação esteja no hemisfério Norte, os módulos fotovoltaicos devem
estar orientados com sua face voltada para o Sul Verdadeiro.
O Sol nasce no Leste, e se põe se inclinando ao Norte e se põe no Oeste, para casos
sobre a linha do Equador, como na Figura 30. O ângulo de inclinação igual ao da Latitude é
33
normalmente o melhor ângulo para se instalar um painel fotovoltaico. Ex: A Latitude de
minha residência é -23,2907, então os painéis solares devem ser instalados com inclinação de
23,29 Graus para o Norte.
Figura 30- Posições do Sol sobre a linha Equador
Fonte: Portal Solar [17]
Na maioria dos locais, o Norte Verdadeiro (ou Sul Verdadeiro) não coincide com a do
Norte Magnético (ou Sul Magnético) indicado pela bússola, deve ser feita correção do
referencial magnético. Para tal, usa-se a declinação magnética do local, a qual pode ser obtida
facilmente através de mapas e programas computacionais, como no caso aqui, no site da
NOOA (National Oceanic and Atmospheric Administration) [18]. Para a residência do autor,
a declinação magnética é de 21° 31' Oeste ± 0° 23' variando 0° 7' Oeste por ano [18].
3.
RESULTADOS E DISCUSSÃO:
O circuito poderia ter sido desenvolvido de maneira mais compacta em placa de
fenolite, com o layout desenvolvido ao invés de se utilizar placa universal.
Um equipamento baseado em baterias de íons de lítio melhoraria a autonomia e peso do
conjunto, porém, os custos e complexidade seriam bem maiores.
Um sistema de maior escala é possível, com poucas modificações, como um aumento
do número de módulos fotovoltaicos, já que o MOSFET utilizado suporta correntes de até
80A, quando bem ventilado, embora antes do uso do dobrador de tensão queimasse com 5A
contínuos, ficando sobreaquecido durante os testes.
Geradores fotovoltaicos com sistemas de rastreamento do movimento aparente do sol
podem ser utilizados em conjunto com o sistema apresentado no trabalho para melhorar ainda
mais a captação da radiação solar durante o ano.
34
O uso de inversores pode ser implementado para alimentar cargas de corrente alternada,
formando assim um sistema usual para o uso de painéis solares, segundo estudos.
Foi utilizado 6.804 bytes (21%) de espaço de armazenamento para o código no
microcontrolador, o máximo são 32.256 bytes, ainda resta memória para expansões e
melhorias do sistema, sem contar o uso de apenas 16% do desempenho do microcontrolador,
segundo o Software do Arduino (IDE).
A corrente gerada para recarregar a bateria se mostrou boa para a bateria utilizada, já
que, em dias com Sol, com céu a maior parte do tempo límpido, durante 7 dias, a medição
média da corrente gerada pelo painel solar foi de 1,3A, medido através de um multímetro a
cada uma hora, a partir das 7 horas da manhã, na área superior da residência do autor,
mantendo-se o painel inclinado a aproximados 22°, com um “suporte” de madeira
improvisado, medidos com um aplicativo inclinômetro do celular, e apontado para o norte
verdadeiro com auxílio de uma bússola convencional, o GPS do celular. A bateria necessita
de carga padrão de 900mA, portanto a corrente se mostra suficiente para recarregar a bateria
utilizada no estudo.
Seria uma boa ideia implementar um aviso sonoro para os casos de falha, o que chamará
a atenção do usuário do sistema.
O valor lido como corrente com valor de -0,15A não interfere no valor lido da corrente,
só aparece quando não há carga no sistema, é possível corrigir o fato, mas não houve tempo.
Através de estudos, uma das causas do fato podem ser interferências eletromagnéticas geradas
pelos osciladores do circuito.
O LED de 100W não funcionou com sua especificação máxima, o elevador de tensão
(Booster) não gerou tensão de 36V, a máxima para o LED, e sim 34,6V, mas mesmo assim, o
LED de 100W ilumina muito bem, algo em torno de 9500 Lumens a 11000 Lumens segundo
fabricante.
Como a bateria está muito usada, esta não consegue mais fornecer os 8,6A/h nominais.
Mas com uma bateria nova, o tempo de funcionamento teórico do circuito seria para cada tipo
de LED:
-Para o LED de 10W- A corrente do LED em funcionamento com seu driver foi de
1A, portanto, a bateria teoricamente duraria no máximo 8,6h.
Tempo= (8,6A/h)/1A= 8,6h (Equação 7)
35
-Para o LED de 100W- A corrente do conjunto LED mais o driver foi de 3,88A,
portanto a bateria teoricamente duraria no máximo 2,216h.
Tempo= (8,6A/h)/3,88A= 8,6h (Equação 8)
O consumo do circuito do módulo controlador de carga, sem iluminação solar, e sem
carga ativa é de 0,96 W de potência, com corrente de 80mA e tensão nominal de 12V.Portanto
o módulo gasta 0,96W/h de energia.
O uso do PWM para recarga da bateria se mostrou eficiente para uso em conjunto com
um painel solar de silício monocristalino. A bateria utilizada nos testes não aceitava sua carga
padrão de 900mA durante 5h a 10h de carga em um recarregador padrão de baterias chumbo
ácido.
Após uma semana (7 dias) de recarregamento, no telhado da residência do autor, com o
controlador de carga deste projeto, a bateria começou a aceitar o seu recarregamento, e até
conseguiu suprir o LED de 10W por 40 minutos, algo que não ocorria. O LED de 100W não
funcionou com esta bateria, a tensão da bateria caiu abaixo de 11,5V, o que faz o sistema
desligar o que estiver ligado a carga de maneira intermitente.
4.
CONCLUSÃO:
O desenvolvimento do estudo sobre o uso do Painel fotovoltaico de silício demonstrou
de maneira eficaz o tipo de painel fotovoltaico mais indicado financeiramente para criação de
sistemas fotovoltaicos, bem como os principais tipos de baterias que podem ser utilizados em
um sistema fotovoltaico.
O projeto de um recarregador de baterias fotovoltaico foi concebido. Este módulo é
parte de um sistema fotovoltaico, algo que trouxe conhecimentos valiosos na área de
engenharia eletrônica, e que se utilizado em larga escala pode trazer conhecimentos em
engenharia elétrica, com uso de inversores de frequência potentes e outros dispositivos
elétricos de proteção por exemplo.
O uso de um microcontrolador tornou o projeto menos volumoso e econômico, em
relação a um controlador de carga com componentes discretos, além de tornar seu
desenvolvimento bem maleável quanto a mudanças, que na maioria das vezes foram na
programação.
36
O uso de LEDs de alta potência demonstrou a possibilidade de se obter uma iluminação
eficaz, com menor consumo da bateria, o que é ótimo para o meio ambiente, e melhor ainda
por funcionar com a energia proveniente do painel solar.
Sistemas como o Solar Star Projects com aproximados 1.720.000 painéis solares já
estão começando a aparecer, algo muito bom para o meio ambiente, e para o mercado da
engenharia elétrica.
Por fim, pode-se concluir através dos estudos que o painel de silício monocristalino tem
uma relação de área e potência gerada satisfatória, em relação ao atual painel de filme fino
orgânico por exemplo, ou mesmo o de cobre, selênio, gálio e índio, porém, os custos dos
aparatos do sistema envolvido para utilizar a energia fotovoltaica em grande escala se mostrou
muito elevado, o que pode ser amenizado se a energia excedente do sistema for vendido a
concessionária de energia elétrica local, mesmo assim, ainda não compensa para um
residência normal.
O protótipo apresentado neste trabalho, portanto, apresenta de forma concisa a
possibilidade do uso de uma energia tão abundante como a fotovoltaica, utilizando painéis
fotovoltaicos de silício monocristalino.
REFERÊNCIAS
[1] VIRIDIAN Ecotecnologia. Disponível em: <http://www.viridian.com.br/tecnologia/
energia+solar+ fotovoltaica/4>. Acesso em 19 de abril de 2016.
[2] ATLAS BRASILEIRO DE ENERGIA SOLAR. Disponível em: < http://ftp.cptec.inpe.br/
labren/publ/livros/brazil_solar_atlas_R1.pdf >. Acessado em 05 de novembro de 2016.
[3] USP.ENERGIA SOLAR FOTOVOLTAICA : FUNDAMENTOS, CONVERSÃO E
VIABILIDADE TÉCNICO-ECONÔMICA. Disponível em:<https://disciplinas.stoa.usp.br/
pluginfile.php/56337/mod_resource/content/2/Apostila_solar.pdf>. Acessado em 10 de
Setembro de 2016.
[4] Sun Home. Painel Solar 30W Monocristalino. Disponível em: <http://www.sunhome.
com.br/st-m30>. Acessado em 12 de dezembro de 2015.
37
[5] INMETRO. Tabela de eficiência energética - Sistema de energia fotovoltaica – Módulos.
Disponível em <http://www.inmetro.gov.br/consumidor/pbe/tabela_fotovoltaico_modulo
.pdf.> Acessado em 05 de outubro de 2016.
[6] CEPEL-CRESESB. Manual da Engenharia para Sistemas Fotovoltaicos. Disponível em:
<http://www.cresesb.cepel.br/publicacoes/download/Manual_de_Engenharia_FV_2014.pdf.>
Acessado em 16 de agosto de 2016.
[7] Atmel®. ATmega328/P DATASHEET COMPLETE <http://www.atmel.com/
pt/br/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf.>
Acessado em 07 de dezembro de 2016.
[8] Webtronico. Arduino Standalone. Disponível em: http://blog.webtronico.com/?p=107.
Acessado em 05 de Julho de 2016.
[9] Victron Energy. 12,8 Volt Lithium-Iron-Phosphate Batteries. Disponível em:
<https://www.victronenergy.com/upload/documents/Datasheet-12,8-Volt-lithium-ironphosphate-batteries-EN.pdf.> Acessado em 01 de Julho de 2016.
[10] MorningStar Coporation. Why PWM? Disponível em: <http://www.morningstarcorp.
com/wp-content/uploads/2014/02/8.-Why-PWM1.pdf.> Acessado em 05 de novembro 2015.
[11] Portal Solar. GERADOR DE ENERGIA SOLAR. Disponível em:
<http://www.portalsolar.com.br/gerador-de-energia-solar.html>. Acessado em 06/10/2016
[12] Museu das Comunicações de Macau. Como Funciona um TECI (MOSFET) Canal n.
disponível em <http://macao.communications.museum/por/exhibition/secondfloor/MoreInfo/
2_10_4_HowFETWorks.html.> Acessado em 07 de dezembro de 2016.
[13]Bom Conselho. Como conectar um display de LCD módulo I2C para Arduino.
Disponível em: <http://bomconselho.xyz/como-conectar-um-display-de-lcd-modulo-i2c-paraarduino/.> Acessado em 07 de dezembro de 2016.
38
[14] ShenZhen ATCOM Technology Co., LTD. Disponível em: <https://pt.aliexpress.com/
item/1Pcs-1W-3W-10W-20W-30W-50W-100W-High-Power-LED-Integrated-Chip-light
BeadsIC/32550857842.html?spm=2114.13010608.0.0.YWmwh6.>. Acesso em 25/10/2016.
[15]Arduino. From Arduino to a Microcontroller on a Breadboard. Disponível em: <https://
www.arduino.cc/en/Tutorial/ArduinoToBreadboard.> Acessado em 10 de agosto de 2016.
[16] Tudo mais um Pouco. Geografia- Aula 1. Disponível em:
<http://www.tudomaisumpouco.com/geo1.html.> Acessado em 15 agosto de 2016
[17] Portal Solar. A MELHOR DIREÇÃO DO PAINEL SOLAR FOTOVOLTAICO.
Disponível em < http://www.portalsolar.com.br/a-melhor-direcao-do-painel-solarfotovoltaico.html.> Acessado em 08 de agosto de 2016.
[18] National Oceanic and Atmospheric Administration. Magnetic Declination Estimated
Value Disponível em: <http://www.ngdc.noaa.gov/geomag-web/.> Acessado em 02/07/2016.
[19] Energy Informative. Which Solar Panel Type is Best? Mono- vs. Polycrystalline vs. Thin
Filmhttp://energyinformative.org/best-solar-panel-monocrystalline-polycrystalline-thin-film/.
Acessado em 06 de agosto de 2016.
[20] Arduino e CIA. Como Utilizar o módulo I2c com Arduino. Disponível em:
<http://www.arduinoecia.com.br/2014/12/modulo-i2c-display-16x2-arduino.html.> Acessado
em 06 de julho de 2016.
[21] The National Energy Foundation. Disponível em: <http://www.nef.org.uk/knowledgehub/solar-energy/types-of-photovoltaic-pv-cells>. Acessado em 19 de abril 2016.
[22] Denis Lenardic. Pvresources. Large-Scale PV Power Plants - Top50. Disponível em:
<http://www.pvresources.com/en/top50pv.php>. Acessado em 19 de novembro de 2016.
[23] Sunpower. Solar Star Projects. Disponível em: <http://us.sunpower.com/sites/sunpower/
files/media-library/fact-sheets/fs-solar-star-projects-factsheet.pdf>. Acesso em 19/04/2016.
39
[24] EDP Bandeirante. CONEXÃO DE MINI E MICROGERADORES AO SISTEMA DE
DISTRIBUIÇÃO EM BAIXA TENSÃO. Disponível em: <http://www.edp.com.br/
distribuicao/edpbandeirante/ informacoes/tecnicas/padroes-de-geracao/Documents/
PR.DT.PDN.03.14.002.pdf>. Acessado em 05 de agosto de 2016.
[25] Instructables. Circuits for using High Power LEDs. Disponível em:
<http://www.instructables.com/id/Circuits-for-using-High-Power-LED-s/?ALLSTEPS.>
Acessado em 01 de outubro de 2016.
[26] Electronics Tutorials. How to use MOSFET as a Switch. Disponível em:
<http://www.electronics-tutorials.ws/transistor/tran_7.html.>Acesso em 10 de agosto de 2016.
[27] Instructables. Arduino solar charge controller (version-1). Disponível em:
<http://www.instructables.com/id/ARDUINO-SOLAR-CHARGE-CONTROLLER-PWM/.>
Acessado em 17/11/2015.
[28] Northern Arizona Wind & Sun. Everything you need to know about the basics of solar
charge controllers. Disponível em: <https://www.solar-electric.com/solar-charge-controllerbasics.html/.>. Acessado em 17 de novembro 2015.
[29] Márlio José do Couto Bonfim. Multiplicador de Tensão. Disponível em:
<http://www.eletr.ufpr.br/marlio/te051/parte10.pdf.> . Acessado em 25 de setembro de 2016.
[30]ANEEL. Resolução normativa nº 482, de 17 de abril de 2012 Disponível em:
<http://www2.aneel.gov.br/arquivos/PDF/Resolu%C3%A7%C3%A3o%20Normativa%20482
,%20de%202012%20-%20bip-junho-2012.pdf.> Acessado em 08 de agosto de 2016.
[31]Instituto Nacional de Eficiência Energética. O que é cogeração. Disponível em
<http://www.inee.org.br/forum_co_geracao.asp?Cat=gd.>.Acesso em 07/12/2016.
[32] Arduino e CIA. Como usar o sensor de corrente ACS712. Disponível em:
http://www.arduinoecia.com.br/2016/04/como-usar-o-sensor-de-corrente-acs712.html.
Acessado em 02 de maio 2016.
40
ANEXO 1:
Programação do Microcontrolador, utilizando o Arduino 1.6.9.
#include <Wire.h> // biblioteca para I2c
#include <LiquidCrystal_I2C.h> // inclui biblioteca para comunicação I2C
LiquidCrystal_I2C lcd(0x27,16,2); //Coloca o display no endereço I2c 0x27, tipo 16x2
//Declaração das variáveis
int mVporAmp = 65; // valor da sensibilidade tensão por Ampere
int Sensoffset = 2500; // Offset do sensor de corrente
float Volt = 0; // tensão do sensor de corrente
float Sol= 0; // tensão do painel fotovoltaico
float Amps = 0; // corrente lida pelo sensor Hall
float Bat = 0; // tensão da bateria
#define avg 20 //valor que é dividido na média de leituras do conversor AD
#define bat_baixa 11.5 // valor em volts da bateria sem carga
#define bat_full 14.3 // valor em volts da bateria carregada
#define amp_max 10 // Corrente máxima setada para a carga
void setup()
{
lcd.init(); // inicia o display lcd
lcd.backlight(); // liga o backlight
pinMode(4, OUTPUT); // pino que liga a carga
pinMode(3, OUTPUT); // pino digital 3 para saída do PWM
}
void loop(void) // inicia loop
{
41
read_data(); // rotina que lê os dados
displa(); // rotina do display
condicoes(); // rotina que gera interface das condições da bateria
carga(); // rotina de controle da carga
batcarga(); // rotina de controle da carga
}
// tira média dos valores lidos do conversor AD
int read_adc(int adc_parameter) // inicia a conversão AD
{
int soma=0; // define variável int (-2.147.483.648 a 2.147.483.647)
int amostra; // define variavel
for (int i=0; i<avg;i++) // enquanto i for menor que Avg, continua lendo
{
amostra = analogRead(adc_parameter); //lê os pinos de entrada AD
soma += amostra; //armazena soma para media
delayMicroseconds(100); // pausa por 100 microssegundos
}
return(soma/avg); //retorna média
}
// Rotina que lê dados, maneja eles
void read_data(void)
{
Volt = (read_adc(A0)/ 1024.0) * 5000; // tensão do sensor de corrente em volts
42
Amps = ((Volt - Sensoffset) / mVporAmp); // a corrente é o valor da tensão do sensor
- seu Offset/ pela sua sensibilidade mV/A
Sol= (read_adc(A1)/ 1024.0) * 22; // tensão painel em volts
Bat = (read_adc(A2)/1024.0)*16.0385; // constante tensão da bateria 12,5 = 3,9v a
razão é 3.207... então, vcc*3,207 é a constante
delay(200); // aguarda 200ms
}
// rotina display
void displa()
{
//envia dados ao display
lcd.setCursor(0,0); //linha 1 coluna 1 do display
lcd.print("I:"); // escreve I: no Display
lcd.print (Amps); // Mostra o valor da corrente da carga
lcd.setCursor(7,0); //coluna 7 linha 1
lcd.print ("A");
lcd.setCursor(0,1); //linha 2
lcd.print("V:");
lcd.print(Bat); // mostra valor da tensão da bateria
lcd.setCursor(7,1); //coluna 7 linha 2
lcd.print("V");
}
//rotina de status da bateria
void condicoes( )
{
if (Bat<bat_baixa) // se a bateria estiver abaixo de 11,5
{
lcd.setCursor (11,0); // linha 1 coluna 7
43
lcd.print ("RUIM"); // mostra ruim
delay(1000); // espera 1s
}
else if((Bat>11.51)&& (Bat <=bat_full)) // se a tensão da bateria estiver entre 11,51V
e 14,3V
{
lcd.setCursor (11,0); // linha 1 coluna 11
lcd.print ("Ok "); // mostra OK
delay(1000); // aguarda 1s
}
else if (Bat>bat_full) // se a tensão da bateria estiver acima de 14,3
{
lcd.setCursor (11,0);
lcd.print ("Cheia"); // a bateria está cheia
delay (1000);
}
else if (Bat>Sol) // se a bateria estiver com tensão mais alta que o painel solar
{
lcd.setCursor (10,0); // linha 1 coluna 10
lcd.print ("S"); // mostra S
delay (1000);
}
}
//rotina de controle da carga
void carga( )
{
if (Amps>amp_max) // sobrecarga, corrente maior que 10A
{
digitalWrite(4, LOW); //carga desligada pino 6 baixo
lcd.setCursor (9,1);
lcd.print ("SOBREC!"); // indica sobrecarga
44
delay (6000); //60 segundos de espera
}
else if (Bat < bat_baixa) // se a Bateria estiver ruim
{
digitalWrite(4,LOW); //carga desligada pino 6 baixo
lcd.setCursor (9,1);
lcd.print ("CARDESL"); // carga desligada
}
else if (Bat>bat_baixa) // bateria ok, carga consome nos limites
{
digitalWrite(4,HIGH); // carga ativa pino 6 alto
lcd.setCursor (9,1);
lcd.print ("SIST.OK"); // sistema operando corretamente
}
}
//rotina de carregamento
void batcarga()
{
if ((Sol>Bat)&&(Bat<13.8)) // bateria com carga baixa, carga em plena
{
analogWrite(3,252); // carga em 99%, pino 3 com PWM em 99%
delay(6000);
}
else if((Sol>Bat)&&(Bat>13.6)&& (Bat <= bat_full)) // carga flutuante, bateria entre
13,6V e 14,3V
{
analogWrite(3,25.5); // 10% do pwm > carga em 10%
delay(6000);
}
else if ((Sol<Bat) or (Bat > bat_full)) // se a tensão da bateria é menor que a do
Painel, ou bateria está cheia
45
{
analogWrite(3,0); // carregamento desligado
delay (300);
}
}
46
ANEXO 2:
Especificações dos LEDs [9]:
47
ANEXO 3:
48
ANEXO 4:
Testes do protótipo com o Launchpad MSP430G2553 da Texas Instruments, sendo
desenvolvidos no programa IAR Embedded Workbench:
// Recarregador Solar de bateria! by Ferrão
#include <msp430G2553.h>
#include <stdio.h>
//--Tratamento de variáveis----------------------------------------------------char Buffer[30];
char BufferWritten[50];
unsigned int c = 0;
unsigned int l = 1;
int conversion = 0;
int correction = 0;
int volt;
int calc;
int valor;
unsigned short data;
// Cria variavel 'data' que receberá o valor ADC tensão
unsigned short data2;
// Cria variavel 'data2' que receberá o valor ADC corrente
int corrente;
//--Tratamento do ponteiro-----------------------------------------------------void escrevestring_serial(char *BufferPtr)
{
while(*BufferPtr!='\0')
{
while(UCA0STAT&&UCBUSY);
UCA0TXBUF = *BufferPtr;
BufferPtr++;
}
while(UCA0STAT&&UCBUSY);
UCA0TXBUF = '\0';
}
//--Inicializaçao e Definiçao do Programa--------------------------------------int main( void )
{
WDTCTL = WDTPW + WDTHOLD;
// Interrupcao do WatchDog
49
//--Configuração da frequencia----------------------BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;
// Define BCS em 1MHz
// Define DCO em 1MHz
//--Configuração da Serial RS232--------------------P1SEL = BIT1 + BIT2 ;
P1SEL2 = BIT1 + BIT2 ;
UCA0CTL1 |= UCSSEL_2;
UCA0BR0 = 52;
UCA0BR1 = 0;
UCA0MCTL = UCBRS0;
UCA0CTL1 &= ~UCSWRST;
// P1.1 = RXD; P1.2=TXD
// P1.1 = RXD; P1.2=TXD
// Define clock referencia (SMCLK)
// 1MHz/52 = 19200 Hz
// 1MHz/52 = 19200 Hz
// Modulacao UCBRSx = 1
// Inicializa estado de maquina USCI
//--Inicializaçao do Display LCD---------------------__delay_cycles(1000000);
sprintf(Buffer,">10*\r\n");
__delay_cycles(1000);
escrevestring_serial(Buffer);
display
// Aguarda 1s (o de inicializacao)
// Carrega variáveis de inicializacao no Buffer
// Aguarda 5ms
// Envia variavel do Buffer para o modulo
sprintf(Buffer,">11(00,01)*\r\n");
__delay_cycles(1000);
escrevestring_serial(Buffer);
display
// Carrega variáveis de inicializacao no Buffer
// Aguarda 1ms
// Envia variavel do Buffer para o modulo
sprintf(Buffer,">18(%03lu)*\r\n");
// Carrega variáveis para acionamento do BackLight
no Buffer
__delay_cycles(1000);
// Aguarda 1ms
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
//--Escrevendo texto " tensão: " no Display------l=0;
// Define a linha a ser escrita no display
c=0;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
sprintf(BufferWritten,">12 T *\r\n");
// Carrega caractere " T " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o modulo display
l=0;
c=1;
// Define a linha a ser escrita no display
// Define a coluna a ser escrita no display
50
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
sprintf(BufferWritten,">12 E *\r\n");
// Carrega caractere " E " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o modulo display
l=0;
// Define a linha a ser escrita no display
c=2;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
sprintf(BufferWritten,">12 N *\r\n");
// Carrega caractere " N " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o modulo display
l=0;
// Define a linha a ser escrita no display
c=3;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
sprintf(BufferWritten,">12 S *\r\n");
// Carrega caractere " S " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o modulo display
l=0;
// Define a linha a ser escrita no display
c=4;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
sprintf(BufferWritten,">12 A *\r\n");
// Carrega caractere " A " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o modulo display
l=0;
// Define a linha a ser escrita no display
c=5;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
sprintf(BufferWritten,">12 O *\r\n");
// Carrega caractere " O " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o modulo display
l=0;
// Define a linha a ser escrita no display
c=6;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
sprintf(BufferWritten,">12 : *\r\n");
// Carrega caractere " : " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o modulo display
//--Escrevendo texto " Corrente: " no Display------l=2;
// Define a linha a ser escrita no display
c=0;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
51
sprintf(BufferWritten,">12 C *\r\n");
escrevestring_serial(BufferWritten);
// Carrega caractere " C " no Buffer
// Envia variavel do Buffer para o modulo display
l=2;
// Define a linha a ser escrita no display
c=1;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
sprintf(BufferWritten,">12 A *\r\n");
// Carrega caractere " A" no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o modulo display
l=2;
// Define a linha a ser escrita no display
c=2;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
sprintf(BufferWritten,">12 R *\r\n");
// Carrega caractere " R " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o modulo display
l=2;
// Define a linha a ser escrita no display
c=3;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
sprintf(BufferWritten,">12 G *\r\n");
// Carrega caractere " G " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o modulo display
_BIS_SR(GIE);
// Habilita as interrupcoes gerais
l=2;
// Define a linha a ser escrita no display
c=4;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
sprintf(BufferWritten,">12 A *\r\n");
// Carrega caractere " A " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o modulo display
l=2;
// Define a linha a ser escrita no display
c=5;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l); // Carrega informaçao linha/coluna no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo display
sprintf(BufferWritten,">12 : *\r\n");
// Carrega caractere " : " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o modulo display
_BIS_SR(GIE);
// Habilita as interrupcoes gerais
//--Loop do programa-----------------------------------------------------------52
while (1)
{
//--Leitura e conversao ADC tensão-------------------------ADC10CTL0&=0xFD;
ADC10CTL1=INCH_4;
// try to clear ENC
// P1.4 AN4 ENABLE
ADC10AE0 = BIT4;
// P1.4 AN4 ENABLE
ADC10CTL0=ADC10SHT_2 + ADC10ON + ENC + ADC10SC;
while((ADC10CTL1 & ADC10BUSY) == ADC10BUSY);
data=ADC10MEM; // Atribui o valor contido em ADC10MEM na variavel 'data'
volt=data*1;
// constante
//--Escrevendo carga" XX.X " no display-----------l=1;
// Define a linha a ser escrita no display
c=7;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l);
// Carrega informaçao linha/coluna
no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo
display
sprintf(BufferWritten,">12 %d *\r\n",volt); // Carrega caractere " 1º caractere da
tensão " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o
modulo display
l=1;
// Define a linha a ser escrita no display
c=8;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l);
// Carrega informaçao linha/coluna
no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo
display
sprintf(BufferWritten,">12 %d *\r\n",volt); // Carrega caractere " 2º caractere da
volts " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o
modulo display
l=1;
// Define a linha a ser escrita no display
c=9;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l);
// Carrega informaçao linha/coluna
no Buffer
53
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo
display
sprintf(BufferWritten,">12 . *\r\n");
escrevestring_serial(BufferWritten);
modulo display
// Carrega caractere " . " no Buffer
// Envia variavel do Buffer para o
l=1;
// Define a linha a ser escrita no display
c=10;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l);
// Carrega informaçao linha/coluna
no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo
display
sprintf(BufferWritten,">12 %d *\r\n",volt);
// Carrega caractere " " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o
modulo display
l=1;
// Define a linha a ser escrita no display
c=11;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l);
// Carrega informaçao linha/coluna
no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo
display
sprintf(BufferWritten,">12 V *\r\n");
// Carrega caractere " V " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o
modulo display
// __delay_cycles(500000);
// Aguarda 0.5 segundos para prox leitura
//--Leitura e conversao ADC corrente-------------------------ADC10CTL0&=0xFD;
// try to clear ENC
ADC10CTL1=INCH_7;
// P1.7 AN7 ENABLE
ADC10AE0 = BIT7;
// P1.7 AN7 ENABLE
ADC10CTL0=ADC10SHT_2 + ADC10ON + ENC + ADC10SC;
while((ADC10CTL1 & ADC10BUSY) == ADC10BUSY);
data2 = ADC10MEM; // Atribui o valor contido em ADC10MEM na variavel 'data'
corrente=data2*3;
l=2;
c=6;
// constante
// Define a linha a ser escrita no display
// Define a coluna a ser escrita no display
54
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l);
// Carrega informaçao linha/coluna
no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo
display
sprintf(BufferWritten,">12 %d *\r\n",corrente); // Carrega caractere " 1º caractere da
tensão " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o
modulo display
l=2;
// Define a linha a ser escrita no display
c=7;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l);
// Carrega informaçao linha/coluna
no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo
display
sprintf(BufferWritten,">12 %d *\r\n",corrente); // Carrega caractere " 2º caractere da
volts " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o
modulo display
l=2;
// Define a linha a ser escrita no display
c=8;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l);
// Carrega informaçao linha/coluna
no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo
display
sprintf(BufferWritten,">12 . *\r\n");
// Carrega caractere " . " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o
modulo display
l=2;
// Define a linha a ser escrita no display
c=9;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l);
// Carrega informaçao linha/coluna
no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo
display
sprintf(BufferWritten,">12 %d *\r\n",corrente);
// Carrega caractere " " no
Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o
modulo display
l=2;
// Define a linha a ser escrita no display
c=10;
// Define a coluna a ser escrita no display
sprintf(Buffer,">11(%02u,%02u)*\r\n",c,l);
// Carrega informaçao linha/coluna
no Buffer
escrevestring_serial(Buffer);
// Envia variavel do Buffer para o modulo
display
sprintf(BufferWritten,">12 A *\r\n");
// Carrega caractere " V " no Buffer
escrevestring_serial(BufferWritten);
// Envia variavel do Buffer para o
modulo display
55
//__delay_cycles(500000);
}
// Aguarda 0.5 segundos para prox leitura
// the end!
}
‘
56
Download