SO: Mini-SRP Matematik/IT Dataopsamling og modellering Dato: 31/03/2014 Vejledere: Jørn Christian Bendtsen og Karl G. Bjarnason Lavet af: Jacob D. Sørensen, og Rune Kofoed-Nissen Klasse: 2.4
Indholdsfortegnelse 1 Forord... 2 1. Indledning... 2 2.1 Læsevejledning... 2 2 Planlægning... 2 4.1 Krav... 2 1.2 Modelbegreb... 3 1.3 Afkølingsproblematik... 3 4.4 Delkonklusion... 5 2 IT-delen... 5 5.2 Instrument... 5 5.2.1 Konstruktion af probe... 6 5.2.2 Kalibrering... 7 5.2.3 Delkonklusion... 8 5.1 Software... 9 5.1.1 Arduino software... 9 5.1.2 Dataopsamlings program... 10 5.1.3 Delkonklusion... 13 5.3 Dataopsamling... 14 5.3.1 Delkonklusion... 15 6 Matematikdelen... 15 6.1 Modellering... 15 6.1.1 Systemafgrænsning... 15 6.1.2 Den matematiske model opstilles... 15 6.1.3 Modellens matematiske resultater bestemmes... 20 6.1.4 Modellens konklusioner... 21 1.4 Delkonklusion... 21 6 Konklusion... 21 7 Litteraturliste... 22 9 Bilag... 23 9.1 Tidsplan... 23 9.3 Skema over afvigelse fra punkt til model... 24 1-29
1 Forord Under udarbejdelsen af denne rapport har følgende medvirket: Rune Kofoed-Nissen Jacob Ditlev Sørensen Opgaven er udstedet i fagene Matematik A, Informationsteknologi B. Projektforløbet strækker sig over perioden, d. 3. marts til d. 31. marts. Projektet er udstedet som et SO-tema hvor matematik og informationsteknologi spiller sammen omkring dataopsamling og modulering af opsamlede data. I forbindelse med projektet vil vi gerne takke matematik vejleder Jørn Christian Bendtsen og informationsteknologi vejleder Karl G. Bjarnason. 1. Indledning En kop kaffe afkøles når den står uden mere tilsat energi. Denne afkøling burde accelererer når koppen sættes ned i is. Vores opgave ligger i at opstille og evaluere matematiske modeller, samt sammenligne data som bliver opsamlet fra afkøling af varmt vand i forskellige omgivelser. Omgivelser kunne være forskellige typer kopper, eller påvirkning udefra, altså kold luft, varm luft, nedsænket i is osv. Selve dataopsamlingen skal ske med en temperaturmåler som vi selv bygger ud fra udleverede materialer og komponenter som del af flere eksperimenter vi selv sætter op. 2.1 Læsevejledning I denne rapport vil vi gå igennem vores planlægning for forløbet i afsnittet Planlægning, dette indeholder krav til produkter og gennemgang af matematiske begreber. Rapporten er delt op i to hovedafsnit, en til IT-delen og en matematik delen. I IT-delen ser vi dokumentation på software udvikling, samt dataopsamlingen. I matematik delen ser vi bearbejder vi dataene og opstiller modeller. Alle større afsnit indeholder en delkonklusion, som alle vil blive opsamlet i rapportens endelige konklusion. 2 Planlægning 4.1 Krav Til opsamlingen af dataen har vi valgt at udvikle et eksternt program. Vi har følgende krav til dataopsamlingen/programmet: Opsamle temperatur data ca. hvert minut i en time. Eksportere opsamlede data i en ekstern tekst fil. Visualisere opsamlede data i en graf. Fremvise data, live i kommandoprompt. 2-29
Vi har følgende krav til vores temperatur måler. Temperatur måleren skal være vandtæt Man skal kunne skille den ad, uden den går i stykker. Den skal være let at håndtere, og installere. 1.2 Modelbegreb Modelbegrebet er en model der repræsentere (ved hjælp af en eller anden form for midler) af et kompliceret område af virkelighden, med henblik på at få indfanget træk ved virkelighsområdet, som ellers er for vanskeligt tilgængelige eller uhåndterlige. Når det er vi anvender matematik til at behandle vores modeller, kaldes det matematiske modeller. I en matematisk model sker repræsentationen af et virkelighedsområde ved hjælp af matematiske objekter, tal, funktioner, figurer, og hvad matematikken nu består af. 1 1.3 Afkølingsproblematik Se tilbage i 3.1 for at finde hypotese til det vi vil forklarer omkring afkølingsproblematikken. I afkølingsproblematikken har vi tre mekanismer der kan give en temperaturændring 2 : Varmeledning mellem to legemer, de to legemer (eller materialer) er i fysisk kontakt. Konvention, hvor det ikke er varmeenergi der flyttes, men det varme materiale. Et eksempel er den varme luft der stiger op fra en varm vej på en solrig dag. Varmestråling elektromagnetisk stråling der udsendes af alle legemer. Det kan være svært at forudsige og beregne hvordan eller hvor hurtigt temperaturændringen sker. Ved virkelighedsnære temperatur-forskelle, kan vi benytte Newtons afkølings lov: Ændringen i et legemes temperatur er proportional med temperaturforskellen mellem legemet og omgivelserne. Denne lov vil man bruge ved moderate temperatur forskelle, som vores er. Vi har fået givet følgende formel for beregning af de punkter som skal indgå i vores modeller. T(t) = k 2 e k 1 t Vi vil I dette afsnit gennemgå hvordan man kan komme frem til formlen. Da vi gerne vil undersøge hvor stor én effekt vores varme kop vand giver gøre vi brug af følgende formel: Og newtons afkølingslov: P = Q t P = k T 1 J. Dejgaard og C. Michaelsen, 2001, Trafikmodeller Matematikkens aspekter, Matematiklærerforeningen 2 M. Stoklund (upubliceret) 3-29
P Er den mængde effekt der strømmer ud af den varme kop. t Er et kort tidsinterval mellem punkter. Q Er varmemængden. T Start temperaturforskellen mellem vand og omgivelserne. k Er en temperatur konstant afhæng af systemet. T 1 Er temperaturen omkring koppen med vand T 2 Er start temperaturen af vandet Da det er starten af målingerne er t = 0 og følgende må være gældende: T = T 2 T 1 Q afhænger af temperaturændringen ifølge sætning Q = C T C svare til vandets varmekapacitet, der er bestemt ved at gange massen og den specifikke varmekapacitet: C = m c Vi kan nu indsætte det i den første formel: P = Q t Hvis det sættes lige med Newtons afkølingslov fås: C T P = k T = t = C T t T t = k C T Vi vil nu betragte mindre tidsintervaller, svarende til at t går mod 0, hvor at T differentialkvotienten T (t): t vil nærme sig T t T (t) for t 0 4-29
Her kan vi tydelig se at det er formlen y a h t, hvor at grænseværdien a t, som er tangentens hældningskoefficient, der kaldes differentialkvotienten i x 0, og skrives: f (x 0 ) Vi kan nu indsætte det i ovenstående: T (t) = k C T = k 1 T Da k C er to konstanter, gøre vi differentialligning mere simpel ved at indføre konstanten k 1 = k C. Da det jo er T(t) vi skal finde, finder vi nu stamfunktionen af T (t): T(t) = k 2 e k 1 t 4.4 Delkonklusion Vi har opstillet krav til både program og selve temperatur måleren. Med dette kan vi gå videre til at fremstille måler og program. En gennemgang af formlerne og fremgang til den matematiske modellering er også blevet fortaget. Derfor kan vi, efter at opsamlet data, hurtigt finde frem til modeller som vi derefter kan sammenligne, og evaluere efter. 2 IT-delen 5.2 Instrument Til fremstilling af instrumentet fik vi udleveret en LM335 temperatur variabel modstand og tilsidesat en Arduino UNO, samt det løse. Da vi skal opsamle temperaturen-data er en LM335 en af de bedste temperatur variable modstande man kan få, på grund af at det er en lineær modstand. Det vil altså sige at hvis temperaturen bliver x gange større, bliver modstanden også x gange større. LM335 er også nem at kalibre da det kan gøres via en variabel modstand. Her er nogle af LM335 mest betydelige specifikationer: Direkte kalibreret i Kelvin 5-29 FIGUR 1 LM335'S INTERNE DIAGRAM
Kan aflæse temperaturer fra -40 til 100 celsius grader, Kontinuerlig Relativ lav pris Fungerer fra 400 ua til 5 ma Vi fik udleveret en variabel modstand på 10K ohm, hvilket vi fandt ud af at dens spektrum var for stort, vi skiftede derfor til en variabel modstand på 5K ohm. Dette gjorde at vi nemmere kunne fin justere temperaturen. LM335 kræver at man indsætter en modstand, som ses på nedenstående billede. Vi valgte at bruge en modstand på 220 ohm, men man kan også bruge en meget større modstand som 2.2K ohm. Jo større modstanden er, jo mindre bliver ampere forbruget, LM335 har et FIGUR 2 KREDSLØBS DIAGRAM minimum på 15 ma. Når man bruger en lille modstand bliver ampere forbruget større, hvilket også vil sige at den interne temperatur i LM335 bliver større, hvilket kan på påvirke aflæsningerne. Men 220 ohm er indenfor grænsen til hvad der kan påvirke dataopsamlingen. 5.2.1 Konstruktion af probe Vi startede med at lave en prototype på et fumlebræt. Vi fandt kredsløbs diagram af opstillingen på et datasheet fra Texas Instruments 3. Vi afprøvede sensoren ved at bruge vores hænders varme, hvor det så ud til at det var realistiske output vi fik. Vi havde følgen krav til vores dataopsamler: Temperatur måleren skal være vandtæt Man skal kunne skille den ad, uden den går i stykker. Den skal være let at håndtere, og installere. Vi loddede vores modstand på ved LM335, således at vores print fyldte mindre. 3 20-03-2014, Texas Instruments, www.ti.com.cn/cn/lit/ds/symlink/lm135.pdf 6-29
Vi isolerede alle nøgne ledninger, således at vi ikke fik en kortslutning i kredsløbet. Da vores enhed skulle være til at skille ad, loddede vi ben og sokkel på probe og printet. For at gøre proben vandtæt kom vi lim (der smelter ved varme) ved hovedet og ca. 10 cm nede af ledningerne. Herefter kom vi et 10 cm langt stykke krympeflex udover toppen af hovedet. Når at krympeflexen krymper (p.g.a varme) omkring hovedet og længere nede, varmes limen op og smelter sammen med krympeflexen. 5.2.2 Kalibrering vi ved at hvis vi kommer isterninger ned i koldt vand bliver temperaturen når der røres rundt 0 celsius. Med denne metode kalibrerede vi vores probe til den mest nøjagtige temperatur, uden brug af allerede kalibrede sensorer. 7-29
5.2.3 Delkonklusion Vi havde sat følgende krav til temperaturmåleren: Temperaturmåleren skal være vandtæt Proben blev lavet vandtæt på bedste opnåelig måde. Man skal kunne skille den ad, uden den går i stykker. Ved at lodde ben og sokkel på probeledningerne og printet, fik vi gjordet det nemt at kunne skille måleren ad. Den skal være let at håndtere, og installere. Ved at vi lodde ben på alle tre forbindelser til Arduino en, er det blevet nemt at installere enheden og den er blevet mere slidstærk. Vi har fremstillet en temperaturmåler der opfylder alle krav vi har sat. 8-29
5.1 Software 5.1.1 Arduino software 5.1.1.1 Om Arduino Eftersom at hovedcomputeren til temperaturmåleren er en Arduino, vil vi uden tvivl også bruge Arduinos eget sprog, kaldet Arduino IDE (Integrated Development Enviroment), som er lavet ud fra et andet sprog som hedder Processing. Arduino blev i 2005 oprettet i en skole i Italien, hvor IT lærere ikke var tilfredse med de daværende boards 4. ARDUINO COMMUNITY LOGO, LAVET FOR AT GIVE BRUGERE MULIGHED FOR AT BRUGE ET OFFICIELT ARDUINO LOGO, EFTERSOM AT DET NORMALE IKKE MÅ BRUGES PÅ IKKE- OFFICIELT ARDUINO INDHOLD. 5 Det ovenstående billede er koden vi har skrevet til temperaturmåleren. Til at omregne den rå data vi får fra måleren, bruger vi denne algoritme: x ( 5 ) 100, hvor x er 1023 den rå data. 5 er fordi vi bruger 5 volt til måleren. Chippen i Arduino boardet bruger 10 bits. Det vil sige at når man bruger det binærtalsystem vil man kunne få i alt 1024 værdier. Men værdien 4 Spectrum, 26/10-2011, by David Kushner - spectrum.ieee.org/geek-life/hands-on/the-making-of-arduino 5 20-03-2014, Arduino, arduino.cc/en/trademark/communitylogo 9-29
0000000000, kan ikke bruges. Derfor trækker vi den fra og bruger 1023. Derefter ganges det med 100 for at få det op til rigtig kelvin. Bagefter definerer vi en anden variabel som regner det om til celsius, ved at minus det med 273,15, da det er forskellen mellem kelvin og celsius. 5.1.2 Dataopsamlings program 5.1.2.1 Om Python Vi har valgt at bruge Python, da det er et fleksibelt sprog, som vi alle har haft erfaring med over det seneste år. Python blev designet af Guido Van Russom, en hollandsk programmør, og dukkede først op i 1991. 6 PYTHONS LOGO 7 Python er blevet til et succesfuldt sprog som har mange applikationer indenfor alt fra video spil, forretning, læring, forskning og meget andet. En del af denne succes, ligger i at sproget er simpelt og nemt at lære. Dette gør det også til det første sprog for mange programmører. 5.1.2.2 Om PySerial For at vores Arduino kan kommunikere med programmet, vil vi bruge Python modulet Et Python modul er en udvidelse til Python, lavet i Python. PySerial. PySerial giver os kommandoer som gør det muligt for os at tage data som kommer ind fra computer porte, og skrive dem i en fil der gør det nemmere for os at behandle dataene. PySerial er lavet af Chris Liechti: PySerial bruger Python licensen, altså det er frit at bruge til både kommercielle og ikke-kommercielle formål. Copyright 2001-2013 Chris Liechti <cliechti(at)gmx.net> PYSERIAL LOGO 5.1.2.3 Kodnings forløb Programmet gik gennem 3 hoved versioner: 1. En hvor vi testede metoden hvorpå vi kunne skrive i en tekst fil. 2. En første fungerende version hvorpå vi havde implementeret PySerial og skrev dataene i tekst filen. 6 19-03-2014, Python Software Foundation, Python.org, docs.python.org/2/license.html 7 19-03-2014, Python Software Foundation, www.python.org 10-29
3. En version hvor der er implementeret interval mellem skrivning, live data oversigt og andre brugerflade funktioner. 5.1.2.3.1 Første version Dette blev en såkaldt Hello World test, en test brugt inden for software til at teste om et stykke software er konfigureret rigtigt, så det virker. HELLO WORLD TESTS ER NORMALT GJORT MED FAKTISK HELLO WORLD BESKED SOM PROGRAMMET LAVER. Dette script er meget simpelt. Vi starter med at lave en variabel som bliver defineres som vores nye fil. Derefter skriver vi 2 linjer i filen, og lukker og gemmer den så til sidst. Dette gav den fil med navnet newfile.txt, som så sådanne ud: 5.1.2.3.2 Anden version Nu da vi havde fået filskrivning til at virke, var det tid til at implementerer PySerial. Da vi allerede havde uploadet Arduino scriptet til Arduinoen så dataene kom ind rigtigt, skulle vi bare hente dataene, uden at skulle behandle dem i dette program. 11-29
PROGRAMMET SKRIVER DATAEN NED 60 GANGE, DOG UDEN INTERVAL IMELLEM. Dog blev dataene ikke opdateret for hver gang i denne version, så vi fik 60 kopier af det samme. Ud af dette fik vi følgende i filnavnet dataseat.txt, som set i Error! Reference source not found.: FIGUR 3 5.1.2.3.3 Tredje version Til denne næste version, importerede vi time modulet, til at forsinke programmet så hver data opsamling tog ét minut. Dette er gjort med kommandoen: time.sleep(58). Tallet bestemmer hvor lang tid scriptet skal vente i sekunder. Den er sat til 58 fordi at vi fandt ud af at selve data læsningen tog ca. 2 sekunder. En anden ting der er gjort, er at port læsningen nu sker inde i loopet, så dataen nu bliver opdateret for hver gang. Loopet er også sat under en try, hvilket betyder at programmet nu bare vil vise en 12-29
fejl meddelelse i stedet for at crash, når den forkerte port er valgt, eller når der slet ikke er sat nogen Arduino til computeren. Det var med denne version af programmet at vores forsøg blev udført med. 5.1.3 Delkonklusion Vi havde sat følgende krav til programmerne: Opsamle temperatur data ca. hvert minut i en time. Dette er blevet gjort så præcist som muligt Eksportere opsamlede data i en ekstern tekst fil. Dette er blevet gjort. Med ny data på hver sin linje. Visualisere opsamlede data i en graf. Dette har vi dog ikke fået implementeret, da vi tidligt i forløbet fik lavet en skabelon til Excel, som opfyldte dette krav. Derfor fandt vi ingen grund til at bruge tid på dette krav til programmet. Fremvise data, live i kommandoprompt. Dette er blevet implementeret, hvor data vises sammen med minut tæller. Ud fra de krav, er dataopsamlingsprogrammet delvist fuldendt, men virker som det skal. Den manglende funktion fandt vi i forløbet ikke nødvendig, da en anden metode erstattede den. Med dette er vi klar til at stille forsøget op. 13-29
5.3 Dataopsamling Vi lavede to forsøg, hvor vi havde et almindelig krus fra IKEA og et papkrus med plastlåg fra 7- eleven. Eftersom en normalperson kan drikke en kop kaffe over en time havde vi valgt at opsamledate over en time. Vi syntes at hvis vi tog en måling per minut ville det passe meget godt med temperaturfaldet uden at få alt for mange punkter med i forsøget. Derfor lavede vi forsøget over 1 60 punkter. I hver krus var der 240 ml næsten kogende vand. Første forsøg var med papkruset fra 7-eleven. Opstillingen stod i hjørnet af et lokale i MediaLab. Lokalet var ca. 23,5 garder celsius varmt. Vores computer indsamlede følgende data: 1 74.85 16 61.16 31 52.36 46 46.01 2 73.38 17 60.18 32 51.87 47 46.01 3 71.91 18 59.69 33 51.39 48 45.52 4 70.94 19 59.21 34 50.90 49 45.52 5 69.96 20 58.23 35 50.41 50 45.03 6 69.47 21 57.74 36 49.92 51 44.54 7 68.00 22 57.25 37 49.43 52 44.05 8 67.51 23 56.76 38 49.43 53 44.05 9 66.54 24 55.78 39 48.94 54 43.57 10 65.56 25 55.78 40 48.94 55 43.08 11 65.07 26 54.81 41 48.45 56 43.08 12 64.09 27 54.32 42 47.96 57 42.59 13 63.12 28 53.83 43 47.48 58 42.59 14 62.63 29 53.34 44 46.99 59 42.10 15 62.14 30 52.85 45 46.50 60 42.10 Andet forsøg var med kruset fra IKEA. Opstillingen stod i alment klasselokale ved døren. Denne placering var ikke den mest optimale da der kan fremkomme træk. Lokalet var ca. 24,5 gader celsius varmt. Vores computer indsamlede følgende data: 1 68.49 16 50.90 31 39.66 46 36.23 2 68.00 17 50.41 32 39.17 47 35.26 3 66.54 18 49.92 33 40.14 48 35.26 4 62.63 19 48.45 34 38.19 49 35.26 5 61.16 20 48.45 35 38.19 50 35.26 6 59.21 21 47.48 36 40.14 51 34.77 7 58.23 22 46.99 37 39.17 52 33.79 8 56.76 23 46.01 38 38.19 53 34.77 9 57.74 24 45.03 39 38.68 54 34.28 10 56.76 25 44.54 40 38.19 55 33.79 11 55.78 26 44.05 41 37.70 56 31.35 12 54.81 27 43.57 42 37.21 57 30.86 13 54.32 28 42.59 43 37.21 58 33.30 14 53.34 29 43.08 44 35.75 59 31.35 15 51.39 30 42.59 45 36.23 60 30.86 14-29
5.3.1 Delkonklusion Vi har fået opsamlet to sæt data, fra to forskellige systemer, et fra en papkrus med plastlåg fra 7- eleven og et alment krus fra IKEA. Begge dataopsamlinger forgik problemfrit, men Kruset fra IKEA blev måske udsat for letter træk. 6 Matematikdelen 6.1 Modellering 6.1.1 Systemafgrænsning Da det er vi har problemstillingen med kaffekoppen der afkøles hurtigere, hvis den står på is, end hvis den står på en varm overflade. 8 Vil vi gerne finde ud af om det passer med noget teori. Da det er vi tidligere har fået udgivet vores differentieringsmetode, vil vi bruge denne til at kunne opstille nogle modeller. Vi har dermed også fået lavet os en temperatur måler som vi vil bruge til vores forsøg. Vi har valgt at bruge en tidsramme der er 1 min. Mellem hver måling. Vi har dermed opstillet denne probelemstilling for vores situation af måle udstyr. Hastigheden som kaffen afkøles med er afhængig af forskellen på temperaturen inde i og udenfor koppen. Dette vil vi lave beregninger på ved hjælp fra afkølingsprobelmatikken. 6.1.2 Den matematiske model opstilles Matematisk modellering ud fra vores punkter vi har fået fra vores dataopsamling. Vi har benyttet os af temperatur ændringen i afkølingsproblematikken, som ser således ud: T(t) = k 2 e k 1 t Vi har dermed en ligning med to ubekendte og vi vil dermed afskaffe os af med k 2 ved at sætte tiden til at være 0: T(0) = k 2 e k 1 0 = k 2 1 = k 2 Så vores start temperatur vi har vil dermed være k 2. Vi vil nu lave vores første model, ved at tage de da vi har for vores forsøg med pap med låg. Vi har et som hedder (0;74,85), da det er temperaturen =k 2 så vil det i vores tilfælde være lig med 74,85=k 2. For så at finde k 1 skal vi bruge et andet punkt. Vi har så valgt at tage den sidste dataopsamling, den er (59;42,10). Hvis det er vi sætter det ind i vores nye ligning kommer det til at se således ud: 8 Fra mini-srp oplægget 42,10 = 74,85 e k 1 59 42,10 74,85 ek1 59 = 74,85 74,85 15-29
42,10 74,85 = ek 1 59 For at få e k 1 59 til at se mere simpel ud bruger vi ln. Så det er vi for følgende udtryk: ln ( 42,10 74,85 ) = k 1 59 lne Da det er lne=1, så kommer vores udtryk til at være en del lettere. ln ( 42,10 74,85 ) = 0,575438 = k 1 59 1 = k 1 = 0,575438 = 0,009753 59 Så vores model kommer til at have følgende udtryk: T(t) = 74,85 e 0,009753 t FIGUR 4 FØRSTE MODEL (TAGET MED START OG SLUTPUNKT) Som det er man kan se på grafen skærer vores kurve igennem start og slutpunkt. Dette kan resultere i at vi ikke har en særlig stor afvigelse fra punkterne, men derimod kan afvigelsen godt blive mindre. Vi vil nu afprøve med en ny model således at det er vi for flere punkter med på kurven. Vi har nu tænkt os at tage de to start punkter og finde funktionsudtryk til dette. De to puntker er (0;74,85), og (1;73,38). Vi har bruger samme princip som tidligere. Vi for så følgende udtryk og bruger de samme regneregler fra før: 73,38 = 74,85 e k 1 1 16-29
73,38 74,85 ek1 1 = 74,85 74,85 73,38 74,85 = ek 1 1 ln ( 73,38 74,85 ) = k 1 1 lne = 0,019835 Så kommer vores k 1= 0,019835, så vores nye model med de to første punkter kommer til at se således ud: T(t) = 74,85 e 0,019835 t FIGUR 5 ANDEN MODEL (DE TO FØRSTE PUNKTER) Som det er man kan se på grafen så skærer den i de to første punkter. Dette giver dog en rigtig stor afvigelse i forhold til de sidste punkter på punktsættet. Vi vil nu afprøve at lave en model med det sidste punkt, og det tedje sidste, da det er vores to sidste har samme temperatur vil det give en liniær linje. Vi vil bruge det samme matematik som før dog med disse punkter (57;42,59) og (59;42,10). Så vi for følgende udtryk givet: 42,59 = k 2 e k 1 57 17-29
42,10 = k 2 e k 1 59 Da det er vores ligninger er med to ubekendte vil vi dividere dem med hinanden, da det er de begge indeholder k 2. Så vil det give en ligning med en ubekendt således: 42,10 42,59 = k 2 e k1 59 k 2 e k 1 58 = ek1 59 e k 1 57 Da det er vores situation ikke er helt som før, og vi har en potens med en ubekendt i eksponenten. Kan vi bruge følgende regneregl. Når det er vi to potenser med forskellige eksponenter, der divideres med hinanden, trækker med eksponenterne fra hinanden. Så bruger vi udtrykket i vores situation således: a n = an p ap e k 1 59 e k 1 57 = ek 1 (59 57) = e k 1 2 Så bruger vi det samme princip som i de tidligere regnestykker: ln ( 42,10 42,59 ) = k 1 2 lne = 0,005786 Så har vi fundet k 1=0, så skal vi finde k 2. Det gør vi ved at indsætte vores k 1 i en af de funktionsudtryk vi udledte i starten således: 42,59 = k 2 e 0,005786 57 = 42,59 e 0,005786 57 = k 2 e 0,005786 57 e 0,005786 57 = 59,2296 Så k 2=59,2296. Til sidst har vi så en funktion som ser således ud: T(t) = 59,2296 e 0,005786 t 18-29
FIGUR 6 TREDJE MODEL (TREDJE SIDSTE PUNKT OG SIDSTE PUNKT) Som det er man kan se på grafen, så skærer grafen i de sidste punkter. Men derimod giver det er forholdsmæssig stor afvigelse i starten af vores punktserie. Vi vil nu afprøve at lave en model med de to midt punkt i vores punktserie. Vi vil bruge det samme matematik som tidligere, dog med punkterne (30; 52,36) og (31; 51.87). Så vi for følgende udtryk givet: 52,36 = k 2 e k 1 30 51,87 = k 2 e k 1 31 VI bruger så vores potens regneregl til at komme videre således: 51,87 52,36 = k 2 e k1 31 k 2 e k 1 30 = ek1 31 e k 1 30 e k 1 31 e k 1 30 = ek 1 (31 30) = e k 1 1 Så tager vi ln på begge sider af lighedstegnet således: ln ( 51,87 52,36 ) = k 1 1 lne = 0,009402 Så når det er vi har fundet k 1, så vil vi bruge det i en af vores ligninger til at finde k 2. Vi gør således: 19-29
52,36 = k 2 e 0,009402 30 = Så er k 2=69,4219. Så vi for følgende funktionsudtryk: 52,36 e 0,009402 30 = k 2 = 69,4219 T(t) = 69,4219 e 0,009402 t FIGUR 7 FJERDE MODEL (DE TO MIDTERSTE PUNKTER) Som det er man kan se på grafen så er der ikke nær så stor afvigelse fra punkterne som på anden og tredje model. Dette kan skyldes at det er vi har taget det midterste af punktserien, der hvor det er det næsten har en eksponentiel faldende afkøling af vores vand. 6.1.3 Modellens matematiske resultater bestemmes Vi vil i dette afsnit beregne os frem til hvor stor en afvigelse vores punkter har i forhold til vores modeller. Det har vi gjordt for alle 4 figurer. Vi har brugt samme algoritme til at finde vores afvigelse. Vi har gjordt således: Afvigelse i procent = ((vores punkt modellens punkt)/vores punkt) 100 Så har vi lavet et skema for hver figur, hvor det er man kan se afvigelse fra hvert punkt i forhold til hvad den er på modellen vi har opstillet. Man kan se vores skemaer i bilag. Vi har dermed også 20-29
taget en regressions analyse til vores dataopsamling. FIGUR 8 REGRESSIONS ANALYSE (TENDENSLINJE) Modellens R 2 =0,9861. Dette kan tydes på at det er vi har et meget stort interval mellem hver måling. 6.1.4 Modellens konklusioner Man kan sige at på nogle af vores opstillede modeller (figur 5), at det er vores afkølingsproblematik er til dels eksponentiel. Dette kan vi begrunde os frem til da det er vores afvigelser ikke er så store. Der er også en masse usikkerheder ved denne model, da det er vores temperatur måler ikke måler helt præcist. Samt den afkølingsproblematik med Newton ikke er så god i denne situation. 1.4 Delkonklusion Vi har fået opstillet nogle modeller, som det er vi har været tilfredse med. Samt fundet afviglse til. Man kan under dette afsnit finde vores beregninger, og vores modeller. Vi har præciseret vores modeller så det er de passer bedst muligt. Vi har til sidst lavet en regressions analyse for at finde den bedst mulige graf. 6 Konklusion Vi har fået konstrueret et instrument der kan måle temperaturer. Instrumentet opfylder alle opstillede krav, således at det er nemt at skille den ad, den er vandtæt og let at installere. Instrumentet er endvidere også blevet mere slidstærkt end forventet, på grund af på loddet ben. Endvidere blev det tilhørende software fremstillet, med en algoritme som gjorde det muligt for at nemt hente dataene, uden videre behandling. Til dette udviklede vi også et dataopsamlings program - med de fleste, og vigtigste, af de udtænkte krav ud fra et velkendt programmeringssprog. 21-29
Vi fik opsamlet data fra vores instrument over to forsøg. Vi fandt frem til at 1 60 dataopsamlinger var det mest optimale, således at man ikke har flere punkter med end nødvendigt. Opsamlingen gik problemfrit, dog kunne kruset fra IKEA havde været udsat for lidt træk under forsøget Vi har dermed testet vores instrument, og fået bevis på at vores kop kaffe afkøles tilnærmelsesvis med en eksponentiel ligning. Vi har vist hvordan det ser ud i vores opstillede modeller, samt lavet beregninger på hvorvidt det er om modellen er god nok. Vi har lavet mere end et forsøg, og opsamling af data. Men vi har kun demonstreret ud fra en at dataopsamlingerne vores modeller. Vi har ikke oplevet nogle problemer undervejs med vores dataopsamling. Der er rigtig mange usikkerheder ved dette projekt da det er vi skal lave vores egen måler, samt det er vi skal teste den med en kop kaffe. Plus det er vi skal lave beregninger, som det er vi kan se om det er vores måler måler rigtigt. Og/eller om det udgivet differentierings udtryk ikke er helt korrekt, kan det også give en usikkerhed. 7 Litteraturliste Forfatter Dato Link Andet J. Dejgaard og C. Michaelsen, 2001 Matematiklærerforeningen Trafikmodeller, Matematikkens aspekter, M. Stoklund Upubliceret David Kushner, 26/10-2011 spectrum.ieee.org/geek-life/handson/the-making-of-arduino Spectrum Arduino 20-03-2014 arduino.cc/en/trademark/community Logo Python Software 19-03-2014 Python.org, Foundation docs.python.org/2/license.html Python Software 19-03-2014 www.python.org Foundation Texas Instruments 20-03-2014 www.ti.com.cn/cn/lit/ds/symlink/lm1 35.pdf Jørn Christian Mini-SRP Bendtsen oplægget 22-29
9 Bilag 9.1 Tidsplan Tidsplan Uge 10 Uge 11 Uge 12 Uge 13 Disposition Tidsplan Problemformulering Fremstilling af dataopsamler Forsøg og dataopsamling Systemafgrænsning Matematiske model opstilles Matematiske resultater Modellens konklusioner Konklusion 23-29
9.3 Skema over afvigelse fra punkt til model Figur2 minutter Figur2 temperatur Afvigelse fra punkt til Figur2 Afvigelse i procent 0 74,85 0 1 74,1235 1,003055711 2 73,4041 2,035444887 3 72,6917 2,409766177 4 71,9862 2,814706152 5 71,2875 2,549535332 6 70,5956 3,676716396 7 69,9104 3,433537786 8 69,2319 3,888236492 9 68,56 4,375729288 10 67,8946 4,160271951 11 67,2356 4,678473904 12 66,5831 5,201169666 13 65,9368 5,015105374 14 65,2969 4,834685873 15 64,6631 5,417463747 16 64,0355 6,020879044 17 63,414 5,872520264 18 62,7986 5,714458603 19 62,1891 6,366228165 20 61,5855 6,244164617 21 60,9878 6,128766737 22 60,3958 6,01995503 23 59,8097 6,737535885 24 59,2292 5,82347896 25 58,6543 6,554165679 26 58,085 6,481880003 27 57,5213 6,417274992 28 56,963 6,360268947 29 56,4102 6,311269948 30 55,8627 6,270194602 31 55,3205 6,237289974 32 54,7836 6,194554575 33 54,2519 6,178401125 34 53,7253 6,170835714 35 53,2039 6,172291881 36 52,6875 6,182680902 37 52,1761 5,26313772 38 51,6697 5,282980161 39 51,1682 4,354657776 24-29
40 50,6716 4,384309949 41 50,1798 4,423692402 42 49,6928 4,45295898 43 49,2105 4,512248402 44 48,7329 4,581914887 45 48,2599 4,662048616 46 47,7915 3,727650314 47 47,3277 3,819539086 48 46,8683 2,876784522 49 46,4134 2,980604739 50 45,963 3,095968496 51 45,5169 3,222759019 52 45,0751 2,274204605 53 44,6376 2,391705647 54 44,2044 2,54363819 55 43,7754 1,58856344 56 43,3505 1,754305025 57 42,9298 0,791524768 58 42,5131 0,971700488 59 42,1005 0,001187634 Figur3 minutter Figur3 temperatur Afvigelse fra punkt til figur3 0 74,85 0 1 73,38 0 2 71,9388 0,040034029 3 70,526-0,587017554 4 69,1409-1,184682294 5 67,783-2,488824632 6 66,4517-2,329962966 7 65,1467-3,627658807 8 63,8672-4,184933738 9 62,6129-4,706857533 10 61,3832-6,006203652 11 60,1777-6,501245478 12 58,9958-6,990667132 13 57,8371-8,286895436 14 56,7012-9,592036853 15 55,5877-10,02433992 16 54,4959-10,43032595 17 53,4257-11,72525582 18 52,3764-13,04709755 25-29
19 51,3477-13,40332673 20 50,3393-14,70163471 21 49,3507-16,00645989 22 48,3814-17,31781222 23 47,4312-17,60191604 24 46,4997-19,95776317 25 45,5865-20,23296371 26 44,6912-21,54518115 27 43,8135-22,86167505 28 42,953-24,18224571 29 42,1094-25,50641899 30 41,2824-26,83371122 31 40,4716-28,16394706 32 39,6768-29,52153399 33 38,8975-30,85673886 34 38,1336-32,19313152 35 37,3847-33,53056197 36 36,6505-34,86855568 37 35,9307-37,57037853 38 35,225-38,93541519 39 34,5332-41,71869389 40 33,855-43,11032344 41 33,1901-44,50092046 42 32,5382-45,92079464 43 31,8992-47,30776947 44 31,2727-48,69199014 45 30,6585-50,07257367 46 30,0564-53,07887838 47 29,4661-54,48260883 48 28,8874-57,57735206 49 28,3201-59,00367583 50 27,7639-60,4241479 51 27,2186-61,83786087 52 26,6841-65,07957923 53 26,16-66,55198777 54 25,6462-67,97810202 55 25,1425-71,34334295 56 24,6487-72,78801722 57 24,1647-76,24882577 58 23,6901-77,71136466 59 23,2248-81,271744 26-29
Figur4 minutter Figur4 temperatur Afvigelse fra punkt til figur4 0 59,2296-26,3726245 1 58,8879-24,60963967 2 58,5481-22,82208987 3 58,2104-21,86825722 4 57,8745-20,88225384 5 57,5406-20,73214391 6 57,2087-18,86304006 7 56,8786-18,69138833 8 56,5505-17,66474213 9 56,2242-16,60459375 10 55,8998-16,40470986 11 55,5773-15,31686498 12 55,2567-14,23049151 13 54,9379-14,00144527 14 54,6209-13,76597603 15 54,3058-12,62148794 16 53,9925-11,45992499 17 53,681-11,19390473 18 53,3713-10,93977475 19 53,0634-9,736654643 20 52,7573-9,444569756 21 52,4529-9,145538188 22 52,1503-8,839258835 23 51,8494-7,580801321 24 51,5503-8,204995897 25 51,2529-6,940290208 26 50,9572-6,599263696 27 50,6632-6,250690837 28 50,3709-5,894474786 29 50,0803-5,530517988 30 49,7914-5,158722189 31 49,5041-4,779200107 32 49,2185-4,411958918 33 48,9345-4,01659361 34 48,6522-3,612991807 35 48,3715-3,201265208 36 48,0925-2,781098924 37 47,815-3,377601171 38 47,5391-2,946837445 39 47,2649-3,544067585 40 46,9922-3,102216964 27-29
41 46,7211-2,651692704 42 46,4515-2,214137326 43 46,1835-1,746294672 44 45,9171-1,269461704 45 45,6522-0,783751933 46 45,3888-1,368619571 47 45,1269-0,871099056 48 44,8666-1,456317171 49 44,6077-0,946697543 50 44,3504-0,4275046 51 44,0945 0,100919616 52 43,8401-0,478785404 53 43,5872 0,039461126 54 43,3357 0,590044698 55 43,0857 0,013229447 56 42,8371 0,576836434 57 42,59 0 58 42,3443 0,576937156 59 42,1 0 Figur5 minutter Figur5 temperatur Afvigelse fra punkt til figur5 0 69,4219-7,819002361 1 68,7723-6,699935875 2 68,1287-5,550230666 3 67,4911-5,110155265 4 66,8596-4,637180001 5 66,2339-4,885866603 6 65,6141-3,636261109 7 65,0001-3,861378675 8 64,3918-3,336139074 9 63,7892-2,776018511 10 63,1923-2,971406326 11 62,6009-2,378719795 12 62,0151-1,781662853 13 61,4348-1,945477156 14 60,8599-2,103355411 15 60,2904-1,442352348 16 59,7262-0,759800557 17 59,1673-0,883427163 18 58,6136-1,017511294 19 58,0651-0,283991589 28-29
20 57,5217-0,379508951 21 56,9834-0,467855551 22 56,4502-0,548802307 23 55,9219 0,253746743 24 55,3986-0,688465051 25 54,8802 0,127914986 26 54,3666 0,085714391 27 53,8579 0,051802985 28 53,3539 0,026052454 29 52,8546 0,008703121 30 52,36 0 31 51,87 0 32 51,3846-0,010508985 33 50,9037 0,007268627 34 50,4274 0,034505051 35 49,9555 0,071063246 36 49,488 0,117200129 37 49,0249-0,826314791 38 48,5661-0,769878578 39 48,1117-1,72161865 40 47,6614-1,654588409 41 47,2154-1,577027834 42 46,7736-1,510253647 43 46,3359-1,411648419 44 45,9023-1,302113402 45 45,4727-1,181588074 46 45,0472-2,137313751 47 44,6256-2,004230755 48 44,208-2,967788636 49 43,7943-2,821600071 50 43,3845-2,663393608 51 42,9785-2,493107019 52 42,5763-3,461315333 53 42,1779-3,30054365 54 41,7832-3,10363974 55 41,3922-4,077579834 56 41,0049-3,86563557 57 40,6211-4,846988388 58 40,241-4,619666509 59 39,8644-5,608011158 Disse udregninger er foretaget i excel. 29-29