Mechatronics Exercises

Workspace Navigation

Active Aero Spoiler

Tiimin jäsenet

Janne Ala-Sippola

Casper Winberg


Yleiskuvaus

Rata-autoilussa auton ja tienpinnan välinen pito on tärkeä muuttuja, kun havitellaan nopeita kierrosaikoja. Downforcen määrä on suoraan verrannollinen pidon määrään, joten otimme tehtäväksemme suunnitella uudenlainen takasiipi, jolla maksimoimme downforcen määrän kuitenkin niin pienellä ilmanvastuksella kuin mahdollista. Suoralla autot eivät tarvitse suurta downforcea - päinvastoin, se halutaan usein minimalisoda, jotta saavutetaan suurempi huippunopeus pienemmän ilmanvastuksen takia. Mutkissa pito on tärkeää, joten luonnollisesti haluamme maksimoida downforcen. 

Ratkaisumme on suunnitella ja rakentaa mekatroninen takasiipi, joka servojen avulla muuttaa siiven kohtaamiskulmaa. Käyttämällä kiihtyvyysanturista saatavaa dataa, voimme päätellä ajaako auto suoralla vai mutkissa, ja täten muokata saatavilla olevaa downforcea.

Moderneissa urheiluautoissa on jo joissakin määrin yllämainittu tekniikka käytössä, mutta parannamme ideaa jakamalla takasiiven kahtia. Jakamalla siiven, voimme erikseen muokata siiven vasemmalta ja oikealta puolelta saatavaa downforcea/ilmanvastusta ja täten vielä tarkemmin optimoida tarvittavaa downforcea, sekä tasapainoittaa auton niiamista nopeassa mutkassa.

Muutama esimerkki eri tilanteista:

  • Suoralla: Molemmat siivet ala-asennossa, pieni downforce, pieni ilmanvastus
  • Käännös oikeaan:  Oikea siipi yläasennossa, vasen alhaalla
  • Käännös vasempaan: Vasen siipi yläasennossa, oikea alhaalla. 
  • Jarrutus: molemmat siivet yläasennossa, suuri downforce, suuri ilmanvastus


Mikäli aika/motivaatio riittää, teemme siipeen IoT-mahdollisuuden, jotta puhelimen kiihtyvysanturia voidaan käyttää erillisen arduinoanturin sijaan. Puhelinsovelluksen avulla siiven voisi myös lukita kuskin haluamaan kohtaamiskulmaan. 

Osalista:

  • 2pcs 25KG High torque full metal gear servos
  • Arduino Uno
  • Bluetooth moduuli Arduinolle
  • GY-521 MPU-6050 kiihtyvysanturi ja gyro
  • Virtalähde servoille
  • 3D-tulostettu siipi neljästä osasta + kannakkeet ja muita osia
  • 10mm dia. alumiiniputki

Lähtöpiste

Kummallakaan ryhmän jäsenistä ei ollut projektin alussa tietotaitoa arduinon käytöstä, lukuunottamatta sisäänrakennetun ledin vilkuttamisesta. Sen sijaan molemmilla oli vahva visio mekatronisesta projektista, johon arduino sopisi täydellisesti. Active Aero-projektissa on suhteellisen helppo perusidea, joka koostuu vain servojen, kiihtyvysanturin, sekä itse arduinon käytön oppimisesta. Onneksi mikään näistä ei vaadi suurta ymärrystä arduinon saloista, joten perustoiminnot löytyi helposti googlen avulla. 


Aikataulu

Active Aero Spoilerin perusidea lukittiin projektimme aiheeksi jo projektin ensimmäisenä päivänä. Onneksi näin, sillä ehdimme jo ensimmäisellä viikolla laatimaan osalistan, sekä tilaamaan osat kiinasta. Osien odottamisen aikana ehdimme piirtämään siiven 3D-mallinnusohjelmassa, jotta osien tultaessa pystyisimme heti aloittamaan osien tulostuksen sekä kasauksen. Jätimme mahdollisimman paljon aikaa ohjelmoinnille, sekä mahdolliselle IoT-käyttöönotolle. 

Simulaatio


Autodesk Flow Design-ohjelmalla tehtyjen simulointien avulla, saimme seuraavat tulokset siiven muodosta laskettua:

NopeusSiiven kohtaamiskulmaIlmanvastus
180 km/h0° (suoralla)28N
180 km/h50° (jarrutus)200N

Tuloksista näemme että siiven kohtaamiskulmalla on suuri merkitys auton ilmanvastukseen, ja näin ollen tukee hypoteesiamme että optimoimalla siiven kohtaamiskulma radan eri osiin, voidaan kierrosaikaa parantaa. Simulaatio on tehty 600mm leveälle siivelle, joten oikeassa noin 1200mm leveässä siivessä downforce ja ilmajarru toimii vielä paremmin. 

Siipi 0° kohtaamiskulmassa. Siiven ympärillä virtaava ilma pysyy enimmäkseen laminaarisena, ja näin ollen myös pitää ilmanvastuksen pienenä. Siiven muodosta johtuen, sen alle muodostuu jopa 0° kulmalla pieni matalapaine.


Siipi 50° kohtaamiskulmassa. Siiven taakse muodostuu suuri turbulenttinen matalapainealue joka hidastaa autoa. 


Kasaaminen

Aloitimme suunnittelemalla 3D-mallinnusohjelmalla siiven, sekä muut liikkuvat osat. Näin pystyimme jo aikaisessa vaiheessa näkemään miten osien lovetuksia yms. piti toteuttaa että siipi saa maksimaalisen liikeradan. Muut osat kuten servot olivat jo tässä vaiheessa tilattu Kiinasta, joten tulostaminen oli seuraavana tiedossa. Pääsiipi tulostettiin neljästä symmetrisestä osasta, joista kukin kesti noin 10h. Materiaalina PLA. Useaan kertaan jouduimme aloittamaan tulostuksen uudestaan, tulostusvirheen takia. Muiden kurssien, ja tulostusvirheiden takia, osien tulostus venyi kurssin loppupuolelle, jolloin viimeiset osat jäi tulostamatta COVID-19-pandemian takia. Saimme kuitenkin tärkeimmät osat tulostettua, jotta pystyimme kasaamaan siiven, ja esittämään tärkeimmät ominaisuudet. 

Lopullisessa mallissa siipi kiinnitettäisiin auton takaluukkuun, mutta prototyyppimme takaluukkuna käytettiin 12mm paksua vanerilevyä. Vanerilevyyn tehtiin tarvittavat reiät ja lovetukset, joihin saimme siiven jalat ja servot kiinnitettyä. 


Havainnollistava kuva siiven toiminnasta. Kuvassa toinen päätylevy jätetty pois. 


Servojen kiinnitys vaneriin. Servon vipuvartta pidennettiin tulostetulla osalla. 


Siipi, jalka, servo, sekä näitä yhdistävät osat paikallaan. Takana näkyy irrallisena toisen servon pidennetty vipuvarsi. 


Pääsiiven ensimmäisen osan tulostus. 


liikeratavideo.mp4

Videossa näkyy siiven liikerata. 


Fusion 360 - ohjelmalla piirretty pääsiipi. Harmaalla merkityt kolme reikää yhdistävät kaksi tulostettavaa osaa toisiinsa tappi-reikä-menetelmällä. Mustaan reikään tulee tanko, joka on yhdistettynä servoon. Suurimpaan reikään tulee 10mm aluputki, joka yhdistää siiven jalat itse siipeen.


Siipi alhaalla(auto ajaa suoralla). Molemmista siiven päistä puuttuu siivenosat, joita ei saatu tulostettua. 


Siipi ylhäällä(Jarrutus).


Toinen puoli siivestä ylhäällä, toinen alhaalla(mutka). 



Projektimme sähkökaava

Ohjelma

Siipeä liikuttava ohjelma on kirjoitettu Arduinon sisäisessä koodieditorissa. 

Active Aero Spoiler(koodi aukeaa painamalla Expand source)
/*  Active Aero Spoiler
 *  Casper Winberg & Janne Ala-Sippola
 *  Mekatroniikan  harjoitustyö 2020 
 */ 
#include <Servo.h> //kirjasto servoja varten
#include <Wire.h> //kirjasto anturia varten

//kerrotaan ohjelmalle että käytetään kahta servoa, ja annetaan niille nimet
Servo servovasen;
Servo servooikea;

const int MPU_addr=0x68;  // I2C osoite laitteelle MPU-6050
int16_t AcX,AcY,AcZ; //tullaan käyttämään näitä muuttujia jatkossa

void setup() {
  //yhdistetään servot
  servooikea.attach(7);
  servovasen.attach(6);
  //Luodaan I2C yhteys
  Wire.begin();
  Wire.beginTransmission(MPU_addr);
  Wire.write(0x6B);  // PWR_MGMT_1 register
  Wire.write(0);     // set to zero (wakes up the MPU-6050)
  Wire.endTransmission(true);
  Serial.begin(9600); //Aloitetaan Serial
}
//Seuraavat neljä funktiota kuvaavat neljää mahdollista tilannetta, jotka voivat tulla vastaan. Luvut 50 ja 83 kuvaavat minimi ja maksimi kulmaa jota servo voi tehdä rakenteessa.
void suora(){ //Käytetään kun auto ajaa suoraan, ja halutaan minimoida ilmanvastus, molemmat siivet ala-asennossa. 
  servovasen.write(50);
  servooikea.write(83);
}
void jarrutus(){ //Käytetään kun auto jarruttaa, ja halutaan hyödyntää siipeä ilmajarruna, molemmat siivet yläasennossa. 
  servovasen.write(83);
  servooikea.write(50);
}
void oikealle(){ //Käytetään kun auto kääntyy oikealle, oikea siipi ylös, vasen alas.
  servovasen.write(50);
  servooikea.write(50);
}
void vasemmalle(){ //Käytetään kun auto kääntyy vasemmalle, oikea siipi alas, vasen ylös.
  servovasen.write(83);
  servooikea.write(83);
}

void loop() {
  //Pyydetään dataa anturilta
  Wire.beginTransmission(MPU_addr);
  Wire.write(0x3B);  // starting with register 0x3B (ACCEL_XOUT_H)
  Wire.endTransmission(false);
  Wire.requestFrom(MPU_addr,14,true);  // request a total of 14 registers
  //Seuraavat kolme muuttujaa ovat haluamamme kiihtyvyydet. AcX kuvaa kiihdytystä ja jarrutusta. AcY kuvaa kääntymistä oikealle ja vasemmalle.
  AcX=Wire.read()<<8|Wire.read();  // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)    
  AcY=Wire.read()<<8|Wire.read();  // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)
  AcZ=Wire.read()<<8|Wire.read();  // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)

  //Seuraava if-lause päättää mitä kiihtyvyysdatalla tehdään, ja sen mukaan kutsuu oikeata funktiota riipputen auton tilasta. 
  if(AcX >= 1){
   suora(); 
   Serial.print("Suora -> Molemmat alhaalla \n");
  }
  else if(AcY >= 1){
    oikealle();
    Serial.print("Käännös oikeaan -> Oikea ylös, vasen alas \n");
  }
  else if(AcY <= -1){
    vasemmalle();
    Serial.print("Käännös vasempaan -> Oikea alas, vasen ylös \n");
  }
  else if( AcX <= -1){
    jarrutus();
    Serial.print("Jarutus -> Molemmat ylös");
  }
  delay(1000);
}


Loppuvideossa käytämme kuitenkin omaa demokoodia videota varten, sillä tasaista kiihtyvyyttä on vaikea demota ilman autoa. 

Haasteet


Matkan varrelle kohtasimme useita vastoinkäymisiä. Melkein puolet 3D-tulostuksistamme epäonnistui, jonka takia siiven kasaaminen venyi kurssin loppupuolelle, jolloin COVID-19 lopullisesti seisautti tulostukset. Suunnitelmissa oli suunnitella ja tulostaa arduinolle sekä servoille omat kotelot, mutta nämä jäi tekemättä yllä mainitusta syystä. Myös yksi siiven osa jäi tulostamatta. 

Kasaaminen onnistui muuten hyvin, osat sopivat hienosti yhteen ja rakennelma vaikutti yllättävän tukevalta. 

Ohjelmoinnin puolella suurin haaste johtui servoista. Halvalla Kiinasta hankitut servot tuntuivat välillä epäjohdonmukaisilta, ja eivät aina tehneet kaikkia liikkeitä samanlailla, joka olisi erityisen tärkeätä joissain liikkeissä siivessämme. 

Loppusanoja

Simulaatioiden, sekä samankaltaisten aiemmin tehtyjen ratkaisujen takia tiedämme että siipemme toimisi ainakin teoriassa. Ideamme ei kuitenkaan tässä projektissa ollut rakentaa täydellisen valmista siipeä autoon laitettavaksi, sillä oma budjettimme ja ajankäyttömme ei sitä sallinut. Oikea autoon kiinnitettävä siipi tulisi tehdä hiilikuidusta ja aluminiista kestävyyden ja painon takia. Myöskään käyttämämme siiven kääntömekanismi ei luultavasti toimisi kovassa vauhdissa, joten se pitäisi korvata esim hydraulisella tai pneumaattisella sylinterillä. Näistä huolimatta, koemme että onnistuimme projektissamme. Todistimme että aktiivisesti liikkuvan siiven voi rakentaa mekatroniikan avulla. Opimme projektin aikana paljon erityisesti arduinosta, servosta, sekä kiihtyvyysanturista, joka oli myös videomme aihe. Alussa miettimämme IoT-mahdollisuus jäi pelkäksi ideaksi aikataulun sekä yleisen motivaation puutteen takia kurssin loppupuolella kun koulun kontaktiopetus loppui. IoT-ominaisuus on kuitenkin suhteellisen helposti toteutettavissa jatkossa, mikäli jatkamme projektin parissa. 


  • No labels
  File Modified
JPEG File ActiveAeroSpoilerkaava.jpg Mar 31, 2020 by Casper Winberg
PNG File image2020-3-26_14-3-55.png Mar 26, 2020 by Casper Winberg
JPEG File käännös.jpeg Mar 26, 2020 by Casper Winberg
Multimedia File liikeratavideo.mp4 Mar 26, 2020 by Casper Winberg
JPEG File Servokiinnitys1.jpeg Mar 26, 2020 by Casper Winberg
JPEG File servokiinnitys2.jpeg Mar 26, 2020 by Casper Winberg
JPEG File siipi.jpeg Mar 26, 2020 by Casper Winberg
JPEG File siipialhaalla.jpeg Mar 26, 2020 by Casper Winberg
JPEG File siipiylhaalla.jpeg Mar 26, 2020 by Casper Winberg
JPEG File spoilerairfoildrawing.jpeg Mar 26, 2020 by Casper Winberg
PNG File spoileri0kulma.png Feb 20, 2020 by Casper Winberg
PNG File spoileri50kulma.png Feb 20, 2020 by Casper Winberg
JPEG File tulostus.jpeg Mar 26, 2020 by Casper Winberg
JPEG File WhatsApp Image 2020-03-26 at 13.35.57.jpeg Mar 26, 2020 by Casper Winberg
JPEG File WhatsApp Image 2020-03-26 at 13.35.57 (1).jpeg Mar 26, 2020 by Casper Winberg
JPEG File WhatsApp Image 2020-03-26 at 13.35.57 (2).jpeg Mar 26, 2020 by Casper Winberg
JPEG File WhatsApp Image 2020-03-26 at 13.35.57 (3).jpeg Mar 26, 2020 by Casper Winberg
JPEG File WhatsApp Image 2020-03-26 at 13.35.57 (4).jpeg Mar 26, 2020 by Casper Winberg
JPEG File WhatsApp Image 2020-03-26 at 13.35.57 (5).jpeg Mar 26, 2020 by Casper Winberg
JPEG File WhatsApp Image 2020-03-26 at 13.37.57.jpeg Mar 26, 2020 by Casper Winberg
Multimedia File WhatsApp Video 2020-03-26 at 13.36.48.mp4 Mar 26, 2020 by Casper Winberg