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