Indholdsfortegnelse:

LED -kompas og højdemåler: 7 trin (med billeder)
LED -kompas og højdemåler: 7 trin (med billeder)

Video: LED -kompas og højdemåler: 7 trin (med billeder)

Video: LED -kompas og højdemåler: 7 trin (med billeder)
Video: Med undertitel. Kan den monteres på en lysbaldakin? SUPAREE H4 LED. 2024, November
Anonim
Image
Image
Kredsløbsdiagram og printkort
Kredsløbsdiagram og printkort

Objekter med lysdioder fascinerer mig altid. Derfor er dette projekt at kombinere den populære digitale kompassensor HMC5883L med 48 lysdioder. Ved at placere LED'erne i en cirkel er LED'en, der lyser, den retning, du er på vej hen. Hver 7,5 grader driver en ny LED, som giver detaljerede resultater.

GY-86-kortet har også en MS5611 barometrisk trykføler. Ved hjælp af denne sensor er det muligt at beregne højden. På grund af den høje opløsning er den perfekt til højdemålere.

MPU6050-sensoren på GY-86-kortet har både et 3-akset accelerometer og et 3-akset gyroskop. Gyroskopet kan måle vinkelpositionens hastighed over tid. Accelerometeret kan måle gravitationsacceleration og ved hjælp af trigonometri -matematik er det muligt at beregne den vinkel, sensoren er placeret ved. Ved at kombinere accelerometer og gyroskopdata er det muligt at få information om sensororienteringen. Dette kan bruges til vippekompensation for HMC5883L kompas (at gøre).

De korte instruktionsvideoer i denne instruktionsbog forklarer detaljeret, hvordan det fungerer. Kalibreringsprocedurer er automatiserede, så succes garanteres. Temperaturen er tilgængelig i Celsius (standard) eller Fahrenheit.

Hav det sjovt !!

Trin 1: Højdemåler

Image
Image

Højdemåleren gør brug af MS5611 barometrisk trykføler. Højde kan bestemmes ud fra måling af atmosfærisk tryk. Jo større højde, jo lavere tryk. Ved opstart bruger højdemåleren standardtrykket på havniveau på 1013,25 mbar. Ved at trykke på knappen ved pin 21 vil trykket på din placering blive brugt som reference. På denne måde gør det det muligt cirka at måle, hvilken højde noget har (f.eks. Når du kører op ad bakke med en bil).

Den såkaldte "hypsometriske formel" bruges i dette projekt. Denne formel gør brug af temperaturen til at kompensere for målingen.

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

Du kan finde mere om den hypsometriske formel her:

Hypsometrisk formel

Fabrikskalibreringsdata og sensortemperatur læses fra MS5611 -sensoren og anvendes på kode for at få de mest nøjagtige målinger. Under testen fandt jeg ud af, at MS5611-sensoren er følsom over for luftstrømme og forskelle i lysintensitet. Det skal være muligt at få bedre resultater end i denne instruktionsvideo.

Trin 2: Dele

1 x Microchip 18f26k22 mikrokontroller 28-PIN PDIP

3 x MCP23017 16-bit I/O-udvidelse 28-benet SPDIP

48 x LED'er 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 modstand

Trin 3: Kredsløbsdiagram og printkort

Kredsløbsdiagram og printkort
Kredsløbsdiagram og printkort

Alt passer på et enkeltsidet printkort. Find Eagle- og Gerber -filerne her, så du kan lave det selv eller spørge en PCB -producent.

Jeg bruger LED -kompas og højdemåler i min bil og bruger OBD2 -grænsefladen som en strømforsyning. Mikrocontrolleren passer perfekt i stikket.

Trin 4: Sådan perfekt justeres LED'er i en cirkel på sekunder med Eagle PCB Design Software

Du skal se denne virkelig flotte funktion i Eagle PCB Design Software, som sparer dig for mange timers arbejde. Med denne Eagle -funktion kan du perfekt justere LED'er i en cirkel på få sekunder.

