Como construir um seguidor solar caseiro com servo motor e Arduíno

Seguidor Solar com Arduíno

Este sistema de seguidor solar usa uma placa de Arduíno UNO, um servo motor, 2 LDR’s (Resistência dependente de luz) e 2 resistências para rodar um painel solar de acordo com a luz solar.

Aprenda a construir este seguidor solar caseiro com servo motor controlado por arduíno de forma fácil com a explicação passo-a-passo.

Recomendamos: Saiba mais sobre sistemas seguidores solares

Como construir um seguidor solar caseiro

Vamos usar um servo motor (neste exemplo vamos usar um servo motor que roda a 180° de amplitude) de 180° ou seja roda 90° para cada um dos lados, e uma placa de Arduíno para controlar electronicamente o servo motor. Para tal é necessário um código de programação para o Arduíno.

O código é bastante simples e vamos tentar explicá-lo detalhadamente mais a frente neste artigo.

O código a usar para programar a placa de Arduíno é o seguinte:

#include <Servo.h>
Servo myservo;
int pos = 90;   // initial position
int sens1 = A0; // LRD 1 pin
int sens2 = A1; //LDR 2 pin
int tolerance = 2;
void setup()
{
myservo.attach(9);  // attaches the servo on pin 9 to the servo object
pinMode(sens1, INPUT);
pinMode(sens2, INPUT);
myservo.write(pos);
delay(2000); // a 2 seconds delay while we position the solar panel
}
void loop() {
int val1 = analogRead(sens1); // read the value of sensor 1
int val2 = analogRead(sens2); // read the value of sensor 2
if((abs(val1 – val2) <= tolerance) || (abs(val2 – val1) <= tolerance)) {
//do nothing if the difference between values is within the tolerance limit
} else {
if(val1 > val2)
{ pos = –pos; }
if(val1 < val2)
{ pos = ++pos; }}
if(pos > 180) { pos = 180; } // reset to 180 if it goes higher
if(pos < 0) { pos = 0; } // reset to 0 if it goes lower
myservo.write(pos); // write the position to servo
delay(50);}

No código a “POS” é a variável que determina a posição inicial do servo motor, que ira ser 90°, ou seja mesmo a meio da amplitude total do servo motor.

Os dois LDR’s (Resistência dependente de luz) são conectados respetivamente no pin A0 e no pin A1 da placa Arduíno.

A tolerância é a variável, como o próprio nome indica, que ajusta a tolerância, pois sem esta variável a posição do nosso controlador solar estaria continuamente a ser ajustada ao sol sem parar.

Na função setup() determinamos os pin’s onde os dois LDR’s foram conectados, e a posição do servo motor a 90°(no meio), aguardando depois dois segundos antes da execução do código na função loop() ser iniciado.

Na função de loop() vamos ler os valores recebidos dos 2 sensores de luz e ajustar o painel solar de acordo com esses valores obtidos.

Veja o esquema do circuito elétrico do seguidor solar

Esquema elétrico do controlador solar
Esquema elétrico do controlador solar

Como se pode ver pelo esquema eléctrico tudo o que necessita fazer é apenas algumas ligações entre os componentes: uma placa Arduíno, um servo motor, 2 LDR’s e 2 resistências de 10 KOhm.

Normalmente o servomotor tem também um fio amarelo que é usado para controlar a rotação e este deve ser conectado ao pin 9 da placa Arduíno.

Atenção: Os 2 LDR devem ser posicionados da seguinte forma

Posição dos LDR no controlador Solar
Posição dos LDR no controlador Solar

Caso o seu servo motor comece a agir de uma forma incorrecta, experimente conectar um condensador com 70µF/10V entre os +5V e o GND.

Agora pode fazer uso do seu controlador adaptando-o a um painel solar e podendo desta formar fazer com se a captação da fonte solar seja processada de forma mais eficiente e por um maior período de tempo.

Video Arduíno Solar Tracker

Os seguidores solares apresentam grandes vantagens pois conseguem aumentar a produção de energia solar através do aumento de captação de luz solar em cerca de 50% na época de verão e em cerca de 20% na época do inverno.

6 Comentários em “Como construir um seguidor solar caseiro com servo motor e Arduíno”

  1. Boa e simples solução.
    Parece que funciona. Agora é construir um protótipo e testar. Para os que já o fizeram favor colocar/postar os resultados e ajustes.

  2. Alexandre Vitoria

    É uma boa proposta, porém estou tendo problemas para compilar este programa, assim como está. Não tenho muita experiencia em programação C, se alguém conseguiu compilar e puder fazer o favor de compartilhar… Obrigado

  3. Teoricamente funciona, mas se houver algum reflexo ou alguma sombra, como o dispositivo vai se comportar?
    E num dia de nuvens onde a luz solar é difusa e por vezes nem é suficiente para compensar a energia gasta pelo motor?
    O seguimento solar deve estar sempre associado a um calendário juliano, não esquecendo a monitorização da energia produzida em função da luminusidade.

  4. LEANDRO C M DA CRUZ

    Usei o código acima para fazer o rastreador mas não funcionou, há um erro no código, dessa forma como está publicado não funciona, como era minha primeira experiência com arduino, levei horas pra descobrir o erro, mas consegui ajustar e está funcionando o programa, não sei se na prática vai funcionar pois ainda não montei a maquete.

Deixe um Comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Rolar para cima