•Navn på robotsystemet

    “Solar tracker MAK1”

•Navne på gruppemedlemmerne

Anders Gaarsdal

Kasper Wogelius

Michelle Larsen

•Hvordan ser systemet ud? –husk billede

•Hvorfor er systemet/robotten opbygget som den er ift. at løse opgaven.

oHvilke tanker ligger bag ved opbygningen

        Sensorerne er sat på hver sin side af solcellepanelet, så de drejer med opbygningen efter solens position. Derudover er det hele vinklet 45 grader for at sikre det bedste lysindfald. På den måde sikres, at sensorerne og solcellen altid modtager det optimale lys input.

De ikke lyskrævende dele af opstillingen er gemt i en boks under solcellen, så disse ikke fejlagtigt skygger for lysindfaldet og giver motoren så fri bevægelighed som muligt.

oHvordan er gearingen og hvorfor?

        Der bliver ikke brugt en gearing i systemet da der bliver brugt en servo motor og ikke en DC motor.

oHvor er motoren placeret og hvorfor dér

Motoren er placeret i bunden af solcelle-konstruktionen sådan at der kan drejes med hele panelet med mindst muligt energi input.

oHvordan er h-broen opbygget inkl begrundelser og beregninger?

        Da vi benytter servo motor, er der ikke en h-bro

oHvordan er spændingsregulator kredsløbet opbygget inkl begrundelser og beregninger?

        Da der er brugt en servo motor har vi ikke brugt spændingsregulatorer i kredsløbet ud over de indbyggede i arduinoen.

oHvilke sensorer er benyttet og hvor er de fysisk placeret på robotten

        Der er anvendt to lyssensorer, der er placeret på hver side af solcellen til måling af lysinput.

Med denne placering måles der på, hvilken sensor, der modtager det største input, hvilket bestemmer, hvilken retning solcellen bevæges.

oHar det været problemfrit at opbygge robotten eller har den ændretform/sensor-placeringer flere gange?

        Den største udfordring ved opbygning af robotten har været forskellen på følsomheden i lyssensorerne.

Robotten har dog ikke ændret form i løbet af projektet.

•Hvordan er robottens hardware sammensat?

oLav en diagramtegning (brug evt.fritzing.org/download)

oTag et billede af robotten og sæt pile og beskrivelser på de enkelte delkomponenter

oHar der været nogle problemer ift. at få hardwaren til at virke?

        Der har været mest problemer med at lys sensorerne har forskellige outputs selv om de har haft samme lys input, vi har været nødt til at skifte sensorer ud, da de første vi brugte havde 300 – 400 forskel i output med samme input.

•Hvordan er robottens opførsel implementeret

oHvad er de overordnede opførsler / metoder for robotten        At måle lysinput og derefter bevæge solcellen og sensorer til højre eller venstre eller resette til “øst”, samt at få de forskellige farver på dioden til at lyse alt efter hvad metode der kører.

oLav et flow-diagram, der beskriver robottens opførsel

oInkludér kode + beskrivelse –Til at formatere og highlighte jeres kode på blog’en kan i bruge plugin’et Enlighter Sourcecode. Sketching-sproget formateres fint med JAVA-indstillingerne!

        #include <Servo.h>

  //setup the initial values.
  Servo servoOne;
  int calibration = 170;
  int trackerPos = 90;
  int error = 0;

  int redPin = 9;
  int greenPin = 10;
  int bluePin = 11;
 
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  //sets the pin for the servo
  servoOne.attach(6);
  //sets the pins for the LED
  pinMode (redPin, OUTPUT);
  pinMode (greenPin, OUTPUT);
  pinMode (bluePin, OUTPUT);
}

//Method for the RGB LED
void RGBcolor(int redLight, int greenLight, int blueLight)
{
  //analogwrite for each pin
  analogWrite(redPin, redLight);
  analogWrite(greenPin, greenLight);
  analogWrite(bluePin, blueLight);
}

void loop() {
  // reads the input on analog pin A0 and A1 (Minus calibration) (value between 0 and 1023)
  int analogValue = analogRead(A0);
  int analogValueTwo = analogRead(A1) - calibration;

  //checks if both values are under 150, if they are resets the solar panel towards east
  if(analogValue<150 && analogValueTwo<150){
    while(trackerPos<=160){
      trackerPos++;
      servoOne.write(trackerPos);
      delay(100);
      RGBcolor(255,0,0);
    }
  }
  //Checks if the light sensor value is more than a set value, if it is turns one way.
  error = analogValue - analogValueTwo;
  if(error>8){
    if(trackerPos<=160){
      trackerPos++;
      servoOne.write(trackerPos);
      RGBcolor(0, 255, 0);
    }
    // checks if the light sensor value is less than a set value, if it is turns the opposite way of the "if" code
 }else if(error<-8){
  if(trackerPos>5){
    trackerPos--;
    servoOne.write(trackerPos);
    RGBcolor(0, 0, 255);
  }
 }
 
  //prints the different values to the console
  Serial.print("First reading = ");
  Serial.print(analogValue);   // the raw analog reading
  Serial.print(" / Second reading = ");
  Serial.println(analogValueTwo);
  Serial.print("error reading: ");
  Serial.println(error);
  Serial.print("servoPos: ");
  Serial.println(trackerPos);

  //delays the loop with 0.3 second
  delay(300);
}

oVis grafer for testkørsel med rigtig sol.

Ud over vores graf har vi tjekket vinklen på solar tracker MAK1, i forhold til den vinkel solen havde ved addressen det blev testet på.

oHvilke udfordringer har der været ift. til at få koden til at virke?

        Den største udfordring var at finde ud af hvad for en kalibrering der skulle bruges til de valgte sensorer, især da dette skiftede hver gang systemet blev startet op efter at have været afbrudt. 

•Konklusion

oLøser robotten opgaven ift. opgaveformuleringen?

Robotten løser opgaven ift. opgaveformuleringen, da solcellen bevæges alt efter solens position, og LED lampen lyser i en given farve efter robottens status.

oPå hvilke punkter kan den forbedres –og evt. hvordan?

Fjerne lyssensorerne og bruge mapping system i stedet for.

Ved fortsat brug af lyssensorer, bør opsætningen laves 2-akset for bedre placering af solcellen ift lysinput.

der bør desuden være en “væg” i de huller hvor sensorerne er placeret for at sikre at benene ikke kortslutter og får systemet til at læse “maks værdi”

•Video

oInkludér demo-video. Det er fint at benytte en anden lyskilde end solen for at speede processen op ;-)God fornøjelse!

Leave a Reply