Bare klik på fanen "Fil" og derefter "Kør ULP". Klik herfra på "cmd-draw.ulp". Vælg "Move", "degree step" og "Circle". Udfyld navnet på den første LED i feltet "navn". Indstil koordinaterne for midten af cirklen på gitteret ved felterne "X center coord" og "Y center coord". I dette projekt er 48 lysdioder, så 360 divideret med 48 gør 7,5 til feltet "Vinkeltrin". Radius af denne cirkel er 1,4 tommer. Tryk på enter, og du har en perfekt cirkel af lysdioder.

Trin 5: Kompasskalibreringsproces

Image
Image

HMC5883L indeholder en 12 bit ADC, der muliggør 1 til 2 graders Celsius kompasskursens nøjagtighed. Men før det giver brugbare data, skal det kalibreres. For at dette projekt kan fungere problemfrit, er der denne kalibreringsmetode, der giver x- og y-forskydning. Det er ikke den mest sofistikerede metode, men det er tilstrækkeligt til dette projekt. Denne procedure koster dig kun et par minutter og giver dig gode resultater.

Ved at indlæse og køre denne software bliver du guidet i denne kalibreringsproces. OLED -displayet fortæller dig, hvornår processen starter, og hvornår den slutter. Denne kalibreringsproces beder dig om at dreje sensoren 360 grader, mens du holder den helt flad (vandret mod jorden). Monter den på et stativ eller lignende. At gøre dette ved at holde det i hånden virker ikke. I slutningen præsenteres forskydningerne på OLED. Hvis du kører denne procedure flere gange, skal du se næsten ens resultater.

Eventuelt er de indsamlede data også tilgængelige via RS232 via pin 27 (9600 baud). Brug bare et terminalprogram som Putty og indsaml alle data i logfilen. Disse data kan let importeres i Excel. Herfra kan du lettere se, hvordan forskydningen af din HMC5883L ser ud.

Forskydningerne sættes i mikrokontrollerens EEPROM. Disse indlæses ved opstart af kompass- og højdemåler -softwaren, som du finder i trin 7.

Trin 6: Kompensér den magnetiske deklination af din placering

Image
Image
Sensors konkurrence
Sensors konkurrence

Der er et magnetisk nord og et geografisk nord (nordpolen). Dit kompas følger jordens magnetfeltlinjer, så peger på det magnetiske nord. Forskellen mellem det magnetiske nord og det geografiske nord kaldes den magnetiske deklination. På min placering er deklinationen kun 1 grad og 22 minutter, så det er ikke værd at kompensere dette. Andre steder kan denne tilbagegang være op til 30 grader.

Find den magnetiske deklination på din placering

Hvis du vil kompensere dette (er valgfrit), kan du tilføje deklinationen (grader og minutter) i EEPROM på mikrokontrolleren. På placering 0x20 kan du tilføje grader i signeret hexadecimal form. Det er underskrevet, fordi det også kan være en negativ deklination. På placering 0x21 kan du også tilføje minutter i hexadecimal form.

Trin 7: Kompilér koden

Image
Image

Kompilér denne kildekode, og programmer din mikrokontroller. Denne kode kompileres korrekt med MPLABX IDE v5.20 og XC8 compiler v2.05 i C99 -tilstand (så inkluder C99 -mapperne). Også hex -filen er tilgængelig, så du kan springe kompileringsproceduren over. Sørg for, at du fjerner markeringen i afkrydsningsfeltet "EEPROM -data aktiveret" for at forhindre, at kalibreringsdata (se trin 5) overskrives. Indstil din programmør til 3,3 volt!

Ved at tilslutte pin 27 til jorden får du temperaturen i Fahrenheit.

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

Sensors konkurrence
Sensors konkurrence

Nummer to i sensorkonkurrencen

Anbefalede: