Mechatronics Exercises

Workspace Navigation

Polkupyörän langaton tehomittari

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Team 16

Projektin esittely


Projektin tarkoituksena on toteuttaa langaton mittausjärjestelmä pyöräilijän tuottamalle teholle. Projektin inspiraationa toimivat kaupallisesti "kohtuulliseen" hintaan myytävät satojen eurojen arvoiset voimamittarikammet. Tekemäni nopean selvityksen mukaan tehon mittaus toteutetaan tyypillisesti mittaamalla kampeen kohdistuva voima ja kertomalla se kammen kulmanopeudella. Pyörän poljinkampeen kiinnittämällä venymäliuskoja voidaan arvioida polkimeen kohdistuvaa voimaa ja pyörimisnopeus saadaan kerran kierroksessa signaalin avulla. Itse tehtynä arvioin projektin hinnaksi noin 20 euroa. Projektissa toteutettiin tehonmittausjärjestelmä vanhaan Spezialized maastopyörään, jonka poljinkampeen asennettiin kaksi venymäliuskaa ja yksi hall anturi. Järjestelmän älynä toimii ESP32 mikrokontrollerija käyttöliittymätoimii Android älypuhelimella toimiva ohjelma. Mikrokontrolleri ja anturit saavat käyttövirtansa LiPo akun avulla. Järjestelmän avulla pyöräilijä pystyy reaaliaikaisesti seuraamaan polkemiseen käyttämäänsä tehoa puhelimensa näytöltä.




Projektiin tarvitut komponentit ja budjetti.


OsatMääräHinta
ESP 32 TTGO16.5 €
SparkFun Hx7111Ilmainen (Sparkfunilta 9.95€ ja kiinasta muutaman euron)
Magneetti1

Ilmainen (Mikä tahansa pieni magneetti toimii)

HoneyWell SS441R1noin 1 €
Venymäliuskat2Ilmainen
LiPo akku 1500mAh 3,7V1

25€ (Kiinasta muutaman eruon)



Yhteensä 32.5€


Projektin toteutukseen tarvitaan myös johtoja,D-liitinpari, juotostinaa, teippiä, ja kotelo mikrokontrollerille.

Valmistus ja kokoonpano


Projektin toteutus

Projektissa käytettiin hyödyksi yliopiston tiloista löytyviä elektroniikkatyökaluja, 3D tulostinta, käsityökaluja ja manuaalijyrsintä.

Anturit


 Venymäliuskat

Venymäliuskat ovat antureita, joilla mitataan materiaalin mekaanista venymää. Venymäliuskojen mittauselementti on pitkä johdin, jonka sähköinen resistanssi muuttuu, kun materiaali venyy tai puristuu. Sillä muuttuva suure on resistanssia, käytetään venymäliuskamittauksissa wheatstonen siltaa. Wheatstonen sillan avulla pystytään vastuksen muutos mittaamaan jännitteen muutoksena piirissä. Mittaamalla materiaalin deformaatio voiman vaikutuksesta, voidaan arvioida voiman suuruus. Projektissa käytettiin wheatstonen puolisiltakytkentää, jossa liuskat asennettiin akselikammen vastakkaisille puolille. Asentamalla liuskat alla olevan kuvan 3 mukaisesti, voidaan mitata kammen taipumista, joka vastaa jalan kohdistamaa voimaa polkimeen. Liuskat on asennettu mahdollisimman kauas polkimesta, jotta mitatattaisiin mahdollisimman suurta taipumaa.



  1. Venymäliuska, jossa johdin on suunnattu pituussunnassa 
  2. Wheatstonen puolisilta.                                                       
  3. Poljinkampeen asennetut liuskat mittaavat kammen taipumista.

Mittaamalla jännitteen muutosta suoraan wheatstonen sillasta on vaikeaa, sillä muutokset ovat hyvin pieniä. Tästä johtuen signaali täytyy vahvistaa anturivahvistimella. Projektissa käytettiin anturivahvistukseen laajasti saatavilla olevaa HX711 piirilevyä, joka sopivan vahvistuksen lisäksi hoitaa signaalin muuttamisen analogisesta digitaaliseksi. HX711 oli kätevä ratkaisu käyttökohteeseen, sillä sen käyttöön mikrokontrollerin kanssa oli valmiiksi lukuisia kirjastoja ja esimerkkejä saatavilla. HX711 vahvistin/ad-muuttaja levyä käytettäessä mittaustaajuus oli rajoitettu 80Hz, mikä on käyttökohteeseen nähden riittävä.

  1. Venymäliuska liimattu kammen yläreunaan
  2. Venymäliuskat yhdistetty wheatstone siltaan

Helpoin tapa mitata voimaa venymäliuskojen avulla on määrittämällä venymälle kerroin, joka skaalaa tuloksen suoraan voimaksi. Tämä onnistuu, sillä venymän ja kampeen kohdistuvan voiman voidaan olettaa olevan suoraan verrannollisia. Poljinkammen venymäliuskat kalibroitiin käyttäen 20kg massoja, joita kasattiin vaakatasoon asetetun kammen kannateltavaksi. Kalibroinnissa käytettiin yhteensä viittä 20kg massaa. Jokaisen lisäyksen jälkeen kerrointa säädettiin koodissa niin, että se vastasi kokonaismassaa, joka roikkui kammesta. Tätä jatkettiin kunnes anturi näytti tyydyttävällä tarkkuudella jokaisen massan oikein.


kalibrointi

  1. Venymäliuskojen kalibrointi (100kg + pidikkeen massa).

 Hall-anturi

Hall-anturi on anturi, jolla mitataan magneettikentän suuruutta. Projektissa käytettiin hall anturia keskimääräisen kammen kulmanopeuden mittaamiseen. Hall anturi asennettiin kampiakselin päähän ja sen pyörimisradalle teipattiin pieni magneetti polkupyörän runkoon. Hall anturin pyörähtäessä magneetin ohi, se tunnistaa magneettikentän muutoksen ja lähettää mikrokontrollerille kanttisignaalin. Kulmanopeus saadaan tällöin mittaamalla pulssien välistä aikaa. Hall-anturin lähettämää pulssisignaalia käytettiin projektissä myös triggerinä tehotiedon lähettämiseksi puhelimeen.

  1. Hall-anturi liimattu kammen toiseen päähän lähelle poljinta. 


Mikrokontrolleri ja akku

Mittausjärjestelmä rakennettiin siten, että anturit ja vahvistin ovat kiinteästi asennettu, ja mikrokontrolleri sekä akku voitaisiin irrottaa kammesta pyöräilyn jälkeen. Akkua ja mikrokontrolleria varten suunniteltiin kotelo, joka kiinnitettäisiin antureihin D-liittimellä ja kuminauhalla. Kotelon prototyyppejä valmistettiin 3D-tulostimella, mutta lopulta päädyttiin valmistamaan kotelo läpinäkyvästä muovista. Kotelo rakennettiin kahdesta osasta, joiden sisäpuolelle jyrsittiin tila akulle ja mikrokontrollerille. Toiseen päähän tehtiin liitokset mikrokontrollerista D-liittimeen ja toiseen päähän jyrsittiin aukko USB-johdolle. Alla kuvassa lopullinen kotelo on oikeanpuoleisin. 


kotelo

  1. Projektin koteloiden kehitys kronologisesti vasemmalta oikealle.                                  
  2. Anturit yhdistettiin mikrokontrolleriin D-liittimellä.
  3. Lopullisen kotelon rakenne.
  4. Akku ja mikrokontrolleri


Kytkennät


  1. Mittausjärjestelmän kytkennät (vastukset R=6.5 kΩ)


Lähdekoodi

Arduino

#include "HX711.h"

#define calibration_factor -9610.0 //kalibrointikerroin

#define LOADCELL_DOUT_PIN 32 //HX711 DAT
#define LOADCELL_SCK_PIN 33 //HX711 CLK

#include "BluetoothSerial.h"

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif

HX711 scale;
BluetoothSerial SerialBT; //Bluetooth ESP32

int hall = 35;
float F_total = 0;
float points = 0;
float torque=0;
float power;
boolean triggered = false;
float t0=0;
float t1;
float dt;
float angvel;


void setup() {
Serial.begin(9600);
SerialBT.begin("Tehomittari"); //Bluetooth nimen määritys
pinMode(hall,INPUT_PULLUP); // Hall-anturin pinnin määritys
attachInterrupt(digitalPinToInterrupt(hall),trigger,FALLING); //Kiinnitetään hall-signaaliin interrupt

//Venymäliuskojen määrittäminen
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
scale.set_scale(calibration_factor);
scale.tare();


}

void loop() {
// toteutetaan kerran kierroksessa
if (triggered){
t1=millis();
dt=(t1-t0)*0.001;
t0=t1;
angvel=(2*3.14)/dt; //laskee kulmanopeuden
torque=(0.18*9.81*F_total)/points; // laskee keskimääräisen vääntömomentin kierroksen aikana
power=torque*angvel*2; // Laskee tehon vääntömomentin ja kulmanopeuden avulla
SerialBT.println(power);//Lähettää teholukeman bluetooth väylään
scale.tare(); // taaraa liuskat joka kierros
points=0; //nollaa kertyneet mittapisteet
F_total=0; //nollaa kertynyt voima
triggered=false;
}

points = points+1; //lisää mittauksen
F_total = F_total+scale.get_units(); // Kertynyt voima
}

// interrupt funktio
void trigger(){
triggered=true;
}

MIT App Inventor

Lopputulos ja pohdinta

Projektin tavoitteena oli toteuttaa halpa laite, jolla pyöräilijä pystyisi seuraamaan omaa pyöräilytehoaan. Projektissa onnistuttiin toteuttamaan tavoitteita vastaava laite, mutta laitteen tarkkuutta ei ehditty analysoida. Projektin jatkotoimenpiteenä tulisi toteuttaa tutkimus, jossa selvitetään teholukeman tarkkuus. Anturin sääsuojaus ja kiinnitykset jäivät myös kyseenalaisiksi. Näitä seikkoja tulisi korjata, jos anturia haluttaisiin käyttää myös kosteissa olosuhteissa tai maastossa. Projektin lopputulos osoittaa kuitenkin, että halvoista komponenteista pystytään rakentamaan kohtuullisen helposti tehomittari, joka voi toimia hyvin tehdyn kalibroinnin kanssa. Lisäksi työtä voitaisiin tehdä puhelinsovelluksen ominaisuuksien lisäämiseksi. Esimerkiksi tehotietojen tallennus ajon aikana olisi mahdollista toteuttaa.