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, Srpanj
Anonim
Image
Image
Shema kruga i PCB
Shema kruga i PCB

Objekti sa LED diodama uvijek me fasciniraju. Stoga ovaj projekt kombinira popularni digitalni senzor kompasa HMC5883L s 48 LED dioda. Postavljanjem LED dioda u krug svjetlosna dioda je smjer u kojem se krećete. Svakih 7,5 stupnjeva pokretat će novu LED diodu koja daje detaljne rezultate.

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

Senzor MPU6050 na ploči GY-86 ima i troosni akcelerometar i troosni žiroskop. Žiroskop može mjeriti brzinu kutnog položaja tijekom 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. To se može koristiti za kompenzaciju nagiba za kompas HMC5883L (za napraviti).

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

Zabavi se !!

Korak 1: Visinomjer

Image
Image

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

U ovom se projektu koristi 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 s senzora MS5611 i primjenjuju se na kôd kako bi se dobila najpreciznija mjerenja. Tijekom ispitivanja otkrio sam da je senzor MS5611 osjetljiv na protoke 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-polni 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 kruga i PCB

Shema kruga i PCB
Shema kruga 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 nekoliko sekundi sa softverom za dizajn PCL -a Eagle

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

Samo kliknite karticu "Datoteka", a zatim "Pokreni ULP". Odavde kliknite na "cmd-draw.ulp". Odaberite "Premjesti", "stupanjski korak" i "Krug". Ispunite naziv prve LED diode u polju "naziv". Postavite koordinate središta kruga na mreži u polja "X koordinata centra" i "Y središta koordinate". U ovom projektu je 48 LED dioda pa 360 podijeljeno s 48 čini 7,5 za polje "Kutni korak". Polumjer 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ćuje točnost smjera kompasa od 1 do 2 stupnja Celzijusa. No prije nego što daje 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. Ovaj postupak koštat će vas samo nekoliko minuta i daje lijepe rezultate.

Učitavanjem i pokretanjem ovog softvera vodit ćete se u ovom procesu kalibracije. OLED zaslon će vam reći kada će proces započeti i kada će završiti. Ovaj postupak kalibracije od vas će zahtijevati da okrenete senzor za 360 stupnjeva dok ga držite apsolutno ravno (vodoravno prema tlu). Postavite ga na stativ ili nešto slično. Učiniti to držeći ga u ruci ne ide. Na kraju će pomaci biti prikazani na OLED -u. Ako pokrenete ovaj postupak nekoliko puta, morate vidjeti gotovo jednake rezultate.

Po želji, prikupljeni podaci dostupni su i putem RS232 putem pina 27 (9600 bauda). Samo upotrijebite terminalni program poput Putty i prikupite sve podatke u datoteci dnevnika. Ti 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 svoje lokacije

Image
Image
Natječaj senzora
Natječaj senzora

Postoji magnetski sjever i zemljopisni sjever (sjeverni pol). Vaš će kompas slijediti linije magnetskog polja zemlje pa pokažite na magnetski sjever. Razlika između magnetskog sjevera i zemljopisnog sjevera naziva se magnetska deklinacija. Na mom mjestu deklinacija je samo 1 stupanj i 22 minute pa ne vrijedi to kompenzirati. Na drugim mjestima ovo odstupanje može biti i do 30 stupnjeva.

Pronađite magnetsku deklinaciju na svom mjestu

Ako želite to nadoknaditi (nije obavezno), možete dodati deklinaciju (stupnjeve i minute) u EEPROM mikrokontrolera. Na mjestu 0x20 možete dodati stupnjeve u heksadecimalnom obliku s predznakom. Potpisuje se jer može biti i negativna deklinacija. Na mjestu 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 ispravno se kompilira s MPLABX IDE v5.20 i XC8 kompajlerom v2.05 u C99 načinu (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 (vidi 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

Natječaj senzora
Natječaj senzora

Drugoplasirani na natjecanju senzora

Preporučeni: