Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Valgusdioodidega objektid võluvad mind alati. Seetõttu ühendab see projekt populaarse digitaalse kompassianduri HMC5883L ühendamise 48 LED -iga. Asetades valgusdioodid ringi, on valgustatud LED suund, kuhu te suundute. Iga 7,5 kraadi käivitab uue LED -i, mis annab üksikasjalikke tulemusi.
Tahvel GY-86 pakub ka õhurõhu andurit MS5611. Selle anduri abil on võimalik kõrgust arvutada. Suure eraldusvõime tõttu sobib see ideaalselt kõrguse mõõtmiseks.
GY-86 plaadil oleval MPU6050 anduril on nii 3-teljeline kiirendusmõõtur kui ka 3-teljeline güroskoop. Güroskoop suudab mõõta nurgaasendi kiirust aja jooksul. Kiirendusmõõtur saab mõõta gravitatsioonikiirendust ja trigonomeetria abil saab arvutada anduri paigutusnurga. Kiirendusmõõturi ja güroskoobi andmete ühendamisel on võimalik saada teavet anduri orientatsiooni kohta. Seda saab kasutada kompassi HMC5883L kaldenurga kompenseerimiseks (teha).
Selle juhendi lühikesed juhendvideod selgitavad üksikasjalikult, kuidas see toimib. Kalibreerimisprotseduurid on automatiseeritud, nii et edu on tagatud. Temperatuur on saadaval Celsiuse järgi (vaikimisi) või Fahrenheiti järgi.
Lõbutse hästi !!
Samm: kõrgusmõõtur
Kõrgusmõõtur kasutab õhurõhu andurit MS5611. Kõrgust saab määrata atmosfäärirõhu mõõtmise põhjal. Mida suurem on kõrgus, seda madalam on rõhk. Käivitamisel kasutab altimeeter vaikimisi merepinna rõhku 1013,25 mbar. Vajutades nuppu tihvti 21 juures, kasutatakse võrdluseks teie asukoha rõhku. Sel viisil on võimalik ligikaudu mõõta, kui kõrge on miski (nt autoga ülesmäge sõites).
Selles projektis kasutatakse nn hüpsomeetrilist valemit. See valem kasutab mõõtmise kompenseerimiseks temperatuuri.
ujuk alt=(((pulber (allikas / ((ujuk) P / 100,0), 0,19022256) - 1,0) * ((ujuk) TEMP / 100 + 273,15)) / 0,0065;
Lisateavet hüpsomeetrilise valemi kohta leiate siit:
Hüpsomeetriline valem
Tehase kalibreerimisandmed ja anduri temperatuur loetakse MS5611 andurilt ja rakendatakse koodile, et saada kõige täpsemaid mõõtmisi. Katse käigus leidsin, et MS5611 andur on tundlik õhuvoolude ja valguse intensiivsuse erinevuste suhtes. Peab olema võimalik saada paremaid tulemusi kui käesolevas juhendvideos.
2. samm: osad
1 x mikrokiip 18f26k22 28-PIN PDIP mikrokontroller
3 x MCP23017 16-bitine I/O Expander 28-pin SPDIP
48x LED 3mm
1 x GY-86 moodul MS5611, HMC5883L ja MPU6050 anduritega
1 x SH1106 OLED 128x64 I2C
1 x keraamiline kondensaator 100 nF
1 x 100 oomi takisti
Samm: vooluahela skeem ja trükkplaat
Kõik sobib ühepoolsele trükkplaadile. Siit leiate failid Eagle ja Gerber, et saaksite seda ise teha või küsida trükkplaatide tootjalt.
Ma kasutan oma autos LED -kompassi ja altimeetrit ning kasutan toiteallikana OBD2 liidest. Mikrokontroller sobib ideaalselt pistikusse.
4. samm: kuidas LED -id täiuslikult joondada ringis sekunditega Eagle PCB disainitarkvaraga
Peate nägema seda tõeliselt kena funktsiooni Eagle PCB disainitarkvaras, mis säästab teie töötunde. Selle Eagle'i funktsiooni abil saate LED -id sekunditega ideaalselt ringjoonele joondada.
Lihtsalt klõpsake vahekaarti "Fail" ja seejärel "Käivita ULP". Siit klõpsake "cmd-draw.ulp". Valige "Liiguta", "astmeline samm" ja "Ring". Sisestage väljale "nimi" esimese LED -i nimi. Määrake ringi keskpunkti koordinaadid ruudustikul väljadel "X center coord" ja "Y center coord". Selles projektis on 48 LED -i, nii et 360 jagatud 48 -ga teeb välja "Nurga samm" jaoks 7,5. Selle ringi raadius on 1,4 tolli. Vajutage sisestusklahvi ja teil on täiuslik LED -ide ring.
Samm: kompassi kalibreerimisprotsess
HMC5883L sisaldab 12 -bitist ADC -d, mis võimaldab kompassi suuna täpsust 1-2 kraadi Celsiuse järgi. Kuid enne kasutatavate andmete andmist tuleb see kalibreerida. Selle projekti tõrgeteta toimimiseks on olemas see kalibreerimismeetod, mis tagab x- ja y-nihke. See ei ole kõige pehmem meetod, kuid selle projekti jaoks piisav. See protseduur maksab teile vaid paar minutit ja annab teile ilusaid tulemusi.
Selle tarkvara laadimisel ja käivitamisel juhendatakse teid selles kalibreerimisprotsessis. OLED -ekraan näitab, millal protsess algab ja millal see lõpeb. See kalibreerimisprotsess palub teil pöörata andurit 360 kraadi, hoides seda absoluutselt tasasena (maapinnaga horisontaalselt). Paigaldage see statiivile vms. Kui teete seda käes hoides, see ei toimi. Lõpus esitatakse kompenseerimised OLED -il. Kui teete seda protseduuri mitu korda, peate nägema peaaegu võrdseid tulemusi.
Valikuliselt on kogutud andmed saadaval ka RS232 kaudu tihvti 27 kaudu (9600 baud). Kasutage lihtsalt terminaliprogrammi nagu Putty ja koguge kõik logifaili andmed. Neid andmeid saab hõlpsasti Excelisse importida. Siit näete hõlpsamini, kuidas teie HMC5883L nihe välja näeb.
Nihked sisestatakse mikrokontrolleri EEPROM -i. Need laaditakse kompassi ja kõrgusemõõturi tarkvara käivitamisel, mille leiate sammust 7.
Samm: kompenseerige oma asukoha magnetilist deklinatsiooni
Seal on magnetiline põhi ja geograafiline põhi (põhjapoolus). Teie kompass järgib Maa magnetvälja jooni, nii et osutage magnetilisele põhjale. Magnetilise põhja ja geograafilise põhja vahelist erinevust nimetatakse magnetiliseks deklinatsiooniks. Minu asukohas on langus ainult 1 kraad ja 22 minutit, nii et seda ei tasu kompenseerida. Teistes kohtades võib see langus olla kuni 30 kraadi.
Leidke oma asukohast magnetiline deklinatsioon
Kui soovite seda kompenseerida (valikuline), saate lisada deklinatsiooni (kraadid ja minutid) mikrokontrolleri EEPROM -i. Asukohas 0x20 saate kraadid lisada allkirjastatud kuueteistkümnendsüsteemis. See on allkirjastatud, kuna see võib olla ka negatiivne deklinatsioon. Asukohas 0x21 saate minutid lisada ka kuueteistkümnendsüsteemis.
Samm: koostage kood
Koostage see lähtekood ja programmeerige oma mikrokontroller. See kood kompileeritakse õigesti C99 -režiimis MPLABX IDE v5.20 ja XC8 kompilaatori v2.05 abil (nii et lisage ka C99 kataloogid). Saadaval on ka kuuskantfail, nii et saate kompileerimisprotseduuri vahele jätta. Veenduge, et eemaldate märkeruudu "EEPROM -andmed lubatud", et vältida kalibreerimisandmete (vt 5. samm) ülekirjutamist. Seadke oma programmeerija 3,3 voldile!
Ühendades tihvti 27 maapinnaga, saate temperatuuri Fahrenheiti järgi.
Täname Achim Döblerit µGUI graafikakogu eest
Andurite võistluse teine koht