Sadržaj:

LED kompas i visinomjer: 7 koraka (sa slikama)
LED kompas i visinomjer: 7 koraka (sa slikama)

Video: LED kompas i visinomjer: 7 koraka (sa slikama)

Video: LED kompas i visinomjer: 7 koraka (sa slikama)
Video: Shu yaxshimi endi). ACTIVIST 2024, Juli
Anonim
Image
Image
Shema kola i PCB
Shema kola i PCB

Objekti sa LED diodama me uvijek fasciniraju. Stoga je ovaj projekt spojio popularni digitalni senzor kompasa HMC5883L s 48 LED dioda. Postavljanjem LED dioda u krug svjetlosna dioda je smjer u kojem idete. Svakih 7,5 stepeni će pokretati novu LED lampicu koja daje detaljne rezultate.

Ploča GY-86 također nudi senzor barometarskog pritiska MS5611. Pomoću ovog senzora moguće je izračunati visinu. Zbog visoke rezolucije savršen je za visinomere.

Senzor MPU6050 na ploči GY-86 ima troosni akcelerometar i troosni žiroskop. Žiroskop može mjeriti brzinu kutnog položaja tokom vremena. Akcelerometar može mjeriti gravitacijsko ubrzanje, a pomoću trigonometrijske matematike moguće je izračunati kut pod kojim je senzor postavljen. Kombinacijom podataka akcelerometra i žiroskopa moguće je dobiti informacije o orijentaciji senzora. Ovo se može koristiti za kompenzaciju nagiba za kompas HMC5883L (za napraviti).

Kratki videozapisi s uputama u ovom uputstvu detaljno će objasniti kako to funkcionira. Postupci kalibracije su automatizirani pa je uspjeh zagarantovan. Temperatura je dostupna u Celzijusima (zadano) ili Fahrenheitu.

Zabavi se !!

Korak 1: Visinomjer

Image
Image

Visinomer koristi senzor barometarskog pritiska MS5611. Nadmorska visina se može odrediti na osnovu mjerenja atmosferskog pritiska. Što je veća nadmorska visina, niži je pritisak. Prilikom pokretanja, visinomjer koristi zadani tlak na razini mora od 1013,25 mbar. Pritiskom na dugme na pin 21, pritisak na vašoj lokaciji će se koristiti kao referenca. Na ovaj način omogućuje se približno mjerenje visine nečega (npr. Pri vožnji automobilom uzbrdo).

U ovom projektu koristi se takozvana "hipsometrijska formula". Ova formula koristi temperaturu za kompenzaciju mjerenja.

float alt=((powf (izvor / ((float) P / 100.0), 0.19022256) - 1.0) * ((float) TEMP / 100 + 273.15))) / 0.0065;

Više o hipsometrijskoj formuli možete pronaći ovdje:

Hipsometrijska formula

Tvornički kalibracijski podaci i temperatura senzora očitavaju se sa senzora MS5611 i primjenjuju se na kôd kako bi se dobila najpreciznija mjerenja. Tokom ispitivanja otkrio sam da je senzor MS5611 osjetljiv na strujanje zraka i razlike u intenzitetu svjetlosti. Mora biti moguće postići bolje rezultate nego u ovom videu s uputama.

Korak 2: Dijelovi

1 x mikročip 18f26k22 mikrokontroler 28-PIN PDIP

3 x MCP23017 16-bitni I/O ekspander 28-pinski SPDIP

48 x LED dioda 3 mm

1 x GY-86 modul sa senzorima MS5611, HMC5883L i MPU6050

1 x SH1106 OLED 128x64 I2C

1 x keramički kondenzator 100nF

1 x 100 Ohm otpornik

Korak 3: Shema kola i PCB

Shema kola i PCB
Shema kola i PCB

Sve stane na jednostranu PCB. Ovdje pronađite datoteke Eagle i Gerber kako biste ih sami napravili ili pitali proizvođača PCB -a.

U svom automobilu koristim LED kompas i visinomjer, a OBD2 sučelje za napajanje. Mikrokontroler savršeno pristaje u konektor.

Korak 4: Kako savršeno poravnati LED diode u krug u sekundama sa softverom za dizajn Eagle PCB -a

Morate vidjeti ovu zaista lijepu značajku u Eagle PCB Design Software -u koja vam štedi sate rada. Pomoću ove funkcije Eagle možete savršeno poravnati LED diode u krug u nekoliko sekundi.

Samo kliknite na karticu "Datoteka", a zatim "Pokreni ULP". Odavde kliknite na "cmd-draw.ulp". Odaberite "Premjesti", "stupanjski korak" i "Krug". Unesite ime prve LED diode u polje "naziv". Postavite koordinate središta kruga na mreži u polja "X koordinata centra" i "Y koordinata centra". U ovom projektu je 48 LED dioda pa 360 podijeljeno sa 48 čini 7,5 za polje "Ugaoni korak". Radijus ovog kruga je 1,4 inča. Pritisnite enter i dobit ćete savršen krug LED dioda.

Korak 5: Proces kalibracije kompasa

Image
Image

HMC5883L uključuje 12 -bitni ADC koji omogućava preciznost smjera kompasa od 1 do 2 stepena Celzijusa. No, prije nego što da korisne podatke, potrebno ga je kalibrirati. Kako bi ovaj projekt mogao nesmetano funkcionirati, postoji ova metoda kalibracije koja omogućuje pomak x- i y. To nije najsofisticiranija metoda, ali je dovoljna za ovaj projekt. Ova procedura će vas koštati samo nekoliko minuta i daje dobre rezultate.

Učitavanjem i pokretanjem ovog softvera vodit ćete se u ovom procesu kalibracije. OLED ekran će vam reći kada će proces započeti i kada se završava. U ovom postupku kalibracije od vas će se tražiti da okrenite senzor za 360 stepeni dok ga držite potpuno ravno (vodoravno prema tlu). Postavite ga na stativ ili nešto slično. Ako to učinite držeći je u ruci, to ne funkcionira. Na kraju će pomaci biti prikazani na OLED -u. Ako ovu proceduru izvedete nekoliko puta, morate vidjeti gotovo jednake rezultate.

Opcionalno, prikupljeni podaci su dostupni i putem RS232 preko pina 27 (9600 bauda). Samo upotrijebite terminal program poput Putty i prikupite sve podatke u datoteci dnevnika. Ovi se podaci mogu lako uvesti u Excel. Odavde možete lakše vidjeti kako izgleda pomak vašeg HMC5883L.

Odstupanja se stavljaju u EEPROM mikrokontrolera. Oni će se učitati pri pokretanju softvera za kompas i visinomjer koji ćete pronaći u koraku 7.

Korak 6: Kompenzirajte magnetsko odstupanje vaše lokacije

Image
Image
Takmičenje senzora
Takmičenje senzora

Postoji magnetni sjever i geografski sjever (sjeverni pol). Vaš kompas će slijediti linije magnetskog polja Zemlje pa usmjerite prema magnetskom sjeveru. Razlika između magnetskog sjevera i geografskog sjevera naziva se magnetska deklinacija. Na mojoj lokaciji deklinacija je samo 1 stepen i 22 minute pa ne vrijedi ovo kompenzirati. Na drugim lokacijama ovo odstupanje može biti i do 30 stepeni.

Pronađite magnetsku deklinaciju na svojoj lokaciji

Ako želite to nadoknaditi (nije obavezno), možete dodati deklinaciju (stepeni i minute) u EEPROM mikrokontrolera. Na lokaciji 0x20 možete dodati stupnjeve u heksadecimalnom obliku s predznakom. Potpisuje se jer može biti i negativna deklinacija. Na lokaciji 0x21 minute možete dodati i u heksadecimalnom obliku.

Korak 7: Sastavite kôd

Image
Image

Sastavite ovaj izvorni kod i programirajte svoj mikrokontroler. Ovaj kôd je ispravno kompajliran sa MPLABX IDE v5.20 i XC8 kompajlerom v2.05 u C99 modu (zato uključite C99 direktorije). Dostupna je i heksadecimalna datoteka pa možete preskočiti postupak sastavljanja. Poništite potvrdni okvir "Podaci EEPROM -a omogućeni" kako biste spriječili prepisivanje podataka o kalibraciji (pogledajte korak 5). Postavite svoj programator na 3,3 volta!

Spajanjem pina 27 na masu dobivate temperaturu u Fahrenheitu.

Hvala Achimu Döbleru na grafičkoj biblioteci µGUI

Takmičenje senzora
Takmičenje senzora

Drugoplasirani na takmičenju senzora

Preporučuje se: