PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ
CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA
CURSO DE ENGENHARIA ELÉTRICA
MICHEL BRANTES
SISTEMA AUTÔNOMO DE POSICIONAMENTO DE PLACA
COLETORA E AQUECIMENTO DE ÁGUA EM CALHA
PARABÓLICA POR ENERGIA SOLAR
AR
TRABALHO DE CONCLUSÃO DE CURSO
RELATÓRIO TÉCNICO FINAL
CURITIBA
2011
MICHEL BRANTES
SISTEMA AUTÔNOMO DE POSICIONAMENTO DE PLACA
COLETORA E AQUECIMENTO DE ÁGUA EM CALHA
PARABÓLICA POR ENERGIA SOLAR
Relatório Técnico Final do Trabalho de
Conclusão de Curso apresentado ao Curso de
Engenharia
Elétrica
da
Pontifícia
Universidade Católica do Paraná, como
requisito à obtenção do título de Engenheiro
Eletricista.
Orientador: Prof. Ivan Jorge Chueiri
CURITIBA
2011
MICHEL BRANTES
SISTEMA AUTÔNOMO DE POSICIONAMENTO DE PLACA
COLETORA E AQUECIMENTO DE ÁGUA EM CALHA
PARABÓLICA POR ENERGIA SOLAR
Trabalho de Conclusão de Curso apresentado ao Curso de Engenharia Elétrica da
Pontifícia Universidade Católica do Paraná, como requisito à obtenção do título de
Engenheiro Eletricista.
COMISSÃO EXAMINADORA
________________________
James Baraniuk
(Professor)
________________________
Ivan Jorge Chueiri
(Orientador)
________________________
Maria G. te Vaarwerk
(Co-orientadora)
________________________
Carlos Ademar Purim
(Convidado - Lactec)
Curitiba, 25 de novembro de 2011.
RESUMO
Através de fusões atômicas, ou explosões solares, o sol libera energia na forma de onda
eletromagnetica, essa onda se propaga praticamente sem perdas devido a ausência de meio e chega
até nosso planeta em intensidade suficiênte para manter a água em seus três estados, o angulo de
incidência da onda tem relação direta com este estados, pois determina a quantidade de energia
absorvida.
Enxergamos o Sol como uma fonte de energia pontual devido a distancia. Todos os métodos de
utilização da energia solar, são otimizados quando ocorre a incidência ortogonal da onda
eletromagnética,
nos coletores de energia. Faz-se assim necessário, o desenvolvimento de
tecnologia simples e de baixo custo, para que possamos direcionar nossos coletores
ortogonalmente ao Sol, e desfrutar com o máximo de eficiência a sua energia.
O objetivo deste projeto de conclusão de curso é construir protótipo de um dispositivo que siga o
movimento do Sol, a fim de aquecer água, com a técnica de reflexão em calha parabólica. Em
suma, trata-se de construir um protótipo autonômo em energia, simples e funcional, que pode ser
utilizado em regiões onde não há energia elétrica. Pode-se dimencioná-lo pela demanda de água
quente, porém o aumento do custo do protótipo em função da demanda, é em rampa ascendente,
devido à estrutura física do equipamento.
A tecnologia empregada é de baixo custo e simples implementação. O sensor de intensidade de luz
é um fototransistor comum. A reflexão em calha parabólica já bastante utilizada para concentração
de energia solar. O controle do sistema de posicionamento trabalha em malha aberta, o que
simplifica os acionamentos eletromecanicos. O sistema fotovoltaico em sistemas isolados da rede
da consessionaria de energia também é empregado de uma forma relativamente substancial,
levado em consideração o custo das células fotovoltaicas.
Ao final dos testes, surpreendí-me com os resultados e eficácia, dos sistemas de posicionamento e
aquecimento, enquanto que a autonomia energética fotovoltaica, se mostrou como esperado, nas
condições de eficiencia das células de uso comum, que dispomos no mercado.
Enfim, o presente trabalho serve base para estudos posteriores, principalmente no sistema de
posicionamento em malha aberta (solar tracking).
Palavras chaves:
- Energia Solar, aproveitamento da energia solar, otimização na coleta de energia solar, girassol
eletronico, reflexão em calhas parabólicas para aquecimento de água.
ABSTRACT
Through atomic mergers, or solar explosions, Sun releases its energy by electromagnetic waves.
This wave practically propagates without energy losses, due to the lack of material.
Our planet receives a sufficient energy intensity, to keep the water in its three forms. The incident
angle is related to water’s forms, the angle determines the collected energy quantity.
We see the sun as a distinct source of energy due to distance. All methods of using the solar
energy are optimized, when we have the orthogonal incidence of electromagnetic waves in sun
energy collectors. Thus it’s necessary the development of cheap and simple technology, so we can
direct ours collectors orthogonally to the sun and enjoy with maximum efficiency this energy.
The main objective of this project is building a prototype that follows the sun movement, heating
the water using the parabolic reflection technique. The prototype is just an energy autonomous
solar tracking prototype, quiet sample that can be used on regions without electric energy
distributions. It may be scaled by heated water demand, but increasing coast are exponentials.
The adopted technology is extremely low cost and easy implementation. The light sensor is a
common phototransistor. The parabolic trough reflection is been used for sun energy
concentration for years. The positioning control systems operates at open loop, this simplifies the
electromechanical motion drives. The off-grid photovoltaic system is been very kindly used,
considering the photocell costs.
Ending the tests, I got surprised whit the results. The majors features, the positioning and the
heating had effectives results, while the photovoltaic energy autonomy, proved its functionality as
expected.
Well, this paper aims to further developing studies, especially the positioning system (solar
tracking).
Keywords: Solar Energy, optimizing solar collectors directivity, water heating by reflection on
parabolic troughs.
AGRADECIMENTOS
À minha amada esposa Silmery, pela inesgotável paciência no decorrer do curso.
Agradeço meus pais, pelo apoio e constante incentivo à minha gradução como Engenheiro
Eletricista.
Agradeço também a família Zeribetto, ao Roberto por ceder sua oficina para confecção dos
protótipos, ao Erik pelas idéias e ajuda no desenvolvimento do protótipo mecânico e hidráulico.
Meus agradecimentos aos colegas Ronivan Manica e Vinicius Vargas, também graduandos
da minha turma, pelo apoio em softwares para desenvolvimento do protótipo eletrônico.
Agradeço ao pessoal do suporte de laboratório de Engenharia Elétrica da PUC-PR e ao
Professor Ivan J. Chueri, meu orientador pelas varias dicas no decorrer do projeto.
Agradeço também, o Instituto de Pesquisa para o Desenvolvimento LACTEC – PR, setor
de Tecnologia de Informação e Eletronica, onde faço estágio, por ceder as ferramentas de
desenvolvimento para firmwares, materiais eletroeletronicos, e dicas para desenvolvimento de
hardwares.
Com carinho,
Michel Brantes / 2011.
LISTA DE FIGURAS E TABELAS
Figura 1 – Aquecimento Global
Figura 2 – Convecção natural de fluídos
Figura 3 – Sistema fotovoltaico isolado comercial
Figura 4 – Fototransistor
Figura 5 – Disposição Foto transistores
Figura 6 – Diagrama em blocos geral do projeto
Figura 7 – Diagrama sistema de posicionamento
Figura 8 – Diagrama sistema de aquecimento por convecção
Figura 9 – Diagrama sistema de energia fotovoltaico
Figura 10 – Estrutura sistema de posicionamento
Figura 11 – Detalhe acionamento eixo norte - sul
Figura 12 – Detalhe acionamento eixo leste – oeste
Figura 13 – Protótipo 1 – Calha parabólica
Figura 14 – Teste Protótipo 1 – Calha parabólica
Figura 15 – Projeto calha parabólica
Figura 16 – Confecção placa etapa 1
Figura 17 – Confecção placa etapa 2
Figura 18 – Confecção placa etapa 3
Figura 19 – Confecção placa etapa 4
Figura 20 – Disposição das calhas na placa
Figura 21 – Medindo altura do foco
Figura 22 – Aquecimento convencional PUCPR
Figura 23 – Boiler antes da reforma
Figura 24 – Restauração Boiler
Figura 25 – Pintura Boiler
Figura 26 – Pintura Estrutura metálica
Figura 27 – Pintura Reservatório de água
Figura 28 – Pintura Reservatório e conexões
Figura 29 – Disposição dos fototransistores
Figura 30 – Tamanho sensor
Figura 31 – FootPrint Sensor versão 2
Figura 32 – Sensor versão 2
Figura 33 – Sensor versão 2 disposto no protótipo
Figura 34 – Esquemático da placa controladora
Figura 35 – FootPrint da placa controladora
Figura 36 – Placa controladora
Figura 37 – Interface Homem-Máquina
Figura 38 – Esquemático da Placa de Energia
Figura 39 – Confecção bomba de circulação, saida de agua
Figura 40 – Confecção bomba de circulação, entrada de agua
Figura 41 – Confecção bomba de circulação
Figura 42 – Confecção bomba de circulação, em operação
Figura 43 - Circuito Medição Kit o MSP430 LaunchPad
Figura 44 – Cargas para medição de tensão
Figura 45 – Detalhe do circuito de carga
Figura 46 – Tensão X Tempo medição PV
Figura 47 – Potencia X Tempo medição PV
Figura 48 – Solar Tracking na medição PV
Figura 49 –Análise de riscos
Figura 50 – Hardware Completo
LISTA DE ABREVIATURAS E SIGLAS
OEM
Onda Eletromagnética
IHM
Interface Homem-Máquina
Vdc
Volts, tensão continua
Vac
Volts, tensão alternada
uControlador
Micro Controlador
PV
Painel Foto Voltaico
TI
Texas Instruments
SUMÁRIO
1.
2.
3.
4.
5.
6.
7.
Introdução
11
1.1.Detalhamento do problema
12
1.2.Solução proposta
12
Detalhamento do projeto
14
2.1.Sistema de posicionamento para coletores de energia solar
14
2.2.Sistema de aquecimento de água
15
2.3.Sistema fotovoltaico para sistema isolado
17
Tecnologias que foram utilizadas
19
3.1.Tecnologia do sistema de posicionamento
19
3.1.1. O Sensor de luz para posicionamento
19
3.1.2. A Placa Controladora do posicionamento
21
3.2.Tecnologia do sistema de aquecimento de água
22
3.3.Tecnologia do sistema fotovoltaico para sistema isolado
22
Operacionabilidade
23
4.1.
Diagrama em blocos geral do projeto
23
4.2.
Descrição dos blocos do projeto
24
4.2.1. Sistema de posicionamento
24
4.2.2. Sistema de aquecimento
26
4.2.3. Sistema Fotovoltaico isolado
27
Prototipagem Mecânica
28
5.1. Mecânica sistema de posicionamento
28
5.2. Mecânica sistema de aquecimento
30
Prototipagem Eletro-eletrônica
34
6.1. Sensor de posicionamento
34
6.2. Placa controladora do sistema de posicionamento
36
6.3. Placa controladora do sistema fotovoltaico
38
Procedimentos de testes e validações do projeto
39
7.1.Testes do Sistema de Posicionamento
39
7.2.Validação do Sistema de Posicionamento
39
7.3.Testes do Sistema de Aquecimento
40
7.4.Validação do Sistema de Aquecimento
40
7.5.Teste e validação do Sistema Fotovoltaico Isolado
46
8.
Softwares e Firmwares
52
8.1.Ambiente de desenvolvimento em C
52
8.2.Compilador
52
8.3.Algoritmos e Firmwares
52
8.3.1. Firmware Geral
52
8.3.2. Firmware Posicionamento
52
8.3.3. Algorítimo fotovoltaico
52
9.
Analise dos riscos
53
10.
Sugestões na continuidade dos estudos para confecção de produto
54
10.1. Para o Sistema de Posicionamento
54
10.2. Para o Sistema de Aquecimento
54
10.3. Para Hardware
54
Conclusões e considerações finais
56
Referências
57
Anexo
59
11
1.
INTRODUÇÃO
A Teoria do Aquecimento Global, apregoada e defendida por Al Gore1, enfatiza
o efeito estufa, provocado pela excessiva quantidade de dióxido de carbono (CO2)
expelida para a atmosfera, destruindo a camada de ozônio (GEOGRAPHICS, 2011),
permitindo a penetração dos raios UV e ondas de calor cada vez maiores e cumulativas
que, retidas, causam o aquecimento global, com conseqüências catastróficas para a
humanidade (alterações climáticas, derretimento das geleiras polares, inundações pela
subida do nível dos oceanos, etc) (EPA - USA, 2011).
A Teoria de Gaia foi desenvolvida pelo biólogo inglês James Lovelock, na década
1960/1970, trabalhando para a NASA, em pesquisas sobre a existência de vida em Marte e
Vênus; não constatando vida naqueles planetas, redirecionou suas pesquisas comparandoas com o planeta Terra, concluindo que alguns componentes de gases aqui existentes, não
existentes em Marte e Vênus ou não eram existentes em quantidades suficientes para
permitir a existencia de vida, como eram as condições existentes na Terra e, tornamdo-a
um organismo vivo.
Inseriu a idéia de que cada componente da Terra funciona de forma
interligada. As plantas e animais fazem parte do mesmo conjunto, de uma
mesma unidade funcional. Por sua vez, este conjunto é parte integrante de
um conjunto maior - o próprio planeta Terra - Gaia, um imenso
organismo vivo e auto-regulador. (LOVELOCK, 2006)
Figura 1 – Aquecimento Global
Fonte: (FRANSCISCO, 2010)
Segundo sua teoria, a Terra ou Gaia, como prefere chamar Lovelock, ainda está em
estado de homeóstase, tendo reservas de sobrevivência, autodefesa
e adaptação,
produzindo suas alças de retroalimentação. “O que é necessário definir é tão-somente até
quando ela conseguirá manter este estado”. (REIS, 2007)
Assim, portanto, temos duas teorias não totalmente comprovadas a respeito do
nosso planeta: A teoria de Gaia e a teoria do aquecimento global, onde pode-se destacar
que um sistema estável de 3,8 milhões de anos, não deverá se extinguir de uma hora para a
outra, fazendo com que considere-se os créditos à Teoria de Gaia.
1
Ex-Vice-Presidente dos Estados Unidos na Administração Bill Clinton, Prêmio Nobel da Paz em 2007, pelo
desenvolvimento e divulgação dessa teoria.
12
Por outro lado, o que vivencia-se atualmente, alerta-nos sobre os efeitos da
poluição, lançados pela ação do homem, ao planeta. Há que se questionar a necessidade de
se conviver desenfreadamente com estes problemas ou amenizar seus efeitos considerando
as formas possíveis de sustentabilidade para manter o ciclo da forma de vida que temos
hoje, estável, atribuindo-se aos engenheiros e cientistas otimizar a utilização da energia
limpa, de modo que os métodos empregados nesta otimização, impactem da melhor forma
possível com o planeta.
O trabalho está disposto de forma a contemplar a apresentação do problema a ser
resolvido e as soluções propostas, o desenvolvimento teórico e prático do protótipo, testes
e medições, eficiência, sugestões e considerações finais.
1.1.
DETALHAMENTO DO PROBLEMA
Nos direcionando para o setor energia deste trabalho, vamos direto à questão de
demanda por energia elétrica. Sabe-se que um dos grandes causadores dos “blackouts” em nosso país, são os chuveiros elétricos residenciais, que em sua grande
maioria são ligados no horário de pico, entre as 18 e 21h. (EPE, 2011)
É neste espaço de tempo (ELETROSUL, 2005), onde são usados os chuveiros
elétricos residenciais, quando as pessoas retornam do trabalho para suas casas. Fica
evidente que aquecer a água do banho, com a energia solar disponibilizada durante o
dia, armazená-la para utilização posterior, é uma grande solução em questão de
energia.
1.2.
SOLUÇÃO PROPOSTA
A solução proposta para este Trabalho de Conclusão de Curso, visa construir um
protótipo aquecedor de água, o qual utilizará a energia solar. O método de tranferencia
de energia adotado é a utilização de calhas parabólicas para concentrar a energia solar
em uma linha chamado foco da parábola, e nesta linha de foco, dispor uma serpentina
metálica (cobre) para a transferencia da energia para água, por condução entre
materiais.
Diferente dos sistemas de aquecimento convencionais, que utilizam placas fixas,
este protótipo conta com um sistema de posicionamento da placa coletora, para que o
foco seja fixo na serpentina, e haja a troca de energia.
13
Nestes moldes, com a construção deste protótipo, considerando-o eventual produto
futuro, cabe citar que o mesmo é de âmbito:
- de auto suficiência energética a nível nacional, pois reduz a demanda residencial por
energia elétrica em horário de pico, ao aquecer água para banho com energia solar,
evitando assim o “apagão”;
- sócio econômica pois diminui a fatura de energia elétrica diretamente no consumidor
final;
- sócio cultural pelo estímulo educacional e intelectual repassado ao consumidor, que
poderá passar a agir com mais efetividade na questão de sustentabilidade e energia;
- sócio ambiental pois utiliza a energia proveniente do Sol, transformando-a em
trabalho para a humanidade, e não acumulando tal energia no planeta, o que contribui
para o efeito estufa.
14
2. DETALHAMENTO DO PROJETO
O objetivo do desenvolvimento deste trabalho, é apresentar os ganhos que um
sistema simples, e de baixo custo, para o posicionamento de placa coletora de energia
solar, é capaz de proporcionar em termos de eficiência na coleta.
O sistema de posicionamento é um controle de posicionamento em malha aberta,
não há sinal de erro (realimentação) para ajuste da posição. Optou-se por este tipo de
controle no intuito de reduzir os custos e a complexidade de harwares.
Aliado ao sistema fotovoltaico, que supre a energia demandada pelo sistema e
também carrega bateria, o protótipo irá operar independente de energia elértica da rede,
sendo perfeitamente aplicável à regiões remotas e / ou isoladas.
Em suma, na região de Curitiba, temos disponíveis em média de 4 a 6 horas de
insolação (para conversão de energia) diária,
conforme mostra mapa do Anexo 1, e
2
entorno de 3500 a 5000 W/m .dia, conforme mostra ma do Anexo 2. (UFPE, 2000)
2.1. SISTEMA DE POSICIONAMENTO PARA COLETORES DE ENERGIA
SOLAR
O sistema de posicionamento da placa coletora tem como principio de
funcionamento a utilização se um conjunto de sensores óticos e duas transmissões
mecânicas acionadas por motores. Uma transmissão acompanha o movimento de
rotação, e a outra o movimento de translação (inclinação referente a estação do ano).
A solução parte do principio de comparar a leitura de dois sensores de luz
(fototransistor) e decidir em que sentido de rotação acionar o motor do referido eixo.
Fica explicito que este sistema pode ser implementado utilizando somente
eletronica / digital, sem uso de processador. Visto que o protótipo é de intuito didático,
fica evidente a aplicação de um microcontrolador, principalmente para o estudo de
desempenho, já que o microcontrador pode oferecer a composição de um bando de
dados de aquisição de dados.
Sistemas de posicionamento segundo orientação do Sol ja estão difundidos e
aplicados em varias regiões do planeta. Cito o exemplo da empresa Solar Millennium,
que aplica o sistema em geração de energia elétrica através do aquecimento de água
em calhas parabólicas. (MILLENNIUM, 2011)
15
2.2.SISTEMA DE AQUECIMENTO DE ÁGUA
Os sistemas de aquecimento convencionais de agua, já ilustrado em seção anterior,
vem sendo implantados em larga escala, em varias regiões do Brasil e do mundo.
Demonstra assim sua eficácia. É de conhecimento que com bons capilares e um
direcionamento bem orientado, em uma angulação própria para cada região, estes
sistemas fixos chegam a aquecer boilers com 200 litros de agua, a uma tempetura
muito além dos 60ºC. Há casos de o ganho ser tanto, a ponto de ferver a agua dentro
do boiler, aí usam-se os boilers com válvula de alívio, ou simplesmente um respiro,
por onde o vapor sai do boiler.
Neste projeto, o sistema de aquecimento é composto por 3 etapas (fenômenos) físicas
no processo para conversão da energia solar, em energia térmica. A reflexão em calha
parabólica, condução térmica entre materiais e a convecção natural de fluídos.
Vejamos resumidamente a teoria de ambas as etapas da conversão da energia solar
em energia térmica:
Reflexão em calha parabólica:
Parábola é o conjunto dos pontos equidistantes do plano, de um ponto fixo e de uma
reta, que não contém o ponto. O ponto fixo chama-se foco e a reta chama-se diretriz. A
reta que é perpendicular à diretriz e contém o vértice e o foco é chamado eixo de
simetria da parábola.
A luz solar chega paralelamente a superficie da terra, devido à distância do Sol, o
que definimos como uma fonte puntiforme. Ao refletir na superfície da parábola, os
raios de luz solar irão ser direcionados ao foco da parábola.
A calha parabólica é uma “junção” de várias parábolas ao longo do eixo de
profundidade, a união destes pontos nos fornece uma linha no foco, na qual fixará-se a
serpentina metálica para ocorrer a troca de energia (térmica).
16
Condução térmica entre serpentina de metal e água circulante:
circulante
A condutividade
ondutividade térmica é uma propriedade física dos materiais que é descrita
como a habilidade dos mesmos de conduzir
conduzi calor.. Condutividade térmica equivale a
quantidade de calor Q transmitida através de uma espessura L,, numa direcção normal à
superfície de área A,
A devido a uma variação de temperatura ∆T,
∆ sob condições de
estado fixo e quando a transferência de calor é dependente apenas da variação de
temperatura.
O Anexo 3 mostra exemplo dos sistemas de aquecimento solar fixos
fixo de água
comercializados e o Anexo 4 mostra a talela de condutividade de materiais.
Convecção natural
atural de fluidos:
Convecção é o movimento de moléculas em fluidos (i.e. líquidos,
líquidos gases e rheids).
A convecção natural não pode ter lugar em sólidos, uma vez que nem os fluxos de
correntes de massa ou difusão significativos podem ocorrer em sólidos. A convecção
térmica é soma de dois fenômenos físicos, a conduçãode
de calor (ou difusão de calor) e a
advecção de um meio fluido (líquidos e gases).
Quando calor é transferido pela circulação de fluidos devido a flutuação devido a
mudanças de densidade induzidas pelo próprio calor, então o processo é conhecido
como convecção natural ou convecção livre.
Em suma, a água fria do
boiler sairá pelo dreno inferior, entrará na
serpentina do lado inferior na placa coletora
(serpentina no foco da calha
ca
), aquecendo no
trajeto do foco na
placa coletora, sobe e
entra no dreno superior do boiler. Formando
assim o ciclo de convecção natural. Ao
A lado
figura demonstrando o ciclo da convecção
natural:
Figura 2 – Convecção natural de fluídos
Fonte: (VIEIRA,, 2010)
17
2.3.SISTEMA FOTOVOLTAICO PARA SISTEMA ISOLADO
O sistema de armazenamento de energia em baterias é antigo, foi utilizado em
residências e fazendas, durante muitos anos, onde utilizavam um gerador eólico e um
retificador para a carga das baterias e utilização de tal energia posteriormente.
Um sistema isolado da concessionária de energia, com utilização de placas
fotovoltaicas ou mesmo aerogeradores, é perfeitamente aplicável na maioria das regiões do
planeta.
Com o indício de queda dos preços das placas fotovoltaicas e também de inversores
(equipamento que converte energia da forma corrente contínua para forma corrente
alternada), o sistema fotovoltaico isolado pode se encaixar perfeitamente para aplicação
com pequenas cargas AC, ou então, eliminando o inversor, para uma carga DC.
Abaixo imagem de sistema fotovoltaico comercialmente difundido:
Figura 3 - Sistema fotovoltaico isolado comercial
Fonte: (SOLETROL, 2011)
18
As placas fotovoltaicas comerciadas têm geralmente 1 m2, pesam em torno de 12
Kg e convertem uma quantidade de energia referente a uma potencia nominal de 135 W,
tensão em aberto de aproximadamente 20 Volts. (LLC, 2011)
A energia requerida fica estabelecida em uma função direta com a quantidade de
placas necessárias. Os cálculos devem levar em conta, principalmente, os mapas de
radiação solar da região em questão. A eficiência média das placas é da ordem de 13 a 18%.
(JOYCE, 2011)
À medida que os medidores eletrônicos de energia, e também a rede inteligente (do
inglês Smart Grid) forem avançando, além de podermos ter em nossas residências mini
usinas de energia, também poderemos vender para as concessionárias os nossos excedentes
de geração.
19
3. TECNOLOGIAS QUE FORAM UTILIZADAS
As tecnologias empregadas neste projeto foram de extrema importancia no
somatorio final para preço do eventual produto.
O sistema em malha aberta também evidência a redução de custos, além de ser
didaticamente mais simples de se compreender o funcionamento, a fins de simplificar
eventuais manutenções, de encontrar-se mais facilmente no mercado os componentes para
eventuais substituições, utiliza um firmware menos complexo.
3.1.TECNOLOGIA DO SISTEMA DE POSICIONAMENTO
3.1.1. SENSOR DE LUZ PARA POSICIONAMENTO
O sensor desenvolvido é composto por fototransistores, componente eletrônico que
funciona baseado no fenômeno da fotocondutividade. Como o transistor convencional,
o fototransistor é uma combinação de dois diodos de junção, porém, associado ao
efeito transistor aparece o efeito fotoelétrico.
Em qualquer célula fotocondutivas, a incidência de luz (fótons) provoca o
surgimento de buracos na vizinhança da junção base-coletor. Esta tensão conduzirá os
buracos para o emissor, enquanto os elétrons passam do emissor para a base. Isso
provocará um aumento da correntede base, o que por conseqüência implicará numa
variação da corrente de coletor “beta” vezes maior, sendo essa variação proporcional
à intensidade da luz incidente.
Como a base está normalmente desconectada, a corrente que circula por ela
dependerá apenas do fluxo luminoso incidente. Assim, na ausência de luz, a corrente
de base é zero e o fototransistor estará cortado, resultando na tensão do coletor igual à
tensão de polarização Vcc. Quando há luz incidindo, a tensão no coletor irá diminuir
devido ao aumento da corrente. (SABERELETRICO, 2011)
20
Abaixo esquema elétrico de ligação do hardware para implementação do Sensor:
Figura 4 – Foto transistor
Fonte: (SABERELETRICO, 2011)
Utilizando dois foto transistores lendo a incidencia da luz solar, cada um sendo
monitorado isoladamente, podemos dispô-los ao longo do eixo de rotação, por
exemplo, de forma que o sensor que estiver com maior incidencia de luz, terá a maior
nivel de tensão analógica, entre terra e vcc. A figura abaixo ilustra tal disposição2.
Sol na posição 1 → S1 > S2
Sol na posição 2 → S1 = S2
Sol na posição 3 → S2 > S1
Figura 5 – Disposição Foto transistores
Fonte: (BRANTES, 2011)
2
Brantes, Michel. “Desenvolvimento de Hardware.” 2011.
21
A sensibilidade para deteção do movimento do Sol, se estalelece pela disposição
dos sensores fototransistores, ou seja, quanto menor a distancia ou menor o grau de
inclinação entre eles, sensibiliza com mais precisão a diferença entre ambos. Fica
simples de verificar esta questão, com o seguinte exemplo:
Colocamos o sensor 1 posicionado com a superficie fototransistiva alinhado à leste,
e o sensor 2 alinhado a oeste. Suponha que ira executar o seguinte algotimo ao
amanhecer:
- se S2 > S1;
- ligue motor sentido oeste;
- senão desligue motor sentido oeste;
O movimento só vai acontecer quando o sol chegar a oeste. Ai comprova-se a
resolução da deteção do movimento em função da disposição dos sensores. Desta
forma podemos controlar o movimento de rotação com dois sensores e o movimento
de translação também com outros dois sensores.
Os Sensores Norte, Sul, Leste e Oeste estão ligados nas entradas analógicas do
microcontralador, que veremos mais adiante.
3.1.2. PLACA CONTROLADORA DO POSICIONAMENTO
A Placa Controladora é comum para o sistema de posicionamento, ou seja,
para ler os sensores de posição, e atuar os motores conforme atualização da leitura da
mesma, além da respectiva IHM.
O microcontrolador a ser utilizado é o PIC16F877A, da Microchip (MICROCHIP,
2011), tal escolha foi por sua robustez, se mostrando muito funcional para tal
implementação.
O acionamento eletro-mecanico da movimentação dos eixos – Inclinação e Rotação
é realizada por motores de corrente continua e foram atuados via relé.
Foram
utilizadas saidas digitais do microntrolador para acionarmos, através de transistores,
os relés que farão a movimentação nos 4 sentidos de giro necessários, o referido eixo
“Leste-Oeste” acompanhando o movimento de rotação da Terra, e o eixo “Norte-Sul”
acompanhando as estações do ano, ou seja, a inclinação devido ao movimento de
Translação.
22
3.2.TECNOLOGIA DO SISTEMA DE AQUECIMENTO DE ÁGUA
A geração de energia elétrica em usinas solares, utilizam a técnica da reflexão em
calha parabólica que põe os enegiaem uma linha (MILLENNIUM, 2011) , e também
refleção de espelhos em um único ponto onde é armazenado água para o devido
aquecimento (DW-WORLD.DE, 2011).
A concentração dos raios solares para utilização de sua energia, sempre é utilizada,
independente do tipo de reflexão / concentração.
Neste projeto é abordado a utilização de calhas parabólicas.
3.3.TECNOLOGIA DO SISTEMA FOTOVOLTAICO PARA SISTEMA ISOLADO
O sistema fotovoltaico, assim como os demais métodos de captura e conversão da
energia solar, também está diretamente vinculado, em termos de eficiência, com o
direcionamento da incidência dos raios solares.
Para a total autonomia do protótipo, é sub-dimensionado a área de coleta por
células fovoltaicas, utilizando-se dos valores do aumento da eficiência da célula
fotovoltaica, quando direcionado ortogonalmente ao Sol, ao longo do dia.
Para total operacionabilidade, é disposto uma tomada para habilitar a energização
do sistema em caso de descarga total da bateria, no harware do módulo de energia,
abordado nas seguintes sessões.
Nas regiões que não tem luz eletrica via concessionária de energia, é necessário a
substituição da bateria, para re-inicio de funcionamento do sistema.
Este projeto não prevê acumulo de energia para utilização posterior, qualquer outra
carga, a não ser única e exclusivamente, pelo próprio controle do sistema.
23
4. OPERACIONABILIDADE
O protótipo é abordado em quetão de operacionabilidade, em funções atribuídas a
testes, implementação de rotinas de testes e simulação de produto comercial.
4.1.DIAGRAMA EM BLOCOS GERAL DO PROJETO
Figura 6 – Diagrama em blocos geral do projeto
Fonte: (BRANTES, 2011)
O sistema parte do pré-suposto que todas as atividades desenvolvidas pelo protótipo
foram executadas durante o dia. Eventualmente durante a noite o sistema poderá estar
enviando dados à monitoração ou executando alguma atualização de firmware
disponibilizado via interface qualquer (não é escopo do projeto).
Durante o dia, o
protótipo segue uma rotina continua de acompanhamento do movimento do Sol, aquece
água e armazena no boiler e também carregando a(s) bateria(s).
24
4.2.DESCRIÇÃO DOS BLOCOS DO PROJETO
4.2.1. SISTEMA DE POSICIONAMENTO
Figura 7 – Diagrama sistema de posicionamento
Fonte: (BRANTES, 2011)
25
O sistema de posicionamento, ao ser energizado, primeiro faz teste na chave
Manual / Automatico. Em Manual é possivel efetuar a movimentação de ambos os
eixos, e acompanhar a leitura no display de lcd 16 x 2 de todos os sensores de
direcionamento.
Já com a chave em posição Automático, é possível através da combinação de outras
3 chaves (23=8), temos 8 opções de rotinas para funcionamento em automático. Estas
rotinas implementadas dizem respeito ao testes.
As opções são: (BRANTES, 2011)3
0 – Mostra no display a leitura dos sensores externos;
1 – Mostra no display a leitura dos sensores internos;
2 – Mostra no display a leitura dos sensores do eixo leste – oeste;
3 – Mostra no display a leitura dos sensores do eixo norte – sul;
4 – Rotina procura melhor posição de ortogonalidade através dos sensores externos;
5 – Rotina procura melhor posição de ortogonalidade através dos sensores internos;
6 – Rotina acompanha movimento 1;
7 – Rotina acompanha movimento 2;
Ambas as rotinas de funcionamento em modo automático, tanto a rotina procura,
quanto a rotina acompanha, estão limitadas no range de deslocamento fisico ao longo
dos eixos, pelos sensores fim de curso.
3
(BRANTES, 2011) – Desenvolvimento de Hardware
26
4.2.2. SISTEMA DE AQUECIMENTO
Figura 8 – Diagrama sistema de aquecimento por convecção
Fonte: (BRANTES, 2011)
O fenomeno Termossifão ou Convecção Natural, aplicado neste caso, é de
fundamental caracteristica do projeto, de forma a se evitar o uso de bomba para a
circulação de água quente, minimizando o consumo de energia, e aumentando o custo
benefício do projeto.
27
4.2.3. SISTEMA FOTOVOLTAICO ISOLADO
O Hardware (módulo) de energia, é um eletronico passivo, contemplando
fonte auxiliar VCA, conexão física com celula fotovoltaica, conexão física com
baterias, proteção, regulação para alimentação do modulo de controle.
Mantem baterias carregadas e alimenta a placa de controle do sistema,
juntamente com suas cargas.
F
i
g
Figura 9 – Diagrama sistema de energia fotovoltaico
Fonte: (BRANTES, 2011)
28
5. PROTOTIPAGEM MECÂNICA
5.1.MECÂNICA SISTEMA DE POSICIONAMENTO
No desenvolvimento estrutural do sistema de posicionamento do protótipo foi
utilizado vigotes de madeira parafusados.
O movimento do eixo leste-oeste se dá através de cabo de aço fixo em um eixo de
duplo sentido de rotação.
O movimento do eixo norte-sul, se faz com om motor e transmissão de portão
basculante residencial, conforme mostram as imagens abaixo:
Figura 10 – Estrutura sistema de posicionamento.
Fonte: (BRANTES, 2011)
29
Figura 11 – Detalhe acionamento eixo norte - sul.
Fonte: (BRANTES, 2011)
Figura 12 – Detalhe acionamento eixo leste – oeste.
Fonte: (BRANTES, 2011)
30
5.2.MECÂNICA SISTEMA DE AQUECIMENTO
O sistema de aquecimento de água por energia solar, através da reflexão em calha
parabólica e condução entre serpentina e água, vem sendo por mim desenvolvida desde
2009. Foram executados previamente alguns testes inicias, para validar a reflexão no foco
e a condução, conforme mostram as imagens abaixo:
Figura 13 – Protótipo 1 – Calha parabólica. Figura 14 – Teste Protótipo 1 – Calha parabólica
Fonte: (BRANTES, 2011)
Fonte: (BRANTES, 2011)
Após a verificação do funcionamento da teoria geométrica da parábola, optei por
confeccionar uma placa que alocasse as calhas parabólicas, em um suporte que permitisse
sua movimentação.
Abaixo imagem do dimencionamento da calha em função do tamalho da placa:
Figura 15 – Projeto calha parabólica
Fonte: (BRANTES, 2011)
31
Imagens da evolução da construção da placa onde alocar-se-ão as calhas parabólicas
refletivas:
Figura 16 – Confecção placa etapa 1
Fonte: (BRANTES, 2011)
Figura17– Confecção placa etapa 2
Fonte: (BRANTES, 2011)
Figura 18 – Confecção placa etapa 3
Fonte: (BRANTES, 2011)
Figura 19 – Confecção placa etapa 4
Fonte: (BRANTES, 2011)
Figura 20 – Disposição das calhas na placa
Fonte: (BRANTES, 2011)
Figura 21 – Medindo altura do foco
Fonte: (BRANTES, 2011)
32
Placa coletora para aquecimento de água devidamente testada, sigo aos equipamentos
hidráulicos, os quais foram gentilmente cedidos pela Universidade. O conjunto é composto
por uma estrutura metalica de suporte, uma caixa d’água de 50l, um boiler de 50l, tubos e
adaptadores para conexões hidráulicas.
Os equimentos cedidos para uso neste projeto pela universidade, estavam instalados e
em desuso na cobertura do predio dos laboratório da Eng. Elétrica. As condições dos
equipamentos devido a ação do tempo durante 3 anos não eram animadoras. Foi retirado um
dos conjuntos do lugar onde estavam, que passaram por uma reforma, conforme mostram as
imagens abaixo:
Figura 22 – Aquecimento convencional PUCPR
Fonte: (BRANTES, 2011)
Figura 23 – Boiler antes da reforma
Fonte: (BRANTES, 2011)
33
Figura 24 – Restauração Boiler
Fonte: (BRANTES, 2011)
Figura 25 – Pintura Boiler
Fonte: (BRANTES, 2011)
Figura 27 – Pintura Reservatório de água
Figura 26 – Pintura Estrutura metálica
Fonte: (BRANTES, 2011)
Figura 28 – Pintura Reservatório e conexões
Fonte: (BRANTES, 2011)
34
6. PROTOTIPAGEM ELETRO-ELETRÔNICA
6.1.SENSOR DE POSICIONAMENTO
As imagens abaixo ilustram a primeira versão do sensor:
Figura 29 – Disposição dos fototransistores
Fonte: (BRANTES, 2011)
Figura 30 – Tamanho sensor
Fonte: (BRANTES, 2011)
Após os testes iniciais do sensor, notou-se a necessidade de usar mais 4
fototransistores externos, de modo a detectar a presença de luz em um angulo de abertura
maior, para depois efetuar um ajuste fino através dos fototransistores internos.
Abaixo imagens do “footprint” feito no sofwtare Altium Summer 09 Edition, mais
as imagens do novo sensor, composto por 8 fototransistores montado:
Figura 31 – FootPrint Sensor versão 2
Fonte: (BRANTES, 2011)
35
Figura 32 – Sensor versão 2
Fonte: (BRANTES, 2011)
Figura 33 – Sensor versão 2 alocado no protótipo
Fonte: (BRANTES, 2011)
36
6.2.PLACA CONTROLADORA DO SISTEMA DE POSICIONAMENTO
A figuras abaixo mostram, o esquemático e footprint desenvolvido no software
Altium, a placa montada e a interface homem máquina (IHM).
Figura 34 – Esquemático da placa controladora
Fonte: (BRANTES, 2011)
37
Figura 35 – FootPrint da placa controladora
Fonte: (BRANTES, 2011)
Figura 36 – Placa controladora
Fonte: (BRANTES, 2011)
Figura 37 – Interface Homem-Máquina
Fonte: (BRANTES, 2011)
38
6.3.PLACA CONTROLADORA DO SISTEMA FOTOVOLTAICO
A controle total do sistema é composto por duas placas distintas.
Uma placa é a de controle propriamente dita, onde encontra-se o micro controlador
PIC, e é responsável por controlar todos os periféricos, inclusive controlar o hardware da
segunda placa.
A segunda placa, definida como placa de energia, é responsável pelo gerenciamento
da energia usada no proprio controle, a energia proveniente das células foto voltaicas,
conectará as baterias (carga e descarga), também contemplará uma entrada auxiliar AC
(110/220V).
Figura 38 – Esquemático da Placa de Energia
Fonte: (BRANTES, 2011)
39
7. PROCEDIMENTOS DE TESTES E VALIDAÇÕES DO PROJETO
7.1.TESTE DO SISTEMA DE POSICIONAMENTO
O sistema de posicionamento da placa coletora, partindo do pré-suposto que é item
obrigatório ser elaborado com tecnologia de baixo custo, é um sistema sem realimentação,
ou seja, em malha aberta, funcionando com atuação “on-off” dos motores.
Como não há realimentação, não se tem um sinal de erro para corrigir a posição,
portanto a validação desta etapa, é vinculada à disposição física efetiva dos sensores, que
deixam o direcionamento mais, ou menos preciso, em função do angulo de abertura entre os
sensore que medem o mesmo eixo de movimento, e do firmware para tal ação
desenvolvida.
O posicionamento é mais preciso, quanto mais atualizações de posição for
executado durante um período de funcionamento. Este posicionamento é válido, se e
somente se, o foco refletido pela calha parabólica não saia da área superficial da serpentina.
Sendo assim, quanto menor for o diametro da serpentina, melhor há de ser posicionamento.
Evidencia-se assim, que a validação do sistema de posicionamento se dará em
função da máxima incidencia dos raios concentrados em um foco, na serpentina, de modo a
não ocorrer o posicionamento do foco da onda refletida, fora da area superficial da mesma,
absorvendo sempre a maior energia disponível.
7.2.VALIDAÇÃO DO SISTEMA DE POSICIONAMENTO
Devido a redução de velocidade utilizada no mecanismo de acionamento do eixo de
atualização de posição “Leste-Oeste”, o foco da onda refletida ficou na superfície da
serpentina. O tempo para o foco percorrer da area da serpentina, de uma extremidade a
outra, é de aproximadamente 12 minutos. Nos diversos testes com o direcionamento dos
fototransistores, obtive tempos de atualização de posição, do eixo Leste-Oeste, na ordem
de 5 a 7 minutos.
40
7.3.TESTE DO SISTEMA DE AQUECIMENTO
A partir dos mapas de irradição por região da superfície terrestre (anexos 1 e
2), é realizado o cálculo de rendimento do sistema de aquecimento de água por
energia solar. Ou seja, a partir da potencia fornecida pelo Sol, em função da area
de coleta, e o ganho em temperatura (ºC) em função do volume de água, calcularse-á o rendimento do sistema.
Este teste foi subdivido em duas etapas.
Em uma primeira etapa foi medido a eficiencia do conjunto placa coletora e
boiler, depois foi medido a eficiencia somente da placa coletora.
7.4.VALIDAÇÃO DO SISTEMA DE AQUECIMENTO
O primeiro teste de aquecimento, o que contempla o circuito hidraulico
completo, com placa coletora e boiler, foi realizado na segunda semana de julho
de 2011. O objetivo do teste foi verificar o funcionamento da termoconvecção. O
que não ocorreu.
A principio, após uma atualização de posição da placa coletora, e o devido
ajuste nos níveis das mangueiras, que interligam a placa coletora ao boiler, a
termossifão iniciava o ciclo e mantia. Porém, após uma sequente atualização de
posição da placa coletora, através do sistema de posicionamento, o fenomeno da
convecção natural deixava de ocorrer.
Após o ajuste do nivel das mangueiras, o fenomeno da convecção natural
volta a existir, mas temos a próxima atualização, sempre verificando a extinção do
fenomeno.
Verificou a necessidade de tomar uma das ações de contingencia, da tabela
de análise de riscos que é apresentada adiante, a instalação de uma bomba de
circulação de água entre boiler e placa coletora de energia solar.
Sendo assim, confeccionei a mesma utilizando uma bomba de aquário. As
bombas de aquário geralmente são bombas submersas, para aproveitamento de
uma bomba antiga que eu tinha, fiz um encapsulamento para a bomba, utilizando
tubo e conexões de PVC usado no encanemento residencial de esgoto.
Este equipamento, também protótipo, foi instalado na saída de água do
boiler, sentido entrada de água, na parte inferior da palca coletora de energia solar.
41
Abaixo as imagens das etapas de confecção da bomba:
Figura 39 – Confecção bomba de circulação, saida de agua
Fonte: (BRANTES, 2011)
Figura 40 – Confecção bomba de circulação, entrada de agua
Fonte: (BRANTES, 2011)
42
Figura 41 – Confecção bomba de circulação
Fonte: (BRANTES, 2011)
Figura 42 – Confecção bomba de circulação, em operação
Fonte: (BRANTES, 2011)
43
Novamente o sistema de aquecimento foi submetido a teste. O teste ocorreu
no dia seguinte, em condições similares de radiação solar.
A sequencia de cálculos s seguir, demonstra a eficiencia do sistema:
Local medição: Campo Largo – PR - BR
Data medição: 12/07/2011
Radiação média por ciclo: 2072,06 W.h/ m2.ciclo (METEOROLOGIA, 2011)
Horário do inicio: 11:00
Horário do Término: 16:00
Quantidade de agua: 50 Litros
Temperatura inicial da agua no boiler: 16ºC
Temperatura final da agua no boiler: 46ºC
Area superfície coletora: 1,75 m2
Considerações aproximadas:
1 kWh = 860 kcal
1 kcal = 4186 J
Dados de irradiação: (METEOROLOGIA, 2011)
hora
KJ/m2
12/jul
11
153,7
12
664,7
13
1125
14
1444
15
1870
16
2202
media
7459,4000
2,0721
6,0000
0,3453
kJ/m^2.ciclo
kW/m2.ciclo
tempo integração (h)
kWh/m^2
Energia térmica acrescida à agua pela placa:
Q = m.Cp. ∆t (Q-quantidade de calor; m-massa; Cp-calor especifico; ∆tvariação de temperatura)
Q = 50000.1.(46-16) = 1500 kcal - em 5 horas
Energia térmica acrescida à agua por metro quadrado:
Q = m.Cp. ∆t (Q-quantidade de calor; m-massa; Cp-calor especifico; ∆tvariação de temperatura)
Q = (50000.1.(46-16)) / 1,75 = 857,143 kcal/m^2 - em 5 horas
44
Convertendo de kcal para kW (m^2):
((857,143 kcal) / (860Kcal/kW)) = 0,9967 kW para 5 horas
Conversão de energia por placa por hora (m^2):
(0,9967 kW / 5 h) = 0,199335 kWh
Eficiencia:
997 / 2072 = 0,48 = 48%.
Ou seja, dos 2072 W.h fornecidos pelo Sol durante o ciclo de 5 horas, foi
convertido pelo sistema 997W.h, em calorias transferidas para a água (eficiencia
dos fenômenos físicos).
A eficiência de aquecimento utilizando boiler apresentou-se baixa, devido a
perdas no sistema hidráulico, principalmente nos pontos abaixo descritos:
- mangueira de borracha sem revestimento térmico, ao ar livre;
- conexões hidráulicas em PVC sem revestimento térmico, ao ar livre;
- registro para ajuste do volume de água em PVC sem revestimento térmico, ao ar
livre;
- encapsulamento da bomba de circulação de água em PVC sem revestimento
térmico, ao ar livre;
Entende-se que este trabalho não se destina a eficiência de materiais quanto
à conservação de energia.
Outro teste foi realizado. Desta vez medindo a eficiência na conversão da
energia solar, em energia térmica, utilizando somente a placa coletora. Desta
forma, todas as perdas em conexões do sistema hidráulico estão fora da medição.
Segue abaixo dados do teste:
Local medição: Campo Largo – PR - BR
Data medição: 29/09/2011
Radiação: 950 W.h/ m2
Horário do Teste: 12:30 h
Temperatura inicial da agua (rede subterranea sanepar): 18ºC
45
Temperatura final da agua na saida da placa: 49ºC
Area superfície coletora: 1,75 m2
Amostragem de volume de agua: 1 L em 5,75 minutos = 10,43 L / h.
Considerações aproximadas:
1 kWh = 860 kcal
1 kcal = 3,97 BTU = 4186 J
Projeção para 1 hora
Dados de irradiação: (METEOROLOGIA, 2011)
29/set
11
1008
12
1969
2977,0000
0,8269
2,0000
0,4135
kJ/m^2
kW/m^2
tempo integração (h)
kWh/m^2
Energia térmica acrescida à agua:
Q = m.Cp.∆t (Q-quantidade de calor; m-massa; Cp-calor especifico; ∆tvariação de temperatura)
Q = 10430.1.(49-18) = 323,330 kcal – em 1 hora
Energia térmica acrescida à agua por metro quadrado:
Q = m.Cp. ∆t (Q-quantidade de calor; m-massa; Cp-calor especifico; ∆tvariação de temperatura)
Q = (10430.1.(49-18)) / 1,75 = 184,760 kcal/m^2 - em 1 hora
Convertendo de Kcal para KWh:
((184,760 kcal) / (860kcal/kWh)) = 0,2148 kWh
Eficiencia:
0,2148 / 0,4135 = 0,519468 = 51,94%
É importante observar que esta eficiencia tende a ser bem maior se
considerarmos um dia sem nuvens, com maior incidencia de energia solar por
unidade de area.
46
7.5.VALIDAÇÃO DO SISTEMA FOTOVOLTAICO ISOLADO
O sistema de conversão da energia solar em energia elétrica, foi submetido ao teste
comparativo entre uma placa fixa, e uma placa móvel, alocada sobre a placa suporte
das calhas parabólicas, com o objetivo de medir a diferença de eficiencia de conversão
entre os dois modelos.
O objetivo deste teste, é sub-dimensionar a área da placa fotovoltaica, para a
demanda exigida, em função dos ganhos de conversão, obtido com o direcionamento
da mesma.
Para se medir a energia convertida, de ambas as placas, foi desenvolvido um
hardware, exclusivo para tal levantamento de dados.
Foi utilizado o kit de desenvolvimento da Texas Instruments, o MSP430
LaunchPad, para ler a tensão na carga conhecida e gravar os dados para posterior
análise.
A carga implementada para a medição foi dimencionada de acordo com os cálculos
que seguem:
Placa fotovoltaica a ser medida: HG70 Mitsubishi – 70 W – eff 13,2%.
Tensão Nominal: 17,24 V
Corrente Nominal: 4,1 A
R=V/I R = 4,2 Ohms
Cálculo:
R2 = 5,35KΩ; Para tensão PV até 25 V
3,52 = 5350.25 / R1 + 5350 => R1 = 32647 Ohms
Figura 43 - Circuito Medição Kit o MSP430 LaunchPad
Fonte: (BRANTES, 2011)
47
Confecção da carga para levantamento de dados:
Figura 44 – Cargas para medição de tensão
Fonte: (BRANTES, 2011)
Figura 45 – Detalhe do circuito de carga
Fonte: (BRANTES, 2011)
Dados do teste comparativo entre placa movel e placa fixa:
Local medição: Campo Largo – PR - BR
Data medição: 16/09/2011
Radiação: 186 W.h/ m2
Horário do inicio: 09:30
Horário do Término: 15:30
Area superfície coletora movel: 0,5 m2
Area superfície coletora fixa: 0,5 m2
48
Os gráficos comparativos de tensão (medida) e de potencia (calculada), seguem
abaixo:
Figura 46 – Tensão (Y) Tempo (X)
Figura 47 – Potencia (Y) Tempo (X)
Fonte: (BRANTES, 2011)
2011
Fonte: (BRANTES, 2011)
2011
49
Dados de irradiação: (METEOROLOGIA, 2011)
16/set
10
46,26
11
318,4
12
481,1
13
745,7
14
1401
15
785,8
16
908,6
4686,8600
1,3019 KW
7,0000
0,1860
kJ/m^2.ciclo
tempo integração (h)
tempo ciclo (h)
kWh/m^2
A partir dos dados do datalogger, se obteve:
Somatorio valores ao longo do ciclo, a cada minuto:
1496,77 W.h – placa móvel
1135,868 W.h – placa fixa
Media ao longo dos minutos durante o ciclo:
4,169 W.h – placa móvel
3,1639 W.h – placa fixa
Acumulado ciclo de 6 horas:
25,015 W.h – placa móvel
18,984 W.h – placa fixa
25,015 / 18,984 = 1,3177
- > 31,77 % a mais de conversão da placa móvel
comparada a placa fixa.
É importante observar que esta eficiencia tende a ser bem maior se considerarmos
um dia sem nuvens, com maior incidencia de energia solar por unidade de area.
50
A sequencia de fotos ilustra a movimentação entorno de 6 horas de operação.
Figura 48 – Solar Tracking na medição PV
Fonte: (BRANTES, 2011)
51
O firmware para o datalogger desenvolvido no kit MSP da TI, encontra-se no
Anexo 4.
Este teste realizado no dia 16/09 foi de fundamental importancia para as
considerações a respeito da região de Curitiba. Somos despriviligiados neste ponto.
A Células fotovoltaicas utilizadas foram da Mitsubishi, modelo HG70, de 70 W
nominais. As condições de irradiança do dia, em função da eficiencia da placa,
mostram que em dias nublados a conversão é muito baixa.
A energia necessária para operação do sistema ao longo de 1 (um) dia,
aproximadamente 5,5 horas é:
- motor NS 400W, tempo de funcionamento 0,00833 h,
3,332Wh/dia
- motor LO 25W, tempo de funcionamento 0,0222 h,
0,555 Wh/dia
- motor bomba agua 3,75W tempo func.
22,5 Wh/dia
5,5 h,
- controle PIC, 1W, tempo de funcionamento
6 h,
6
Wh/dia
- acionamento relés 1W
6 h,
6
Wh/dia
funcionamento
É necessario prover teoricamente 40Wh de energia durante um ciclo de
funcionamento, um dia.
Neste ponto, a autonomia energetica fotovoltaica para o protótipo se divide. Em
uma região em que tenhamos efetivamente 1000W.h/m2.dia, durante 6 horas, diz-se
que temos 140W.h/m2 X 6h = 840Wh/m2.dia. O protótipo usa 40W.h no ciclo, portanto
uma area de 0,047m2 seriam suficientes para converter os 40 W.h gastos pelo sistema
ao longo de 1 ciclo. E se fizermos um sub-dimensionamento a área em função do
aumento da eficiencia devido ao posicionamento, em torno de 31%, necessita-se
apenas 0,033 m2 de células fotovoltaicas.
Ainda ao considerarmos os valores de rendimento de cada etapa do circuito, de
rendimento de baterias, os 40 Wh consumidos no ciclo são infimos perante os 214 W.h
apresentados na conversão com o sistema de aquecimento de agua, e apresenta uma
eficiencia, ou rendimento total do protótipo igual a 214 Wh X 6 h = 1284Wh – 40Wh =
1244 W.h em um ciclo.
52
8. SOFTWARES E FIRMWARES
Em todo o desenvolvimento do projeto foi utilizado Sistema Operacional Windows
7, de modo a utilizar os ambientes de desenvolvimento de programação criados para tal
Sistema Operacional.
8.1.AMBIENTE DE DESENVOLVIMENTO EM “C”
O ambiente de desenvolvimento em linguagem “C” utilizado para programação do
sistema de posicionamento foi o MPLAB, de propriedade da Microchip (MICROCHIP,
2011).
Para programação do datalogger da medição dos PV’s, foi utilizado Code
Composer Studio V4, disponível sem custo na web Page da Texas Instruments.
(INSTRUMENTS, 2011).
8.2.COMPILADOR
A ferramenta para compilação do firmware desenvolvido foi o CCS – PCWHD,
versão 4.107 (CCS, 2011), para posicionamento (PIC).
Para o datalogger MSP430, o ambiente de desenvolvimento Code Composer já
executa e debug e efetua a gravação do arquivo de saida do compilador no uControlador.
8.3.ALGORITIMOS E FIRMWARES
8.3.1. FIRMWARE GERAL PIC 16F877A
Firmware geral PIC16F877A disponível no Anexo 6.
8.3.2. FIRMWARE DE POSICIONAMENTO
Firmware de posicionamento disponível no Anexo 7.
8.3.3. ALGORITMO SISTEMA FOTOVOLTAICO
Algoritimo do sistema fotovoltaico disponível no Anexo 8.
53
9.
ANÁLISE
LISE DE RISCOS
ID
Descrição
Prob
1
Defeito no Sistema de
Posicionamento
Imp
Sev
Ação /
Prevenção
Contingên
Contingência
Teste da placa
controladora de
posicionamento
Substituição da
placa controladora
de posicionamento
Teste dos sensores
e cabos / Limpeza
dos sensores
Substituição dos
sensores / cabos
Teste dos motores
Substituição dos
motores
Teste no sistema
de transmissão
Substituição do
Su
sistema de
transmissão
Teste na estrutura
suporte da placa
móvel / Fixação
Alinhamento /
Fixação
Elétrico 1
2
Defeito no Sistema de
Posicionamento
Elétrico 2
3
Defeito no Sistema de
Posicionamento
conectores
Elétrico 3
4
Defeito no Sistema de
Posicionamento
Mecânico 1
5
Defeito no Sistema de
Posicionamento
Mecânico 2
6
Defeito no Sistema de
Aquecimento 1
Teste termofissão
/ Convecção
Natural
Instalação de
bomba de
circulação de água
7
Defeito no Sistema de
Aquecimento 2
Teste de
circulação /
estanqueidade
Substituição de
serpentinas /
mangueiras
8
Defeito no Sistema de
Aquecimento 3
Limpeza da
superfície das
calhas parabólicas
Substituição das
calhas parabólicas
9
Defeito no Sistema Foto
Verificação das
conexões ,cabos e
módulos
fotovoltaicos
Teste das baterias
Substituição de
conexões / cabos /
módulos
Voltaico 1
10
Defeito no Sistema Foto
Substituição das
baterias
Voltaico 2
11
Defeito no Sistema Foto
Teste placa de
Substituição da
energia- carga das placa controladora
baterias
de carga das
baterias.
Voltaico 3
BAIXA
MEDIA
Figura 49 –Análise de riscos
Fonte: (BRANTES, 2011)
ALTA
54
10. SUGESTÕES NA CONTINUIDADE DOS ESTUDOS PARA CONFECÇÃO DE
PRODUTO
10.1. PARA O SISTEMA DE POSICIONAMENTO
O sensor que foi desenvolvido estabelece uma função direta entre o angulo de
abertura entre os fototransistores, com a velocidade de atuação de deslocamento do referido
eixo.
Nos testes que realizei, a serpentina tem diametro de 3/8”, meu ajuste de tempo foi
alto. Significa que para que possamos orientar o foco de uma calha parabolica com maior
resolução, precisamos ter um menor angulo de abertura entre os sensores, e também uma
baixa velocidade no acionamento do eixo.
Desta forma o sistema de controle em malha aberta se mostra funcional.
10.2. PARA O SISTEMA DE AQUECIMENTO
O sistema de aquecimento em calha parabólica, usa a reflexão concentrada em foco
como o principal meio de conversão da energia. Quanto mais se reflete, mais se obtém
energia.
Assim como na conservação da energia no circuito hidraulico, também a reflexão
na calha, estam relacionadas com os materiais aplicados. Os estudos na obtenção de novas
ligas de materiais para conservação da energia são recomendados.
Em especial, sobre o sistema de conexão entre placa coletora e boiler, há a
necessidade que seja um material de certa forma flexível, na habilitar a movimentação da
placa coletora.
A bomba de circulação de agua quente pode ser encontrada facilmente em material
tipo metal, em alumínio e aço. São bombas Vdc, 12 V, suportam 95ºC, com vendedores na
China, conforme Anexo 4.
10.3. PARA HARDWARE
Projeto do esquemático de hardware, contendo as duas placas: - controle e energia.
Utilizando o mesmo uControlador, ficou sendo utilizadas todas suas portas (40), e mesmo
assim é necessário um Buffer Analógico (CI4066) para comutar 8 em 4 entradas
analógicas.
55
Preve 3 sensores de temperatura (LM35), para utilização na entrada e saida de agua
e consequentemente o cáálculo
lculo de eficiencia de conversão pelo uControlador.
Abaixo imagem do esquemático do novo Hardware:
Hard
Figura 500 – Hardware Completo
Fonte: (BRANTES, 2011)
56
CONCLUSÕES E CONSIDERAÇÕES FINAIS
Cada vez mais percebemos a necessidade da utilização de energia alternativa em nossa
vida. Está muito claro e evidente que é de fundamental importancia nos prepararmos para a
restrição de petroleo, e que é fato a importancia de se desenvolver tecnologias para otimização de
tais processos.
O desenvolvimento de direcionadores para coletores solares encontram-se em estudo por
todo o mundo, em diversas empresas, universidades, institutos de desenvolvimento de tecnologia,
pesquisadores, etc.
Sistemas de calhas parabólicas estão sendo largamente empregadas em usinas solares, que
utilizam as mesmas em dimensões bem maiores, geram vapor para movimentar turbinas, que por
sua vez, geram energia elétrica.
O protótipo mostra o desenvolvimento da construção de um equipamento de pequenas
dimensões, para utilização em pontos isolados, residências, comercio, principalmente em edifícios
e até mesmo em pequenas industrias.
Em suma, construiu-se um protótipo barato, simples e funcional, que serve de base para
estudos posteriores, em ambas as areas distintas relacionadas ao aproveitamento da energia solar,
abrangidas no escopo deste trabalho.
57
REFERÊNCIAS
BRANTES, M. Desenvolvimento próprio, 2011.
CCS. Custom Computer Services, 2011. Disponivel em:
<http://www.ccsinfo.com/devices.php?page=versioninfo>.
CO., W. M. &. E. A. Weilibao Motor & Electrical Appliance Co. Weilibao Motor & Electrical
Appliance Co., 2011. Disponivel em:
<http://www.weilibao.com/newEbiz1/EbizPortalFG/portal/html/index.html>. Acesso em: 2011.
DW-WORLD.DE. Deutsche welle, 2011. Disponivel em: <http://www.dwworld.de/dw/article/0,4589413,00.html>. Acesso em: 2011.
ELETROSUL. GDI - Gestor Digital de Informações, 2005. Disponivel em:
<http://www.eletrosul.gov.br/gdi/gdi/index.php?pg=cl_abre&cd=kjmfeb8!
EPA - USA, E. P. A.-. Climate Change. EPA - Climate Change, 2011. Disponivel em:
<http://www.epa.gov/climatechange/>. Acesso em: jun. 2011.
EPE, E. D. P. E. Empresa de Pesquisa Energetica. EPE, 28 abr. 2011. Disponivel em:
<http://www.epe.gov.br>. Acesso em: 28 abr. 2011.
FRANSCISCO, W. D. C. E. Brasil Escola. Brasil Escola, 2010. Disponivel em:
<http://www.brasilescola.com/geografia/aquecimento-global.htm>. Acesso em: 2011.
GEOGRAPHICS,
N.
The
Great
Energy
Challenge,
2011.
Disponivel
em:
<http://environment.nationalgeographic.com/environment/global-warming/gw-overview>. Acesso
em: jun. 2011.
INSTRUMENTS, T. Texas Instruments. Texas Instruments, 2011. Disponivel em:
<http://www.ti.com/>. Acesso em: 2011.
JOYCE, A. Sistemas Fotovoltaicos. Sistemas Fotovoltaicos, 2011. Disponivel em:
<http://www.eq.uc.pt/inovar/fotovoltaicos.pdf>. Acesso em: 2011.
LLC, E. D. Eco Distributing. Eco Distributing, 2011. Disponivel em: <http://www.ecodistributing.com/Kyocera-KD135GX-LPU-135-watt-Solar-Panel_p_58.html>. Acesso em: 2011.
LOVELOCK, J. James Lovelock. James Lovelock essays, lectures and other writings, 2006.
Disponivel em: <http://www.jameslovelock.org/page0.html>. Acesso em: 2011.
METEOROLOGIA, I. N. D. INMET. INMET, 2011. Disponivel em:
<http://www.inmet.gov.br/sonabra/dspDadosCodigo.php?QTgwNw==>. Acesso em: 2011.
MICROCHIP. Microchip / MPLAB, 2011. Disponivel em:
<http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocNa
me=en019469&part=SW007002>.
MILLENIUM, S. Solar Millenium. Solar Millenium, 2011. Disponivel em:
<http://www.solarmillennium.de/deutsch/technologie/referenzen-undprojekte/referenzprojekte_start.html>. Acesso em: 2011.
MILLENNIUM, S. Solar Millennium. Solar Millennium, 2011. Disponivel em:
<http://www.solarmillennium.de/index,lang2.html>. Acesso em: 2011.
PAIVA, J. R. F. /. A. T. Condutividade Térmica e Calor Específico, 2011. Disponivel em:
<http://pt.scribd.com/doc/52588017/2/CONDUTIVIDADE-TERMICA>. Acesso em: 2011.
REIS, I. S. G. Temas Instigantes, 27 dez. 2007. Disponivel em:
<http://www.ivosgreis.prosaeverso.net/visualizar.php?idt=793424>. Acesso em: 28 abr. 2011.
58
SABERELETRICO. Transistor Unijunção, 2011. Disponivel em:
<http://www.sabereletrico.com/leituraartigos.asp?valor=26>. Acesso em: 2011.
SOLETROL. Soletrol Aquecedores Solares de água, 2011. Disponivel em:
<http://www.soletrol.com.br/educacional/comofunciona.php>. Acesso em: 2011.
UFPE, E. U. D. Agencia Nacional de Energia Elétrica. Aneel - Ministério de Minas e Energia,
2000. Disponivel em: <http://www.aneel.gov.br/aplicacoes/atlas/pdf/03-Energia_Solar(3).pdf>.
Acesso em: jun. 2011.
VAARWERK, M. T. Projetos Elétricos Notas de Aula, 2011.
VIEIRA, P. A. Interferencia, 2010. Disponivel em:
<http://interferenciafisica.blogspot.com/2010/03/transmissao-de-calor.html>. Acesso em: abr.
2011.
59
ANEXOS
Anexo 1 – Mapa de radiação solar, media anual de insolação diária (horas)
Anexo 2 – Mapa de radiação solar, média anual típica (Wh/m2 .dia)
Anexo 3 – Sistema de aquecimento solar fixo comercializado
Anexo 4 – Bomba de Circulação em alumínio
Anexo 5 – Firmware medição placas foto voltaicas.
Anexo 6 – Firmware geral PIC16F877A
Anexo 7 – Firmware de posicionamento
Anexo 8 – Algoritmo do sistema de energia fotovoltaica e bateria
Anexo 9 – Pinagem PIC16F877A
Anexo 10 – Folha de dados HG70.
Anexo 11 – Tabela Radiação de 12/07/2011
Anexo 12 – Tabela Radiação de 16/09/2011
Anexo 13 – Tabela Radiação de 29/09/2011
Anexo 14 – Lista de material 1
Anexo 15 – Lista de material 2
60
ANEXO 1
Anexo 1 – Mapa de
de radiação solar, media anual de insolação diária (horas) Fonte:
(UFPE, 2000)
61
ANEXO 2
Anexo 2 – Mapa de radiação solar, média anual típica (Wh/m2 .dia)
Fonte: (UFPE, 2000)
62
ANEXO 3
Anexo 3 – Sistema de aquecimento solar fixo comercializado
Fonte: (SOLETROL, 2011)
63
ANEXO 4
Anexo 4 – Bomba de Circulação em alumínio.
Fonte: (CO., 2011)
64
ANEXO 5
#include "msp430g2231.h"
#include "stdbool.h"
#include "stdio.h"
#define
TXD
BIT1
// TXD on P1.1
#define
RXD
BIT2
// RXD on P1.2
#define
Bit_time
104
// 9600 Baud, SMCLK=1MHz
(1MHz/9600)=104
#define
Bit_time_5
52
#define
LED0
BIT0
#define
LED1
BIT6
#define
LED_DIR
P1DIR
#define
LED_OUT
P1OUT
#define
BUTTON
BIT3
#define
BUTTON_OUT
P1OUT
#define
BUTTON_DIR
P1DIR
#define
BUTTON_IN
P1IN
#define
BUTTON_IE
P1IE
#define
BUTTON_IES
P1IES
#define
BUTTON_IFG
P1IFG
#define
BUTTON_REN
P1REN
#define est1 1
//!< Pronto
#define est2 2
//!< Convertendo e enviando pela uart
#define est3 3
//!< retorno ao est1 pronto
unsigned int ucBTNPRESS = 0;
unsigned int ucAPPMODE = 0;
int medp1 = 0, medp2 = 0;
unsigned int BitCnt = 0;
// Bit count, used when transmitting byte
int TXByte;
// Value sent over UART when Transmit() is called
char texto[20];
bool isReceiving;
// Status for when the device is receiving
bool hasReceived;
// Lets the program know when a byte is received
void Transmit(unsigned char byte);
void InitializeUART(void);
void InitializeLeds(void);
void InitializeButton(void);
void InitializeAdc(void);
void medep1(void);
void medep2(void);
void uart_string(char * str)
{
while(*str)
{Transmit(*str++);}
}
/* *****************
* M A I N
* ****************/
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
//!< Para watchdog timer
InitializeLeds();
InitializeButton();
InitializeAdc();
InitializeUART();
__enable_interrupt();
//!< Enable interrupts.
while(1)
//STATE MACHINE
if (ucAPPMODE == est1)
//Estado -> Pronto
{
{
ucBTNPRESS = 1;
LED_OUT |= LED1;
LED_OUT &= ~LED0;}
65
if (ucAPPMODE == est2)
//Estado -> adc + uart
{
LED_OUT |= LED0;
__delay_cycles(60000000);
//__delay_cycles(1000000);
//__delay_cycles(1000000);
medep1();
sprintf(texto, "%d,", medp1);
uart_string(texto);
medep2();
sprintf(texto, "%d,\n", medp2);
uart_string(texto);
//__delay_cycles(1000000);
}
if (ucAPPMODE == est3)
//Estado -> Retorna ao Pronto
{
LED_OUT &= ~LED0;
ucAPPMODE = est1;}
P1IE |= BUTTON;}
}
/* *****************
* F U N Ç Õ E S
* ****************/
void InitializeLeds(void)
{ LED_DIR |= LED0 + LED1;
//saida digital
LED_OUT &= ~(LED0 + LED1);}
//desligados
void InitializeButton(void)
// Configure Push Button
{
P1DIR &= ~BUTTON;
//!< Seta botão como entrada
P1OUT |= BUTTON;
//!< Seleciona pino como pull up
P1REN |= BUTTON;
//!< Habilita pino como pull up/pull down
P1IES |= BUTTON;
//!< Bit = 1, O flag P1IFG é setado com um
transição high-to-low
P1IFG &= ~BUTTON;
//!< Bit = 0, Sem interrupção pendente
P1IE |= BUTTON;}
//!< Bit = 1, Interrupção habilitada
void InitializeAdc(void)
{
ADC10CTL0 &= ~ENC;
ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE;}
//!< ADC10ON, interrupt
enabled
void InitializeUART(void)
{
BCSCTL1 = CALBC1_1MHZ;
// Set range
DCOCTL = CALDCO_1MHZ;
// SMCLK = DCO = 1MHz
P1SEL |= TXD;
P1DIR |= TXD;
P1IES |= RXD;
// RXD Hi/lo edge interrupt
P1IFG &= ~RXD;
// Clear RXD (flag) before enabling interrupt
P1IE |= RXD;
// Enable RXD interrupt
isReceiving = false;
// Set initial values
hasReceived = false;}
void medep1(void)
{
ADC10CTL0 &= ~ENC;
ADC10CTL1 = INCH_4;
//!< Seleciona Channel 4 (input chanel)
ADC10AE0 |= BIT4;
//!< Seleciona PA.4 como ADC
ADC10CTL0 |= ENC + ADC10SC;
// Sampling and conversion start
__delay_cycles(50);
medp1 = ADC10MEM;}
void medep2(void)
{
ADC10CTL0 &= ~ENC;
ADC10CTL1 = INCH_5;
//!< Seleciona Channel 4 (input chanel)
ADC10AE0 |= BIT5;
//!< Seleciona PA.4 como ADC
ADC10CTL0 |= ENC + ADC10SC;
// Sampling and conversion start
__delay_cycles(50);
medp2 = ADC10MEM;}
// Function Transmits Character from TXByte
void Transmit(unsigned char byte)
66
{
TXByte = byte;
while(isReceiving);
// Wait for RX completion
CCTL0 = OUT;
// TXD Idle as Mark
TACTL = TASSEL_2 + MC_2;
// SMCLK, continuous mode
BitCnt = 0xA;
// Load Bit counter, 8 bits + ST/SP
CCR0 = TAR;
// Initialize compare register
CCR0 += Bit_time;
// Set time till first bit
TXByte |= 0x100; // Add stop bit to TXByte (which is logical 1)
TXByte = TXByte << 1;
// Add start bit (which is logical 0)
CCTL0 = CCIS0 + OUTMOD0 + CCIE;
// Set signal, intial value, enable
interrupts
while ( CCTL0 & CCIE );}
// Wait for previous TX completion
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
if(!isReceiving)
{
CCR0 += Bit_time;
// Add Offset to CCR0
if ( BitCnt == 0)
// If all bits TXed
{
TACTL = TASSEL_2;
// SMCLK, timer off (for power
consumption)
// Disable interrupt
CCTL0 &= ~ CCIE ;}
else
{
CCTL0 |= OUTMOD2;
// Set TX bit to 0
if (TXByte & 0x01)
CCTL0 &= ~ OUTMOD2;// If it should be 1, set it to 1
TXByte = TXByte >> 1;
BitCnt --;}}}
/* *************************************************************
// Tratamento da interrupção do ADC10
**************************************************************/
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR(void)
{
__asm(" nop");
__asm(" nop");}
/* *************************************************************
* Port Interrupt for Button Press
* *********************************************************** */
#pragma vector=PORT1_VECTOR
__interrupt void PORT1_ISR(void)
{
ucBTNPRESS++;
/* Botão Pressionado 1º vez, PRONTO*/
if (ucBTNPRESS == 1)
{ucAPPMODE = est1;}
/* Botão Pressionado 2º vez, ENVIA DADOS PELA SERIAL*/
if (ucBTNPRESS == 2)
{ucAPPMODE = est2;}
/* Botão Pressionado 3º vez, VOLTA AO PRONTO*/
if (ucBTNPRESS >= 3)
{ucAPPMODE = est3;}
P1IFG = 0;
P1IE &= ~BUTTON;
//!< Debounce (Semáforo)
//!< Clear interrupt flag
IFG1 &= ~WDTIFG;}
Anexo 4 – Firmware medição placas foto voltaicas.
Fonte: (BRANTES, 2011)
67
ANEXO 6
/*MICHEL BRANTES - ENGENHARIA ELETRICA - PUCPR - ANO 2010 / 2011
*/
/*TRABALHO DE CONCLUSÃO DE CURSO
/*
*************************************************************************************
/* DEFINIÇÕES GERAIS - BIBLIOTECA
*/
*************************************************************************************
#include <16F877A.H>
#include <regs_16f87x.h> // do controlador
//#include <regs_16.h>
// configurar para o controlador a ser usado e o seu caminho
#device adc=10
//#use delay(clock=11059200)
#use delay(clock=4000000)
#fuses HS,NOWDT,PUT,NOPROTECT,NOLVP,NOBROWNOUT,NODEBUG
*************************************************************************************
/* DECLARAÇÃO DAS FUNÇÕES
*/
*************************************************************************************
void lcd_envia_nibble( byte dado );
void lcd_envia_byte( boolean endereco, byte dado );
void lcd_ini();
void lcd_pos_xy( byte x, byte y);
void lcd_escreve( byte c);
char lcd_le( byte x, byte y);
byte lcd_le_byte();
void uC_inicia();
void adc_init();
void leitura_ext();
void leitura_int();
void manual();
void automatico();
void imp_anal_int();
void imp_anal_ext();
void imp_eixo_ns();
void imp_eixo_lo();
void mov_procura_ext();
void mov_procura_int();
void mov_acompanha_r1();
void mov_acompanha_r2();
void pos_ini();
void modlo();
void modns();
*************************************************************************************
/* DECLARAÇÃO DAS VARIAVEIS GLOBAIS
*/
*************************************************************************************
long int ms0,s00,s01,ms1,s10,s11,ms2,s20,s21,ms3,s30,s31;
//sensores internos
long int ms4,s40,s41,ms5,s50,s51,ms6,s60,s61,ms7,s70,s71;
//sensores externos
int amodlo;
//contador de avanços p/ oeste
short dia;
//flag dia/noite
short aroav,arore,ainav,ainre,posini;
//flags aux pos_ini
int amodns1,amodns2;
//flags aux modulação norte-sul
short ar1, ar2;
//flags aux rotina 1 e 2
68
************************************************************************************
/* DEFINIÇÃO DAS ENTRADAS ANALÓGICAS
*/
*************************************************************************************
// analogica 0 - fototransistor interno oeste - S0
// analogica 1 - fototransistor interno norte - S1
// analogica 2 - fototransistor interno leste - S2
// analogica 3 - fototransistor interno sul - S3
// analogica 4 - fototransistor externo sul - S4
// analogica 5 - fototransistor externo leste - S5
// analogica 6 - fototransistor externo norte - S6
// analogica 7 - fototransistor externo oeste - S7
*************************************************************************************
/* DEFINICÃO DOS PINOS PARA LCD
*/
*************************************************************************************
#ifndef lcd_enable
#define lcd_rs
pin_c0
// pino rs do LCD
#define lcd_rw
pin_c1
// pino rw do LCD
#define lcd_enable
pin_c2
// pino enable do LCD
#define lcd_d4
pin_d0
// pino de dados d4 do LCD
#define lcd_d5
pin_d1
// pino de dados d5 do LCD
#define lcd_d6
pin_d2
// pino de dados d6 do LCD
#define lcd_d7
pin_d3
// pino de dados d7 do LCD
#endif
#define lcd_type 2
// 0=5x7, 1=5x10, 2=2 linhas
#define lcd_seg_lin 0x40 // Endereço da segunda linha na RAM do LCD
// a constante abaixo define a seqüência de inicialização do módulo LCD
byte CONST INI_LCD[4] = {0x20 | (lcd_type << 2), 0xf, 1, 6};
*************************************************************************************
/* DEFINIÇÃO DE PINOS PARA I/O'S - ENTRADAS DIGITAIS
*/
*************************************************************************************
#define ma pin_d7 // chave 0 retentiva, em 1 automatico, em 0 manual
#define ri pin_d6 // chave 1 retentiva, em 0 inclinação, em 1 rotação
#define av pin_d5 // chave 2 retentiva avança
#define re pin_d4 // chave 3 retentiva retorna
#define fcir pin_c4 // fim de curso inicio rotação
#define fcfr pin_c5 // fim de curso fim rotação
#define fcii pin_c6 // fim de curso inicio inclinação
#define fcfi pin_c7 // fim de curso fim inclinação
*************************************************************************************
/* DEFINIÇÃO DE PINOS PARA I/O'S - SAIDAS DIGITAIS
*/
*************************************************************************************
#define roav pin_b0 // saida digital, R0, avança rotação (para oeste)
#define rore pin_b1 // saida digital, R1, retorna rotação (para leste)
#define inav pin_b2 // saida digital, R2, avança inclinação (para norte / sobe)
#define inre pin_b3 // saida digital, R3, retorna inclinação (para sul / desce)
*************************************************************************************
69
*************************************************************************************
/*
MAIN
PROGRAM
*/
*************************************************************************************
*************************************************************************************
void main()
{
uC_inicia();
//inicializacao uControlador, Lcd
adc_init();
//inicializacao entradas analogicas
output_low(rore);
//nao avanca e nao retorna, desliga saida
output_low(roav);
//nao avanca e nao retorna, desliga saida
output_low(inre);
//nao avanca e nao retorna, desliga saida
output_low(inav);
//nao avanca e nao retorna, desliga saidaaroav=0;
//inicialização das auxiliares
ar1=0;
ar2=0;
aroav=0;
arore=0;
ainav=0;
ainre=0;
posini=0;
amodlo=0;
amodns1=0;
amodns2=0;
while(1)
//laco de execucao das intrucoes, aqui futuro enquanto dia,
//completa com while noite dorme. A ser implementado.
//por interrupção externa (fotocelula ou RTC)
{
if (!(input(ma)))
//testa operacao manual ou automatico
{
output_low(rore);
//nao avanca e nao retorna, desliga saida
output_low(roav);
//nao avanca e nao retorna, desliga saida
output_low(inre);
//nao avanca e nao retorna, desliga saida
output_low(inav);
//nao avanca e nao retorna, desliga saida
// executa se ma = 0, automatico
lcd_pos_xy(1,1);
printf(lcd_escreve," MODO OPERACAO ");
lcd_pos_xy(1,2);
printf(lcd_escreve," AUTOMATICO ");
delay_ms(1000);
automatico();
//chama funcao automatico
}
if (input(ma))
//testa operacao manual ou automatico
{
output_low(rore);
//nao avanca e nao retorna, desliga saida
output_low(roav);
//nao avanca e nao retorna, desliga saida
output_low(inre);
//nao avanca e nao retorna, desliga saida
output_low(inav);
//nao avanca e nao retorna, desliga saida
// executa se ma = 1, manual
lcd_pos_xy(1,1);
printf(lcd_escreve," MODO OPERACAO ");
lcd_pos_xy(1,2);
printf(lcd_escreve," MANUAL
");
70
delay_ms(1000);
manual();
//chama funcao manual
}
}
}
*************************************************************************************
/*
INICIALIZAÇÃO DO PIC16F877A
*/
*************************************************************************************
void uC_inicia()
{
enable_interrupts(global);
set_tris_A (0xff); // configura todo o port_A como entrada
set_tris_B (0x00);
// configura port B como saida
set_tris_C (0x0f); // configura port C (0 a 4 - saida) (5 a 7 - entrada)
set_tris_D (0x0f); // configura port D (0 a 4 - saida) (5 a 7 - entrada)
output_low(pin_C1); // zera R/W
output_low(pin_C0); // zera o RS
lcd_ini();
delay_ms(10);
output_high(pin_C0); // seta o RS
lcd_pos_xy(1,1);
printf(lcd_escreve," MICHEL BRANTES ");
delay_ms(1000);
lcd_pos_xy(1,2);
printf(lcd_escreve," ENG.ELETRICA ");
delay_ms(1000);
}
*************************************************************************************
/*
INICIALIZAÇÃO DAS ENTRADAS ANALOGICAS
*/
*************************************************************************************
void adc_init()
{
setup_adc_ports (ALL_ANALOG);
SETUP_ADC(ADC_CLOCK_INTERNAL);
}
*************************************************************************************
/*
LEITURA DA ENTRADAS ANALOGICAS
*/
*************************************************************************************
void leitura_int()
//sensores internos
{
set_adc_channel(0); //habitila analogica 0 - OESTE
delay_ms(2);
s00=(read_adc());
delay_ms(10);
s01=(read_adc());
delay_ms(10);
ms0=((s00+s01)/2);
// media de leitura do sensor
set_adc_channel(1); //habitila analogica 1 - NORTE
delay_ms(2);
s10=(read_adc());
delay_ms(10);
s11=(read_adc());
71
delay_ms(10);
ms1=((s10+s11)/2);
// media de leitura do sensor
set_adc_channel(2); //habitila analogica 2 - LESTE
delay_ms(2);
s20=(read_adc());
delay_ms(10);
s21=(read_adc());
delay_ms(10);
ms2=((s20+s21)/2);
// media de leitura do sensor
set_adc_channel(3); //habitila analogica 3 - SUL
delay_ms(2);
s30=(read_adc());
delay_ms(10);
s31=(read_adc());
delay_ms(10);
ms3=((s30+s31)/2);
// media de leitura do sensor
}
void leitura_ext()
//sensores externos
{
set_adc_channel(4); //habitila analogica 4 - SUL
delay_ms(2);
s40=(read_adc());
delay_ms(10);
s41=(read_adc());
delay_ms(10);
ms4=((s40+s41)/2);
// media de leitura do sensor
set_adc_channel(5); //habitila analogica 5 - LESTE
delay_ms(2);
s50=(read_adc());
delay_ms(10);
s51=(read_adc());
delay_ms(10);
ms5=((s50+s51)/2);
// media de leitura do sensor
set_adc_channel(6); //habitila analogica 6 - NORTE
delay_ms(2);
s60=(read_adc());
delay_ms(10);
s61=(read_adc());
delay_ms(10);
ms6=((s60+s61)/2);
// media de leitura do sensor
set_adc_channel(7); //habitila analogica 7 - OESTE
delay_ms(2);
s70=(read_adc());
delay_ms(10);
s71=(read_adc());
delay_ms(10);
ms7=((s70+s71)/2);
// media de leitura do sensor
}
72
*************************************************************************************
/*
IMPRESSÃO ANALOGICAS
*/
*************************************************************************************
void imp_anal_int()
//IMPRIME SENSORES INTERNOS
{
lcd_pos_xy(1,1);
printf(lcd_escreve,"IL:%ld IO:%ld
",ms2,ms0);
delay_ms(10);
lcd_pos_xy(1,2);
printf(lcd_escreve,"IN:%ld IS:%ld
",ms1,ms3);
delay_ms(10);
}
void imp_anal_ext()
//IMPRIME SENSORES EXTERNOS
{
lcd_pos_xy(1,1);
printf(lcd_escreve,"EL:%ld EO:%ld
",ms5,ms7);
delay_ms(10);
lcd_pos_xy(1,2);
printf(lcd_escreve,"EN:%ld ES:%ld
",ms6,ms4);
delay_ms(10);
}
void imp_eixo_lo()
//IMPRIME EIXO LESTE OESTE -> EL-EO
//
IL-IO
{
lcd_pos_xy(1,1);
printf(lcd_escreve,"EL:%ld EO:%ld
",ms5,ms7);
delay_ms(5);
lcd_pos_xy(1,2);
printf(lcd_escreve,"IL:%ld IO:%ld
",ms2,ms0);
delay_ms(5);
}
void imp_eixo_ns()
//IMPRIME EIXO NORTE SUL -> EN-ES
//
IN-IS
{
lcd_pos_xy(1,1);
printf(lcd_escreve,"EN:%ld ES:%ld
",ms6,ms4);
delay_ms(5);
lcd_pos_xy(1,2);
printf(lcd_escreve,"IN:%ld IS:%ld
",ms1,ms3);
delay_ms(5);
}
*************************************************************************************
/*
FUNÇÕES DO LCD
*/
*************************************************************************************
byte lcd_le_byte() // lê um byte do LCD (somente com pino RW)
{
byte dado;
input(lcd_d4); // configura os pinos de dados como entradas
input(lcd_d5);
input(lcd_d6);
input(lcd_d7);
// se o pino rw for utilizado, coloca em 1
73
#ifdef lcd_rw
output_high(lcd_rw);
#endif
output_high(lcd_enable); // habilita display
dado = 0;
// zera a variável de leitura
if (input(lcd_d7)) bit_set(dado,7); // lê os quatro bits mais significativos
if (input(lcd_d6)) bit_set(dado,6);
if (input(lcd_d5)) bit_set(dado,5);
if (input(lcd_d4)) bit_set(dado,4);
output_low(lcd_enable); // dá um pulso na linha enable
output_high(lcd_enable);
if (input(lcd_d7)) bit_set(dado,3); // lê os quatro bits menos significativos
if (input(lcd_d6)) bit_set(dado,2);
if (input(lcd_d5)) bit_set(dado,1);
if (input(lcd_d4)) bit_set(dado,0);
output_low(lcd_enable); // desabilita o display
return dado;
// retorna o byte lido
}
void lcd_envia_nibble( byte dado ) // envia um dado de quatro bits para o display
{
output_bit(lcd_d4,bit_test(dado,0)); // coloca os quatro bits nas saidas
output_bit(lcd_d5,bit_test(dado,1));
output_bit(lcd_d6,bit_test(dado,2));
output_bit(lcd_d7,bit_test(dado,3));
output_high(lcd_enable); // dá um pulso na linha enable
output_low(lcd_enable);
}
void lcd_envia_byte( boolean endereco, byte dado )
{
output_low(lcd_rs); // coloca a linha rs em 0
output_bit(lcd_rs,endereco);
delay_us(100); // aguarda 100 us
// caso a linha rw esteja definida, coloca em 0
#ifdef lcd_rw
output_low(lcd_rw);
#endif
output_low(lcd_enable); // desativa linha enable
lcd_envia_nibble(dado >> 4); // envia a primeira parte do byte
lcd_envia_nibble(dado & 0x0f); // envia a segunda parte do byte
}
void lcd_ini() // rotina de inicialização do display
{
byte conta;
output_low(lcd_d4);
output_low(lcd_d5);
output_low(lcd_d6);
output_low(lcd_d7);
output_low(lcd_rs);
#ifdef lcd_rw
output_high(lcd_rw);
#endif
output_low(lcd_enable);
74
delay_ms(15);
// envia uma seqüência de 3 vezes 0x03
// e depois 0x02 para configurar o módulo
// para modo de 4 bits
for(conta=1;conta<=3;++conta)
{
lcd_envia_nibble(3);
delay_ms(5);}
lcd_envia_nibble(2);
// envia string de inicialização do display
for(conta=0;conta<=3;++conta) lcd_envia_byte(0,INI_LCD[conta]);
}
void lcd_pos_xy( byte x, byte y)
{ byte endereco;
if(y!=1)
endereco = lcd_seg_lin;
else
endereco = 0;
endereco += x-1;
lcd_envia_byte(0,0x80|endereco);}
void lcd_escreve( byte c) // envia caractere para o display
{
switch (c)
{
case '\f' :
lcd_envia_byte(0,1);
delay_ms(2);
break;
case '\n' :
case '\r'
:
lcd_pos_xy(1,2);
break;
case '\b'
:
lcd_envia_byte(0,0x10);
break;
default :
lcd_envia_byte(1,c);
break; }
}
char lcd_le( byte x, byte y) // le caractere do display
{
char valor; // seleciona a posição do caractere
lcd_pos_xy(x,y); // ativa rs
output_high(lcd_rs); // lê o caractere
valor = lcd_le_byte(); // desativa rs
output_low(lcd_rs); // retorna o valor do caractere
return valor;
}
//******************************************
//PROGRAMA DESENVOLVIDO POR MICHEL BRANTES
//ENGENHARIA ELÉTRICA - PARANÁ - BRASIL
Anexo 6 – Firmware geral PIC16F877A.
Fonte: (BRANTES, 2011)
75
ANEXO 7
*************************************************************************************
/*
OPERAÇÃO EM MANUAL
*/
*************************************************************************************
void manual()
{
ar1=0;
ar2=0;
amodns1=0;
amodns2=0;
amodlo=0;
while (input(ma))
//ENQUANTO CHAVE SELECIONADA PARA MANUAL ( = 1 )
{
if(!(input(fcfr))) output_low(roav); // desliga avanco rotacao se alcancar fcfr
if(!(input(fcir))) output_low(rore); // desliga retorno rotacao se alcancar fcir
if(!(input(fcfi))) output_low(inav); // desliga avanco inclinacao se alcancar fcfi
if(!(input(fcii))) output_low(inre); // desliga retorno inclinacao se alcancar fcii
if((input(ri))&&((!(input(av)))&&(!(input(re))))) //ri=1, rotação & sem avanço
&
sem
retorno
{
lcd_pos_xy(1,1);
printf(lcd_escreve," MAN-ROTACAO ");
lcd_pos_xy(1,2);
printf(lcd_escreve," CH3-AV CH4-RE ");
output_low(rore);
//nao avanca e nao retorna, desliga saida
output_low(roav);
//nao avanca e nao retorna, desliga saida
output_low(inre);
//nao avanca e nao retorna, desliga saida
output_low(inav);
//nao avanca e nao retorna, desliga saida
}
if(!(input(ri))&&((!(input(av)))&&(!(input(re))))) //ri=0, inclinação & sem avanço & sem
retorno
{
lcd_pos_xy(1,1);
printf(lcd_escreve," MAN INCLINACAO ");
lcd_pos_xy(1,2);
printf(lcd_escreve," CH3-AV CH4-RE ");
output_low(rore);
//nao avanca e nao retorna, desliga saida
output_low(roav);
//nao avanca e nao retorna, desliga saida
output_low(inre);
//nao avanca e nao retorna, desliga saida
output_low(inav);
//nao avanca e nao retorna, desliga saida
}
if ((input(ri))&&((input(av)))&&((input((fcfr))))) //condicao para avancar rotacao
{
//chave em rotacao(1), avanca, NAO fcfr
//lcd_pos_xy(1,1);
//printf(lcd_escreve," MAN-ROT-AVANCA ");
leitura_int();
leitura_ext();
76
imp_eixo_lo();
output_low(rore);
delay_ms(10);
output_high(roav);
}
if ((input(ri))&&((input(re)))&&((input((fcir))))) //condicao p/ retornar rotacao
{
//chave em rotacao(1), retorna, NAO fcir
//lcd_pos_xy(1,1);
//printf(lcd_escreve," MAN-ROT-RETORNA");
leitura_int();
leitura_ext();
imp_eixo_lo();
output_low(roav);
delay_ms(10);
output_high(rore);
}
if (!(input(ri))&&((input(av)))&&((input((fcfi))))) //condicao para avancar inclinacao
{
//chave em inclinacao(0), avanca, NAO fcfi
//lcd_pos_xy(1,1);
//printf(lcd_escreve," MAN-INC-AVANCA ");
leitura_int();
leitura_ext();
imp_eixo_ns();
output_low(inre);
delay_ms(10);
output_high(inav);
}
if (!(input(ri))&&((input(re)))&&((input((fcii))))) //condicao para retornar inclinacao
{
//chave em inclinacao(0), retorna, NAO fcii
//lcd_pos_xy(1,1);
//printf(lcd_escreve," MAN-INC-RETORNA");
leitura_int();
leitura_ext();
imp_eixo_ns();
output_low(inav);
delay_ms(10);
output_high(inre);
}
}
}
77
*************************************************************************************
/*
OPERAÇÃO AUTOMATICO
*/
*************************************************************************************
void automatico()
{
output_low(roav);
output_low(rore);
output_low(inav);
output_low(inre);
while (!(input(ma)))
//enquanto chave selecionada para automatico ( = 0 )
{
if(!(input(fcfr))) output_low(roav); // desliga avanco rotacao se alcancar fcfr
if(!(input(fcir))) output_low(rore); // desliga retorno rotacao se alcancar fcir
if(!(input(fcfi))) output_low(inav); // desliga avanco inclinacao se alcancar fcfi
if(!(input(fcii))) output_low(inre); // desliga retorno inclinacao se alcancar fcii
//Logica com 3 chaves, 8 opções de funcionamento em modo automatico
if(!(input(ri))&&(!(input(av)))&&(!(input(re)))) //imprime externos
{
output_low(roav);
output_low(rore);
output_low(inav);
output_low(inre);
ar1=0;
leitura_ext();
delay_ms(5);
imp_anal_ext();
delay_ms(5);
}
if(!(input(ri))&&(!(input(av)))&&((input(re))))
//imprime internos
{
output_low(roav);
output_low(rore);
output_low(inav);
output_low(inre);
ar1=0;
leitura_int();
delay_ms(5);
imp_anal_int();
delay_ms(5);
}
if(!(input(ri))&&(((input(av))))&&(!(input(re))))
//imprime eixo N S
{
output_low(roav);
output_low(rore);
output_low(inav);
output_low(inre);
ar1=0;
leitura_ext();
delay_ms(5);
leitura_int();
delay_ms(5);
imp_eixo_ns();
delay_ms(5);
78
}
if(!(input(ri))&&(((input(av))))&&((input(re))))
{
output_low(roav);
output_low(rore);
output_low(inav);
output_low(inre);
ar1=0;
leitura_ext();
delay_ms(5);
leitura_int();
delay_ms(5);
imp_eixo_lo();
delay_ms(5);
}
if((input(ri))&&((!(input(av))))&&(!(input(re))))
{
ar1=0;
mov_procura_ext();
delay_ms(5);
}
if((input(ri))&&((!(input(av))))&&((input(re))))
{
ar1=0;
mov_procura_int();
delay_ms(5);
}
if((input(ri))&&(((input(av))))&&(!(input(re))))
{
mov_acompanha_r1();
delay_ms(5);
}
if((input(ri))&&(((input(av))))&&((input(re))))
{
ar1=0;
mov_acompanha_r2();
delay_ms(5);
}
//imprime eixo L O
//mov_procura_ext
//mov_procura_int
//mov_acompanha_r1
//mov_acompanha_r2
}
}
*************************************************************************************
/*
MOVIMENTO AUTOMATICO - PROCURA
*/
*************************************************************************************
void mov_procura_ext()
{
ar1=0;
ar2=0;
if((input(ma)))
//se passar para manual desliga
tracking
{
output_low(roav);
//desliga rotação avanço
output_low(rore);
//desliga rotação retorno
output_low(inav);
//desliga inclinação avanço
79
output_low(inre);
//desliga inclinação retorno
}
if(!(input(fcfr)))
//alcançou fim de curso oeste
{output_low(roav);}
//desliga avanço de rotação
if(!(input(fcir)))
//alcançou fim de curso leste
{output_low(rore);}
//desliga retorno de rotação
if(!(input(fcfi)))
//alcançou fim de curso norte
{output_low(inav);}
//desliga avanço de inclinação
if(!(input(fcii)))
//alcançou fim de curso sul
{output_low(inre);}
//desliga retorno de inclinação
leitura_int();
leitura_ext();
if((ms7>ms5)&&((input(fcfr))))
//condição para ligar Rotação L O Avanço
{
output_low(rore);
//Desliga Rotação Retorno
delay_ms(10);
//delay
output_high(roav);
//Liga Rotação Avanço
imp_eixo_lo();
//Imprime eixo L O
}
if((ms5>ms7)&&((input(fcir)))) //condição para ligar Rotação L O Retorno
{
output_low(roav);
//Desliga Rotação Avanço
delay_ms(10);
//delay
output_high(rore);
//Liga Rotação Retorno
imp_eixo_lo();
//Imprime eixo L O
}
if((ms6>ms4)&&((input(fcfi)))) //condição para ligar Inclinação N S Avanço - SOBE
{
output_low(inre);
//Desliga Inclinação Retorno
delay_ms(10);
//delay
output_high(inav);
//Liga Inclinação Avanço
imp_eixo_ns();
//Imprime eixo N S
}
if((ms4>ms6)&&((input(fcii)))) //condição para ligar Inclinação N S Retorno - DESCE
{
output_low(inav);
//Desliga Inclinação Avanço
delay_ms(10);
//delay
output_high(inre);
//Liga Inclinação Retorno
imp_eixo_ns();
//Imprime eixo N S
}
}
void mov_procura_int()
{
ar1=0;
ar2=0;
if((input(ma)))
tracking
{
output_low(roav);
output_low(rore);
output_low(inav);
output_low(inre);
}
if(!(input(fcfr)))
//se passar para manual desliga
//desliga rotação avanço
//desliga rotação retorno
//desliga inclinação avanço
//desliga inclinação retorno
//alcançou fim de curso oeste
80
{output_low(roav);}
if(!(input(fcir)))
{output_low(rore);}
if(!(input(fcfi)))
{output_low(inav);}
if(!(input(fcii)))
{output_low(inre);}
leitura_int();
leitura_ext();
if((ms0>ms2)&&((input(fcfr))))
//desliga avanço de rotação
//alcançou fim de curso leste
//desliga retorno de rotação
//alcançou fim de curso norte
//desliga avanço de inclinação
//alcançou fim de curso sul
//desliga retorno de inclinação
//condição para ligar Rotação L O Avanço PARA
OESTE
{
output_low(rore);
delay_ms(10);
output_high(roav);
imp_eixo_lo();
//Desliga Rotação Retorno
//delay
//Liga Rotação Avanço
//Imprime eixo L O
}
if((ms2>ms0)&&((input(fcir)))) //condição para ligar Rotação L O Retorno PARA LESTE
{
output_low(roav);
//Desliga Rotação Avanço
delay_ms(10);
//delay
output_high(rore);
//Liga Rotação Retorno
imp_eixo_lo();
//Imprime eixo L O
}
if((ms1>ms3)&&((input(fcfi)))) //condição para ligar Inclinação N S Avanço - SOBE
{
output_low(inre);
//Desliga Inclinação Retorno
delay_ms(10);
//delay
output_high(inav);
//Liga Inclinação Avanço
imp_eixo_ns();
//Imprime eixo N S
}
if((ms3>ms1)&&((input(fcii)))) //condição para ligar Inclinação N S Retorno - DESCE
{
output_low(inav);
//Desliga Inclinação Avanço
delay_ms(10);
//delay
output_high(inre);
//Liga Inclinação Retorno
imp_eixo_ns();
//Imprime eixo N S
}
}
*************************************************************************************
/*
MOVIMENTO AUTOMATICO - ACOMPANHA
*/
*************************************************************************************
void mov_acompanha_r1()
//usa sensores externos
{
ar1=1;
delay_ms(2);
leitura_int();
delay_ms(2);
leitura_ext();
delay_ms(2);
if ((ar1==1)&&(ms4&&ms5&&ms6&&ms7)==0) dia=0; // é noite, dorme... zzzzzzzzzzzzzzzzz
if ((ar1==1)&&(ms4||ms5||ms6||ms7)>=1) dia=1; // é dia, executa instruções durante o dia
81
if (dia==0)
//noite
{
lcd_pos_xy(1,1);
printf(lcd_escreve," TENHA UMA ");
lcd_pos_xy(1,2);
printf(lcd_escreve," BOA NOITE "); //aqui vai fazer o retorno para leste antes
delay_ms(20);
//de ir dormir
}
if (dia==1)
//dia
{
leitura_ext();
imp_anal_ext();
modlo();
leitura_ext();
modns();
//modulação eixo Norte - Sul
}
}
void mov_acompanha_r2()
{
ar1=0;
lcd_pos_xy(1,1);
printf(lcd_escreve," ROTINA 2
");
lcd_pos_xy(1,2);
printf(lcd_escreve,"Des.By: MBrantes");
}
void modlo()
//Modulação Leste - Oeste, acompanha avanço, não volta para leste
{
if((ms5>ms7)||(!(input(fcfr))))
//desliga Rotação Avança
{output_low(roav);
delay_ms(100000);}
//delay para nuvens passageiras
delay_ms(5);
if((ms7>ms5)&&((input(fcfr))))
//liga Rotação Avança
{
output_high(roav);
}
}
void modns()
//Modulação Norte - Sul
{
abaixa, se norte6 > sobe
if((amodns1==3)&&(ms4>ms6))
{output_low(inav);}
if((amodns2==3)&&(ms6>ms4))
{output_low(inre);}
if(((amodns1==2)||(amodns2==2))&&(ms6>ms4)&&((input(fcfi))))
{
output_high(inav);
amodns1=3;}
if(((amodns1==2)||(amodns2==2))&&(ms6>ms4)&&((input(fcii))))
{
output_high(inre);
amodns2=3;
}//desliga primeira vez
if((amodns1==1)&&(ms4>ms6))
//se sul4 >
82
{
output_low(inav);
amodns1=2;}
if((amodns2==1)&&(ms6>ms4))
{
output_low(inre);
amodns2=2;}
//liga primeira vez
if(((amodns1==0))&&((amodns2==0))&&((ms6>ms4)&&((input(fcfi)))))
//condição
para ligar Inclinação N S Avanço - SOBE
{
output_high(inav);
//Liga Inclinação Avanço inicial
amodns1=1;
//Sobe uma vez
}
if(((amodns1==0))&&((amodns2==0))&&((ms4>ms6)&&((input(fcii)))))
//condição
para ligar Inclinação N S Avanço - SOBE
{
output_high(inre);
//Liga Inclinação Retorno
inicial
amodns2=1;
//Desceu uma vez
}}
*************************************************************************************
void pos_ini()
//posicionamento inicial
{
posini=1;
while((aroav&&arore&&ainav&&ainre)!=1)
{
if((input(ma)))
//se passar para manual desliga tracking
{
output_low(roav);
//desliga rotação avanço
output_low(rore);
//desliga rotação retorno
output_low(inav);
//desliga inclinação avanço
output_low(inre);
//desliga inclinação retorno
}
if(!(input(fcfr)))
//alcançou fim de curso oeste
{output_low(roav);}
//desliga avanço de rotação
if(!(input(fcir)))
//alcançou fim de curso leste
{output_low(rore);}
//desliga retorno de rotação
if(!(input(fcfi)))
//alcançou fim de curso norte
{output_low(inav);}
//desliga avanço de inclinação
if(!(input(fcii)))
//alcançou fim de curso sul
{output_low(inre);}
//desliga retorno de inclinação
leitura_int();
leitura_ext();
if((ms7>ms5)&&((input(fcfr))))
//condição para ligar Rotação L O Avanço
{
output_low(rore);
//Desliga Rotação Retorno
delay_ms(10);
//delay
output_high(roav);
//Liga Rotação Avanço
imp_eixo_lo();
//Imprime eixo L O
aroav=1;}
if((ms5>ms7)&&((input(fcir)))) //condição para ligar Rotação L O Retorno
{
output_low(roav);
//Desliga Rotação Avanço
delay_ms(10);
//delay
output_high(rore);
//Liga Rotação Retorno
imp_eixo_lo();
//Imprime eixo L O
arore=1;
}
83
if((ms6>ms4)&&((input(fcfi)))) //condição para ligar Inclinação N S Avanço - SOBE
{
output_low(inre);
//Desliga Inclinação Retorno
delay_ms(10);
//delay
output_high(inav);
//Liga Inclinação Avanço
imp_eixo_ns();
//Imprime eixo N S
ainav=1;
}
if((ms4>ms6)&&((input(fcii)))) //condição para ligar Inclinação N S Retorno - DESCE
{
output_low(inav);
//Desliga Inclinação Avanço
delay_ms(10);
//delay
output_high(inre);
//Liga Inclinação Retorno
imp_eixo_ns();
//Imprime eixo N S
ainre=1;
}
}
}
Anexo 7 – Firmware de posicionamento.
Fonte: (BRANTES, 2011)
84
ANEXO 8
Considerando uma bateria de 12V, a qual estima-se que 13,5 V está em plena carga,
no estado flutuando. Até 20% (9,6V) de profundidade de descarga, há a necessidade de
recarregá-la, com corrente de 10% de sua corrente nominal. Abaixo de 9,6V é necessário
somente carregá-la, desconectando-a do barramento de alimentação da carga. Para tanto,
segue algoritmo para funcionamento do Sistema de energia fotovoltaica.
- Habilita circuito de leitura de tensão da bateria;
- Lê tensão da bateria;
- Desabilita circuito de leitura de tensão da bateria;
- Se tensao da bateria >= 13,5 ; Bateria com corrente de flutuação;
- Se tensão da bateria 9,6 V < Vbateria < 13,5 V ; Bateria com corrente de carga;
- Se tensão da bateria < 9,6 V ; Desconecta da carga e somente carrega
Anexo 8 – Algoritmo do sistema de energia fotovoltaica e bateria.
Fonte: (BRANTES, 2011)
85
ANEXO 9
Pino nº
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Tipo
Função
- FULL
USE
chave
reset
anal. In anal.00 interno oeste
externo sul
anal. In anal.01 interno norte
externo leste
anal. In anal.02 interno leste
externo norte
anal. In anal.03 interno sul
externo oeste
TROCA SENSORES EXTERNOS / INTERNOS, ENABLE DO BUFFER 4066
anal. In anal.04 medição tensão de bateria
anal. In anal.05 medição temperatura entrada água fria
anal. In anal.06 medição temperatura saída água do coletor
anal. In anal.07 medição temperatura água do boiler
alim
5 vdc
alim
gnd
clk
osc 1
clk
osc 2
lcd
lcd rs
controle lcd
lcd
lcd rw
controle lcd
lcd
lcd em
controle lcd
dig.out habilita leitura de tensão de bateria
dig.out lcd d4
dados lcd
dig.out lcd d5
dados lcd
dig.out lcd d6
dados lcd
dig.out lcd d7
dados lcd
dig.in
fcir
fim de curso inicio rotação
dig.in
fcfr
fim de curso fim rotação
dig.in
fcii
fim de curso inicio inclinação
dig.in
fcfi
fim de curso fim inclinação
dig.in
re
chave seleção retorno
dig.in
av
chave seleção avanço
dig.in
ri
chave seleção rotação ou inclinação
dig.in
ma
chave seleção manual ou automático
alim
5 vdc
alim
gnd
dig.out roav
aciona transistor rotação avanço
dig.out rore
aciona transistor rotação retorno
dig.out inav
aciona transistor inclinação avanço
dig.out inre
aciona transistor inclinação retorno
dig.out bcaq
aciona transistor bomba de circulação de agua quente
dig.out fltbat
flutuação bateria
dig.out chrgbat carga bateria
dig.out lowbat
rele para retirar motores e deixar só controle / indicação low bat
Anexo 9 – Pinagem PIC16F877A.
Fonte: (BRANTES, 2011)
86
ANEXO 10
Anexo 10 – Folha de dados HG70.
Fonte: (BRANTES, 2011)
87
ANEXO 11
Anexo 11 – Tabela Radiação de 12/07/2011
Fonte: (METEOROLOGIA, 2011)
88
ANEXO 12
Anexo 12 - Tabela Radiação de 16/09/2011
Fonte: (METEOROLOGIA, 2011)
89
ANEXO 13
Anexo 13 - Tabela Radiação de 29/09/2011
Fonte: (METEOROLOGIA, 2011)
90
ANEXO 14
LISTA DE MATERIAIS - PROTÓTIPO
SISTEMA DE POSICIONAMENTO – PLACA CONTROLADORA
Nº Qtd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Descrição
PLACA FIBRA DE VIDRO 15X15
RESISTOR 4700 OHMS
RESISTOR 10000 OHMS
RESISTOR PRECISÃO 5000 OHMS
CAPACITOR 22nF
CAPACITOR1 FONTE
CAPACITOR2 FONTE
TRANSISTOR BC547
CONTROLADOR PIC16F877A
DISPLAY 16X2
CRISTAL 4MHz
REGULADOR DE TENSÃO 7805
PADS
SUPORTE CI 40 PINOS
PINO POSTE RETO
FLAT CABLE
CHAVES C/ RETENÇÃO ON OFF
Unit. Total
SISTEMA DE ENERGIA - PLACA DE ENERGIA
Nº Qtd
1
2
3
4
5
6
7
8
Descrição
CELULA FOTOVOLTAICA 70W
BATERIA 12V
FONTE 127-220 / 12V
PLACA FIBRA DE VIDRO 15X15
DIODOS
TRANSISTORES BC547
RESISTORES
PINO POSTE RETO
Unit. Total
SISTEMA DE POSICIONAMENTO - DIVERSOS
Nº Qtd
1
2
3
4
5
6
7
8
9
Descrição
MOTOR BASCULANTE PORTAO 400w
MOTOR MAQUINA DE CAFÉ
RELÉS PARA ACIONAMENTO MOTORES
BORNEIRA
CABO SINAL
CABO ALIMENTAÇÃO
FIXAÇÃO CABOS
TERMINAIS PARA CABOS
CHAVES FIM DE CURSO
Anexo 14 – Lista de material 1
Fonte: (BRANTES, 2011)
Unit. Total
91
ANEXO 15
SISTEMA DE POSICIONAMENTO - SENSOR
Nº Qtd Descrição
1
PLACA FIBRA DE VIDRO 15X15
2
FOTOTRANSISTOR IRF
3
PINO POSTE 90º
4
SUPORTE SENSOR
Unit. Total
SISTEMA DE POSICIONAMENTO - ESTRUTURA MÓVEL
Nº Qtd Descrição
1
VIGOTE MADEIRA 5 x 5 cm
2
RIPA MADEIRA 2,5 x 5 cm
3
PARAFUSOS 1/4" x 5" COM PORCA E ARRUELA
4
PARAFUSOS 1/4" x 3" ATARRACHANTE
5
EIXO DE AÇO 12mm
6
ACESSÓRIOS DE FIXAÇÃO
7
ROLAMENTOS
Unit. Total
SISTEMA DE AQUECIMENTO - PLACA COLETORA
Nº Qtd Descrição
1
CHAPA ZINCO 1.5mm
2
PERFIL "L" 1/2x1/2x2mm AÇO 1020
3
REBITES ALUMINIO
4
ELETRODOS
5
CHAPA ZINCO SUPORTE DAS PARABOLAS
6
CHAPA REFLETIVA PARABOLA
7
SERPENTINA COBRE 10mm
8
EMENDA SERPENTINA COBRE
9
BOILER 50L
10
CAIXA D'AGUA 50L AÇO INOX
11
ESTRUTURA METALICA PARA BOILER DE CAIXA D'AGUA
12
CONEXÕES HIDRAULICAS
13
MANGUEIRAS HIDRAULICAS
Unit. Total
SISTEMA FOTOVOLTAICO ISOLADO
Nº Qtd Descrição
1
CABOS
2
BATERIA
3
PLACA FIBRA DE VIDRO 15X15
4
LM350
5
TRANSISTOR
6
RESISTOR
7
DIODO
8
CONECTORES
9
CARGA PARA MEDIÇÃO DA FOTOCELULA
10
KIT DE DESENVOLVIMENTO MSP430
INTERFACE ANALÓGICA PARA MEDIÇÃO
11
Anexo 15 – Lista de material 2.
Fonte: (BRANTES, 2011)
Unit. Total
Download

TCC - Michel Brantes 2011