Innholdsfortegnelse:

LED -kompass og høydemåler: 7 trinn (med bilder)
LED -kompass og høydemåler: 7 trinn (med bilder)

Video: LED -kompass og høydemåler: 7 trinn (med bilder)

Video: LED -kompass og høydemåler: 7 trinn (med bilder)
Video: Med undertittel. Kan denne monteres på en lysbaldakin? SUPAREE H4 LED. 2024, Juli
Anonim
Image
Image
Kretsdiagram og kretskort
Kretsdiagram og kretskort

Objekter med lysdioder fascinerer meg alltid. Derfor er dette prosjektet for å kombinere den populære digitale kompasssensoren HMC5883L med 48 lysdioder. Ved å plassere lysdiodene i en sirkel, er lysdioden som lyser retningen du er på vei. Hver 7,5 grader vil kjøre en ny LED som gir detaljerte resultater.

GY-86-kortet har også en MS5611 barometrisk trykksensor. Ved hjelp av denne sensoren er det mulig å beregne høyden. På grunn av den høye oppløsningen er den perfekt for høydemåler.

MPU6050-sensoren på GY-86-kortet har både et 3-akset akselerometer og et 3-akset gyroskop. Gyroskopet kan måle vinkelposisjonens hastighet over tid. Akselerometeret kan måle gravitasjonsakselerasjon, og ved hjelp av trigonometri er det mulig å beregne vinkelen sensoren er plassert i. Ved å kombinere akselerometer og gyroskopdata er det mulig å få informasjon om sensorretningen. Dette kan brukes til vippekompensasjon for HMC5883L -kompasset (å gjøre).

De korte instruksjonsvideoene i denne instruksjonsboken vil forklare i detalj hvordan det fungerer. Kalibreringsprosedyrer er automatisert, slik at suksess garanteres. Temperaturen er tilgjengelig i Celsius (standard) eller Fahrenheit.

Ha det gøy !!

Trinn 1: Høydemåler

Image
Image

Høydemåleren bruker MS5611 barometrisk trykksensor. Høyden kan bestemmes basert på måling av atmosfæretrykk. Jo større høyde, desto lavere trykk. Ved oppstart bruker høydemåler standard havtrykk på 1013,25 mbar. Ved å trykke på knappen ved pin 21 vil trykket på stedet ditt bli brukt som referanse. På denne måten gjør det det mulig å måle omtrent hvilken høyde noe har (f.eks. Når du kjører oppover med bil).

Den såkalte "hypsometriske formelen" brukes i dette prosjektet. Denne formelen bruker temperaturen for å kompensere målingen.

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

Du finner mer om den hypsometriske formelen her:

Hypsometrisk formel

Fabrikkkalibreringsdata og sensortemperatur leses fra MS5611 -sensoren og brukes på kode for å få de mest nøyaktige målingene. Under testen fant jeg ut at MS5611-sensoren er følsom for luftstrømmer og forskjeller i lysintensitet. Det må være mulig å få bedre resultater enn i denne instruksjonsvideoen.

Trinn 2: Deler

1 x Microchip 18f26k22 mikrokontroller 28-PIN PDIP

3 x MCP23017 16-bits I/O-ekspander 28-pinners SPDIP

48 x LED 3 mm

1 x GY-86-modul med MS5611, HMC5883L og MPU6050 sensorer

1 x SH1106 OLED 128x64 I2C

1 x keramisk kondensator 100nF

1 x 100 Ohm motstand

Trinn 3: Kretsdiagram og kretskort

Kretsdiagram og kretskort
Kretsdiagram og kretskort

Alt passer på en ensidig PCB. Finn Eagle- og Gerber -filene her, slik at du kan lage den selv eller spør en PCB -produsent.

Jeg bruker LED -kompass og høydemåler i bilen min og bruker OBD2 -grensesnittet som en strømforsyning. Mikrokontrolleren passer perfekt i kontakten.

Trinn 4: Slik justerer du lysdioder perfekt i en sirkel på sekunder med Eagle PCB -designprogramvare

Du må se denne virkelig fine funksjonen i Eagle PCB Design Software som sparer deg for mange timers arbeid. Med denne Eagle -funksjonen kan du perfekt justere lysdioder i en sirkel på sekunder.

Bare klikk på "Fil" -fanen og deretter "Kjør ULP". Herfra klikker du på "cmd-draw.ulp". Velg "Flytt", "gradetrinn" og "Sirkel". Fyll inn navnet på den første lysdioden i feltet "navn". Angi koordinatene til midten av sirkelen på rutenettet ved feltene "X midtkord" og "Y midtkord". I dette prosjektet er 48 lysdioder, så 360 dividert med 48 gjør 7,5 for feltet "Vinkeltrinn". Radien til denne sirkelen er 1,4 tommer. Trykk enter, og du har en perfekt sirkel av lysdioder.

Trinn 5: Kompasskalibreringsprosess

Image
Image

HMC5883L inkluderer en 12 -biters ADC som muliggjør 1 til 2 grader Celsius kompassretning. Men før den gir brukbare data må den kalibreres. For at dette prosjektet skal fungere jevnt, er det denne kalibreringsmetoden som gir x- og y-forskyvning. Det er ikke den mest sofistikerte metoden, men det er tilstrekkelig for dette prosjektet. Denne prosedyren vil bare koste deg noen få minutter og gir deg gode resultater.

Ved å laste og kjøre denne programvaren vil du bli guidet i denne kalibreringsprosessen. OLED -skjermen vil fortelle deg når prosessen starter og når den slutter. Denne kalibreringsprosessen vil be deg om å vri sensoren 360 grader mens du holder den helt flat (horisontalt mot bakken). Monter den på et stativ eller noe sånt. Å gjøre dette ved å holde det i hånden din, fungerer ikke. På slutten vil kompensasjonene bli presentert på OLED. Hvis du kjører denne prosedyren flere ganger, må du se nesten like resultater.

Eventuelt er de innsamlede dataene også tilgjengelige via RS232 via pin 27 (9600 baud). Bare bruk et terminalprogram som Putty og samle alle dataene i loggfilen. Disse dataene kan enkelt importeres i Excel. Herfra kan du lettere se hvordan forskyvningen til HMC5883L ser ut.

Forskyvningene settes i EEPROM på mikrokontrolleren. Disse vil bli lastet ved oppstart av kompass- og høydemålerprogramvaren som du finner i trinn 7.

Trinn 6: Kompensere den magnetiske deklarasjonen av posisjonen din

Image
Image
Sensorkonkurranse
Sensorkonkurranse

Det er et magnetisk nord og et geografisk nord (nordpolen). Kompasset vil følge jordens magnetfeltlinjer, så pek på det magnetiske nord. Forskjellen mellom det magnetiske nord og det geografiske nord kalles magnetisk deklinasjon. På min plassering er tilbakegangen bare 1 grad og 22 minutter, så det er ikke verdt å kompensere dette. Andre steder kan denne nedgangen være opptil 30 grader.

Finn den magnetiske deklinasjonen der du befinner deg

Hvis du vil kompensere dette (er valgfritt) kan du legge til deklinasjonen (grader og minutter) i EEPROM på mikrokontrolleren. På plassering 0x20 kan du legge til grader i signert heksadesimal form. Det er signert fordi det også kan være en negativ deklinasjon. På plassering 0x21 kan du legge til minutter også i heksadesimal form.

Trinn 7: Kompiler koden

Image
Image

Kompiler denne kildekoden og programmer mikrokontrolleren. Denne koden kompilerer riktig med MPLABX IDE v5.20 og XC8 compiler v2.05 i C99 -modus (så inkluder C99 -katalogene). Også hex -filen er tilgjengelig, slik at du kan hoppe over samlingsprosedyren. Sørg for at du fjerner avmerkingen i boksen "EEPROM -data aktivert" for å forhindre at kalibreringsdata (se trinn 5) overskrives. Sett programmereren til 3,3 volt!

Ved å koble pin 27 til bakken får du temperaturen i Fahrenheit.

Takk til Achim Döbler for hans µGUI grafiske bibliotek

Sensorkonkurranse
Sensorkonkurranse

Andreplass i sensorkonkurransen

Anbefalt: