Turinys:

LED kompasas ir altimetras: 7 žingsniai (su nuotraukomis)
LED kompasas ir altimetras: 7 žingsniai (su nuotraukomis)

Video: LED kompasas ir altimetras: 7 žingsniai (su nuotraukomis)

Video: LED kompasas ir altimetras: 7 žingsniai (su nuotraukomis)
Video: ACME LED lempa 7W 2024, Lapkritis
Anonim
Image
Image
Grandinės schema ir PCB
Grandinės schema ir PCB

Objektai su šviesos diodais mane visada žavi. Todėl šis projektas sujungia populiarų skaitmeninį kompaso jutiklį HMC5883L su 48 šviesos diodais. Įdėję šviesos diodus į apskritimą, šviesos diodas yra kryptis, kuria einate. Kas 7,5 laipsnio bus įjungtas naujas šviesos diodas, kuris duos išsamius rezultatus.

GY-86 plokštėje taip pat yra barometrinio slėgio jutiklis MS5611. Naudojant šį jutiklį galima apskaičiuoti aukštį. Dėl didelės skiriamosios gebos jis puikiai tinka altimetrams.

GY-86 plokštės MPU6050 jutiklis turi ir 3 ašių akselerometrą, ir 3 ašių giroskopą. Giroskopas gali išmatuoti kampinės padėties greitį laikui bėgant. Akselerometras gali išmatuoti gravitacinį pagreitį, o naudojant trigonometrijos matematiką galima apskaičiuoti kampą, kuriuo jutiklis yra. Sujungus akselerometro ir giroskopo duomenis, galima gauti informacijos apie jutiklio orientaciją. Tai gali būti naudojama kompaso HMC5883L posvyrio kompensavimui (norint tai padaryti).

Šioje instrukcijoje esantys trumpi instrukcijų vaizdo įrašai išsamiai paaiškins, kaip tai veikia. Kalibravimo procedūros yra automatizuotos, todėl garantuojama sėkmė. Temperatūra yra Celsijaus (numatytoji) arba Farenheito.

Pasilinksmink !!

1 žingsnis: aukščiamatis

Image
Image

Aukščio matuoklis naudoja barometrinio slėgio jutiklį MS5611. Aukštį galima nustatyti remiantis atmosferos slėgio matavimu. Kuo didesnis aukštis, tuo mažesnis slėgis. Paleidžiant aukščio matuoklis naudoja numatytąjį 1013,25 mbar jūros lygio slėgį. Paspaudus mygtuką 21 kaištyje, jūsų vietoje esantis slėgis bus naudojamas kaip atskaitos taškas. Tokiu būdu galima apytiksliai išmatuoti kokio aukščio daiktas (pvz., Važiuojant įkalnėn su automobiliu).

Šiame projekte naudojama vadinamoji hipometrinė formulė. Ši formulė matavimui kompensuoti naudoja temperatūrą.

plūdė alt=((milteliai (šaltinis / ((plūdė) P / 100,0), 0,19022256) - 1,0) * ((plūdė) TEMP / 100 + 273,15)) / 0,0065;

Daugiau apie hipometrinę formulę galite rasti čia:

Hipometrinė formulė

Gamyklos kalibravimo duomenys ir jutiklio temperatūra nuskaitomi iš MS5611 jutiklio ir pritaikomi kodui, kad būtų gauti tiksliausi matavimai. Bandymo metu sužinojau, kad MS5611 jutiklis yra jautrus oro srautams ir šviesos intensyvumo skirtumams. Turi būti įmanoma gauti geresnių rezultatų nei šiame instrukcijos vaizdo įraše.

2 žingsnis: dalys

1 x „Microchip 18f26k22“mikrovaldiklis 28 PIN kodų

3 x MCP23017 16 bitų įvesties/išvesties 28 kontaktų SPDIP

48 x 3 mm šviesos diodai

1 x GY-86 modulis su MS5611, HMC5883L ir MPU6050 jutikliais

1 x SH1106 OLED 128x64 I2C

1 x 100nF keraminis kondensatorius

1 x 100 omų rezistorius

3 žingsnis: grandinės schema ir PCB

Grandinės schema ir PCB
Grandinės schema ir PCB

Viskas telpa vienpusėje PCB. Čia rasite „Eagle“ir „Gerber“failus, kad galėtumėte juos pasigaminti patys arba paprašyti PCB gamintojo.

Aš naudoju LED kompasą ir aukščio matuoklį savo automobilyje ir naudoju OBD2 sąsają kaip maitinimo šaltinį. Mikrovaldiklis puikiai tinka jungtyje.

4 žingsnis: Kaip puikiai suderinti šviesos diodus apskritime per kelias sekundes naudojant „Eagle“PCB projektavimo programinę įrangą

Jūs turite pamatyti šią tikrai gražią „Eagle“PCB projektavimo programinės įrangos funkciją, kuri sutaupo jūsų darbo valandas. Naudodami šią „Eagle“funkciją, per kelias sekundes galite puikiai suderinti šviesos diodus apskritime.

Tiesiog spustelėkite skirtuką „Failas“, tada „Vykdyti ULP“. Iš čia spustelėkite „cmd-draw.ulp“. Pasirinkite „Perkelti“, „laipsnio žingsnis“ir „Apskritimas“. Lauke „pavadinimas“įveskite pirmojo šviesos diodo pavadinimą. Nustatykite apskritimo centro koordinates tinklelyje laukuose „X centre coord“ir „Y centre coord“. Šiame projekte yra 48 šviesos diodai, taigi 360, padalytas iš 48, sudaro 7,5 laukui „Kampinis žingsnis“. Šio apskritimo spindulys yra 1,4 colio. Paspauskite „Enter“ir turėsite puikų šviesos diodų ratą.

5 žingsnis: kompaso kalibravimo procesas

Image
Image

„HMC5883L“yra 12 bitų ADC, leidžiantis tikslumą nuo 1 iki 2 laipsnių Celsijaus. Tačiau prieš pateikiant naudingus duomenis, jį reikia sukalibruoti. Kad šis projektas vyktų sklandžiai, yra šis kalibravimo metodas, kuris suteikia x ir y poslinkį. Tai nėra pats švelniausias metodas, tačiau šiam projektui jo pakanka. Ši procedūra jums kainuos tik kelias minutes ir duos puikių rezultatų.

Įkeldami ir paleisdami šią programinę įrangą, būsite nukreipti į šį kalibravimo procesą. OLED ekranas nurodys, kada procesas prasidės ir kada baigsis. Šis kalibravimo procesas paprašys jus pasukti jutiklį 360 laipsnių kampu, laikant jį visiškai plokščią (horizontaliai prie žemės). Montuokite ant trikojo ar pan. Tai padaryti laikant rankoje neveikia. Pabaigoje kompensacijos bus pateiktos OLED. Jei šią procedūrą atliksite kelis kartus, rezultatai bus beveik vienodi.

Pasirinktinai surinkti duomenys taip pat prieinami per RS232 per 27 kaištį (9600 baudų). Tiesiog naudokite tokią terminalo programą kaip „Putty“ir surinkite visus žurnalo failo duomenis. Šiuos duomenis galima lengvai importuoti naudojant „Excel“. Čia galite lengviau pamatyti, kaip atrodo jūsų HMC5883L poslinkis.

Poslinkiai įvedami į mikrovaldiklio EEPROM. Jie bus įkelti paleidžiant kompaso ir aukščio matuoklio programinę įrangą, kurią rasite 7 veiksme.

6 žingsnis: kompensuokite savo vietos magnetinį deklinaciją

Image
Image
Jutiklių konkursas
Jutiklių konkursas

Yra magnetinė šiaurė ir geografinė šiaurė (Šiaurės ašigalis). Jūsų kompasas seka žemės magnetinio lauko linijas, todėl nukreipkite į magnetinę šiaurę. Skirtumas tarp magnetinės šiaurės ir geografinės šiaurės vadinamas magnetiniu nuokrypiu. Mano vietoje nuokrypis yra tik 1 laipsnis ir 22 minutės, todėl neverta to kompensuoti. Kitose vietose šis nuokrypis gali būti iki 30 laipsnių.

Raskite magnetinį nuokrypį savo vietoje

Jei norite tai kompensuoti (neprivaloma), galite pridėti nuokrypį (laipsniais ir minutėmis) mikrovaldiklio EEPROM. 0x20 vietoje laipsnius galite pridėti pasirašyta šešioliktainiu pavidalu. Jis pasirašytas, nes tai taip pat gali būti neigiamas nuokrypis. 0x21 vietoje minutes taip pat galite pridėti šešioliktainiu pavidalu.

7 žingsnis: surinkite kodą

Image
Image

Sudarykite šį šaltinio kodą ir užprogramuokite savo mikrovaldiklį. Šis kodas teisingai surenkamas naudojant MPLABX IDE v5.20 ir XC8 kompiliatorių v2.05 C99 režimu (taigi įtraukite C99 katalogus). Taip pat yra šešioliktainis failas, todėl galite praleisti kompiliavimo procedūrą. Būtinai panaikinkite žymės langelio „Įgalinti EEPROM duomenys“žymėjimą, kad kalibravimo duomenys nebūtų perrašyti (žr. 5 veiksmą). Nustatykite savo programuotoją į 3,3 voltų!

Prijungę 27 kaištį prie žemės, gausite Farenheito temperatūrą.

Ačiū Achimui Döbleriui už jo µGUI grafinę biblioteką

Jutiklių konkursas
Jutiklių konkursas

Antroji vieta jutiklių konkurse

Rekomenduojamas: