61
SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia Eletrônica e de Computação da Escola Politécnica, Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Engenheiro. Orientador: Marcelo Martins Werneck Co-orientadora: Regina Célia da S. B. Allil Rio de Janeiro Março de 2015

SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

Embed Size (px)

Citation preview

Page 1: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

SISTEMA DE MONITORAMENTO

REMOTO DE UM RASTREADOR

SOLAR

Igor Vital Rodrigues

Projeto de Graduação apresentado ao Curso de

Engenharia Eletrônica e de Computação da Escola

Politécnica, Universidade Federal do Rio de

Janeiro, como parte dos requisitos necessários à

obtenção do título de Engenheiro.

Orientador: Marcelo Martins Werneck

Co-orientadora: Regina Célia da S. B. Allil

Rio de Janeiro

Março de 2015

Page 2: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

i

SISTEMA DE MONITORAMENTO REMOTO DE UM

RASTREADOR SOLAR

Igor Vital Rodrigues

PROJETO DE GRADUAÇÃO SUBMETIDO AO CORPO DOCENTE DO CURSO

DE ENGENHARIA ELETRÔNICA E DE COMPUTAÇÃO DA ESCOLA

POLITÉCNICA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO

PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE

ENGENHEIRO ELETRÔNICO E DE COMPUTAÇÃO

Autor:

_________________________________________________

Igor Vital Rodrigues

Orientador:

_________________________________________________

Prof. Marcelo Martins Werneck, Ph. D.

Co-orientadora:

_________________________________________________

Regina Célia da S. B. Allil, D.Sc.

Examinador:

_________________________________________________

Fábio Vieira Batista de Nazaré, D. Sc

Rio de Janeiro – RJ, Brasil

Março de 2015

Page 3: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

ii

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

Escola Politécnica – Departamento de Eletrônica e de Computação

Centro de Tecnologia, bloco H, sala H-217, Cidade Universitária

Rio de Janeiro – RJ CEP 21949-900

Este exemplar é de propriedade da Universidade Federal do Rio de Janeiro, que

poderá incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar

qualquer forma de arquivamento.

É permitida a menção, reprodução parcial ou integral e a transmissão entre

bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja

ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem

finalidade comercial e que seja feita a referência bibliográfica completa.

Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es).

Page 4: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

iii

DEDICATÓRIA

Dedico este trabalho ao povo brasileiro e à minha família, em especial à minha

mãe D.Sc. Cleide Vital da Silva Rodrigues pelo incentivo aos estudos durante toda

minha vida.

Page 5: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

iv

AGRADECIMENTOS

Aos orientadores Marcelo Werneck e Regina Allil pelas sugestões e críticas ao

trabalho.

À minha família pelo incentivo e pela ajuda durante toda minha vida de

estudante.

Ao Laboratório de Instrumentação e Fotônica e toda sua equipe pela ajuda dada

durante a realização deste trabalho, em especial aos colegas Alexandre, Fernando,

Sidney e Gustavo. Este projeto é uma pequena forma de retribuir a confiança em mim

depositada.

Page 6: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

v

RESUMO

Este projeto apresenta o desenvolvimento de um sistema de monitoramento

remoto de um rastreador solar que utiliza fibra ópticas plásticas para transportar luz

solar até um fotobiorreator para o cultivo de microalgas. É mostrado como foi feito todo

o sistema desde a captura dos sinais até a interface com um sistema Web.

A função deste sistema é coletar e enviar dados de funcionamento em tempo real

para o LIF Remoto. Foi desenvolvido com sensores e amplificadores de sinais ligados

em um Arduino, e a interface web foi programada em Python. Os testes realizados

mostraram um bom funcionamento do sistema.

Palavras-Chave: Rastreador solar; Fibra Óptica; Instrumentação; Microalgas.

Page 7: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

vi

ABSTRACT

This project shows the creation of remote monitoring system of a sun tracker

that uses plastic optical fiber to transport the sun light until a photobioreactor to the

cultivation of microalgae. It is shown how it was done the entire system since the

capture of signals until the interface with a Web system.

The function of this system is to collect and send functioning data in real time to

the LIF Remoto. It was developd with sensors and signal amplifiers linked to a Arduino,

and the web interface was programmed in Python. The tests showed a good functional

system.

Key-words: Sun Tracker, Optical Fiber, Instrumentation, Microalgae.

Page 8: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

vii

SIGLAS

UFRJ – Universidade Federal do Rio de Janeiro

LIF – Laboratório de Instrumentação e Fotônica

PBR – Photobioreactor

POF – Plastic Optical Fiber

LED – Light Emitting Diode

Page 9: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

viii

Sumário

SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR .... 1

Capítulo 1 ......................................................................................................................... 1

Introdução ......................................................................................................................... 1

1.1 Tema .................................................................................................................. 1

1.2 Delimitação ........................................................................................................ 1

1.3 Justificativa ........................................................................................................ 1

1.4 Objetivos ............................................................................................................ 3

1.5 Metodologia ....................................................................................................... 3

1.6 Descrição ........................................................................................................... 4

Capítulo 2 ......................................................................................................................... 5

Fundamentos Teóricos ...................................................................................................... 5

2.1 O Sol .................................................................................................................. 5

2.2 Fibra Óptica ....................................................................................................... 5

2.3 Iluminação em Fotobiorreatores Convencionais ............................................... 6

2.4 Rastreamento Solar e seus parâmetros ............................................................... 6

2.5 Temperatura do feixe no foco da lente .............................................................. 7

Capítulo 3 ......................................................................................................................... 9

Sistema de Monitoramento do Rastreador........................................................................ 9

3.1 Princípio de funcionamento ............................................................................... 9

3.2 Medidas de potência solar ................................................................................ 10

3.3 Posição angular da lente .................................................................................. 13

3.4 Projeto Eletrônico ............................................................................................ 15

Capítulo 4 ....................................................................................................................... 19

Envio de dados para o LIF Remoto ................................................................................ 19

4.1 O LIF Remoto .................................................................................................. 19

4.2 Exportação de Dados do Arduino .................................................................... 19

4.3 Importação de dados pelo computador ............................................................ 21

Capítulo 5 ....................................................................................................................... 22

Resultados ....................................................................................................................... 22

Page 10: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

ix

5.1 Registros de dados de potência óptica ............................................................. 22

5.2 Registros de dados de posição angular da lente ............................................... 24

Capítulo 6 ....................................................................................................................... 26

Conclusão ....................................................................................................................... 26

Capítulo 7 ....................................................................................................................... 27

Trabalhos Futuros ........................................................................................................... 27

Bibliografia ..................................................................................................................... 28

Apêndice A ..................................................................................................................... 29

Código do Arduino ......................................................................................................... 29

Apêndice B ..................................................................................................................... 45

Código em Python .......................................................................................................... 45

Page 11: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

x

Lista de Figuras

Figura 1- Espectro Solar [10] ........................................................................................... 5

Figura 2 - Elementos do rastreador .................................................................................. 7

Figura 3- Local de atuação dos sensores. ......................................................................... 9

Figura 4- Circuito amplificador do fotodetector............................................................. 11

Figura 5 - Teste em bancada do circuito amplificador do fotodetector .......................... 12

Figura 6 - Circuito amplificador do piranômetro ........................................................... 13

Figura 7- Teste em bancada do circuito amplificador do piranometro ........................... 13

Figura 8- Acelerômetro ADXL362 ................................................................................ 14

Figura 9- Circuito conversor de tensão negativa ............................................................ 16

Figura 10 - Placa de circuito impresso ........................................................................... 16

Figura 11- Montagem da placa ao Arduíno .................................................................... 17

Figura 12- Diagrama de isolamento ............................................................................... 18

Figura 13 - Diagrama de comunicações ......................................................................... 20

Figura 14- Arquivo gerado pelo LIF Remoto ................................................................. 21

Figura 15- Teste em bancada com refletor de 1000W.................................................... 23

Figura 16- Gráfico comparativo entre medidas do pirânometro e do fotodetector ........ 24

Figura 17- Gráfico obtido pelo LIF Remoto .................................................................. 25

Figura 18- Ângulo de elevação do sol ............................................................................ 25

Page 12: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

xi

Page 13: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

1

Capítulo 1

Introdução

1.1 Tema

Este trabalho trata-se do estudo e desenvolvimento de um sistema eletrônico de

monitoramento de um rastreador solar com fibras ópticas para iluminação de um

fotobiorreator (PBR - do inglês, photobioreactor) para o cultivo de microalgas. As fibras

ópticas transportam a luz até o fotobiorreator que, com isso, não precisa ser

transparente. O rastreador aponta a lente sempre em direção ao sol aproveitando ao

máximo o potencial solar. O objetivo de cultivar as microalgas é obter, a partir da

biomassa delas, subprodutos para a indústria química, alimentícia e de biocombustíveis.

O cultivo de microalgas é considerado limpo, pois não gera poluentes, aproveita a

energia limpa do sol e retira CO2 da atmosfera e gera O2. Com a necessidade cada vez

mais crescente, por questões ambientais, de evitar a queima de combustíveis fósseis, a

produção de microalgas ganha destaque por ser matéria-prima de biodiesel[1-9].

1.2 Delimitação

O sistema deverá ser capaz de coletar e disponibilizar no site do LIF, dados de

funcionamento de um mecanismo feito para rastrear a luz solar para iluminar um

fotobiorreator através de fibras ópticas poliméricas, visando um sistema alternativo para

o cultivo de microalgas para produção de biocombustível (biodiesel). Isso deverá ser

feito utilizando o microcontrolador que aciona o motor deste mecanismo e utilizar a

menor quantidade possível de energia elétrica.

1.3 Justificativa

O problema do uso das microalgas como matéria-prima para biodiesel reside na

seleção de espécies promissoras com alto teor de triglicerídeos, suas condições ótimas

Page 14: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

2

de cultivo, adaptação e crescimento das culturas nos sistemas de cultivo em larga escala

e sobretudo, a redução dos custos envolvidos na produção.

A produção de biomassa microalgal requer também a utilização de insumos

básicos: energia, CO2, água e nutrientes minerais. A energia pode vir da radiação

luminosa solar ou artificial. A radiação solar é um recurso natural gratuito, mas varia

com o ciclo diário, estação do ano e latitude, fatores esses que limitam essa produção.

Este trabalho visa a possibilidade de reduzir o custo relacionado na produção da

biomassa microalgal para biocombustíveis, através da aplicação de um sistema de

monitoramento de um rastreador solar para a iluminação de um fotobiorreator neste

cultivo.

Para isso foi desenvolvido, avaliado e otimizado em nível de unidade piloto um

novo sistema de controle de um rastreador solar para o cultivo de microalgas para a

produção de biodiesel. O cultivo é realizado em um fotobiorreator de 1 m3 de

capacidade, fabricado de um material de baixo custo e de alta durabilidade como o

PVC, com iluminação interna através de um feixe de fibras ópticas plásticas que

receberão a luz solar concentrada através de uma lente focada na extremidade do feixe.

Esta lente está montada em um sistema de rastreamento solar que permitirá um maior

aproveitamento da luz.

A tecnologia adotada já apresentou resultados preliminares promissores,

conseguindo triplicar a quantidade de biomassa, que comumente é produzida em

fotobiorreatores de policarbonato a partir da captação direta de luz solar.

O grande diferencial deste sistema com rastreamento solar e iluminação com

fibras ópticas feitas de polímero está na possibilidade da construção e uso de

fotobiorreatores de materiais não transparentes, muito mais baratos, com maior

durabilidade e sujeitos a menos contaminação, acarretando em uma maior produtividade

de biomassa microalgal na produção de biodiesel. Além disso, os contêineres de 1m³

ocupam um espaço muito menor do que um PBR do tipo "raceway" que tem vários

metros de comprimento.

Page 15: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

3

1.4 Objetivos

O objetivo geral é fazer um sistema eletrônico que monitore remotamente um

rastreador solar baseado na tecnologia de fibras ópticas no foco de uma lente de Fresnel,

para iluminação natural de um fotobiorreator.

Desta forma, têm-se como objetivos específicos:

- Capturar e monitorar alguns dados relevantes, como incidência solar no local, potência

óptica capturada pelas fibras e posição angular da lente do rastreador;

- Transmitir e inserir estes dados no site do Laboratório de Instrumentação e Fotônica-

LIF (LIF Remoto) para serem acessados remotamente.

1.5 Metodologia

A iluminação interna do PBR foi feita através de um feixe de fibras ópticas

plásticas que receberá a luz solar por meio de uma lente focada na sua extremidade. Esta

lente está montada em um sistema eletro-mecânico de rastreamento solar que permitirá

um maior aproveitamento da luz.

Foi montado um novo sistema de cultivo de microalgas usando um

fotobiorreator fechado, tanque cilíndrico não transparente (PVC) de 1 m³ de capacidade

(produzindo aproximadamente 1 kg de biomassa seca de microalgas/dia). O sistema de

iluminação interna consiste basicamente em uma lente de Fresnel e um feixe de fibras

ópticas, cuja terminação polida e plana é posicionada no foco da lente. Na outra

extremidade do feixe está o ambiente que se deseja iluminar, e o feixe é aberto nesta

região distribuindo a iluminação por pontos individuais de luz.

A lente deverá ter seu eixo sempre voltado para o Sol, para manter seu foco

centrado no feixe de fibras ópticas, desde seu nascimento até o ocaso. Para isso, foi

utilizado motores de passo para girar os eixos da montagem da lente de Fresnel. Neste

trabalho durante a fase de prova de conceito usamos inicialmente a montagem

equatorial, por ser mais simples de controlar, já que o motor terá uma velocidade

constante e o ajuste do ângulo do nascer do sol será efetuado manualmente.

Em termos de distribuição da iluminação, dois métodos foram testados:

primeiramente, o método convencional de distribuição pontual e discreta pela ponta da

POF e o segundo método, através da distribuição gradual, ao longo da fibra óptica. No

Page 16: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

4

segundo método, foram criados micro-orifícios na casca da fibra ao longo de seu

comprimento dentro do reator. Esses micro-orifícios são obtidos através do uso

controlado de um laser de CO2 que retira a casca da POF em locais precisamente

calculados, de forma a permitir a saída de uma pequena parcela da luz guiada. Assim, a

fibra vai permitindo que pequenas parcelas da luz saiam pelos orifícios, iluminando

homogeneamente o ambiente do fotobiorreator ao longo da fibra.

Primeiramente, o trabalho foi focado na escolha dos parâmetros a serem

monitorados levando em conta as necessidades e as dificuldades do projeto.

Posteriormente, foi feita a escolha dos sensores avaliando custo, disponibilidade e

precisão. Em seguida, foi feita a ligação tanto de nível elétrico como de nível lógico dos

sensores ao microcontrolador. Por fim, foi realizado o envio dos dados ao site do LIF

Remoto.

1.6 Descrição

No capítulo 2 estão os fundamentos teóricos que permitem a realização do

sistema de iluminação por rastreamento solar usando fibras ópticas como transportadora

da energia solar.

O capítulo 3 mostra o rastreador e seus parâmetros de funcionamento que são

monitorados neste projeto. Os sensores utilizados, os esquemáticos dos circuitos

elaborados e a placa de circuito impresso feita para este projeto também são mostrados.

O capítulo 4 apresenta como foi feita a parte de exportação de dados do

Arduino, importação de dados pelo computador e conexão com o LIF Remoto.

Os resultados obtidos do sistema são apresentados no capítulo 5. Nele está

mostrado os gráficos gerados pelo LIF Remoto.

As conclusões deste trabalho são expostas no capítulo 6, onde é discutida a

qualidade do sistema.

O capítulo 7 sugere trabalhos futuros para dar continuidade a aprimorar este

projeto

.

Page 17: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

5

Capítulo 2

Fundamentos Teóricos

2.1 O Sol

A luz solar é uma forma de energia limpa ainda pouco aproveitada diretamente.

Sua potência é de aproximadamente 1 kW/m² em dias bem ensolarados. Neste projeto,

a luz solar é utilizada diretamente como fonte de energia para iluminar um tanque com

microalgas que ao fazerem fotossíntese geram biomassa que será utilizada na fabricação

de biodiesel e de outros subprodutos.

A radiação solar que chega na superfície terrestre apresenta o espectro da Figura

1. A parte visível e fotossinteticamente ativa do espectro abrange os comprimentos de

onda de 380nm até 780nm.

Figura 1- Espectro Solar [10]

2.2 Fibra Óptica

Fibras ópticas são fios que conduzem luz baseadas no princípio da reflexão total

causada pelos diferentes índices de refração do núcleo e da casca da fibra. As fibras

Page 18: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

6

ópticas podem ser classificadas em duas formas quanto ao material de fabricação: fibras

de sílica e fibras plásticas (polimetil-meta-acrilato).

A fibra óptica de plástica apresenta, para este projeto, vantagens em relação a de

sílica. Pode-se citar o custo inferior, melhor transmissividade no espectro de luz vísivel,

diâmetro maior e melhor resistência a choques mecânicos. Como principal

desvantagem, está o fato de não resistir a altas temperaturas.

2.3 Iluminação em Fotobiorreatores Convencionais

Atualmente a iluminação de fotobiorreatores é feita tanto com a luz solar quanto

com luz artificial. Os iluminados com luz solar podem ser classificados como abertos ou

fechados. Os abertos podem ser lagos, tanques, rampas ou ”raceways” e possuem a

desvantagem de serem suscetíveis a contaminação. Os fechados são feitos em materiais

transparentes para captar a luz solar o que os tornam mais caros.

Este projeto cria a possibilidade de se fabricar um fotobiorreator fechado de

material não transparente iluminado por luz solar.

2.4 Rastreamento Solar e seus parâmetros

O sol descreve uma trajetória com velocidade constante nascendo no leste e se

pondo a oeste. Sua localização no céu é conhecida por meio de fórmulas matemáticas

sendo seus parâmetros: o dia do ano, a latitude, a longitude e o horário local.

O rastreamento solar permite um aumento de cerca de 57% na captação de luz,

comparado a lente fixa. Isso graças à razão trigonométrica entre as áreas efetivas ao

rastrear ou não o sol. [11].

Na Figura 2 , pode-se observar os elementos do rastreador: 1- Lente de Fresnel,

2- Feixe de fibras ópticas, 3- Fotobiorreator, 4- Motor de passo e 5- Microcontrolador e

fonte de alimentação.

Page 19: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

7

2.5 Temperatura do feixe no foco da lente

A ponta do feixe de fibras que recebe a luz solar apresenta elevação de

temperatura por causa da radiação solar que é concentrada pela lente de Fresnel. Como

a alta temperatura é prejudicial à fibra, podendo causar danos irreversíveis, foi discutida

a necessidade de um sensor de temperatura nesta ponta.

Com esse sensor, se a temperatura chegasse perto da máxima (80 °C) suportada

pela fibra de polímero, medidas poderiam ser tomadas como, por exemplo, acionar o

motor para desviar a lente da direção do sol ou então diminuir de alguma forma a

quantidade de luz que chega no feixe. Essas medidas, como desvantagem, diminuiriam

a quantidade de luz que iria para o fotobiorreator.

Após estudos do caso, chegou-se à conclusão que o melhor a ser feito era

garantir a máxima iluminação das algas e obter novas soluções para que a temperatura

nunca ficasse muito alta. Para isto, foi estudada a colocação de filtros de radiação

infravermelha (que não é utilizada pelas algas) e a alteração da distância entre a lente e

Figura 2 - Elementos do rastreador

Page 20: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

8

o feixe, e consequentemente, o aumento do número de fibras no feixe para aproveitar o

máximo possível de iluminação.

No primeiro teste ao sol, sem filtros e com feixe de poucas fibras no ponto focal,

houve superaquecimento do feixe de fibras a ponto delas se deformarem com o calor.

Essa elevação da temperatura é causada principalmente pelos raios infravermelhos

provenientes do sol. Testes foram feitos utilizando placas de vidro como filtros e os

resultados obtidos foram sensíveis quedas na temperatura.

Atualmente, os testes continuam sendo conduzidos e têm como objetivo garantir

que a temperatura das fibras permaneça sempre abaixo dos 80 °C.

Page 21: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

9

Capítulo 3

Sistema de Monitoramento do

Rastreador

3.1 Princípio de funcionamento

O rastreador é composto, basicamente, de uma lente convergente de 45 cm de

diâmetro, um feixe de fibras ópticas plásticas de 2mm de diâmetro cada e um motor

para direcionar a lente ao sol.

Um microcontrolador é responsável por acionar o motor que gira a lente

apontando-a ao sol e capturar dados sobre o funcionamento do sistema através dos

sensores. Conforme a Figura 3, o acelerômetro mede a inclinação da lente, o

piranômetro mede a irradiação solar no local onde o rastreador está instalado e o

fotodetector mede a irradiação solar que chega a uma das fibras do feixe.

Figura 3- Local de atuação dos sensores.

Page 22: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

10

3.2 Medidas de potência solar

Toda a energia química do biodiesel que será gerado a partir da biomassa das

algas será proveniente da energia solar. Com base nisso, é importante saber a eficiência

do rastreador solar desde a captura até a transmissão dessa energia luminosa.

Para comparar a potência solar que incide no local onde estará o rastreador com

a potência solar que chega no fotobiorreator através das fibras ópticas, foi instalado um

piranômetro perto do rastreador e um fotodetector em uma das fibras do feixe.

O piranômetro é um sensor feito para medir a irradiação solar numa superficie

plana e o modelo utilizado foi o AE-SP-110 da marca Apogee. Esse modelo fornece a

saída em milivolts com sensibilidade de 0,20mV/W/m², apresenta excelente resposta

cosseno e possui campo de visão de 180°.

Desse modo, será possível obter a eficiência do sistema e identificar problemas

no sistema ao se detectar que a quantidade luz que chega no fotodetector através de uma

fibra não está proporcional à quantidade de luz solar medida pelo piranômetro.

Tanto para o piranômetro quanto para o fotodetector, foi feito um circuito

amplificador para que a saída de cada um destes sensores pudesse ser convertida em

uma tensão que variasse de 0 a 5 Volts, pois o conversor analógico-digital do Arduino

converte um sinal de entrada de amplitude de 0 até 5V em 10 bits, resultando em 1024

níveis distintos.

O circuito para o fotodetector, mostrado na Figura 4, que apresenta a saída

controlada pela potência óptica, foi feito com um amplificador operacional “rail-to-rail”

na configuração de transimpedância. com um amplificador operacional “rail-to-rail” na

configuração de transimpedância.

Page 23: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

11

Figura 4- Circuito amplificador do fotodetector

Para isso, foi utilizado um amplificador LTC1050 com um resistor

realimentando o circuito na entrada negativa e com o fotodetector nas entradas

conforme a figura acima. O fotodetector utilizado foi um SFH250V, esse sensor gera

uma corrente de aproximadamente 3 micro amperes para cada 10 microwatts de

potência óptica.

A Figura 5 mostra o circuito sendo testado em bancada com o fotodetector

recebendo luz de um led. O valor da resistência que controla o ganho e da que está em

série com o fotodetector foram definidas após testes reais onde a fibra recebia luz

concentrada da lente.

Page 24: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

12

O circuito para o piranômetro, que é uma fonte de tensão controlada pela

potência óptica, foi feito com um amplificador de instrumentação pois este tipo de

amplificador é o mais recomendado para sinais de amplitude muito pequena vindo de

sensores [11]. O amplificador escolhido foi o INA128 devido ao seu baixo ganho de

modo comum, ter ganho ajustável através de um resistor e ao seu preço ser menor se

comparado a outros amplificadores de instrumentação. O esquemático do circuito pode

ser visto na Figura 6.

Figura 5 - Teste em bancada do circuito amplificador do fotodetector

Page 25: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

13

Em bancada foram feitos os testes do circuito e o mesmo se mostrou eficaz ao

atender a todas as expectativas. Nos testes, visto na Figura 7, uma lâmpada

incandescente fez o papel do sol na bancada.

Figura 7- Teste em bancada do circuito amplificador do piranômetro

3.3 Posição angular da lente

A lente deverá sempre apontar em direção ao sol para que se possa obter o

máximo aproveitamento da captura da luz solar. Conhecidos o dia, mês, ano, horário,

Figura 6 - Circuito amplificador do piranômetro

Page 26: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

14

latitude e longitude do local onde a lente se encontra, é sabido onde o sol está localizado

no céu. Essa localização é dada através de coordenadas horizontais, também conhecidas

como coordenadas altazimutais.

As coordenadas horizontais apresentam como plano fundamental o horizonte do

observador, e com base nele há os ângulos de elevação e de azimute. O ângulo de

elevação é o ângulo entre a projeção do astro no horizonte e o próprio astro, e o ângulo

de azimute é o ângulo medido ao longo da linha do horizonte iniciando pelo norte e

crescendo em sentido horário até a projeção do astro no horizonte.

O motor fará a lente girar 180º desde o nascer até o por do sol e haverá um

ajuste manual para o ângulo de azimute do nascer do sol. Esse ajuste, como a variação é

poucos graus por semana, pode ser feito semanalmente.

Para monitorar o ângulo de inclinação da lente, foi utilizado um acelerômetro de

3 eixos que mede a aceleração da gravidade resultante em cada um dos 3 eixos. Com

base nesses dados, foi feita uma conversão para se obter o ângulo de inclinação da lente

em coordenadas horizontais.

O sensor de aceleração utilizado foi o ADXL362, visto na Figura 8, da Analog

Devices. Esse sensor foi escolhido por apresentar interface SPI com o Arduino,

deixando assim, mais portas de entrada analógicas disponíveis no microcontrolador para

serem usadas em outras aplicações.

Figura 8- Acelerômetro ADXL362

Page 27: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

15

Uma particularidade deste sensor é o fato dele ser alimentado com uma tensão

de 3.3V, enquanto o Arduino opera com 5V. Segundo o manual, a tensão máxima nas

entradas deve ser 3,5V. Para contornar esse problema, o sensor está alimentado com

3,3V da placa do Arduino e as saídas digitais do Arduino passam por um divisor

resistivo antes de chegar às entradas do sensor. A saída do sensor foi ligada diretamente

no microprocessador, pois 3,3V já são suficientes para serem interpretados como nível

lógico alto em um sistema que trabalha com 5V.

O ângulo de azimute é ajustado e fixado manualmente sem a intervenção do

sistema, por isso não é necessário seu monitoramento remoto. Já o ângulo de elevação é

controlado pelo microprocessador e precisa ser monitorado para acompanhar se o

funcionamento está correto.

A obtenção do ângulo de elevação foi feita através do eixo Z, sendo Z o eixo que

aponta na direção da aceleração da gravidade. O sensor envia ao Arduino valores de -

1024 a 1023 para uma variação de -9,8m/s² a 9,8m/s² respectivamente, porém de

maneira não-linear. Para linearizar e transformar essa medida em ângulo foi realizada a

função arco seno do número lido pelo sensor dividido pela hipotenusa (1023). O

resultado sai em radianos e para transformar em graus bastou multiplicar por 90/(2π).

3.4 Projeto Eletrônico

O amplificador INA128 utilizado anteriormente necessita de uma fonte de

tensão de -12V para funcionar corretamente, porém a fonte disponibilizada ao projeto

não possui tensão negativa. Para resolver esse problema, foi utilizado um circuito

integrado ICL7660A. Esse circuito é um conversor CMOS de tensão e dentre as

funcionalidades está a de gerar tensão negativa a partir de uma tensão positiva. A Figura

9 mostra o circuito com os capacitores necessários para gerar a tensão negativa.

Page 28: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

16

Figura 9- Circuito conversor de tensão negativa

Os circuitos foram montados em uma placa de circuito impresso desenhada em

computador com o auxílio do software Eagle e fresada no próprio LIF em uma LPKF

ProtoMat S42. Foi utilizada uma placa simples, de apenas uma face cobreada, como

pode ser visto na Figura 10.

O desenho da placa foi feito de modo a se encaixar em cima de outra placa que

está, também, encaixada em cima do Arduino conforme a Figura 11. Esta disposição de

sanduíche das placas facilita a montagem e diminui consideravelmente o número de

cabos interligando circuitos e componentes, contribuindo com a redução de

interferências.

Figura 10 - Placa de circuito impresso

Page 29: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

17

Figura 11- Montagem da placa ao Arduíno

As resistências que controlam o ganho dos amplificadores foram inicialmente

potenciômetros para que pudessem ser ajustadas de acordo com a resposta dos sensores

aos testes no sol. O potenciômetro que controla o ganho do piranômetro foi logo

substituído por um resistor Rg de 2k2ohms (mesmo valor do cálculo teórico), resultando

um ganho de G = 1 + 50Kohms/Rg, logo, G = 23,7. Com esse ganho, a saída do

piranômetro, que varia de 0 a 200mV para luz solar variando de 0 a 1kW/m², é

amplificada de 0 até 4,74V respectivamente.

Um ponto importante, que foi tratado ao fazer os esquemáticos dos circuitos, foi

a necessidade de se separar eletricamente o aterramento dos circuitos. Neste projeto, há

duas referências para a tensão zero volt. Uma é o terra da fonte de 12V e outra é o terra

do Arduino. O diagrama que representa essa separação está na Figura 12, onde pode-se

observar na parte de cima os circuitos alimentados com o Arduino, na parte de baixo os

circuitos alimentados pela fonte de 12V e no meio os circuitos que estão isolando essas

duas fontes de energia.

Essas duas referências não apresentam necessariamente o mesmo potencial

elétrico e juntá-las pode resultar em ruído, que nos sinais analógicos dos sensores

resultaria em medida com erro maior.

Page 30: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

18

Figura 12- Diagrama de isolamento

Os circuitos que fazem uso das duas referências de terra são: o circuito

amplificador do sinal do piranômetro e o circuito que aciona o motor. No circuito do

piranômetro, o amplificador utilizado apresenta a saída em forma diferencial e, com

isso, há a separação dos terras. No circuito que aciona o motor, foi utilizado o relé de

potência de estado sólido CPC1909, que possui isolador óptico.

Page 31: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

19

Capítulo 4

Envio de dados para o LIF Remoto

4.1 O LIF Remoto

O LIF Remoto é uma plataforma de acompanhamento de projetos utilizada no

LIF [12]. Nela, ficam armazenados dados de diversos projetos do laboratório. Os dados

são obtidos pelos equipamentos dos projetos e gravados em um arquivo .dat seguindo

um protocolo próprio do LIF Remoto.

O LIF Remoto, após configurado, quando solicitado pelo usuário, acessa o local

onde estão armazenados esses arquivos .dat transferindo-os para seu banco de dados.

Após a transferência, ele apaga os arquivos do diretório fonte.

Neste projeto, os arquivos .dat ficam armazenados no próprio computador que

está conectado ao Arduino e que roda o programa feito em Python. Para que o LIF

Remoto possa acessar estes dados, foi instalado um servidor FTP neste computador.

4.2 Exportação de Dados do Arduino

Page 32: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

20

Os dados chegam ao Arduino através de dois tipos de comunicação: sinal

analógico e SPI (Serial Peripheral Interface). Os sinais analógicos são recebidos pelo

Arduino e transformados através de conversor analógico-digital em um vetor digital de

10 bits de resolução. A comunicação SPI já envia as informações em vetores digitais, o

que o torna mais imune a ruídos. Na figura 13 pode-se observar como essas

comunicações são feitas.

Figura 13 - Diagrama de comunicações

O Arduino possui uma porta USB que serve para a gravação do programa dele e

para comunicação com outros equipamentos. Essa porta foi usada neste projeto para

exportar os dados obtidos pelos sensores ligados a ele para um computador que faz a

interface com o LIF Remoto.

A cada 15 segundos, aproximadamente, os dados dos sensores são lidos e

tratados pelo Arduino e enviados através da comunicação serial por um cabo USB. A

cada medida, os dados são enviados ao computador em uma única linha separados por

letras maiúsculas pré-determinadas.

Um exemplo da linha que o Arduino envia é: 643F931P66.19\n. Para esta linha

a medida do fotodetector é 643W/m², a do piranômetro 931W/m² e a do ângulo 66,19°.

O “\n” é um caracter invisível que significa quebra de linha.

Page 33: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

21

4.3 Importação de dados pelo computador

No computador, que recebe através da porta serial os dados gerados pelo

Arduino, está em execução o programa escrito em Python que tem a função de receber

os dados e gerar os arquivos .dat. O módulo de extensão PySerial foi utilizado por

apresentar funções que facilitam o trabalho com a interface serial.

Este programa inicia a leitura da porta serial, lê uma linha, separa os dados

contidos nessa linha através da localização das letras maiúsculas, já conhecidas, em

variáveis locais e espera um tempo até repetir isto outra vez.

Um arquivo gerado pelo Python possui no nome informações sobre a localização

no tempo (ano, mês, dia, hora, minuto e segundo) em que foi gerado. Na primeira linha

do arquivo há o nome do arquivo, localização no tempo e um número de identificação

associado no LIF Remoto ao rastreador solar. Nas linhas seguintes tem-se: unidade da

medida, número do canal a ser medido (131 - fotodetector, 130 - piranômetro, 129 -

acelerômetro), localização no tempo da medida e o valor da medida. Os campos são

separados por ponto-e-vírgula.

Na Figura 14 pode-se observar um arquivo gerado pelo python em 09/03/2015

às 15:53:07. Nesta ocasião, o fotodetector e o piranômetro estavam desconectados.

Figura 14- Arquivo gerado pelo LIF Remoto

Page 34: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

22

Capítulo 5

Resultados

5.1 Registros de dados de potência óptica

Os testes do piranômetro e do fotodetector foram realizados em laboratório com

a ajuda de uma lanterna de LED, e também um refletor de 1000W.

A Figura 15 mostra um dos testes realizados onde segura-se em uma mão o

piranômetro apontando-o ao refletor e com a outra coloca-se a fibra perto do foco da

lente e observo os sinais da entrada do conversor analógico-digital do Arduino variando

no osciloscópio. Foi constatado que estes sinais variavam de amplitude de acordo com a

luminosidade.

Page 35: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

23

O gráfico da Figura 16 mostra uma comparação entre a informação dada pelo

piranômetro e pelo fotodetector. Esse gráfico, gerado pelo LIF Remoto, mostra um

período de testes onde uma fonte luminosa foi aproximada diversas vezes do

piranômetro e da fibra óptica conectada no fotodetector, mas não necessariamente

simultaneamente.

Figura 15- Teste em bancada com refletor de 1000W

Page 36: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

24

Figura 16- Gráfico comparativo entre medidas do pirânometro e do fotodetector

5.2 Registros de dados de posição angular da lente

Na Figura 17, pode-se observar o resultado dos testes da medição do ângulo de

elevação da lente medido pelo acelerômetro. Para efeito de comparação a Figura 18

apresenta o gráfico da elevação do sol a partir de dados obtidos pelo site

www.sunearthtools.com (disponível em 07/03/2015).

Page 37: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

25

Figura 17- Gráfico obtido pelo LIF Remoto

Figura 18- Ângulo de elevação do sol

Page 38: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

26

Capítulo 6

Conclusão

Este trabalho abordou o desenvolvimento de um sistema de monitoramento

remoto de um rastreador solar e sua função é enviar dados de funcionamento em tempo

real para o LIF Remoto. Os parâmetros monitorados foram: a potência solar no local de

instalação do rastreador, a potência solar obtida em uma das fibras ópticas e o ângulo de

elevação da lente de Fresnel.

O sistema foi desenvolvido com sensores e amplificadores de sinais ligados em

um Arduino, e a interface web foi programada em Python.

Com os testes mostrados no capítulo 5, conclui-se que a parte do sistema que

trata de potência óptica está funcionando de acordo com o planejado e a interface com o

LIF Remoto funcionou perfeitamente.

Quanto ao acelerômetro, ao comparar a figura 17 com a figura 18, nota-se que

ambos os gráficos descrevem aparentemente a mesma curva. O gráfico obtido pelo LIF

Remoto mostra que o pico do ângulo de elevação se dá por volta de 11:30 e o gráfico

real mostra perto de 12:00. Essa diferença se explica pela regulagem do motor que está

girando mais rápido do que deveria.

Dessa forma conclui-se que o sistema inteiro funciona conforme o proposto no

início do projeto

Page 39: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

27

Capítulo 7

Trabalhos Futuros

Para dar continuidade e aperfeiçoar o sistema atual deverá ser feita a calibração

do ganho do amplificador do fotodetector, que será definido ao se saber a distância da

lente ao feixe de fibras ópticas. Essa distância será conhecida ao término dos testes que

buscam obter a melhor concentração solar que não cause altas temperaturas nas fibras

plásticas.

Fica sugerido a realização de testes de linearidade e sensibilidade dos sensores

de modo a comprovar a confiabilidade das medidas do sistema. No caso dos sensores de

luminosidade, isto deverá ser feito com fontes de luz de potência conhecida.

O sistema pode ser expandido para medir outros parâmetros, bastando escolher

os sensores, amplificar os sinais e modificar algumas partes dos códigos. Pode-se por

exemplo medir as condições de cultura das microalgas como: pH e temperatura.

Page 40: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

28

Bibliografia

[1] J. Abalde, Microalgas: cultivo e aplicaciones, España: Univ. da Coruña, 1995.

[2] D. A. P. Pontes, A. Cordova, M. M. Werneck, Y. R. Cruz, R. C. Alllil, D. A. G.

Aranda, L. G. Carvalho e R. C. V. Paula, “Microalgae Cultivation by Solar

Concentration in a Modified POF Bundle,” em 23 nd International COnference on

Plastic Optical Fibers - POF2014, Yokohama, Japão, 2014.

[3] C. D. Gizel e G. Leite, Biodiesel by Hydroesterification of Oil from Microalgae

Scenedesmus dimorphus, Brasil, 2013.

[4] D. A. G. Aranda, “Process for extraction of carotenoids”. Brasil 2006.

[5] R. Bianchini, Microalgas produtos e aplicações, 2006.

[6] R. Brown, “Nutritional properties of microalgae for mariculture,” 1997.

[7] Chisti, “Biodiesel from microalgae,” Biotecnology Advances, vol. 25, pp. 294-306,

2007.

[8] FAO, Renewable biological systems for alternative sustainable energy production,

2012.

[9] D. A. P. Ponte, A. Cordova e M. M. Werneck, “Lighting System for

Photobioreactor by POF with...,” em 22nd International Conference on Plastic

Optical Fibers, Armação de Búzios - RJ, 2913.

[10] “hiips://arcowebarquivos.s3.amazonaws.com/imagens/71/43/arq_7143.jpg,”

[Online].

[11] M. M. Werneck, Transdutores e Interfaces, Rio de Janeiro: Livros Técnicos e

Científicos, 1996.

[12] M. Tepedino, Sistema web para aquisição de medidas remotas e gestão de

informações de projetos de pesquisa, Projeto final, UFRJ, Rio de Janeiros, 2009.

[13] R. Boczko, “Astronomia de Posição,” em Astronomia e Astrofísica - Volume I, Sáo

Paulo, XXXX, 1978, pp. 1-61.

Page 41: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

29

Apêndice A

Código do Arduino

#include <Wire.h>

#include "RTClib.h"

#include <EEPROM.h>

#include <SPI.h>

#include <ADXL362.h>

ADXL362 xl;

int16_t ZValue;

float zmedida, zarco;

float zmedidagraus, arco;

int nmedidas=41, intervalo=10;// nmedidas deve ser número ímpar

int lista_fotodetector[41], lista_piranometro[41], lista_acelerometro[41];

RTC_DS1307 rtc;

const int buttonPin = 4;

const int buttonPin2 = 5;// the number of the pushbutton pin

const int ledPin = 13; // the number of the LED pin

int buttonState;

int buttonState2;

int a1=2;

int a2=3;

int b1=6;

int b2=7;

int led=13;

int tempo1=35; //35

int tempo2=35; //35

long int espera = 11;

int cont=0;

void setup () {

Serial.begin(9600);

xl.begin(10);

xl.beginMeasure();

pinMode(led, OUTPUT);

pinMode(a1, OUTPUT);

Page 42: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

30

pinMode(a2, OUTPUT);

pinMode(b1, OUTPUT);

pinMode(b2, OUTPUT);

pinMode(buttonPin, INPUT);

pinMode(buttonPin2, INPUT);

digitalWrite(led, LOW);

digitalWrite(a1, LOW);

digitalWrite(a2, LOW);

digitalWrite(b1, LOW);

digitalWrite(b2, LOW);

#ifdef AVR

Wire.begin();

#else

Wire1.begin(); // Shield I2C pins connect to alt I2C bus on Arduino Due

#endif

rtc.begin();

if (! rtc.isrunning()) {

Serial.println("RTC is NOT running!");

// following line sets the RTC to the date & time this sketch was compiled

rtc.adjust(DateTime(__DATE__, __TIME__));

}

}

void loop () {

int jan = 31;

int fev = 28;

int mar = 31;

int abr = 30;

int mai = 31;

int jun = 30;

int jul = 31;

int ago = 31;

int setem = 30;

int out = 31;

int nov = 30;

int dez = 31;

byte Meses[] = {

jan, fev, mar, abr, mai, jun, jul, ago, setem, out, nov, dez };

int Dia = 1;

int Mes = 11;

int Ano = 2013;

int soma = 0;

int i;

int j;

int add_high;

int add_low;

Page 43: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

31

word value;

DateTime now = rtc.now();

int Dia_depois = now.day();

int Mes_depois = now.month();

int Ano_depois = now.year();

int n = Ano_depois - Ano;

int x = Ano_depois%4;

int ab=n/4;

if (x==0){

ab = ab+1;

soma = 0;

i = 0;

j = 10;

}

if (Mes_depois<Mes) {

soma = soma + Meses[10] + Meses[11];

while (i<Mes_depois) {

soma = soma + Meses[i];

i = i + 1;

}

}

else {

while (j<Mes_depois){

soma = soma + Meses[j];

j=j+1;

}

}

soma = soma - Dia;

if (Ano_depois>=2016){

if ((Mes_depois==2 && Dia_depois==29) || Mes_depois>2){

soma=soma+ab;

}

}

soma = soma - (Meses[((Mes_depois)-1)] - (Dia_depois));

if (Mes_depois<11){

n = n-1;

}

Page 44: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

32

soma = (n*365) + soma;

// Serial.print("Data Atual: ");

// Serial.print(now.day(), DEC);

// Serial.print('/');

// Serial.print(now.month(), DEC);

// Serial.print('/');

// Serial.print(now.year(), DEC);

// Serial.print("\n");

//

// Serial.print("Hora Atual: ");

// Serial.print(now.hour(),DEC);

// Serial.print(':');

// Serial.print(now.minute(),DEC);

// Serial.print(':');

// Serial.print(now.second(), DEC);

// Serial.print("\n");

//

//

// Serial.print (soma);

// Serial.print (" Dias decorridos a partir de 01/11/2013.\n");

add_high = 2 * soma;

add_low = add_high + 1;

byte hibyte = EEPROM.read(add_high);

byte lobyte = EEPROM.read(add_low);

value = word(hibyte,lobyte);

// Serial.print(value);

// Serial.print(" Segundos. << Tempo Inicial do motor \n");

long int hora = now.hour();

long int hora_s = 3600 * hora;

long int minuto = now.minute();

long int minuto_s = 60 * minuto;

long int segundo_s = now.second();

long int total = hora_s + minuto_s + segundo_s;

//Serial.print(total);

//Serial.print(" Segundos. << Tempo Real \n \n");

long int tempo = total - value; // após falta de luz saber para que posição ir

long int passos = tempo/3;

//Serial.print("O motor precisa dar: ");

//Serial.print(passos);

//Serial.print(" passos para ir a posicao correta. (apos falta de luz)");

//Serial.print("\n \n"); // até aqi

//enquanto não for o horario do motor rodar

Page 45: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

33

if (total<value || total > 68400){

//Serial.print("voltando.................\n");

digitalWrite(led, HIGH);

buttonState = digitalRead(buttonPin);

while (buttonState != LOW){

//Serial.print("loop...........\n");

buttonState = digitalRead(buttonPin);

digitalWrite(led, LOW);

digitalWrite(a1,HIGH);

digitalWrite(a2,LOW);

digitalWrite(b1,HIGH);

digitalWrite(b2,LOW);

delay(tempo1);

digitalWrite(led, HIGH);

digitalWrite(a1,LOW);

digitalWrite(a2,HIGH);

digitalWrite(b1,HIGH);

digitalWrite(b2,LOW);

delay(tempo1);

digitalWrite(led, HIGH);

digitalWrite(a1,LOW);

digitalWrite(a2,HIGH);

digitalWrite(b1,LOW);

digitalWrite(b2,HIGH);

delay(tempo1);

digitalWrite(led, LOW);

digitalWrite(a1,HIGH);

digitalWrite(a2,LOW);

digitalWrite(b1,LOW);

digitalWrite(b2,HIGH);

delay(tempo1);

}

while (total<value||total>68400){

//Serial.print("desligado...........\n");

DateTime now = rtc.now();

long int h=now.hour();

long int m=now.minute();

long int s=now.second();

total=tempo_real(h,m,s);

//Serial.print(total);

digitalWrite(led, LOW);

digitalWrite(a1,LOW);

digitalWrite(a2,LOW);

Page 46: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

34

digitalWrite(b1,LOW);

digitalWrite(b2,LOW);

}

}

else {

if(total == value){

//Serial.print("Comece a girar o motor\n");

buttonState2 = digitalRead(buttonPin2);

//Serial.print( buttonState2);

//Serial.print (" Antes do while");

while (buttonState2!=LOW) {

DateTime now = rtc.now();

long int h=now.hour();

long int m=now.minute();

long int s=now.second();

long int Hora_antes_do_passo=tempo_real(h,m,s);

buttonState2 = digitalRead(buttonPin2);

digitalWrite(led, HIGH);

digitalWrite(a1,HIGH);

digitalWrite(a2,LOW);

digitalWrite(b1,LOW);

digitalWrite(b2,HIGH);

passos+=1;

//Serial.print (passos);

//Serial.print ("\n");

for (int k = 1; k < 2; k++){

buttonState2 = digitalRead(buttonPin2);

if (buttonState2 == LOW){

//Serial.print (" <<< botao 2\n");

break;

}

delay(tempo2);

//Serial.print (k);

//Serial.print (" Segundos");

// Serial.print ("\n");

}

if (buttonState2 == LOW){

break;

}

buttonState2 = digitalRead(buttonPin2);

digitalWrite(led, LOW);

digitalWrite(a1,LOW);

digitalWrite(a2,HIGH);

digitalWrite(b1,LOW);

digitalWrite(b2,HIGH);

Page 47: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

35

passos+=1;

// Serial.print (passos);

// Serial.print ("\n");

for (int k = 1; k < 2; k++){

buttonState2 = digitalRead(buttonPin2);

if (buttonState2 == LOW){

// Serial.print (" <<< botao 2\n");

break;

}

delay(tempo2);

// Serial.print (k);

// Serial.print (" Segundos");

// Serial.print ("\n");

}

if (buttonState2 == LOW){

break;

}

buttonState2 = digitalRead(buttonPin2);

digitalWrite(led, HIGH);

digitalWrite(a1,LOW);

digitalWrite(a2,HIGH);

digitalWrite(b1,HIGH);

digitalWrite(b2,LOW);

passos+=1;

// Serial.print (passos);

// Serial.print ("\n");

for (int k = 1; k < 2; k++){

buttonState2 = digitalRead(buttonPin2);

if (buttonState2 == LOW){

// Serial.print (" <<< botao 2\n");

break;

}

delay(tempo2);

// Serial.print (k);

// Serial.print (" Segundos");

// Serial.print ("\n");

}

if (buttonState2 == LOW){

break;

}

buttonState2 = digitalRead(buttonPin2);

digitalWrite(led, LOW);

digitalWrite(a1,HIGH);

digitalWrite(a2,LOW);

digitalWrite(b1,HIGH);

digitalWrite(b2,LOW);

passos+=1;

// Serial.print (passos);

Page 48: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

36

// Serial.print ("\n");

for (int k = 1; k < 2; k++){

buttonState2 = digitalRead(buttonPin2);

if (buttonState2 == LOW){

// Serial.print (" <<< botao 2\n");

break;

}

delay(tempo2);

// Serial.print (k);

// Serial.print (" Segundos");

// Serial.print ("\n");

}

if (buttonState2 == LOW){

break;

}

digitalWrite(led, LOW);

digitalWrite(a1,LOW);

digitalWrite(a2,LOW);

digitalWrite(b1,LOW);

digitalWrite(b2,LOW);

// delay(espera);

//DateTime now = rtc.now();

h=now.hour();

m=now.minute();

s=now.second();

long int Hora_depois_do_passo=tempo_real(h,m,s);

long int Hora_desejada = Hora_antes_do_passo + espera;

boolean T=true;

while (T) {

// while (Hora_depois_do_passo < Hora_antes_do_passo + espera)

for (int y=0;y!=nmedidas;y++){

lista_fotodetector[y] = analogRead(A2);

lista_piranometro[y] = analogRead(A3);

lista_acelerometro[y] = xl.readZData();

delay(intervalo);

}

sort(lista_fotodetector,nmedidas);

sort(lista_piranometro,nmedidas);

sort(lista_acelerometro,nmedidas);

int fotodetector = lista_fotodetector[((nmedidas+1)/2)-1];

int piranometro = lista_piranometro[((nmedidas+1)/2)-1];

ZValue = lista_acelerometro[((nmedidas+1)/2)-1];

zmedida = map(ZValue, -890, 1200, -1023,1023);

Page 49: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

37

if (zmedida>1023){

zmedida=1023;}

if (zmedida<-1023){

zmedida=-1023;}

arco = zmedida/1023.00;

zmedidagraus = 57.29*(asin(arco));

Serial.flush();

Serial.print(fotodetector);

Serial.print("F");

Serial.print(piranometro);

Serial.print("P");

Serial.println(zmedidagraus);

DateTime now = rtc.now();

long int h=now.hour();

long int m=now.minute();

long int s=now.second();

long int Hora_depois_do_passo=tempo_real(h,m,s);

T = (Hora_depois_do_passo < Hora_desejada);

}

//fim do while

}

while (total <= 68400){

DateTime now = rtc.now();

// Serial.print(total);

// Serial.print(" motor desligao");

int h=now.hour();

int m=now.minute();

int s=now.second();

total=tempo_real(h,m,s);

digitalWrite(led, LOW);

digitalWrite(a1,LOW);

digitalWrite(a2,LOW);

digitalWrite(b1,LOW);

digitalWrite(b2,LOW);

}

//fim do if dentro do else

}

else {

digitalWrite(led, HIGH);

Page 50: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

38

buttonState = digitalRead(buttonPin);

buttonState2 = digitalRead(buttonPin2);

//voltando ao ponto zero

while (buttonState != LOW){

buttonState = digitalRead(buttonPin);

digitalWrite(led, LOW);

digitalWrite(a1,HIGH);

digitalWrite(a2,LOW);

digitalWrite(b1,HIGH);

digitalWrite(b2,LOW);

delay(tempo1);

digitalWrite(led, HIGH);

digitalWrite(a1,LOW);

digitalWrite(a2,HIGH);

digitalWrite(b1,HIGH);

digitalWrite(b2,LOW);

delay(tempo1);

digitalWrite(led, HIGH);

digitalWrite(a1,LOW);

digitalWrite(a2,HIGH);

digitalWrite(b1,LOW);

digitalWrite(b2,HIGH);

delay(tempo1);

digitalWrite(led, LOW);

digitalWrite(a1,HIGH);

digitalWrite(a2,LOW);

digitalWrite(b1,LOW);

digitalWrite(b2,HIGH);

delay(tempo1);

// fim da volta ao ponto zero

}

// Serial.print ("\n<<< botão 1\n");

//inicio dos passos rapidos

while (cont<=passos){

digitalWrite(led, LOW);

digitalWrite(a1,HIGH);

digitalWrite(a2,LOW);

digitalWrite(b1,LOW);

digitalWrite(b2,HIGH);

cont+=1;

Page 51: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

39

// Serial.print (cont);

// Serial.print ("\n");

if (cont==passos){

break;

}

delay(tempo1);

digitalWrite(led, HIGH);

digitalWrite(a1,LOW);

digitalWrite(a2,HIGH);

digitalWrite(b1,LOW);

digitalWrite(b2,HIGH);

cont+=1;

// Serial.print (cont);

// Serial.print ("\n");

if (cont==passos){

break;

}

delay(tempo1);

digitalWrite(led, LOW);

digitalWrite(a1,LOW);

digitalWrite(a2,HIGH);

digitalWrite(b1,HIGH);

digitalWrite(b2,LOW);

cont+=1;

// Serial.print (cont);

// Serial.print ("\n");

if (cont==passos){

break;

}

delay(tempo1);

digitalWrite(led, HIGH);

digitalWrite(a1,HIGH);

digitalWrite(a2,LOW);

digitalWrite(b1,HIGH);

digitalWrite(b2,LOW);

cont+=1;

// Serial.print (cont);

// Serial.print ("\n");

if (cont==passos){

break;

}

delay(tempo1);

//fim dos passos rapidos

}

//primeiro passo

digitalWrite(led, LOW);

Page 52: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

40

for (int k = 1; k < 2; k++){

buttonState2 = digitalRead(buttonPin2);

if (buttonState2 == LOW){

// Serial.print (" <<< botao 2\n");

break;

}

delay(tempo2);

// Serial.print (k);

// Serial.print (" Segundos");

// Serial.print ("\n");

}

//continuação dos passos normais

while (buttonState2!=LOW) {

DateTime now = rtc.now();

long int h=now.hour();

long int m=now.minute();

long int s=now.second();

long int Hora_antes_do_passo=tempo_real(h,m,s);

buttonState2 = digitalRead(buttonPin2);

digitalWrite(led, HIGH);

digitalWrite(a1,HIGH);

digitalWrite(a2,LOW);

digitalWrite(b1,LOW);

digitalWrite(b2,HIGH);

passos+=1;

// Serial.print (passos);

// Serial.print ("\n");

for (int k = 1; k < 2; k++){

buttonState2 = digitalRead(buttonPin2);

if (buttonState2 == LOW){

// Serial.print (" <<< botao 2\n");

break;

}

delay(tempo2);

// Serial.print (k);

// Serial.print (" Segundos");

// Serial.print ("\n");

}

if (buttonState2 == LOW){

break;

}

buttonState2 = digitalRead(buttonPin2);

digitalWrite(led, LOW);

digitalWrite(a1,LOW);

digitalWrite(a2,HIGH);

Page 53: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

41

digitalWrite(b1,LOW);

digitalWrite(b2,HIGH);

passos+=1;

// Serial.print (passos);

// Serial.print ("\n");

for (int k = 1; k < 2; k++){

buttonState2 = digitalRead(buttonPin2);

if (buttonState2 == LOW){

// Serial.print (" <<< botao 2\n");

break;

}

delay(tempo2);

// Serial.print (k);

// Serial.print (" Segundos");

// Serial.print ("\n");

}

if (buttonState2 == LOW){

break;

}

buttonState2 = digitalRead(buttonPin2);

digitalWrite(led, HIGH);

digitalWrite(a1,LOW);

digitalWrite(a2,HIGH);

digitalWrite(b1,HIGH);

digitalWrite(b2,LOW);

passos+=1;

// Serial.print (passos);

// Serial.print ("\n");

for (int k = 1; k < 2; k++){

buttonState2 = digitalRead(buttonPin2);

if (buttonState2 == LOW){

Serial.print (" <<< botao 2\n");

break;

}

delay(tempo2);

// Serial.print (k);

// Serial.print (" Segundos");

// Serial.print ("\n");

}

if (buttonState2 == LOW){

break;

}

buttonState2 = digitalRead(buttonPin2);

digitalWrite(led, LOW);

digitalWrite(a1,HIGH);

digitalWrite(a2,LOW);

digitalWrite(b1,HIGH);

digitalWrite(b2,LOW);

Page 54: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

42

passos+=1;

// Serial.print (passos);

// Serial.print ("\n");

for (int k = 1; k < 2; k++){

buttonState2 = digitalRead(buttonPin2);

if (buttonState2 == LOW){

// Serial.print (" <<< botao 2\n");

break;

}

delay(tempo2);

// Serial.print (k);

// Serial.print (" Segundos");

// Serial.print ("\n");

}

if (buttonState2 == LOW){

break;

}

digitalWrite(led, LOW);

digitalWrite(a1,LOW);

digitalWrite(a2,LOW);

digitalWrite(b1,LOW);

digitalWrite(b2,LOW);

// delay (espera);

//DateTime now = rtc.now();

h=now.hour();

m=now.minute();

s=now.second();

long int Hora_depois_do_passo=tempo_real(h,m,s);

long int Hora_desejada = Hora_antes_do_passo + espera;

boolean T=true;

while (T) {

//while (Hora_depois_do_passo < Hora_desejada) {

for (int y=0;y!=nmedidas;y++){

lista_fotodetector[y] = analogRead(A2);

lista_piranometro[y] = analogRead(A3);

lista_acelerometro[y] = xl.readZData();

delay(intervalo);

}

sort(lista_fotodetector,nmedidas);

sort(lista_piranometro,nmedidas);

sort(lista_acelerometro,nmedidas);

int fotodetector = lista_fotodetector[((nmedidas+1)/2)-1];

int piranometro = lista_piranometro[((nmedidas+1)/2)-1];

ZValue = lista_acelerometro[((nmedidas+1)/2)-1];

zmedida = map(ZValue, -890, 1200, -1023,1023);

Page 55: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

43

if (zmedida>1023){

zmedida=1023;}

if (zmedida<-1023){

zmedida=-1023;}

arco = zmedida/1023.00;

zmedidagraus = 57.29*(asin(arco));

Serial.flush();

Serial.print(fotodetector);

Serial.print("F");

Serial.print(piranometro);

Serial.print("P");

Serial.println(zmedidagraus);

DateTime now = rtc.now();

long int h=now.hour();

long int m=now.minute();

long int s=now.second();

long int Hora_depois_do_passo=tempo_real(h,m,s);

// Serial.print (Hora_depois_do_passo);

// Serial.println (" <<<< Hora depois do passo");

//Serial.print("\n");

// Serial.print(Hora_antes_do_passo);

// Serial.println (" <<<< Hora antes do passo");

//Serial.print ("\n");

// Serial.print(Hora_desejada);

// Serial.println (" <<<< Hora somada do passo");

//Serial.println ("\n");

T = (Hora_depois_do_passo < Hora_desejada);

// Serial.println(T);

}

//fim dos passos normais

}

//programa ficará esperando 'desligado' até 19h

while (total <= 68400){

DateTime now = rtc.now();

int h=now.hour();

int m=now.minute();

int s=now.second();

total=tempo_real(h,m,s);

digitalWrite(led, LOW);

digitalWrite(a1,LOW);

Page 56: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

44

digitalWrite(a2,LOW);

digitalWrite(b1,LOW);

digitalWrite(b2,LOW);

}

//fim do else dentro do else

}

//fim do else

}

//fim do void loop

}

//função para atualizar o total

long int tempo_real(long int a, long int b, long int c){

//DateTime now = rtc.now();

long int z = a;

long int y = 3600 * z;

long int w = b;

long int g = 60 * w;

long int v = c;

long int t = y+ g+ v;

return t;

}

void sort(int a[], int size) {

for(int i=0; i<(size-1); i++) {

for(int o=0; o<(size-(i+1)); o++) {

if(a[o] > a[o+1]) {

int t = a[o];

a[o] = a[o+1];

a[o+1] = t;

}

}

}

}

Page 57: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

45

Apêndice B

Código em Python

import serial

from datetime import datetime

import time

porta = "COM11"

i = 0

j = 0

velocidade = 9600

numeroMedidas = 1000000

l=numeroMedidas

valores = []

F = [""]

P = [""]

A = [""]

agora = datetime.now()

dia = agora.day

Page 58: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

46

mes = agora.month

ano = agora.year

hora = agora.hour

minuto = agora.minute

segundo = agora.second

conexao = serial.Serial (porta, velocidade)

while numeroMedidas != 0:

print "Medida numero ",

print (l-numeroMedidas +1),

print ":"

i = 0

j = 0

F = [""]

P = [""]

A = [""]

#conexao = serial.Serial (porta, velocidade)#abre conexao serial

arquivo = open ("LIF-" + str(ano) + "%2.2d" %(mes) + "%2.2d" %(dia) + "-" + "%2.2d"

%(hora) + "%2.2d" %(minuto) + "%2.2d" %(segundo) + ".DAT", "w")#abre arquivo

arquivo.write("LIF-" + str(ano) + "%2.2d" %(mes) + "%2.2d" %(dia) + "-" + "%2.2d"

%(hora) + "%2.2d" %(minuto) + "%2.2d" %(segundo) + ".DAT;" + str(ano) + "-" + "%2.2d"

Page 59: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

47

%(mes) + "-" + "%2.2d" %(dia) + " " + "%2.2d" %(hora) + ":" + "%2.2d" %(minuto) +

":%2.2d" %(segundo) + ";32\n") #escreve primeira linha

agora = datetime.now()

dia = agora.day

mes = agora.month

ano = agora.year

hora = agora.hour

minuto = agora.minute

segundo = agora.second

conexao.flushInput()

conexao.flushOutput()

lido = conexao.readline()

print "Valor lido:",

print lido,

valores = valores + [lido]

while valores[l - numeroMedidas][j]!="F":

F[0] = F[0] + str(valores[l - numeroMedidas][j])

j = j + 1

while valores[l - numeroMedidas][j+1]!="P":

P[0] = P[0] + str(valores[l - numeroMedidas][j+1])

Page 60: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

48

j = j + 1

while valores[l - numeroMedidas][j+2]!="\r":

A[0] = A[0] + str(valores[l - numeroMedidas][j+2])

j = j + 1

sensor1=int(F[0])

sensor2=int(P[0])

sensor3=float(A[0])

print "fotodetector:",

print sensor1

print "piranometro:",

print sensor2

print "angulo:",

print sensor3

print"\n\n\n"

arquivo.write ("19;131;" + str(ano) + "-" + "%2.2d" %(mes) + "-" + "%2.2d" %(dia) + " " +

"%2.2d" %(hora) + ":" + "%2.2d" %(minuto) + ":%2.2d" %(segundo) + ";")

arquivo.write(str(sensor1) + "\n")

arquivo.write ("19;130;" + str(ano) + "-" + "%2.2d" %(mes) + "-" + "%2.2d" %(dia) + " " +

"%2.2d" %(hora) + ":" + "%2.2d" %(minuto) + ":%2.2d" %(segundo) + ";")

arquivo.write(str(sensor2) + "\n")

Page 61: SISTEMA DE MONITORAMENTO REMOTO DE UM … · SISTEMA DE MONITORAMENTO REMOTO DE UM RASTREADOR SOLAR Igor Vital Rodrigues Projeto de Graduação apresentado ao Curso de Engenharia

49

arquivo.write ("30;129;" + str(ano) + "-" + "%2.2d" %(mes) + "-" + "%2.2d" %(dia) + " " +

"%2.2d" %(hora) + ":" + "%2.2d" %(minuto) + ":%2.2d" %(segundo) + ";")

arquivo.write(str(sensor3) + "\n")

#conexao.close()

arquivo.close()

time.sleep (5)

numeroMedidas -= 1

conexao.close()