Simon Svansø og Paul Vuong Hung Pham

Clumsy Transformer er udelukkende opbygget til at løse kravspecifikationerne, som blev fremstillet under Porteføljeopgave 1 i kurset: Hardware og Robotteknologi F2020.

Tankerne bag Clumsy Transformer’s infrastruktur lyder på, at alle komponenterne i form af H-broen, gearingen, spændingsregulatoren samt lyssensoren skulle fremstilles tydelig visuelt for både lære og instruktorer. Med et formål om at minimere de forvirrende tanker bag sammensætningen af komponenterne samt tydeliggøre sammensætningen af hele kredsløbet.

Gearing

Udvekslingsforholdet mellem gearingen fra motoraksen og den øverste platformakse er 41.67 til 1. Gearingen er opdelt i 3 lag for at minimere farten på både opstart og nedbremsning hver gang motoren aktiveres. Desuden er det nemmere at kontrollere omdrejningerne af gearingen i Clumsy Transformer med en mindre omdrejningshastighed.

På det første lag, har det primærdrivende tandhjul på motoren 8 tænder, og det drevne tandhjul 40 tænder.

40/8 = 5

Derfor skal der 5 omdrejninger af primærtandhjulet på morteren, til at dreje én gang på det drevne tandhjul.

Det andet lag har ligeledes et primærdrivende tandhjul med 8 tænder, mens det drevne tandhjul også har 40 tænder.

40/8 = 5*5 = 25

Derfor har de 2 lag tilsammen udvekslingsforholdet 1 til 25 mellem gearingen fra motoraksen og det øverste drevne tandhjul i 2 lag.

Det tredje og sidste lag indeholder et udvekslingsforhold på 1.67, idet det primærdrivende tandhjul i 3 lag har 24 tænder, mens det drevne tandhjul som drejer den øverste platform, har 40 tænder.

40/24 = 1.67*25 = 41.67

Derfor er hele gearingen på Clumsy Transformer 1 til 41.67, idet tandhjulet på motoren skal dreje 41.67 gange, før den øverste platform drejer én gang.

H-broen

Ud fra de opgaver, som der er givet igennem undervisningen, anvendte vi tegningen derfra for at konstruere vores h-bro. H-broens mekanisme fungerer på den måde, at man kan sende strøm både fra + til – og – til +.

Dette medvirker til at man kan få en positiv og negativ rpm på motoren der vil gøre at motoren altså kan køre både til højre eller venstre. Måden hvorpå det bliver besluttet om motoren skal køre højre eller venstre sørger pnp og npn mosfet for.

En pnp og en npn mosfet vil blive aktiveret, og dette resulterer i at motoren roterer man kan ikke sætte to pnp eller npn mosfet høje. Det skal være tværs over hinanden altså Q3(pnp) og Q2(npn) eller Q4(pnp) og Q1(npn).

Spændingsregulator

En spændingsregulator anvendes til at lave de 9V fra batteriet om til 5V, så man derved kan tilslutte sin Arduino, som kører på 5V. Selvom Arduinoen har et indbygget system, som kan regulere spændingen bliv der anvist at man bør kunne konstruere en spændingsregulator. Dette blev gjort ved hjælp af LM7805 som kan lave spændingen om til de 5V.

Inde på databladet for LM7805 kunne man se en Fixed-Output Regulator, som er en spændingsregulator med et konstant output, som er det der skal konstrueres. Ud fra tegningen konstruerede man spændingsregulatoren, som gjorde at man kunne ændre spændingen til Arduinoen på 5V. Et billede af den spændingsregulator tegning vi brugte fra Sparkfun kan ses nedenfor.

Benene på denne regulator er input, ground og out

Måden hvorpå en spændingsregulator fungerer er at selvom man f.eks. vil sætte flere resistorer på sit input kredsløb vil regulatoren stadig forblive på de 5V, hvis altså ens input værdi ikke kommer under omkring 7V for LM7805. Det vil sige at regulatoren ændrer sin resistans for at vedligeholde de 5V til out.

Sensorvalg og placering

Lyssensorerne er de eneste sensorer som blev benyttet under udformningen af Clumsy Transformer. Lyssensorerne er placeret på den øverste platform, da det er denne platform som drejer efter solens retning.

Problemer med opbyggelsen

Udformningen af Clumsy Transformer har været problemfyldt og måtte derfor ændre udseende et utal af gange under konstruktionen af det endelige produkt.

Det første problem mht. opbyggelsen bestod i at konstruere Clumsy Transformer således, at omdrejningerne på den øverste platform skulle formindskes dristigt, da omdrejningshastigheden fra motoren var for kraftig. Dette var ikke gennemtænkt under den første konstruktion, og måtte derfor omstruktureres.

Det andet problem opstod, da ledningerne ikke måtte vikle sig ind i hinanden på toppen af platformen når den skulle dreje. Derfor blev der tilføjet et andet lag hvorpå arduinoen, h-broen samt spændingsregulatoren står på.

Sammensætningen af hardware – Diagramtegning i tinkercad

Billede med pile der beskriver hvor komponenterne er placeret

Problemer og fejlkilder

Problemer under udformningen af Clumsy Transformer forekom, da det tildelte 9volts batteri blev afladet under produktets opbyggelse, grundet jævnlig tests. Hvilket resulterede i, at der ikke løb nok strøm igennem kredsløbet til motoren, som derfor ikke havde nok energi til at dreje den øverste platform optimalt.

En anden potentiel fejlkilde kunne være en kortslutning i en NPN-transistor, som blev forårsaget af overophedning under hjemmearbejdets begyndelse. En kortslutning kunne derfor resultere i, at NPN-transistoren ikke kunne køre optimalt, og derfor påvirke resten af systemet.

En tredje potentiel fejlkilde kunne komme fra ledningerne, som blev klippet med en normal køkkensaks. Dette kunne have ført til løse forbindelser i kredsløbet, da strømmen kunne have været sat ud af kredsløb.

Overordnede opførsler/metoder for ClumsyTransformer

Der gøres brug af fire metoder, som kører konstant inde i loopet for at ClumsyTransformer kan få den optimale solbelysning.

To metoder rotateLeft og rotateRight bestemmer om ClumsyTransformer skal rotere mod venstre eller højre. Dette bestemmes ud fra if statements der sammenligner ldr værdierne og deres værdi i forhold til vores minimums værdi, som er en int ved navnet rotateToSun. Når en af de givne metoder aktiveres, vil det resultere i at motoren vil dreje den vej, som er tættest på solen/lyset.

En anden metode stopSeeking anvendes når der er optimalt sollys dette gøres ved hjælp af if statements der sammenligner med en minimumsværdi, der hedder stopLooking. Når if statementen opfyldes vil motoren slukke, da der er optimalt sollys.

Sidste metode badWeather har til funktion at tjekke om der er overskyet, og dette besluttes ud fra en minimumsværdi i form af en int ved navn badSun.

Flow diagram, der beskriver robottens opførsel

Her kan man se, hvordan robotten opfører sig cyklisk, da den konstant læser LDR værdierne, og derved bevæger sig igennem de forskellige metoder for at følge sollys/lys.

Inkludér kode + beskrivelse

Først angives de givne ledninger fra h-broen til at fortælle Arduinoen hvilke pins de har. Efterfølgende bliver de to LDR-sensorer tilknyttet hver deres pin A1 og A2, hvorefter der er to int værdier, som ikke er angivet for LDR sensorerne.

I metoden setup sættes pins fra h-broen til output, da vi gerne vil kunne kontrollere hvad der skal ske med motoren. Dernæst bliver vores LDR-sensor pin sat til at være input, da man gerne vil læse hvad LDR-sensoren siger.

Metoden rotateLeft sammenligner sensor værdierne, og hvis begge værdier er mindre end vores værdi rotateSun vil koden køre til venstre og eventuelt stoppe motoren for at køre den anden vej.

Ligesom funktionen rotateLeft har funktionen rotateRight til funktion at tjekke værdierne og, hvis lyset er tættest på sensorTwo vil den rotere til højre og eventuelt stoppe motoren i at køre til venstre.

Metoden stopSeeking tjekker om begge sensorer får godt nok sollys, som er værdien stopLooking der sammenlignes med. Når dette bliver sandt, vil motoren slukke grundet optimalt sollys.

badWeather bruges til at tjekke om der er dårligt vejr dette gøres ved at tjekke om vores sensor værdier er større en badSun.

Inde i loopet har vi sat vores senorværdier til at læse vores LDR, da det konstant skal opdatere vores værdi for at se hvor Clumsy Transformer skal dreje hen. Dernæst kaldes alle de ovenstående funktioner for at tjekke konstant efter de forskellige kriterier i de givne metoder.

Udfordringer med koden

Problemer undervejs var i form at LDR-sensorerne, da de ikke fungerede begge to samtidig, dog blev dette løst senere hen, da det var en kredsløbsfejl. Udover dette var koden ikke så problematisk, dog var der som sagt en løs forbindelse eller en mosfet der var i stykker, som resulterede i at motoren desværre kører langsomt den ene vej.

Grundet tidspres fik vi ikke implementeret dioder til at repræsentere de forskellige metoder der kørte, men dette ville man have gjort ved at give dem pins, og sætte dem til high når den givne metode ville eksekvere. Selvfølgelig sætte alle andre dioder til low i de andre metoder, så kun den givne diode vil lyse op.

Konklusion

Generelt overholder Clumsy Transformer alle de tekniske krav i form af gearing, opbyggelsen af H-broen samt spændingsregulatoren mm. Derudover bliver der illustreret i videoen, at den følger en lyskilde, som skal illustrere solen. Clumsy Transformer blev testet i naturlige omgivelser, og fungerede som forventet. Der var småfejl mht. vejret i form af skyer som blokerede for solens stråler. Da vores værdier i koden ikke er blevet kalibreret optimalt. Derudover resulterede fejlkilderne i, at den store breadboard plade med lyssensorerne ikke kunne placeres øverst på konstruktionen, da strømmen som kørte igennem kredsløbet, var for svagt.

Perspektivering

Mange ting kunne optimeres hos Clumsy Transformer. Konstruktionen kunne minimeres, kortslutningen kunne have været undgået, koden kunne kalibreres og det forvirrende kredsløb kunne holdes overskueligt. Hvis scenariet skulle opstå, at man kunne begynde forfra på projektet, havde vi grebet det helt anderledes an.

Video

Leave a Reply