Tartalomjegyzék:

LED iránytű és magasságmérő: 7 lépés (képekkel)
LED iránytű és magasságmérő: 7 lépés (képekkel)

Videó: LED iránytű és magasságmérő: 7 lépés (képekkel)

Videó: LED iránytű és magasságmérő: 7 lépés (képekkel)
Videó: G-Shock Magma Ocean Collection összehasonlítás GPRB1000 Rangeman | GWF1035 Frogman | MTGB1000... 2024, November
Anonim
Image
Image
Áramköri rajz és NYÁK
Áramköri rajz és NYÁK

A LED -es tárgyak mindig lenyűgöznek. Ezért ez a projekt a népszerű HMC5883L digitális iránytűérzékelő és 48 LED kombinálására szolgál. Ha körbe helyezi a LED -eket, akkor a világító led az irányt mutatja. Minden 7,5 fok új LED -et fog vezetni, amely részletes eredményeket ad.

A GY-86 panel MS5611 barometrikus nyomásérzékelőt is biztosít. Ennek az érzékelőnek a segítségével kiszámítható a magasság. A nagy felbontás miatt tökéletes a magasságmérőkhöz.

A GY-86 táblán található MPU6050 érzékelő 3 tengelyes gyorsulásmérővel és 3 tengelyes giroszkóppal is rendelkezik. A giroszkóp képes mérni a szöghelyzet sebességét az idő múlásával. A gyorsulásmérő képes mérni a gravitációs gyorsulást, és trigonometriai matematika segítségével kiszámítható az érzékelő helyzetének szöge. A gyorsulásmérő és a giroszkóp adatainak kombinálásával információt kaphat az érzékelő tájolásáról. Ez használható a HMC5883L iránytű dőléskompenzációjára (teendő).

Az ebben az oktatóanyagban található rövid oktatóvideók részletesen elmagyarázzák, hogyan működik. A kalibrálási eljárások automatizáltak, így garantált a siker. A hőmérséklet Celsius (alapértelmezett) vagy Fahrenheit -fokban áll rendelkezésre.

Érezd jól magad !!

1. lépés: Magasságmérő

Image
Image

A magasságmérő az MS5611 barometrikus nyomásérzékelőt használja. A magasság a légköri nyomás mérése alapján határozható meg. Minél nagyobb a tengerszint feletti magasság, annál alacsonyabb a nyomás. Indításkor a magasságmérő az alapértelmezett 1013,25 mbar tengerszintű nyomást használja. Ha megnyomja a gombot a 21 -es érintkezőn, akkor az Ön helyén lévő nyomást használják referenciaként. Ily módon nagyjából meg lehet mérni, hogy milyen magasságban van valami (pl. Felfelé autóval haladva).

Ebben a projektben az úgynevezett "hipszometrikus képletet" használják. Ez a képlet a hőmérséklet felhasználásával kompenzálja a mérést.

float alt=(((Powf (forrás / ((float) P / 100,0), 0,19022256) - 1,0) * ((float) TEMP / 100 + 273,15)) / 0,0065;

A hipszometrikus képletről itt olvashat bővebben:

Hipszometrikus képlet

A gyári kalibrálási adatokat és az érzékelő hőmérsékletét az MS5611 érzékelőből olvassák le és alkalmazzák a kódra, hogy a legpontosabb méréseket kapják. A teszt során azt tapasztaltam, hogy az MS5611 érzékelő érzékeny a légáramlásra és a fényerősség különbségeire. Lehetővé kell tenni, hogy jobb eredményeket érjen el, mint ebben az oktatóvideóban.

2. lépés: Alkatrészek

1 x Microchip 18f26k22 mikrovezérlő 28-PIN PDIP

3 x MCP23017 16 bites I/O bővítő 28 tűs SPDIP

48 x LED 3 mm

1 db GY-86 modul MS5611, HMC5883L és MPU6050 érzékelőkkel

1 x SH1106 OLED 128x64 I2C

1 x 100nF kerámia kondenzátor

1 x 100 Ohm ellenállás

3. lépés: Áramköri rajz és NYÁK

Áramköri rajz és NYÁK
Áramköri rajz és NYÁK

Minden elfér egyoldalú NYÁK -on. Itt megtalálhatja az Eagle és a Gerber fájlokat, így saját maga készítheti el, vagy kérjen egy NYÁK -gyártótól.

Az autómban a LED iránytűt és a magasságmérőt használom, és az OBD2 interfészt használom tápegységként. A mikrokontroller tökéletesen illeszkedik a csatlakozóba.

4. lépés: Hogyan lehet tökéletesen igazítani a LED -eket körben másodpercek alatt az Eagle PCB tervezőszoftverrel?

Látnia kell ezt az igazán szép funkciót az Eagle PCB tervezőszoftverben, amely órákon át tartó munkát takarít meg. Ezzel az Eagle funkcióval pillanatok alatt tökéletesen körbe igazíthatja a LED -eket.

Csak kattintson a "Fájl" fülre, majd a "ULP futtatása" gombra. Innen kattintson a "cmd-draw.ulp" gombra. Válassza a "Mozgatás", "foklépés" és a "Kör" lehetőséget. Írja be az első LED nevét a "név" mezőbe. Állítsa be a kör középpontjának koordinátáit a rácson az "X center coord" és az "Y center coord" mezőkben. Ebben a projektben 48 LED van, így a 360 osztva 48 -cal 7,5 a "Szög lépés" mezőhöz. Ennek a körnek a sugara 1,4 hüvelyk. Nyomja meg az Enter billentyűt, és a LED -ek tökéletes köre van.

5. lépés: Iránytű kalibrálási folyamat

Image
Image

A HMC5883L 12 bites ADC -t tartalmaz, amely 1-2 Celsius fokos iránytű irányt tesz lehetővé. De mielőtt használható adatokat adna meg, kalibrálni kell. Annak érdekében, hogy ez a projekt zökkenőmentesen működjön, létezik ez a kalibrációs módszer, amely x- és y-eltolást biztosít. Nem ez a legkifinomultabb módszer, de elegendő ehhez a projekthez. Ez az eljárás csak néhány percbe kerül, és szép eredményeket hoz.

A szoftver betöltésével és futtatásával útmutatást kap a kalibrálási folyamathoz. Az OLED kijelző megmutatja, mikor kezdődik és mikor fejeződik be a folyamat. Ez a kalibrálási folyamat felkéri Önt, hogy forgassa el az érzékelőt 360 fokkal, miközben teljesen síkban tartja (vízszintesen a talajjal). Szerelje fel állványra vagy ilyesmire. Ha ezt a kezében tartja, nem működik. A végén az eltolásokat az OLED -en mutatjuk be. Ha többször futtatja ezt az eljárást, akkor szinte azonos eredményeket kell látnia.

Opcionálisan az összegyűjtött adatok RS232 -n keresztül is elérhetők a 27 -es tűn keresztül (9600 baud). Csak használjon egy terminálprogramot, mint például a Putty, és gyűjtse össze az összes adatot a naplófájlban. Ezek az adatok könnyen importálhatók az Excelben. Innen könnyebben láthatja, hogyan néz ki a HMC5883L ofszet.

Az eltolások a mikrovezérlő EEPROM -jába kerülnek. Ezek betöltődnek az iránytű és a magasságmérő szoftver indításakor, amelyet a 7. lépésben talál.

6. lépés: Kompenzálja tartózkodási helyének mágneses deklinációját

Image
Image
Érzékelők versenye
Érzékelők versenye

Van egy mágneses Észak és egy földrajzi Észak (Északi -sark). Iránytűje követi a Föld mágneses mező vonalait, így mutasson a mágneses Észak felé. A mágneses északi és a földrajzi északi közötti különbséget mágneses deklinációnak nevezik. Nálam a lejtés csak 1 fok és 22 perc, ezért nem érdemes ezt kompenzálni. Más helyeken ez a lejtés akár 30 fok is lehet.

Keresse meg a mágneses deklinációt a tartózkodási helyén

Ha ezt kompenzálni szeretné (opcionális), akkor a deklinációt (fok és perc) hozzáadhatja a mikrokontroller EEPROM -jához. A 0x20 helyen a fokokat aláírt hexadecimális formában adhatja hozzá. Azért van aláírva, mert negatív deklináció is lehet. A 0x21 helyen a jegyzőkönyveket hexadecimális formában is hozzáadhatja.

7. lépés: Fordítsa össze a kódot

Image
Image

Fordítsa össze ezt a forráskódot, és programozza be a mikrokontrollert. Ez a kód helyesen áll össze az MPLABX IDE v5.20 és az XC8 fordító v2.05 verziójával C99 módban (tehát a C99 könyvtárakat is). A hexa fájl is rendelkezésre áll, így kihagyhatja a fordítási eljárást. Győződjön meg arról, hogy törölte a jelölést az "EEPROM adatok engedélyezve" jelölőnégyzetből, hogy megakadályozza a kalibrálási adatok felülírását (lásd 5. lépés). Állítsa a programozót 3,3 voltra!

Ha a 27 -es tüskét a földhöz csatlakoztatja, Fahrenheit -fokban mérheti a hőmérsékletet.

Köszönet Achim Döblernek µGUI grafikai könyvtáráért

Érzékelők versenye
Érzékelők versenye

Második hely az érzékelők versenyében

Ajánlott: