Skip to content

Sistema de otimização do posicionamento de painéis solares, projeto final da disciplina de Microcontroladores e Aplicações DC/UFSCar.

Notifications You must be signed in to change notification settings

matheusvervloet/girassolar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Girassolar

Sistema de otimização do posicionamento de painéis solares, projeto final da disciplina de Microcontroladores e Aplicações DC/UFSCar.

O Girassolar é um sistema que otimiza a posição de um painel solar, com o objetivo de maximizar a eficiência energética do painel. O projeto utiliza um motor de passo para controlar a posição do painel, um relé para ativar ou desativar o output do painel, um sensor de luz para identificar a posição do sol, um display LCD para exibir informações do sistema e um botão para desativar o sistema. Além disso, utilizamos um servidor web hosteado no edison para exibir as informações do sistema utilizando a plataforma freeboard.

Esse projeto foi desenvolvido pelos alunos do curso de Engenharia de Computação da UFSCar, Matheus Bachetti Vervloet (495735) e Eduardo Augusto Marinho (495808).

Foto Real

#Vídeo Vídeo

#Esquemático Esquemático do projeto feito utilizando o site schematics.com. Link para projeto: Girassolar V3.
Os objetos utilizados foram criados manualmente com as ferramentas do site para representarem o mais próximo possível a realidade.

Esquemático

#Implementação O projeto foi implementado utilizando o Intel Edison, o Starter Kit do Grove, um Stepper Motor(PM55L) e o ULN2003A para interface com o Stepper Motor e uma fonte externa(5V 3A fixo) para alimentação do motor. Para o código, decidmos por utilizar Python rodando no Yocto Linux, e algumas bibliotecas do python para acessar o hardware do Edison, entre elas a mraa (baixo nível), a upm (alto nível) e por fim o Flask para a webpage do painel de status do projeto.

O controle do posicionamento é simples, realizado pela leitura do sensor de luz e o acionamento do motor de passo. O sistema realiza três leituras: uma na posição atual, uma 3 passos à frente da atual e uma ultima 3 passos atrás. Após as leituras, compara a intensidade de luz atual com a leitura dos passos à frente e atrás, e assim determina em que direção deve mover o braço do painel solar, sendo essa a direção em que tivermos maior intensidade de luz. Caso a posição atual já possua a maior intensidade, o braço permanece onde estava e espera até que alguma mudança na leitura indique que tenhamos que determinar uma nova movimentação.

#Componentes ###LCD LCD
Utilizamos o LCD do Starter Kit do Grove, para controle utilizamos a biblioteca pyupm_i2clcd.
Exemplo de uso
Exemplo de uso com sensor de luz

###Relay Relay
Utilizamos o relay do Starter Kit do Grove para cortar o fornecimento do painel solar, para controle utilizamos a biblioteca pyupm_grove.
Exemplo de uso

###Botão Botão
Botão simples do Starter Kit do Grove.

###Sensor de Luz Sensor de Luz
Sensor de luz do Starter Kit do Grove, utilizado para encontrar a direção da fonte de luz mais forte e então apontar o painel solar para ela. Para controle utilizamos a biblioteca mraa.Aio.
Exemplo de uso

###Painel Solar Painel
Utilizamos em nosso projeto um painel solar de modelo XH-45X80 comprado na internet.

O painel solar tem potência máxima de saída de 0,4W, tensão máxima de funcionamento de 2V e corrente de carga maxima de 200mA, com uma eficiência da célula de 16.5%.

Para realizar a leitura do painel, o conectamos em um relay para ativar ou desativar a alimentação, e em seguida o conectamos diretamente em uma das entradas analógicas. A entrada analógica lê um sinal de até 5V e a tensão máxima do painel é de 2V.

###Stepper Motor Motor de passo
Para a movimentação da haste com o painel solar, utilizamos um motor de passo unipolar de modelo PM55L.

Para o controle do motor, usamos um CI ULN2003A, que é um conjunto de transistores darlington que são utilizados para o controle de sistemas de potência. Usamos esses transistores pois o motor pode requerir uma corrente maior do que nossa placa pode suportar. Assim, o motor é conectado à uma fonte de 5V externa, e ativado ou desativado pelos transistores.

A biblioteca 'pyupm_uln200xa' do python já inclui todos os métodos necessários para controlar o motor. Ele é inicializado com um número de passos total, em nosso caso 94, pode ter sua velocidade configurada e dar passos no sentido horário ou anti-horário.

###ULN2003A ULN2003A
CI para interface com Stepper Motor do Laboratório 1 do Departamento de Computação.
#####Pinout Pinout

#Interface Para acessar os dados do sistema em outras plataformas, utilizamos um servidor web em Flask hosteado na Edison com a plataforma freeboard.

A plataforma freeboard nos permite monitorar sistemas IoT em tempo real, utilizando diversos métodos de captura de dados. Em nosso sistema, o servidor e programa controlador são executados em paralelo. O programa controlador (girassolar.py) grava as informações atuais em arquivos de texto, que são então lidos pelo servidor (webserver.py) e exibidos na página.

Para utilizar o freeboard, baixamos o esqueleto estático disponível gratuitamente no site da plataforma, e o configuramos para nosso sistema. No sistema, esse esqueleto fica salvo em uma pasta '/static', onde também se encontra a configuração da interface (gira_dash.json), que é carregado automáticamente quando acessamos a página. Não disponibilizamos a '/static' em nosso github por questões de licensa, mas ela não foi modificada em nosso projeto e pode ser baixada no site indicado anteriormente.

Para acessar a página, conectamos o Intel Edison à rede local, e acessamos a página pelo IP designado à placa pelo DHCP.

http://200.18.97.122/static/index.html#source=gira_dash.json

Ao acessar a página, podemos consultar os dados do sistema, como mostrado abaixo: Dashboard

A página pode ser acessada pelo navegador em um Desktop e também em dispositivos mobile.

Outros trabalhos desta disciplina

https://github.com/Power041/cancela

https://github.com/jblsouza/Lab-Mic-A

https://github.com/iksmada/TuringMachine

https://github.com/Fonseka100/MIC-Amaciante

https://github.com/matheusvervloet/girassolar

https://github.com/alex-dias/TrabalhoFinalMIC2015

https://github.com/gustavocesarlos/trabalhofinalMic

https://github.com/gabrielNT/LabMicApl_TrabalhoFinal

https://github.com/brunowilliamsap/microcontroladores

https://github.com/rodrigoa1990/Projeto-Microcontroladores

https://github.com/matheusDeAlmeida/trabalhoFinalMicrocontroladores

About

Sistema de otimização do posicionamento de painéis solares, projeto final da disciplina de Microcontroladores e Aplicações DC/UFSCar.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages