• No results found

TOM ESKILSSON FELIX LINDBLOM

N/A
N/A
Protected

Academic year: 2022

Share "TOM ESKILSSON FELIX LINDBLOM"

Copied!
55
0
0

Loading.... (view fulltext now)

Full text

(1)

IN

DEGREE PROJECT TECHNOLOGY, FIRST CYCLE, 15 CREDITS

STOCKHOLM SWEDEN 2019,

Compact Chassis Dyno

Ett mätinstrument till mindre el- och bränslemotorer

TOM ESKILSSON FELIX LINDBLOM

KTH ROYAL INSTITUTE OF TECHNOLOGY

SCHOOL OF INDUSTRIAL ENGINEERING AND MANAGEMENT

(2)
(3)

Compact Chassis Dyno

Kompakt Chassidynamometer

FELIX LINDBLOM TOM ESKILSSON

Bachelor Thesis at ITM Supervisor: Nihad Subasic

Examiner: Nihad Subasic

TRITA-ITM-EX 2019:32

(4)
(5)

Abstract

Kompakt Chassi Dynamometer

The purpose with this project was to build a system for measuring speed and torque from motors.

The project focused on investigating the differences be- tween an optical and inductive sensor for measuring ro- tational speed. The focus was also on the construction of a friction brake which was used for measuring force from the engine.

A small prototype was made, this made the construction on the break mechanism very different from a prototype in full scale. An electric motor was used to generate read- ings from the sensor which then could be used to calculate values which then could be compared with the values from the datasheet to the electric motor. The reference values for revolutions per minutes was measured by a photo tachome- ter, Lutron DT-2234B.

The results indicate that the optical sensor is preferable, because the inductive sensor gives random measurement errors. The results also indicated that a friction brake con- struction is not optimal for measuring the torque that the motor produces. Due to losses by varying friction and the transmission of the braking force to the load cell resulted in deviant results and difficulties for iteration.

(6)

Referat

Kompakt Chassi Dynamometer

Syftet med detta projekt var att konstruera ett system f¨or att kunna m¨ata varvtal och vridmoment hos motorer.

Projektets fokus var bland annat att unders¨oka skillnaden mellan en optisk och induktiv givare f¨or anv¨andning som takometer i konstruktionen. Fokuset l˚ag ¨aven p˚a att kon- struera en friktionsbroms f¨or att m¨ata momentkraften som motorn genererade.

En liten prototyp konstruerades. Detta bidrog till att bromsme- kanismen fick en betydligt annorlunda konstruktion, ¨an om prototypen gjorts i full skala. En elmotor anv¨andes f¨or att generera v¨arden fr˚an givarna som sedan kunde j¨amf¨oras mot datan fr˚an elmotorns datablad. Referensv¨arden f¨or varv- tal togs fram med hj¨alp av en Lutron DT-2234B, en photo tachometer.

Resultatet visade att en optisk givare ¨ar att f¨oredra vid m¨atning av varvtal d˚aen induktiv givare gav en del slumpm¨assiga fel. Resultatet visade ¨aven p˚aatt en friktionsbroms ej ¨ar op- timal f¨or att m¨ata kraften som en motor skapar. F¨orluster p˚a grund av varierande friktion och ¨overf¨oringen av broms- kraften till lastcellen medf¨orde avvikande resultat och sv˚arigheter f¨or iteration.

(7)

Förord

Vi skulle vilja tacka Nihad Subasic f¨or att han hj¨alpt oss att komma ig˚ang med projektet, v¨aglett oss och givit oss feedback under projektets g˚ang. Vi skulle vilja tacka alla studenter som granskat och gett oss feedback under projektets g˚ang och de studenter som gett oss r˚ad i labbsalen. Vi skulle vilja tacka Seshagopalan Thorapalli Muralidharan f¨or hans hj¨alp med programmering i projektet. Vi skulle vilja tacka Staffan Qvarnstr¨om och Hans Johansson f¨or att de hj¨alpt oss med komponenter och teori kring dessa.

Tom Eskilsson & Felix Lindblom Stockholm Maj 2019

(8)

Innehåll

1 Introduktion 1

1.1 Bakgrund . . . . 1

1.2 Syfte . . . . 1

1.3 Omfattning . . . . 2

1.4 Metod . . . . 2

2 Teori 3 2.1 Optisk givare . . . . 3

2.2 Induktiv givare . . . . 4

2.3 DC motor . . . . 4

2.4 Lastcell . . . . 4

2.5 Lastcellsf¨orst¨arkare . . . . 4

2.6 Servomotor . . . . 5

2.7 Mikrokontroller . . . . 6

2.8 Matlab . . . . 6

3 Metod 7 3.1 Konstruktion . . . . 7

3.1.1 Bromsmekanism . . . . 7

3.2 Arduino Uno . . . . 8

3.3 Optisk givare . . . . 9

3.4 Induktiv givare . . . 10

3.5 Lastcell . . . 10

3.6 Elmotor . . . 11

3.7 Data . . . 11

3.8 M¨atningar . . . 11

4 Diskussion och Slutsats 15 4.1 Diskussion . . . 15

4.2 Slutsats . . . 16 5 Rekommendationer f¨or framtida arbeten 19

Litteraturf¨orteckning 21

(9)

Bilagor 22

A Fl¨odesschema 23

B Schematisk figur ¨over system 25

C Resultat varvtal fr˚an k¨orningar 27

D Arduinokod 29

D.1 Huvudprogram . . . 29 D.2 Bromsmekanism . . . 34

E Matlabkod 37

E.1 Matlab plot . . . 37 E.2 Ber¨akningar . . . 39

(10)

Figurer

2.1 Schematisk figur av l¨asgaffel [6]. . . . 3

2.2 Bild p˚a lastcell konstruerad med tr˚adt¨ojningsgivare [8]. . . . 5

2.3 Schematisk figur Wheatstonebrygga [7]. . . . 5

2.4 En servomotors insida [11]. . . . 6

3.1 Slutgiltig konstruktion p˚a prototyp. . . . 8

3.2 Kopplingsschema f¨or l¨asgaffel, ritat i draw.io. . . . 9

3.3 Kopplingsschema f¨or induktiv givare, ritat i draw.io. . . 10

(11)

Tabeller

3.1 Kompontentlista. . . . 7

3.2 Data f¨or elmotor. . . 11

3.3 Resultat f¨or varvtal fr˚an k¨orningar vid olika matningssp¨aningar. . . 12

3.4 Resultat fr˚an k¨orningar med olika bromskraft. . . 13

(12)
(13)

Akronymer

CAD Computer Aided Design CPU Central Processing Unit DC Direct Current

IDE Integrated Development Environment PWM Pulse Width Modulation

RAM Random Access Memory ROM Read-Only Memory

(14)
(15)

Kapitel 1

Introduktion

1.1 Bakgrund

Detta projekt valdes f¨or att ett intresse av fordon fanns, och d¨arf¨or s¨oktes det mer kunskap om de redskap som anv¨ands n¨ar fordonsprestanda m¨ats. F¨or att uppfylla de krav som st¨alls i ett kandidatexamensarbete i mekatronik, har konstruktionen p˚a dynamometern anpassats s˚a att projektet uppfyller de mekaniska, elektronis- ka och programmeringskraven. Dynamometrar f¨or motorcyklar och bilar ¨ar fr¨amst f¨orekommande n¨ar prestandaf¨orb¨attringar s¨oks. P˚a grund av att sm˚a f¨or¨andringar g˚ar att utf¨ora och ¨and˚a se resultat, d˚a testerna utf¨ors i en kontrollerad milj¨o. utf¨ora sm˚a f¨or¨andringar och ¨and˚a se resultat, d˚a milj¨on ¨ar kontrollerad som testerna utf¨ors i [4]. F¨ordelarna med en motor som ¨ar optimerad och r¨att kalibrerad f¨or sitt ¨andam˚al

¨ar m˚anga. Exempelvis ¨ar alla nytillverkade fordon noggrant inst¨allda p˚a grund av de h˚arda milj¨okraven d˚a motorerna bidrar till en hel del till milj¨oproblem [2]. Eller inom racing d¨ar prestanda ligger som h¨ogsta prioritet med ett stort antal regler p˚a konstruktion, utsl¨app och br¨anslef¨orbrukning. F¨ordelar med att kunna kalibrera en motor och m¨ata v¨arden fr˚an den kan i vissa fall ¨aven vara f¨ordelaktigt d˚a datan som tillverkaren utger ej alltid beh¨over st¨amma ¨overens med verkligheten [3].

1.2 Syfte

Avsikten med den h¨ar rapporten ¨ar att unders¨oka skillnaden mellan optisk och induktiv sensor, och andra komponenter och dess inst¨allningsm¨ojligheter genom att svara p˚a dessa fr˚agor.

• Vilka f¨ordelar och nackdelar finns det hos de olika varvtalssensorerna?

• Hur skiljer sig en friktionsbroms fr˚an de andra bromsmekanismerna som ¨ar mer vanliga i dagens dynamometrar?

1

(16)

KAPITEL 1. INTRODUKTION

1.3 Omfattning

Detta projekt handlar om att ta fram en dynamometer som ska kunna m¨ata vridmo- ment och effekt hos motorn som ¨ar ansluten. Prototypen kommer tillverkas i mindre skala, med syftet att ta fram ett fungerande system som sedan g˚ar att anv¨anda f¨or att g¨ora en konstruktion i full skala, d˚a anpassad f¨or bil eller motorcykel. I det- ta projekt kommer det endast tillverkas en mindre prototyp d¨ar en motor kopplas direkt p˚a dynamometern. Prototypen ska konstrueras s˚a att vi f˚ar tillr¨acklig data f¨or att svara p˚a de forskningsfr˚agor vi valt att unders¨oka. Dynamometern ska sty- ras med hj¨alp av en Arduino UNO som tar hand om data fr˚an sensorer, samt styr bromsf¨orm˚agan. En optisk sensor ¨ar t¨ankt att anv¨andas f¨or att registrera varvtal p˚a utg˚aende axeln fr˚an motorn. ¨Aven en induktiv sensor ¨ar t¨ankt att anv¨andas f¨or att m¨ata varvtal d¨ar datan fr˚an denna sensor j¨amf¨ors med datan fr˚an den optiska sensorn f¨or att kunna avg¨ora vilken sensortyp som ger b¨ast resultat. Vridmomentet som motorn genererar kommer m¨atas med hj¨alp av friktion via en broms som en kraftgivare ¨ar kopplad till (liknande De Prony-broms).

1.4 Metod

F¨or att besvara de forskingsfr˚agor som valdes att unders¨okas byggdes det en proto- typ, d¨ar st¨orre delen av konstruktionen ¨ar 3D-printad ifr˚an CAD-modeller. Detta ans˚ags mest effektivt d˚a komponenterna var relativt sm˚a och med specifika former.

F¨or att kunna besvara den f¨orsta forskningsfr˚agan beh¨ovdes det b˚ade en optisk och en induktiv varvtalsgivare kopplad p˚a samma axel. D˚a resultatet ifr˚an de b˚ada beh¨ovdes j¨amf¨oras. Den andra forskningsfr˚agan kr¨aver att niv˚an p˚a bromsf¨orm˚agan ska vara kontrollerbar, det gjordes med en servomotor. Bromsfunktionen blev den sv˚araste mekanismen att konstruera, d˚a all bromskraft skulle vara m¨ojlig att m¨ata med lastcellen. Vid kalibrering av systemet anv¨ands en DC (Direct Current) motor, med hj¨alp av den gick det att r¨akna ut vilket moment och effekt som dynamome- tern ska retunera. Mikrokontrollern som anv¨ands f¨or att bearbeta all data ifr˚an m¨atningar som g¨ors kommer att vara en Arduino UNO. Denna kommer i sin tur att skicka informationen till en dator som plottar upp datan f¨or att anv¨andaren av dynamometern ska kunna analysera datan fr˚an testet enklare.

2

(17)

Kapitel 2

Teori

2.1 Optisk givare

En optisk pulsgivare best˚ar av en s¨andare och en mottagare. S¨andaren skickar ljus som tr¨affar mottagaren som d˚a signalerar att ljuset fr˚an s¨andaren har tagits emot av mottagaren. Den optiska pulsgivaren som valdes att anv¨andas i projektet var en l¨asgaffel. En l¨asgaffel best˚ar huvudsakligen av en s¨andare (ljusk¨alla), och en mottagare (transistor). En simpel schematisk figur av en l¨asgaffel syns i Figur 2.1.

F¨or att l¨asgaffeln ska ge olika signaler s˚akr¨avs det att ljuset fr˚an s¨andaren blockeras, s˚a att ljuset tr¨affar mottagaren med pulser. Detta kan g¨oras med en kodskiva, det vill s¨aga en skiva med en serie h˚al (slitsar), som f¨asts p˚a den roterande axeln.

Detta f¨or att pulsgivaren ska kunna registrera varvtalet. Antalet slitsar best¨ammer uppl¨osningen p˚a m¨atningen. F¨or h¨og uppl¨osning och andra komponenter hinner inte med att registrera alla pulser. F¨or l˚ag uppl¨osning och noggrannheten p˚a m¨atningen blir l˚ag [1].

Figur 2.1. Schematisk figur av l¨asgaffel [6].

3

(18)

KAPITEL 2. TEORI

2.2 Induktiv givare

Den andra metoden som valdes f¨or att m¨ata varvtal var med en induktiv pulsgivare.

En induktiv givare skapar ett h¨ogfrekvent magnetiskt f¨alt genom att en spole indu- ceras. Detta sker genom att en str¨om g˚ar igenom spolen. N¨ar ett elektriskt ledande material kommer i n¨arheten av magnetf¨altet och d˚a absorberar energi fr˚an mag- netf¨altet, vilket resulterar i att givaren signalerar att en ¨andring av magnetf¨altet har skett [12]. Det finns flera olika typer av induktiva givare, men de bygger p˚a samma princip att ett magnetf¨alt ¨andras [1].

2.3 DC motor

I projektet anv¨ands det en DC motor som input i dynamometern, med hj¨alp av den var det m¨ojligt att kalibrera dynamometern. D˚a m¨arkadatan f¨or DC motorn

¨ar k¨and, samt sp¨anningen och str¨ommen som matar motorn. Det som fr¨amst skulle m¨atas var vridmomentet och effekten p˚a den tillkopplade motorn, d¨arf¨or beh¨ovs det information om momentet som DC motorn genererar vid en viss sp¨anning och str¨om. Det g˚ar att ber¨akna med formeln [1]

M = K2ΦIA (2.1)

Med hj¨alp av vridmomentet kan effekten r¨aknas ut

P = Mω (2.2)

2.4 Lastcell

F¨or att m¨ata en kraft i form av tryck, g¨ors detta med hj¨alp av en tr˚adt¨ojningsgivare.

D¨ar ledningen blir l¨angre och diametern minskar n¨ar kraften trycker p˚a lastcellen, d¨armed ¨okar resistansen i ledningen. Genom att skicka en str¨om genom ledning- en g˚ar det att m¨ata sp¨anningsskillanden. Det ¨ar v¨aldigt sv˚art att m¨ata resistans f¨or¨andring d˚aden vanligtvis ¨ar kring 1%, d¨ar med st¨aller det h¨oga krav p˚am¨atdonet.

F¨or att undvika plasticering i tr˚aden g˚ar det endast att m¨ata deformation p˚a 0,4 - 0,5% [1] [7]. Figur 2.2 visar ett exempel p˚a en lastcell med tr˚adt¨ojningsgivare som

¨aven var den lastcellen som anv¨andes f¨or detta projekt.

2.5 Lastcellsförstärkare

Resistans¨andringarna som sker i en lastcell ¨ar mycket sm˚aoch d¨arf¨or sv˚ara att m¨ata.

Detta l¨oses genom att anv¨anda en lastcellsf¨orst¨akare som f¨orst¨arker motst˚ands¨andringarna med hj¨alp av en Wheatstonebrygga. En Wheatstonebrygga uppt¨acker sm˚a resi- tansf¨or¨andringar och ger god noggrannhet vid m¨atning av dessa. Wheatstonebryg- gan bygger p˚a fyra resistorer som ¨ar sammankopplade i en fyrkant, se Figur 2.3.

4

(19)

2.6. SERVOMOTOR

Figur 2.2. Bild p˚a lastcell konstruerad med tr˚adt¨ojningsgivare [8].

Tv˚a av dessa resistorer skapar en sp¨anningsdelare. De andra tv˚a resistorerna, re- ferensresistorn och den ok¨anda resistorn, ¨ar kopplade i serie till sp¨anningsk¨allan.

Sedan l¨aggs en sp¨anning ¨over en av diagonalerna och sp¨anningen ¨over den and- ra diagonalen m¨ats med en nolldetektor. N¨ar nolldetektorn visar noll genom att sp¨anningsdelningen ¨andrats s˚a ¨ar kvoten mellan den ok¨anda resistorn och referens- resistorn lika med den k¨anda sp¨anningsdelningen [9] [1] [7].

Figur 2.3. Schematisk figur Wheatstonebrygga [7].

2.6 Servomotor

En servomotor ¨ar en elektrisk motor som har relativt h¨ogt vridmoment och kan v¨aldigt precist st¨alla sin axel i ett visst l¨age med hj¨alp av en potentiometer. F¨or att kunna st¨alla sin axel i ett visst l¨age med god precision s˚a anv¨ands ett closed-loop feedback system. En servomotor best˚ar i huvudsak vanligtvis av en v¨axell˚ada, en DC motor, en potentiometer och en styrkrets, se Figur 2.4. Genom att skicka pulser

5

(20)

KAPITEL 2. TEORI till servot med olika bredder s˚a kan l¨aget best¨ammas p˚a den utg˚aende axeln fr˚an servot. F¨or att styra servot kommer en Arduino Uno anv¨andas, d¨ar ett befintligt bibliotek anv¨ands f¨or att styra servot [10] [11].

Figur 2.4. En servomotors insida [11].

2.7 Mikrokontroller

F¨or att styra alla komponenter och ta hand om all data anv¨andes en mikrokontroller.

En mikrokontroller har m˚anga likheter med en dator. En mikrokontroller best˚ar i huvudsak av en CPU (Central Processing Unit), RAM (Random Access Memory), ROM (Read-Only Memory) och ett antal in- out utg˚angar. CPU anv¨ands f¨or att bearbeta data, det vill s¨aga k¨ora program och utf¨ora andra uppgifter. RAM anv¨ands f¨or att ladda program och spara data under tiden mikrokontrollern arbetar och t¨ommer sedan detta minne n¨ar arbetet ¨ar slutf¨ort. ROM ¨ar till f¨or att spara program.

ROM ¨ar inbyggt i vissa mikrokontrollers och i andra inte. Detta minnet kommer ih˚ag vad som sparats p˚a det tills anv¨andaren aktivt tar bort det. En mikrokontroller har ¨aven in- och utg˚angar som anv¨ands f¨or att kommunicera med andra elektroniska komponenter [16].

2.8 Matlab

Matlab ¨ar ett programmeringsprogram d¨ar spr˚aket ¨ar matrisbaserat och ¨ar an- passat f¨or matematiska ber¨akningar. D¨armed mycket anv¨andbart n¨ar v¨arden ska granskas i stora vektorer eller matriser, och skapa avl¨asningsbara grafer av dessa.

Versionen av Matlab som anv¨andes var 9.6 R2019a.

6

(21)

Kapitel 3

Metod

3.1 Konstruktion

D˚a projektet var tidspressat och hade en l˚ag budget gjordes en liten prototyp. Kon- struktionen togs fram genom att f¨orst ta reda p˚a vilka komponenter som beh¨ovdes.

N¨ar dessa var k¨anda kunde konstruktionen dimensioneras s˚a att alla komponenter fick plats. De komponenter som anv¨andes i projektet syns i tabell 3.1. I Figur 3.1 syns den f¨ardigst¨allda prototypen och dess komponenter.

Komponentlista

Ben¨amning Modell Antal (st)

Mikrokontroller Arduino UNO SMD 2

L¨asgaffel OPB960T51 1

Induktiv givare E2B-M12KS04-WP-B1 2M 1

Lastcell - 1

Lastcellsf¨orst¨arkare HX711 1

DC motor 9.7:1 Metal Gearmotor 25Dx48L HP 6V 1

Servo Corona DS238MG 2

Tabell 3.1. Kompontentlista.

3.1.1 Bromsmekanism

F¨or att ta reda p˚a vridmomentet som motorn genererade anv¨andes det en broms som ¨overf¨or vridmomentet till en lastcell som i sin tur skickade v¨arden till Arduino enheten. Bromsens konstruktion gjordes med en traditionell skivbroms i ˚atanke, det vill s¨aga huvudsakligen best˚aende av en bromsskiva och ett bromsok. Bromsskivan och bromsbel¨aggen som anv¨andes i konstruktionen togs fr˚an en radiostyrd bil. F¨or att applicera en bromskraft anv¨andes tv˚a servomotorer som styrdes via en Arduino enhet. De servon som anv¨andes var tv˚a Corona DS238MG.

7

(22)

KAPITEL 3. METOD

Flera olika l¨osningar skapades f¨or att applicera bromskraften, som j¨amf¨ordes mot varandra f¨or att komma fram till vilken l¨osning som gav det mest f¨ordelaktiga resul- tatet. Det var en iterativ process d¨ar resultaten till de olika l¨osningarna skilde sig mycket ˚at. Det gjorde valet p˚a konstruktionen till bromsmekanismen enkelt. Sam- ma mekaniska konstruktion anv¨andes men tv˚a olika bromskrafter som f¨orhandsval skapades. Detta f¨or att kunna utf¨ora olika m¨atningar p˚a samma elmotor samt att en m¨atning med varierande bromsmoment skulle vara m¨ojligt.

Tillkopplad Motor Servo

Skiva Induktiv Givare Optiska Sensor

Kodskiva

Lastcell Momentarm

Bromsok

Figur 3.1. Slutgiltig konstruktion p˚a prototyp.

3.2 Arduino Uno

Tv˚a stycken Arduino UNO anv¨andes i projektet p˚a grund av programmeringen av den induktiva och den optiska givaren skapade problem f¨or bromsmekanismen, d˚a givarna programmerades med interrupts vilket ledde till att servomotorerna inte kunde ge en konstant bromskraft. Detta ledde till att bromsmekanismen styrdes med en egen Arduino UNO f¨or att eliminera detta problem. Den f¨orsta Arduino UNO enheten anv¨andes f¨or alla ber¨akningar och hantering av all n¨odv¨andig data fr˚an givarna. Den andra Arduino UNO enheten anv¨andes f¨or att applicera broms- kraften.

Ett gr¨anssnitt skapades, det gjorde det m¨ojligt f¨or anv¨andaren att analysera den lagrade datan efter varje m¨atning som utf¨orts med dynamometern. En schematisk fi- gur ¨over hela konstruktionens kopplingschema finns i bilaga B. Koden som anv¨andes skrevs i Arduino IDE som ¨ar en open-source programvara till Arduino. Koden f¨or

8

(23)

3.3. OPTISK GIVARE

huvudprogrammet finns i bilaga D.1 och koden f¨or bromsmekanismen finns i bilaga D.2.

3.3 Optisk givare

Den optiska pulsgivaren som valdes till projektet var en l¨asgaffel av modell OPB960T51.

Till l¨asgaffeln gjordes det ett kretskort f¨or att driva den och skicka signaler till Ardu- inon. Kretskortet ¨ar byggt efter kopplingsschemat syns i Figur 3.2 d¨ar en pulldown resistor, R2 i Figur 3.2, har anv¨ants f¨or att minimera att fel skulle uppst˚a fr˚an st¨orningar. Resistansen R1 i Figur 3.2 valdes genom att f¨orst ber¨akna resistansen som beh¨ovdes f¨or att inte mata dioden med f¨or h¨og sp¨anning. Detta ber¨aknades med Ohms-lag. I figur 3.2 syns det att l¨asgaffeln kopplades till input pin tv˚a d˚a interrupts anv¨andes f¨or att registrera signalerna och interrupts endast fungerar p˚a input tv˚a och tre p˚a Arduino UNO [15].

Till l¨asgaffeln beh¨ovdes en kodskiva, det vill s¨aga en skiva med en serie h˚al (slitsar) i f¨or att pulsgivaren skulle kunna registrera varvtalen. F¨or m¨atning av varvtalet kr¨avdes det ingen h¨og uppl¨osning, d˚a varvtalet ej f¨or¨andrades snabbt. P˚a grund av detta och mikrokontrollerns ber¨akningsbegr¨ansningar, valdes det en mycket l˚ag uppl¨osning. F¨or att komma fram till en tillfredsst¨allande uppl¨osning testades n˚agra olika, f¨or att sedan v¨alja ut en uppl¨osning [13] [14]. Uppl¨osningen som valdes var fyra stycken h˚al.

R2 I

U

R1

Arduino UNO Input Pin 2

OPB960T51 +

Figur 3.2. Kopplingsschema f¨or l¨asgaffel, ritat i draw.io.

9

(24)

KAPITEL 3. METOD

3.4 Induktiv givare

Den induktiva givaren som anv¨andes i projektet var en E2B-M12KS04-WP-B1 2M fr˚an Omron. Den induktiva givaren beh¨ovde en sp¨anning p˚a 10 - 30 volt, d¨armed kr¨avdes det en extern sp¨anningsk¨alla d˚aArduinon inte gav tillr¨ackligt h¨og sp¨anning.

Kopplingsschemat f¨or den induktiva givaren syns i Figur 3.3. En pulldown resistor anv¨andes f¨or att f˚abort st¨orningar p˚ainsignalen till Arduinon. F¨or att den induktiva givaren skulle skicka en signal till Arduinon kr¨avdes det n˚agot som absorberade energi fr˚an magnetf¨altet. Detta l¨ostes med hj¨alp av j¨arn. Den uppl¨osningen som togs fram till den optiska givaren anv¨andes ¨aven f¨or den induktiva givaren f¨or att kunna j¨amf¨ora deras resultat med varandra. D¨arf¨or anv¨andes fyra stycken j¨arnbitar som monterades p˚a en skiva som sattes p˚a dynometerns axel som ¨ar kopplad till motorns utg˚aende axel. ¨Aven f¨or den induktiva givaren anv¨andes interrupts, d¨arav anv¨andes input pin tre p˚a Arduinon [15].

R1 I

U

Induktiv givare

Arduino UNO input

pin 3 +

Figur 3.3. Kopplingsschema f¨or induktiv givare, ritat i draw.io.

3.5 Lastcell

Lastcellenen som anv¨andes var en tr˚adt¨ojningsgivare som tillsammans med en f¨orst¨arkare byggdes upp till en Wheatstonebrygga. Till lastcellen anv¨andes en HX711 lastcell- sf¨orst¨arkare. F¨or att anv¨anda lastcellen s˚a beh¨ovdes n˚agra delar tillverkas, dessa delar 3d-printades. Delarna sattes ihop med lastcellen och lastcellen monterades med resten av konstruktionen och kopplades med lastcellsf¨orst¨arkaren. Sedan ka- librerades lastcellen vilket gjordes med hj¨alp av en 100 grams vikt och ett bibliotek som var skapat f¨or lastcellsf¨orst¨arkaren.

10

(25)

3.6. ELMOTOR

3.6 Elmotor

Som input i dynamometern anv¨andes en DC motor av modell 9.7:1 Metal Gearmotor 25Dx48L HP 6V. Datan f¨or elmotorn syns i tabell 3.2 Med hj¨alp av elmotorns data ber¨aknades K2Φ med ekvation 2.1, det gav K2Φ = 0, 04230. D¨arefter m¨attes mo- torns resistans, d˚a den inte var angiven i databladet, R = 0, 6Ω. Elmotorn anv¨andes sedan i olika m¨atningar f¨or att kalibrera och kontrollera hur noggrann dynamome- terns resultat var.

3.7 Data

Matlab anv¨andes f¨or att samla ihop datan fr˚an en k¨orning och plotta detta. En k¨orning definierades som ett tidsspann p˚a 20 sekunder fr˚an de att m¨atningarna av elmotorn startades. N¨ar 20 sekunder passerat s˚a lades datan fr˚an k¨orningen ¨over i ett exceldokument som sedan importerades till Matlab d¨ar datan behandlades och plottades.

Tre stycken olika knappar programmerades f¨or att kunna styra bromsen d¨ar en av dessa knappar satte bromskraften till noll och de andra tv˚a knapparna gav tv˚a olika bromskrafter. Ett fl¨odesschema ¨over hur programmet fungerar syns i bilaga A.

Gear ratio: 9,68:1

No-load speed @ 6V: 990 rpm No-load current @ 6V: 550 mA Stall current @ 6V: 6500 mA Stall torque @ 6V: 2,8 kgcm

Motor type: 6,5 stall @ 6V (HP 6V)

Tabell 3.2. Data f¨or elmotor.

3.8 Mätningar

Det gjordes fem stycken k¨orningar av dynamometern d¨ar matningssp¨anningen till elmotorn sattes till fem stycken olika v¨arden. Under dessa k¨orningar s˚a k¨ordes b˚ada givarna p˚a samma g˚ang och datan fr˚an de b˚ada givarna matades sedan in i Matlab d¨ar de plottades och medelv¨arden fr˚an k¨orningarna ber¨aknades, se bilaga E.1 E.2.

Medelv¨ardena fr˚an alla k¨orningar syns i tabell 3.3. I alla k¨orningar s˚a matades den optiska givaren med fem volt fr˚an den ena Arduinoenheten och den inuduktiva giva- ren matades med en sp¨anning p˚a 15 volt och 100 mA fr˚an en extern sp¨anningk¨alla.

En k¨orning innebar att elmotorn matades konstant med den givna matningsp¨anning f¨or den aktuella k¨orningen. Tiden f¨or en k¨orning sattes till 20 sekunder, f¨or att even- tuella fel skulle vara i minoritet.

11

(26)

KAPITEL 3. METOD

Matningssp¨anning [V] Opmedelv¨arde [rpm] Inmedelv¨arde [rpm] Lutron DT-2234B [rpm]

2 278 278 278

3 449 454 445

4 619 622 615

5 781 786 779

6 942 944 945

Tabell 3.3. Resultat f¨or varvtal fr˚an k¨orningar vid olika matningssp¨aningar.

Opmedelv¨arde i tabell 3.3 st˚ar f¨or medelv¨ardet f¨or den optiska givaren under en k¨orning. Inmedelv¨arde i tabell 3.3 st˚ar f¨or medelv¨ardet f¨or den induktiva givaren under en k¨orning.

Sedan utf¨ordes det en m¨atning med dynamometern med l˚agt bromsmoment och sedan en m¨atning med h¨ogt bromsmoment. Med ekvation 2.1 ber¨aknades momen- tet som motorn genererar. Effekten in i elmotorn ber¨aknades med

P = U · IA (3.1)

och sedan ber¨aknades elmotorns f¨orlusteffekt

Pf = R · IA2 (3.2)

D¨ar efter ber¨aknades effekten som elmotorn genererar p˚a output axeln

Pout = P − Pf (3.3)

Med varvtalet ifr˚an de b˚ada m¨atningarna ber¨aknades vinkelhastigheten ω = n ·

60 (3.4)

Sedan ber¨aknades effekten som dynamometern registrerat, d¨ar M ¨ar det v¨ardet som Arduinon har ber¨aknat med lastcellens v¨arden

Pd = M · ω (3.5)

D¨ar efter ber¨aknades m¨atfelet i effekt mellan dynamometern och elmotorns output

M¨atfel = Pout− Pd (3.6)

Resultatet ifr˚an m¨atningarna syns i tabell 3.4 nedanf¨or och ber¨akningarna utf¨orda i Matlab i bilaga E.2.

12

(27)

3.8. M¨ATNINGAR

atdata agt Bromsmoment ogt Bromsmoment

Sp¨anning [V] 5,0 5,0

Str¨om [A] 2,20 3,3

Moment elmotor [Nm] 0,0931 0,1396

Effekt in i elmotor [W] 11,0 16,50 orlusteffekt elmotor [W] 2,9040 6,5340 Uteffekt elmotor [W] 8,0960 9,9660

Varvtal [rpm] 497,0 330,4

Vinkelhastighet [rad/s] 52,0457 34,5994 Moment dynamometer [Nm] 0,1551 0,2267 Effekt dynamometer [W] 8,0727 7,8435

atfel [W] 0,0233 2,1225

Tabell 3.4. Resultat fr˚an k¨orningar med olika bromskraft.

13

(28)
(29)

Kapitel 4

Diskussion och Slutsats

I det h¨ar kapitlet kommer resultatet diskuteras och en slutsats formuleras med hj¨alp av forskningsfr˚agorna.

4.1 Diskussion

F¨or att besvara forskningfr˚agan ”Vilka f¨ordelar och nackdelar finns det hos de oli- ka varvtalssensorerna?”unders¨okte vi testerna som gjordes, d¨ar den optiska giva- ren ger b¨ast resultat generellt i j¨amf¨orelse med Lutron DT-2234B. Orsaken till att medelv¨ardena fr˚an den induktiva givaren avvek mer fr˚an v˚ar referens ¨an vad den optiska givaren gjorde var f¨or att den ibland gav v¨arden som var v¨aldigt h¨oga. Vad som gav upphov till dessa avvikande v¨arden ¨ar oklart. Enligt databladet som f¨oljde med den induktiva givaren s˚a ¨ar den k¨anslig f¨or st¨orningar. Den optiska givaren gav aldrig n˚agra slumpm¨assiga fel. Slutssatsen som kunde dras efter testerna var att den optiska givaren presterade b¨attre ¨an den induktiva givaren. Men generellt ¨ar den optiska givaren v¨aldigt k¨anslig f¨or vilken milj¨o den anv¨ands i, d˚a ljus, v¨atska, fukt kan f¨orst¨ora den helt [1]. Medans det finns induktiva givare som t˚al de flesta milj¨oer, den uppfattningen fick vi inte ifr˚an projektets exemplar. D˚a m¨atningarna inneh¨oll n˚agra st¨orre fel som syns i bilaga C.

Om man unders¨oker resultaten ifr˚an testerna med h¨ogt och l˚agt bromsmoment g˚ar det att besvara den andra forskningsfr˚agan ”Hur skiljer sig en friktionsbroms i mot de andra bromsmekanismerna som ¨ar mer vanliga i dagens dynamometrar?”.

D¨ar resultatet ifr˚an de genomf¨orda m¨atningarna gav st¨orre fel i form av effekt, j¨amf¨ort med den elmotor som anv¨andes som referens. V¨ardena som syns i tabell 3.4 inneh˚aller en konstant f¨or att kalibrera dynamometern, men det fanns ingen kon- stant som kunde ge tillr¨ackligt litet m¨atfel vid b˚ade h¨ogt och l˚agt bromsmoment.

D¨ar dras slutsatsen att f¨or mycket av bromskraften inte g˚ar direkt till lastcellen utan tas upp av andra komponenter i form av tr¨oghetsmoment, friktionsv¨arme och friktion i kullager. Om man j¨amf¨or v˚ar friktionsbromsdynamometer med mer van- liga tr¨oghetsmomentdynamometrar ¨ar v˚ar konstruktion mer komplicerad p˚a grund

15

(30)

KAPITEL 4. DISKUSSION OCH SLUTSATS av fler komponenter. D¨ar en tr¨oghetsmomentdynamometer endast best˚ar av en stor roterande massa och en varvtalssensor och v¨arden tas fram rent matematiskt.

Tr¨oghetsmomentdynamometern har d˚av¨aldigt lite potentiella felk¨allor och ¨ar d¨arf¨or mer exakt. Men nackdelen blir d˚a att vid m¨atning av starkare motorer och fordon beh¨ovs en v¨aldigt stor roterande massa, d¨ar med ¨okar storleken och priset.

En annan vanlig konstruktion p˚a bromsmekanismen i en dynamometrar ¨ar en ”eddy current dynamometerd¨ar den best˚ar av en specialkonstruerad elmotor som brom- sar med ett motriktat magnetf¨alt [17]. Som sedan ¨ar kopplad till en lastcell f¨or att m¨ata momentet. Den delar en egenskap med den dynamometer som endast anv¨ander tr¨oghetsmoment och det ¨ar att bromsmomentet g˚ar att ber¨akna mer exakt ¨an med en friktionsbroms. P˚a grund av att friktionen varierar v¨aldigt mycket beroende p˚a temperaturen vid kontaktytorna, och temperaturen vid friktionsytorna ¨okar under hela m¨atningen med en dynamometer. Nackdelen med eddy current dynamometer

¨ar att komponenterna ¨ar m˚anga och dyra p˚a grund av den h¨oga str¨omen som kr¨avs f¨or att bromsa en starkare motor. Storleken p˚a en eddy current dynamometer blir j¨amf¨orbar med en friktionsbromsdynamometer, men priset blir h¨ogre p˚a grund av de dyrare komponenterna.

Med den induktiva givaren uppstod det problem n¨ar sp¨anningen var n¨ara tio volt.

Detta gav stora fel och op˚alitliga v¨arden. Ett annat problem som ¨aven uppstod n¨ar den induktiva givaren fick en sp¨anning kring 10 volt var att datan fr˚an den induktiva givaren blev p˚averkad av den optiska givaren. B˚ada dessa problem l¨ostes genom att ¨oka sp¨anningen till 15 volt. Den induktiva givaren fortsatte dock att ge ett f˚atal slumpm¨assiga fel vilket ej gick att bli av med. Den induktiva givaren var

¨aven beroende av att datorn som var kopplad till Arduinon var kopplad till ett str¨omuttag d˚a troligen datorns batteri inte var en tillr¨ackligt bra jordningspunkt.

Det testades tv˚a olika bromskonstruktioner med tre olika servon, d¨ar den f¨orsta konstruktionen hade bra kontroll p˚a bromskraften, men f¨or mycket av bromskraf- ten gick inte till lastcellen, utan togs upp som friktion mellan servot och bromsoket.

Den andra konstruktionen anv¨andes av tv˚a mindre servon som satt p˚a bromso- ket och f¨oljde med bromsoket i r¨orelsen. D¨ar de tv˚a f¨orsta servomotorernarna som anv¨andes var av den billigare typen som hade problem att beh˚alla sin position vid belastning, d¨armed uppdaterades de till tv˚a av h¨ogre kvalit´e.

4.2 Slutsats

Resultaten ifr˚an m¨atningar var n˚agorlunda f¨orv¨antade d˚a precisionen p˚a konstruk- tionen och komponenterna beh¨ovde vara h¨ogre ¨an de vi hade tillg˚ang till och kunde tillverka. Men resultatet var tillr¨ackligt bra f¨or att besvara de forskningsfr˚agor vi formulerade i projektets start.

16

(31)

4.2. SLUTSATS

Den f¨orsta forskningsfr˚agan kunde besvaras och slutssatsen som kunde dras efter testerna fr˚an den optiska och den induktiva givaren var att den optiska givaren presterade b¨attre ¨an den induktiva givaren p˚a grund av slumpm¨assiga fel fr˚an den induktiva givaren.

Fr˚an tabell 3.4 kunde slutsatsen att f¨or mycket av bromskraften inte g˚ar direkt till lastcellen utan tas upp av andra komponenter i form av tr¨oghetsmoment, frik- tionsv¨arme och friktion i kullager. Detta skapar m˚anga potentiella felk¨allor vilket g¨or det sv˚art att f˚a ut v¨arden som ¨ar konsekventa.

17

(32)
(33)

Kapitel 5

Rekommendationer för framtida arbeten

Om en fullskalig dynamometer skulle byggas s˚a skulle en induktiv givare vara att f¨oredra d˚a dessa ¨ar mer slitstarka och klarar h˚ardare milj¨oer ¨an vad optiska givare g¨or [1]. Om man dock skulle l¨agga tid p˚a att g¨ora n˚agon form av skydd f¨or en optisk givare s˚a att den blir mindre k¨anslig f¨or milj¨o s˚a skulle den enligt v˚ara resultat vara att f¨oredra d˚a den ger mer exakta resultat ¨an den induktiva. En f¨ordel med den optiska ¨ar ocks˚a att den g˚ar att driva med hj¨alp av arduinon, det vill s¨aga ingen extern sp¨anningk¨alla beh¨ovs till konstruktionen.

Om en fullskalig dynamometer skulle byggas s˚a skulle mekanismen f¨or att f˚a ut kraften som motorn genererar ¨andras eller helt och h˚allet bytas ut mot en annan l¨osning. Detta skulle speciellt vara n¨odv¨andigt d˚ast¨orre motorer med mer kraft skall m¨atas d˚a detta skulle generera otroligt mycket friktionsv¨arme och andra f¨orluster med en liknande konstruktion som anv¨andes f¨or prototypen i detta projekt. Detta skulle resultera i d˚alig repeterbarhet hos dynamometern vilket ej ¨ar bra d˚a god re- peterbarhet ¨ar en l¨amplig egenskap f¨or dynamometrar. Speciellt f¨or dynamometrar som anv¨ands av f¨oretag d¨ar dynamometern tillf¨or en viktig del till produkten [18].

D¨armed skulle n¨asta steg bli att testa de andra kompakta bromsarna som anv¨ands i dag, och sedan m¨ojligtvis optimera en utav dom. D¨ar en eddy current bromsme- kanism troligtvis skulle vara den rimligaste att unders¨oka f¨orst. Ett omr˚ade som

¨aven ¨ar viktigt att unders¨oka ¨ar vid vilken temperatur motorn ska testas, det ¨ar framf¨orallt viktigt vid m¨atning av f¨orbr¨anningsmotorer [5].

Efter att en motor har k¨orts i dynamometern exporteras resultatet f¨orst till ex- cel och sedan till Matlab d¨ar resultatet plottas med en f¨orprogramerad kod. Detta skulle vara l¨ampligt att se ¨over d˚a det b¨or g¨oras mer automatiserat. S˚a efter en k¨orning ¨ar gjord s˚a plottas resultatet automatiskt p˚a datorsk¨armen.

19

(34)
(35)

Litteraturförteckning

[1] Hans Johansson. Elektroteknik. Institutionen f¨or maskinkonstruktion, Tekniska h¨ogsk., Stockholm, 2006.

[2] Alan C. Lloyd & Thomas A. Cackette. Diesel Engines: Environmental Impact and Control. Journal of the Air & Waste Management Association, 51:6, 809- 847, 2001, https://doi.org/10.1080/10473289.2001.10464315.

[3] Nazanin Mansouri. A Case Study of Volkswagen Unethical Practice in Diesel Emission Test. International Journal of Science and Engineering Applications, HELP University, Malaysia, 2016.

[4] Fredrik Bark. Bel¨aggningsanalys av motorprovningen vid Volvo Aero Corpo- ration. Institutionen f¨or teknik och naturvetenskap, Link¨opings Universitet, Norrk¨oping, 2005, http://urn.kb.se/resolve?urn=urn%3Anbn%3Ase%3Aliu%

3Adiva-97814.

[5] Christoffer Lind & Tobias Nilsson. Ny m¨at-trigger i Scanias motorprovning.

Institutionen f¨or teknikvetenskap och matematik, Lule˚a tekniska universitet, Lule˚a, 2011, http://www.diva-portal.org/smash/record.jsf?pid=diva2%

3A1029189

[6] How To Set Up A Photo Interrupter (or Slotted Optical) Swit- ch On The Arduino. http://www.utopiamechanicus.com/article/

arduino-photo-interruptor-slotted-optical-switch/ (h¨amtad 2019- 03-27)

[7] Nihad Subasic. Kursmaterial MF133X, vt 2019, F5 Sensorer. Industriell teknik och management, Tekniska h¨ogsk., Stockholm, 2018.

[8] elektrokit, Lastcell 1kg.. https://www.electrokit.com/produkt/

lastcell-1kg/ (h¨amtad 2019-03-27)

[9] Nationalencyklopedin, Wheatstonebrygga.. http://www.ne.se/uppslagsverk/

encyklopedi/l\unhbox\voidb@x\bgroup\let\unhbox\voidb@x\setbox\

@tempboxa\hbox{a\global\mathchardef\accent@spacefactor\

spacefactor}\accent23a\egroup\spacefactor\accent@spacefactorng/

wheatstonebrygga (h¨amtad 2019-03-27) 21

(36)

LITTERATURF ¨ORTECKNING

[10] Frances Reed, How Do Servo Motors Work.. http://www.modularcircuits.

com/blog/articles/h-bridge-secrets/h-bridges-the-basics/ (h¨amtad 2019-03-28)

[11] Nihad Subasic. H-Bridge Tutorial. Industriell teknik och management, Teknis- ka h¨ogsk., Stockholm, 2018.

[12] S˚a fungerar en induktiv givare.. http://www.support-carlogavazzi.se/

artikel.asp?ID=793(h¨amtad 2019-03-28)

[13] Optical Encoder Project http://groups.csail.mit.edu/mac/users/

pmitros/encoder/ (h¨amtad 2019-04-28)

[14] Optical Position Encoder with Arduino https://www.electroschematics.

com/10494/arduino-optical-position-rotary-encoder/ (h¨amtad 2019-04- 28)

[15] Arduino UNO REV3 SMD https://store.arduino.cc/

arduino-uno-smd-rev3 (h¨amtad 2019-04-05)

[16] How Do Microcontrollers Work? https://www.autodesk.com/products/

eagle/blog/how-microcontrollers-work/ (h¨amtad 2019-04-05)

[17] Jyotindra S. Killedar. Dynamometer: Theory and Application to Engine Testing Xlibris Corporation, 2012.

[18] Alaa E. El-Sharkawy. Reliability Analysis of Dynamometer Loading Parameters during Vehicle Cell Testing. DaimlerChrysler Corporation, United States, 2007, https://doi.org/10.4271/2007-01-0600.

22

(37)

Bilaga A

Flödesschema

Fl¨odesschema f¨or systemets funktion, gjord i draw.io.

23

(38)

START

Initiering

Körning startad?

Läser:

Varvtal Bromskraft

Elmotor startas

servon börjar bromsa enligt

val

värden exporteras till

EXCEL

Värden exporteras till

matlab

Resultat plotas i Matlab Sant

Falskt

Ingen bromskraft Medel bromskraft Hög bromskraft

Körning utan broms

Sant Sant

Falskt

Falskt Val av bromskraft

Falskt

Sant

Körning klar

(39)

Bilaga B

Schematisk figur över system

En Schematisk figur ¨over hela systemet som anv¨andes i detta projekt, gjord i frit- zing.

25

(40)

R3 R2 220Q >22QQ

±5%

±5% : > " "

' '

OPB960T51

Parts rl 1& .. ±5 Vo ;> "

54 -1 R7 4.7kQ ±5% "

I

A

-

GNO

I

Part4 ' I

51 52 -1-1:;: -1 R4 RS 4.7kQ 4.7kQ ±5% ±5% " " " H--""' #�°' Partl

11 111 1 11 11

a H § p 3V3,- > sv "iic:a §s�- VIN- 0 i i g g s 0 g � i g i i � i s I

11 111 11

.. [

7 L

-1-

I -

� 1 � i

3::c

8. �

< £ .... R r-;; (1) .... IP ai > > + ' + I• I · r j'

---'- ....,_

+ 0 Sm©? �ulse Q

]2 GNO r.::i

�- -· I

A

n

0

I I

Load Cell

u

]1 + 0 Sm©? �ulse Q Part3

111111 111 1

a [ § p '"- > sv 'iic:a §s�- VIN

I

g ;

i � I

s I

11 111111

Load Cell!

I

0 fntz.ing

E2B-M12KS04-WP-B1

(41)

Bilaga C

Resultat varvtal från körningar

27

(42)

Mattningspänning 2 volt Mattningspänning 3 volt

Mattningspänning 4 volt Mattningspänning 5 volt

Mattningspänning 6 volt

(43)

Bilaga D

Arduinokod

D.1 Huvudprogram

29

(44)

/*

* Program namn: main

* Skapare: Felix Lindblom, Tom Eskilsson * Senast modifierad: 2019-05-03

* Beskrivning: Kör lastcellen, induktiva och optiska givarna *

*/

#include <HX711_ADC.h> // Krävs för att lastcellsförstärkaren ska fungera. Källa till kod: https://github.

com/olkal/HX711_ADC

HX711_ADC LoadCell(4, 5); // parameters: dt pin, sck pin<span data-mce-type="bookmark" style="display: inline-block; width:

0px; overflow: hidden; line-height: 0;"

class="mce_SELRES_start"></span>

// Initiering av alla parametrar som används till den optiska givaren

int tid1 = 1;

int timeold = 0;

int count = 0;

float rad = 0;

float vin_hast = 0;

float rpm = 0;

float rpmold = 0;

unsigned long lastmillis = 0;

const byte interruptPin2 = 2;

// Initiering av alla parametrar som används till den inuktiva giavren

int tid12 = 1;

int timeold2 = 0;

int count2 = 0;

float rad2 = 0;

float vin_hast2 = 0;

float rpm2 = 0;

float rpmold2 = 0;

unsigned long lastmillis2 = 0;

const byte interruptPin3 = 3;

int start_knapp; // Variabeln som används för att läsa in om

(45)

startknappen blivit nedtryckt

int startPin = 9; // Pin som startknappen skall vara kopplad till

float moment = 0; // Variabel som det beräknade momentet från lastcellen lagras i

float i = 0; // Variabeln som värdet från lastcellen lagras i

int startakorning = 0; // Variabeln som används för att styra startknappen

int starttid = 0; // Variabel som lagrar vad tiden är när startknappen trycks ned

void setup() {

Serial.begin(250000); // Initiering av Serial

attachInterrupt(digitalPinToInterrupt(interruptPin2), rpm_measopt, FALLING); // Initierar interrupt för optiska givaren

attachInterrupt(digitalPinToInterrupt(interruptPin3), rpm_measind, FALLING); // Initierar interrupt för induktiva givaren

LoadCell.begin(); // Startar anslutningen til lastcellsförstärkaren HX711

LoadCell.start(2000); // Ger lastcellen 2000ms att stabilisera sig

LoadCell.setCalFactor(2100.0); // Kalibreringsfaktor för lastcellen. Kalibrerad för att ge vikt i gram [g]

}

void loop() {

start_knapp = digitalRead(startPin); // Läser av startknappen

// If-sats som kollar om startknappen blivit intryckt. Om den blivit det så startas en körning av dynamometern

if (start_knapp == HIGH && startakorning == 0){

Serial.println("Startar körning");

startakorning = 1;

(46)

starttid = millis();

start_knapp = LOW;

delay(1000);

}

// If-sats som kollar om startknapen blivit intryckt if (startakorning == 1){

// While-sats som ger oss en körning på 20 sekunder while (millis()-starttid <20000){

Serial.println(rpm); // Printar varvtal för optiska givaren på datorn

Serial.println(rpm2); // Printar varvtal för induktiva givaren på datorn

LoadCell.update(); // Hämtar data från lastcellen float i = LoadCell.getData(); // Lagrar datan från lastcellen

moment = i*0.001*4.4; // Beräknar moment med datan från lastcellen [kgcm]

Serial.println(moment); // Printar det beräknade momentet på datorn

Serial.println(millis()); // Printar tiden på datorn Serial.println(" "); // Printar ett blanksteg för att göra datan lättläst

} }

// If-sats som nollar startkorning så att startknappen går att använda igen för att starta en körning

if (start_knapp == HIGH && startakorning == 1){

startakorning = 0;

start_knapp = LOW;

} }

// Funktionen som interrupten för den optiska givaren startar när en interrupt sker

(47)

void rpm_measopt(){

rad = 2*M_PI/4; // Beräknar antal interrupts per varv []

vin_hast = rad/(millis()-timeold)*1000; // Beräknar vinkelhastigheten [rad/s]

rpm = 60*vin_hast/(2*3.14); // Beräknar varvtal [rpm]

timeold = millis();

if (rpm>1800) { rpm = rpmold;

}

rpmold = rpm;

}

// Funktionen som interrupten för den induktiva givaren startar när en interrupt sker

void rpm_measind(){

rad2 = 2*M_PI/4; // Beräknar antal interrupts per varv []

vin_hast2 = rad2/(millis()-timeold2)*1000; // Beräknar vinkelhastigheten [rad/s]

rpm2 = 60*vin_hast2/(2*3.14); // Beräknar varvtal [rpm]

timeold2 = millis();

if (rpm2>1800) { rpm2 = rpmold2;

}

rpmold2 = rpm2;

}

(48)

BILAGA D. ARDUINOKOD

D.2 Bromsmekanism

34

(49)

/*

* Program namn: bromsmek

* Skapare: Felix Lindblom, Tom Eskilsson * Senast modifierad: 2019-05-03

* Beskrivning: Styr servomotorerna till bromsmekanismen *

*/

#include <Servo.h> // Ett bibliotek som används för att enkelt styra servomotorerna

// Initierar två stycken servomotorer Servo servo6;

Servo servo7;

// Initierar variabler int broms0_knapp;

int broms1_knapp;

int broms2_knapp;

// Sätter pins för knappar som ska användas för att styra bromsstyrka

int broms0Pin = 10;

int broms1Pin = 11;

int broms2Pin = 12;

void setup() {

// Sätter pin 6 och 7 till att styra servomotorerna servo6.attach(6);

servo7.attach(7);

}

void loop() {

// Läser av om pinsen har HIGH eller LOW broms0_knapp = digitalRead(broms0Pin);

broms1_knapp = digitalRead(broms1Pin);

broms2_knapp = digitalRead(broms2Pin);

// Om knappen broms0 trycks ned så ställs servomotorerna i ett läge för att ej bromsa

if (broms0_knapp == HIGH){

(50)

servo6.write(92);

servo7.write(85);

}

// Om knappen broms1 trycks ned så ställs servomotorerna i läget som ger låg bromskraft

if (broms1_knapp == HIGH) { servo6.write(99);

servo7.write(79);

}

// Om knappen broms1 trycks ned så ställs servomotorerna i läget som ger hög bromskraft

if (broms2_knapp == HIGH) { servo6.write(100);

servo7.write(78);

} }

(51)

Bilaga E

Matlabkod

E.1 Matlab plot

37

(52)

% Programnamn: Plotter

% Skapare: Felix Lindblo, Tom Eskilsson

% Senast modifierad: 2019-05-03

% Beskrivning: Importerar data från excel som sparas i vektorer för att

% sedan kunna plotta datan.

clear all clc

A = readcell('testrun_5v_lastcell_merkraft.xlsx'); % Importerar excelfil med % data från körning

i = 1;

i1 = 1;

% While-sats som lagrar värden från körningen i olika vektorer while i < 57985

rpm_optisk(i1) = A(i); % Lagrar varvtal från optiska givaren i en vektor

rpm_induktiv(i1) = A(i+1); % Lagrar varvtal från induktiva givaren i en vektor lastcell(i1) = A(i+2); % Lagrar beräknat moment från lastcell i en vektor tid(i1) = A(i+3); % Lagrar tid i vektor

i1=i1+1;

i=i+5;

end

% Konverterar de skapade vektorerna från strings till doubles för att % kunna plotta datan

rpm_oplot = str2double(rpm_optisk);

rpm_iplot = str2double(rpm_induktiv);

lastcell_plot = str2double(lastcell);

tid_plot = cell2mat(tid);

% Plottar datan från optiska och induktiva givarna figure(1);

plot(tid_plot, rpm_oplot);

hold on

plot(tid_plot, rpm_iplot);

hold on

legend('rpm_o_p_t_i_s_k', 'rpm_i_n_d_u_k_t_i_v');

grid on

xlabel('Tid [ms]');

ylabel('Varvtal [rpm]');

hold off

% Plottar datan från lastcellen figure(2);

plot(tid_plot, lastcell_plot);

hold on grid on

xlabel('Tid [ms]');

ylabel('Moment [kgcm]');

hold off

% Beräknar medelvärde för varvtal från körningen medelv_optisk = mean(rpm_oplot);

medelv_induktiv = mean(rpm_iplot);

(53)

E.2. BER¨AKNINGAR

E.2 Beräkningar

39

(54)

% Programnamn: Beräkningar

% Skapare: Felix Lindblom, Tom Eskilsson

% Senast Modifierad: 2019-05-03

% Beskrivning: Beräkningar av elmotorns konstanter och mätningsresultat.

clear all clc

%% Datablad

U=6; %Spänning, Volt

R=0.6; %Motorns reistans, OHM IA=6.5; %Ström, Amper

M=2.8; %Moment, Kgcm

MNm=M*9.82/100; %Moment, Nm k2fiM=MNm/IA; %(Moment,Ström) n=990; %rpm, varv/min

W=n/60*2*pi; %vinkelhastighet, Rad/s k2firpm=U/W; %(Volt,Vinkelhastighet)

%% Mätdata Lite broms (1) U=5; %Spänning, Volt I1=2.2; %Ström, Amper MNm1=k2fiM*I1; %Moment, Nm M1=100/9.82*MNm1; %Moment, Kgcm P1=U*I1; %Effekt in i motorn, W

Pf1=R*I1^2; %Motorns förlusteffekt, W Put1=P1-Pf1; %Effekt på axeln, W

%Dynonometer mätning

c=2.43; %Konstant, kallibrering av dynomometer n1=497; %rpm, varv/min

W1=n1/60*2*pi; %Vinkelhastighet, Rad/s M11=0.65*c; %Moment, kgcm

MNm11=M11*9.82/100; %Moment, Nm P11=MNm11*W1; %Effekt, W

matfel1=(Put1-P11); %Effekt, W

%% Mätdata Mycket broms (2) U=5; %Spänning, Volt

I2=3.3; %Ström, Amper MNm2=k2fiM*I2; %Moment, Nm M2=100/9.82*MNm2; %Moment, Kgcm P2=U*I2; %Effekt, W

Pf2=R*I2^2; %Effekt, W Put2=P2-Pf2; %Effekt, W

%Dynonometer mätning n2=330.4; %rpm, Varv/min

W2=n2/60*2*pi; %Vinkelhastighet, Rad/s M22=0.95*c; %Moment, kgcm

MNm22=M22*9.82/100; %Moment, Nm P22=MNm22*W2; %Effekt, W

matfel2=(Put2-P22); %Effekt, W

(55)

TRITA TRITA-ITM-EX 2019:32

www.kth.se

References

Outline

Related documents

Studier av eth i bananflugan kan d¨ arf¨ or leda till ¨ okad f¨ orst˚ aelse av ghrelin och ¨ ar ett potentiellt f¨ orsta steg i jakten p˚ a nya l¨ akemedel mot ¨ overvikt och

[r]

Utbytesalgoritmen anv¨ ands f¨ or att ber¨ akna en approximation till en konvex funktion f ∈ C[a, b] ur m¨ angden P 1 , dvs.. ur m¨ angden av f¨ orstagradspolynom p˚

[r]

(b) Ber¨ akna den betingade sannolikheten att komponent C inte funkar givet att str¨ om kan passera genom systemet fr˚ an v¨ anster till h¨ oger..

Detta g¨aller alla tal vars dyadiska utveckling ¨ar ¨andlig; man beh¨over inte kasta fler kast ¨an vad som anges av den position d¨ar sista ettan finns i utvecklingen.. Det betyder

Anv¨ andningsfall/Scenario En anv¨ andare skall kunna v¨ alja att spela med en annan anv¨ andare Utl¨ osare Anv¨ andaren v¨ aljer att spela

[Tips: Faktorisera polyno-