Photo of solar panel on side river

Hoe bouw je een draagbare zonnentracker?

Zuriel Gonzalez
Zuriel
PA Engineer

In tegenstelling tot fossiele brandstoffen en kernenergie is zonne-energie veilig en schoon. Daarnaast helpt het de vernietiging van habitats te voorkomen en tegelijk klimaatverandering te bestrijden. Het belang van zonne-energie zit niet alleen in de lage kosten en betrouwbaarheid, maar vooral in het feit dat het helpt onze leefomgeving te behouden. Nu de industrie al is gesensibiliseerd, moet nog blijken of de wereld blijvend zal overschakelen op hernieuwbare energie. In dit project laten we zien hoe we onze PA-14 Mini Lineaire actuator hebben gebruikt om de zon te volgen langs één bewegingsas. Dit verhoogt de opbrengst van het zonnepaneel met tot wel 25% ten opzichte van een vast zonnepaneel. We hebben hieronder ook een ‘how to’ video toegevoegd ter verdere uitleg.

Wat is een zonnentracker?

Een zonnentracker is een apparaat dat de zonnepanelen in de richting van het zonlicht kantelt. Zonnetrackers volgen dus de hele dag de zon en zorgen ervoor dat de zonnepanelen zo veel mogelijk energie opvangen. Hun enige doel is het maximaliseren van de opbrengst. Het goede nieuws is dat je thuis je eigen zonnentracker kunt maken. Met het juiste gereedschap, vooral zonnepanelen en lineaire actuators, kun je je eigen zonnentracker bouwen en ervoor zorgen dat je zonnepanelen maximaal zonlicht opvangen.

 

Voordelen van het gebruik van lineaire actuators in een zonnetrackingsysteem

Bij het maken van je zonnetrackingsysteem is het zeker aan te raden en voordelig om 12V lineaire actuators te gebruiken. 12V actuators worden doorgaans in zonnetrackers gebruikt omdat ze helpen de effectiviteit van de zonnepanelen te waarborgen en te verhogen. Overweeg daarom bij het zoeken naar een actuator voor het trackingsysteem altijd de 12V zonnetracker-actuator.

Een van de belangrijkste voordelen van de 12V actuator is dat hij de gewenste bewegingen met hogere precisie uitvoert. Ongeacht de positie van de zon zorgen deze actuators er dus voor dat je zonnepanelen in de best mogelijke hoek gekanteld staan om zonlicht effectief op te vangen.

Stroom van zonnepanelen omzetten

Er zijn drie eenvoudige stappen om zonne-energie om te zetten in elektrische energie. Elke stap wordt uitgevoerd door een afzonderlijk component zoals hieronder vermeld.

  1. Sungold Solar Panel SGM-90W-18V. Dit absorbeert fotonen uit zonlicht en zet die om in elektriciteit, die wordt afgegeven als een variabele gelijkspanning (DC).
  2. Solar Charge Controller Genasun GV-10 regelt de DC-spanning van het zonnepaneel om de batterij op te laden.
  3. 12VDC Lithium-Ion Battery slaat de elektriciteit op voor onmiddellijk of later gebruik.

In ons systeem hebben we een sigarettenaansteker-connector op de batterij aangesloten. Hierdoor kunnen we 12V auto-accessoires eenvoudig verbinden met het zonnepaneel. In onze video gebruikten we een oscillerende ventilator, een krachtige LED-schijnwerper en zelfs een telefoonlader.

 

How to Build a Portable Solar Tracker

Besturingssysteem

De lineaire actuator wordt aangestuurd door een Arduino-microcontroller met een Wasp-motorcontroller. Deze leest fotoweerstanden uit om te bepalen welke kant van het paneel licht ontvangt en past de positie van het zonnepaneel aan totdat de fotoweerstandswaarden ongeveer gelijk zijn. Zo wijst het zonnepaneel direct naar de zon en levert het maximale vermogen.

Diagram van het aansluiten van zonnepaneel op auto-accessoires

 

 

Componenten

  1. 1x PA-14 mini-lineaire actuator – 6 inch – 150 lbs kracht.
  2. 1x Sungold SGM-90W-18 90 Watt zonnepaneel.
  3. 1x Genasun GV-10 12VDC zonnepaneel-laadregelaar. 
  4. 1x Arduino Micro PLC.
  5. 1x Wasp Motor Controller.
  6. 2x 10k Ohm-fotoweerstand en 2x 7k Ohm-weerstand. 
  7. 1x 12VDC oplaadbare lithiumbatterij. 
  8. 1x sigarettenaansteker-connector voor 12V-accessoires (optioneel).
Foto van een mini lineaire actuator en componenten van het besturingssysteem

 

Motorcontroller

Voor het besturingsgedeelte van deze zonnentracker gebruiken we de Arduino Micro en de WASP Motor Controller. De Wasp-motorcontroller wordt door de Arduino Micro aangestuurd via pulsbreedtemodulatie (PWM). De Wasp haalt vervolgens voeding uit de 12V-batterij om de PA-14 mini-lineaire actuator uit en in te schuiven. We kozen de 150 lbs-kracht actuator omdat die minder stroom trekt dan een 35 lbs-kracht versie voor de belasting die we hebben.

Diagram van het aansluiten van zonnepaneel op microcontroller en lineaire actuator


Lichtsensor

Om de lichtintensiteit van de zon te detecteren, gebruikten we een 10k Ohm-fotoweerstand. Een fotoweerstand gedraagt zich als een variabele weerstand die door licht wordt aangestuurd. De weerstand neemt af naarmate de lichtintensiteit toeneemt. We hebben twee sensoren nodig: één aan de oostkant en één aan de westkant van het paneel om de positie van de zon te kunnen bepalen.

Verbind één 10k Ohm-fotoweerstand en één 7k Ohm-weerstand in serie en voorzie een 5V-signaal vanaf de Arduino Micro. Meet de spanning over de 7k Ohm-weerstand via een analoge ingang op de Arduino Micro. Omdat de schakeling zich gedraagt als een spanningsdeler, zal de analoge meting over de 7k Ohm-weerstand toenemen naarmate de lichtintensiteit toeneemt.

Let op: de fotoweerstand is erg gevoelig en je moet mogelijk het licht dat van de zon binnenkomt beperken.

Schema voor het aansluiten van de lichtsensor

Voor onze toepassing bleek het het beste te werken om hem naar de zijkant van het paneel te richten en af te dekken met doorschijnende tape.

Programmeren

Het volledige programma vind je in de volgende sectie onder ‘Source Code’. In dit deel van het artikel leggen we de afzonderlijke componenten van het programma uit.


Servo-bibliotheek

De Servo.h-bibliotheek stelt de Arduino Micro in staat RC-servomotoren te bedienen met enkelregelige commando’s als volgt:

myservo.writeMicroseconds (1000); // Actuator op volle snelheid achteruit (1000)

myservo.writeMicroseconds (1520); // Actuator stoppen (1520)

myservo.writeMicroseconds (2000); // Actuator op volle snelheid vooruit (2000)

Pin-toewijzingen

Pin 10 en 11 op de Arduino Micro zijn ingesteld op voeding en massa om de WASP-controller aan te sturen. Pin 6 en 8 op de Arduino Micro zijn toegewezen aan analoog 7 en 8, die zijn ingesteld om metingen van de lichtsensor west & oost te nemen.

 

Variabele declaratie

In deze sectie worden variabelen gedeclareerd en geïnitialiseerd. Ze worden in de functies gebruikt om metingen van de lichtsensoren op te slaan. Het steekproefinterval en het aanpassingsinterval worden hier ook gedeclareerd. Hun waarde kan worden gewijzigd om het tijdsinterval tussen elke meting en de tijd tussen elke hoekaanpassing van het zonnepaneel in te stellen. De initiële waarde is ingesteld om elke 10 seconden een meting te nemen en de positie van het zonnepaneel elke 10 minuten aan te passen.

 

Invoer & uitvoer instellen

Stel WASP_Power en WASP_Ground in op output om de WASP-controller aan te sturen. Stel sensor_west_pin1 en sensor_east_pin2 in op input om metingen van de fotoweerstand-lichtsensoren te nemen.

 

Sensormetingen

Zoals eerder vermeld gebruiken we twee fotoweerstanden als lichtsensor om te bepalen in welke richting het zonnepaneel moet wijzen, door de lichtintensiteit aan beide kanten van het paneel te meten. Het programma dat we gebruikten neemt elke 10 seconden een monster gedurende 10 monsters en neemt vervolgens het gemiddelde van de metingen van beide fotoweerstanden om te vergelijken.

 

Beweging van het zonnepaneel

Met de Arduino Micro gebruiken we PWM-regeling om de actuator aan te sturen. Dit is een eenvoudige en betrouwbare methode om de lineaire actuator te regelen. Afhankelijk van de PWM-waarde die we instellen, kunnen we de actuator uitschuiven, inschuiven of stoppen voor elke gewenste periode, zolang deze de inschakelduur van de actuator niet overschrijdt.

Op basis van onze sensormetingen hebben we twee gemiddelde lichtintensiteitswaarden van beide sensoren aan de west- en oostzijde. Afhankelijk van het verschil tussen de twee sensormetingen wordt vervolgens de bewegingsopdracht uitgevoerd om uit te schuiven, in te schuiven of stil te blijven staan. Deze reeks opdrachten wordt elke 10 minuten uitgevoerd om ervoor te zorgen dat het zonnepaneel steeds zo veel mogelijk zonlicht krijgt.

 

Resetten van positie 's nachts

Nog een functie die met de zonnentracker kan worden geïmplementeerd, is een resetfunctie. Als de zonnentracker een paar dagen blijft draaien, moet je ervoor zorgen dat hij de volgende ochtend naar zijn beginpositie reset. Hiervoor gebruiken we een eenvoudige tellerfunctie die de positie reset als de zonnentracker de afgelopen 10 uur niet heeft bewogen. Dat duidt op nacht, waarna de zonnentracker terugkeert naar de beginpositie en wacht op het daglicht van de volgende dag.

Zie hieronder de code voor deze versie van onze zonnentracker. De waarde kan altijd worden aangepast aan verschillende regio’s en seizoenen gedurende het jaar.

 

Source Code

Zie hieronder de code die we gebruikten voor deze versie van onze zonnentracker. Houd er rekening mee dat de waarden altijd kunnen worden aangepast aan verschillende regio’s en seizoenen gedurende het jaar.

<p>/*<br>  This program will allow the solar panel to track the sun, and drive the actuator using
  pwm. Readings from two photoresistors will be taking from each side of the solar panel.
  A number of samples will be taken, and a average reading will be calculated in order
  to determine which side has a higher sunlight intensity. The linear acutor will then
  either extend or retract to angle the solar panel so it is facing the sun. 
  A reset function is implemented so it will move the solar panel to its defult position.
  This allow the solar panel ready to charge in the morning after remain stationary during
  night time.  </p><p>  Hardware used:
                 1 x Arduino Micro
                 1 x WASP Motor Controller
                 1 x PA-14-6-150 Linear Actuator
                 2 x Photoresistors
                 2 x 7k ohm Resistors
*/
/*
            SERVO LIBRARY 
            
   Include the Servo library and create the servo object.
*/</p><p>#include 
Servo myservo;                                        // Create servo object to control a servo</p><p>/*
            PIN ASSIGNMENTS 
            
   Assign pins from WASP Controller and Arduino Micro to appropriate variable.
*/</p><p>const int WASP_Power = 10;                           // Assign pin 10 to Power for the WASP controller
const int WASP_Ground = 11;                          // Assign pin 11 to Ground for the WASP controller
const int sensor_west_pin1 = 7;                      // A7 pin 6 sensor input 1 west
const int sensor_east_pin2 = 8;                      // A8 pin 8 sensor input 2 east</p><p>/*
            VARIABLE DECLARATION
             
   Delcare variable that will be used in the functions later and initilize them.
*/</p><p>int sensor_west[10];                                 // 10 sample readings from sensor on the west side
int sensor_east[10];                                 // 10 sample readings from sensor on the east side
int reset_counter = 0;                               // Time counter for resetting the solar panel position
const int sample_time_interval = 10000;              // Change this value to set the interval between each sample is taken (ms)
const long solar_panel_adjustment_interval = 600000;  // Change this value to set the interval between each adjustment from the solar panel (ms)</p><p>void setup()
{</p><p>/*
            SET INPUT & OUTPUT 
            
   Set the input and output to the variables and pins.
*/</p><p>  myservo.attach(9);                                 // Attaches the servo on pin 9 to the servo object
  pinMode(WASP_Power, OUTPUT);                       // Set Power to output
  pinMode(WASP_Ground, OUTPUT);                      // Set Ground to output
  digitalWrite(WASP_Power, HIGH);                    // Set 5V to pin 10
  digitalWrite(WASP_Ground, LOW);                    // Set GND to pin 11
  pinMode(sensor_west_pin1, INPUT);                  // Set sensor west pin to input
  pinMode(sensor_east_pin2, INPUT);                  // Set sensor east pin to input
}</p><p>void loop()
{
  
/*
            SENSOR READINGS
            
   Take 10 sample readings from both sensors, and take the average of the inputs.
*/</p><p>  int solar_input_west = 0;                                     // Sun light intensity readings from sensor west
  int solar_input_east = 0;                                     // Sun light intensity readings from sensor east</p><p>  for( int i=0; i<10; i++)
  {   
    sensor_west[i] = analogRead(sensor_west_pin1);              // Taking the analog readings from sensor west
    sensor_east[i] = analogRead(sensor_east_pin2);              // Taking the analog readings from sensor east
    solar_input_west = sensor_west[i] + solar_input_west;       // Sum all the inputs from sensor west
    solar_input_east = sensor_east[i] + solar_input_east;       // Sum all the inputs from sensor east
    delay(sample_time_interval);
  }</p><p>  solar_input_west = (solar_input_west) / 10;                   // The the average of input signals from sensor west
  solar_input_east = (solar_input_east) / 10;                   // The the average of input signals from sensor east</p><p> /*
            SOLAR PANEL MOVEMENT
            
   The solar panel will tilt toward west if the sunlight intensity detected on the west side of the panel is greater than the
   one detected on the east side. The solar panel will tilt toward east if the sunlight intensity detected on the east side
   is greater than the one detected on the west side. However, if the readings from both side are similar, the solar panel
   will remain stationary.   
*/</p><p>  if( solar_input_west - solar_input_east > 20)                // If the sunlight intensity is higher on the west side of the panel
  {
    myservo.writeMicroseconds(2000);                           // Full speed forwards (2000) signal pushing the solar panel to the left(west)
    delay(500); //0.5 seconds  
    reset_counter = 0;
  }
  
 else if( solar_input_east - solar_input_east > 20)           // If the sunlight intensity is higher on the east side of the panel
  {  
    myservo.writeMicroseconds(1000);                          // Full speed backwards (1000) signal pulling the solar panel to the right(east)
    delay(500); //0.5 seconds  
    reset_counter = 0;
  }  </p><p>  else                                                        // If ther sunlight intensity is similar from both side of the panel
  {
    myservo.writeMicroseconds(1520);                          // Stationary (1520) signal stop the solar panel from moving
    reset_counter++;
  } 
  
 delay(solar_panel_adjustment_interval);                      // Delay before another adjustment will be made</p><p>/*
            OVERNIGHT POSITION RESET</p><p>   If the solar panel will be used overnight, the controller will detect the panel remained stationary for more than 10 hours,
   It will then reset the solar panel to its default position facing east.
*/
 
 if( reset_counter > 60)                                     // After the solar panel remained stationary for more than 10 hours, it will move to its default position
  {
    myservo.writeMicroseconds(1000);                         // Full speed backwards (1000) signal pulling the solar panel to the right(east)
    delay(12000); //12 seconds
    myservo.writeMicroseconds(1520);                         // Stationary (1520) signal stop the solar panel from moving
    delay(500);  //0.5 seconds   
    myservo.writeMicroseconds(2000);                         // Full speed forwards (2000) signal pushing the solar panel to the left(west)
    delay(1000); //1 seconds  
    reset_counter = 0;
  }
}</p>

 

 

Hardware voor enkelassige tracker

Er zijn talloze manieren om een enkelassige zonnentracker te maken. De eenvoudigste methode is het frame te construeren met PVC-buizen en PVC-hoekstukken. Het belangrijkste onderdeel is het kunnen tracken, wat kan worden bereikt met een eenvoudige PA-14 mini-lineaire actuator en een BRK-14-beugel.

Voor onze build kozen we een driepootframe en gebruikten we 3D-geprinte onderdelen om de scharnieren en bevestigingen te maken. Hierdoor konden we een zeer draagbaar frame voor de zonnentracker creëren met een optimale helling en volgvermogen. Voor een visueel overzicht van ons bouwproces kun je terecht op ons YouTube-kanaal.

Componenten

  1. 3/4" koperen buis.
  2. 1x 3/4" eindkap voor koperen buis. 
  3. 3x 3/4" slangklem. 
  4. 3/4" PVC-buis.
  5. 1x 1 slangklem.
  6. 5x M6-bout, moer en ring.
  7. Diverse 3D-geprinte beugels.
  8. 2x actuator-montagepen (te vinden in de set BRK-14).
  9. 1x PA-14 mini-lineaire actuator.

    Foto van mini-lineaire actuator en componenten voor het bouwen van een draagbare zonnentracker

    Optimale helling

    Naast het toevoegen van de mogelijkheid om de zon te volgen, is een andere manier om de efficiëntie van het zonnepaneel te verhogen het aanpassen van de vaste hellingshoek op basis van je locatie. De optimale helling wordt bepaald door de breedtegraad van je locatie. Meer informatie vind je via deze link: Helling van zonnepanelen.

    Hier hebben we een maatvoeringstekening in zijaanzicht om te laten zien hoe we de helling van onze tracker hebben berekend. Je kunt Lengte B berekenen met de volgende vergelijking:

    Zijaanzicht-tekening van zonnepaneel

     

    Fabricage en montage

    Voor een visueel overzicht van ons bouwproces hebben we een YouTube-video geüpload.

    Stappen

    1. Bepaal de lengtes die nodig zijn om de optimale helling te bereiken.
    2. Verzamel alle benodigde componenten.
    3. Bevestig beugels aan het zonnepaneel door gaten te boren en ze vast te zetten met de juiste bouten. 
    4. Zaag de koperen en PVC-buizen op lengte.
    5. Schilder en schuur de koperen en PVC-buizen.
    6. Bevestig de beugels aan de buizen en zet ze vast met slangklemmen. 
    7. Monteer de PA-14 mini-lineaire actuator en zet vast met de BRK-14 actuator-montagepennen.

    De nieuwe en verbeterde PA-01 mini actuator (PA-14 upgrade) is het huidige model dat we aanbieden met allerlei extra voordelen. Voor een vergelijking: bekijk de tabellen hieronder en upgrade met een gerust hart!

     

    PA-01

    PA-14

    Dynamische belasting-opties

    16, 28, 56, 112, 169, 225 lbs

    35, 50, 75, 110, 150 lbs

    Hoogste belasting

    225 lbs

    150 lbs

    Hoogste snelheid

    3.54 "/sec

    2.00"/sec

    IP‑klassificatie

    IP65

    IP54

    Slaglengte-opties

    1" to 40"

    1" to 40"

    Hall-effect-terugkoppeling

    Optioneel

    Nee

    Conclusie

    De waarheid is dat zonne-energie in de nabije toekomst fossiele energie inderdaad zal vervangen. Nu mensen al met nieuwe manieren komen om de effectiviteit van zonnepanelen te vergroten, moet nog blijken wat de toekomst brengt voor de energiesector. We hopen dat je genoten hebt van ons artikel en onze video over het maken van een draagbare zonnentracker.