Andreas Adriansen, Freya Arbjerg, Osman Khassouk

Designvalg

Gruppen har valgt at benytte sig af følgende komponenter:

  • 2x LED’er, henholdsvis grøn og rød
  • 2x 220 ohm resistorer
  • 2x 10k ohm resistorer
  • 2x LDR modstande
  • Servomotor
  • Arduino

Nedenunder kan opsætningen ses både i tinkercad og i form af sketching.

Lysdioder
En LED (light-emitting-diode) er en halvlederlyskilde, der udsender lys når strøm kommer igennem den. Elektroner i halvlederen rekombineres med elektronhuller og frigiver energi i form af fotoner. Der er i dette projekt gjort brug af en grøn og rød lysdiode som har til formål at vise status på robotten. 

Resistor
En resistor er en passiv to-terminal elektrisk komponent, der har til formål at implementere elektrisk modstand som et kredsløbselement. Den benyttes ofte i kredsløb til at opdele spændinger, juster signaler reducere strøm mængden og meget mere. I dette tilfælde er det blevet anvendt i sammenkobling med lysdioderne og photoresistorene for at formindske mængden af strøm som løber igennem dem.

Photoresistor
En LDR (light-dependant-resistor) er en passiv komponent som formindsker modstanden baseret på den lysstyrke den modtager på overfladen. Modstanden på en photoresistor falder når lysintensiteten stiger og er opnår sin maksimale modstand når det mørkt. Dens lysfølsomhed bliver derfor anvendt som en sensor der i dette projekt kontrollere om robotten skal dreje eller stå stille.

Servomotor
En servo er en aktuator som består af delene DC motor, en gearing, ene styring og en positionssensor. Servoer kan styres meget nøjagtigt og kan placeres i forskellige vinkler, ofte mellem 0 og 180 grader. Den bruges i projektet til at rotere robotten baseret på de opsamlet sensorværdier fra photoresistorne.

De to LED’er skal fungere som status signaler. Den røde indikerer at servomotoren er i bevægelse, hvilket betyder den justerer sig efter hvor lyset er. Den grønne LED er tændt når motoren er på standby, hvilket betyder at solcellen er i den optimale position.

De to LDR modstande står for at indsamle data der kan fortælle noget om hvor lyset er stærkest. Deres værdier sammenlignes for at vurdere dette.

Til sidst har gruppen benyttet sig af en servomotor. Servomotoren kræver ingen form for gearing eller ekstra strømforsyning, da den kan køre på de 5V arduinoen udleder. Servomotoren er dog en smule begrænset i forhold til den stillede opgave, da den kun kan rotere 180 grader. Af denne grund skal systemet opsættes optimalt således at den opfanger så meget lys som muligt.

Robotten er konstrueret ud af en papkasse. Lim og isoleringstape er blevet brugt til at sætte servoens roterende del sammen med den ene halvdel af papkassen. Denne del af papkassen der tapet sådan at den har en vinkel på ca. 45 grader. Den anden del af papkassen er limet til bunden af servomotoren for at sænke robottens tyngdepunkt og gøre den mere stabil. 

Beregninger

Resistorerne for lysdioder er blevet beregnet efter spændingsfaldene på de enkelte lysdioder. Da den grønne lysdiode har et spændingsfald på 2,2 V og strømstyrke på 25 mA, kan ohms lov bruges til at beregne formodstanden.


Det samme bliver gjort for den røde lysdiode hvor spændingsfaldet er 2,0V og strømstyrken 25mA.

Systemets opførsel

Flowchart

Kode

De forskellige pins initialiseres. Der er opsat konstanter for de forskellige pins. Threshold værdien er den værdi der benyttes til at vurdere om der er en stor nok forskel på de to LDR modstande. Ved opstart bliver motoren nulstillet til at være på midten med en 90 graders vinkel.

Næste del af koden består af 3 metoder. rotateRight, rotateLeft og notMoving. De to rotate metoder sørger for at rykke servomotoren enten til venstre eller højre, og at sætte det røde lys til at være tændt, HIGH. Den sidste metode, notMoving, tænder det grønne lys og slukker det røde lys.

Til sidst er der loopet som bliver kaldt gentagende gange. Her aflæses værdierne af de to LDR modstande og delta udregnes. Baseret på deltas værdi vil den enten kalde rotateLeft, rotateRight eller notMoving. Det sker ved at sammenligne delta med threshold værdien.

Test

Robotten blev testet under lys fra en lommelygte. Desværre fik gruppen ikke lavet en længere test med rigtigt sollys, men følgende grafer kan stadig laves for testen med lommelygten.

I grafen ovenover ses de to sensorværdier over tid. De starter med at ligge stabilt men idet lommelygten bliver benyttet begynder værdierne at svinge. Lygten flytter sig flere gange under testen.

Her ses motorens position over tid. Ligesom i grafen før, så begynder værdien først at ændre sig når lommelygten bliver brugt og sensor værdierne skifter. 

Demo kan ses på linket nedenunder.

https://drive.google.com/file/d/15ZzWt-TcGYLM9kUUwWKXGwBwszm9Y_eu/view?usp=sharing

Konklusion

Det kan nu konkluderes at gruppen har dannet kendskab til det at skulle opsætte et kredsløb ud fra en opgavebeskrivelse. Gruppen har arbejdet med designvalg og diskuteret forskellige løsninger før den endelige løsning kom til. I løbet af projektet har gruppen lært at benytte servomotoren og LDR modstande for at til sidst at kunne lave et produkt der kan justere sig efter solens position. Desværre fik gruppen ikke formået at få lavet udendørs test over længere tid og dette måtte udskiftes med en simplere indendørs test med lommelygte. Mulige forbedringer kunne være at bygge robotten ud af bedre materiale, brug af PCB og en anden motor der kan rotere hele vej rundt.

Leave a Reply