Mundarija:

LED kompas va altimetr: 7 qadam (rasmlar bilan)
LED kompas va altimetr: 7 qadam (rasmlar bilan)

Video: LED kompas va altimetr: 7 qadam (rasmlar bilan)

Video: LED kompas va altimetr: 7 qadam (rasmlar bilan)
Video: Сравнение G-Shock Magma Ocean Коллекция | GPRB1000 Rangeman | GWF1035 Frogman | MT... 2024, Iyul
Anonim
Image
Image
O'chirish diagrammasi va PCB
O'chirish diagrammasi va PCB

LEDli ob'ektlar har doim meni hayratga soladi. Shuning uchun ushbu loyiha mashhur HMC5883L raqamli kompas sensorini 48 LED bilan birlashtiradi. LEDlarni aylanaga joylashtirib, yorug'lik - bu siz tomon yo'nalayotgan yorug'lik. Har 7,5 gradusda yangi LED ishlaydi, bu esa batafsil natija beradi.

GY-86 taxtasi, shuningdek, MS5611 barometrik bosim sensori bilan ta'minlangan. Bu sensor yordamida balandlikni hisoblash mumkin. Yuqori aniqlik tufayli u altimetrlar uchun juda mos keladi.

GY-86 bortidagi MPU6050 sensori 3 o'qli akselerometr va 3 o'qli giroskopga ega. Giroskop vaqt o'tishi bilan burchak holatining tezligini o'lchashi mumkin. Akselerometr gravitatsiyaviy tezlanishni o'lchashi mumkin va trigonometriya yordamida sensori joylashtirilgan burchakni hisoblash mumkin. Akselerometr va giroskop ma'lumotlarini birlashtirib, sensorning yo'nalishi haqida ma'lumot olish mumkin. Bu HMC5883L kompasini egish kompensatsiyasi uchun ishlatilishi mumkin (bajarilishi kerak).

Qo'llanmaning qisqa ko'rsatmalari qanday ishlashini batafsil tushuntiradi. Kalibrlash jarayonlari avtomatlashtirilgan, shuning uchun muvaffaqiyat kafolatlanadi. Harorat Selsiy (standart) yoki Farengeytda mavjud.

Maza qiling !!

1 -qadam: Altimetr

Image
Image

Altimetrda MS5611 barometrik bosim sensori ishlatiladi. Balandlikni atmosfera bosimini o'lchash asosida aniqlash mumkin. Balandlik qanchalik katta bo'lsa, bosim past bo'ladi. Ishga tushganda, altimetr dengiz sathidagi 1013,25 mbar bosimini ishlatadi. 21 -pinli tugmani bosish orqali siz turgan joydagi bosim mos yozuvlar sifatida ishlatiladi. Shunday qilib, biror narsaning balandligini taxminan o'lchash mumkin bo'ladi (masalan, mashina bilan tepaga).

Ushbu loyihada "Gipsometrik formulalar" ishlatiladi. Ushbu formula o'lchovni qoplash uchun haroratdan foydalanadi.

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

Gipsometrik formulalar haqida ko'proq ma'lumotni bu erda topishingiz mumkin:

Gipometrik formula

Zavodning kalibrlash ma'lumotlari va sensori harorati MS5611 sensoridan o'qiladi va eng aniq o'lchovlarni olish uchun kodga qo'llaniladi. Sinov paytida men MS5611 sensori havo oqimi va yorug'lik intensivligidagi farqlarga sezgir ekanligini aniqladim. Bu ko'rsatma videodan ko'ra yaxshiroq natijalarga erishish mumkin bo'lishi kerak.

2 -qadam: qismlar

1 x Microchip 18f26k22 28-PIN PDIP mikrokontroller

3 x MCP23017 16-bitli I/U kengaytirgich 28-pinli SPDIP

48 x LED 3 mm

MS5611, HMC5883L va MPU6050 sensorli 1 x GY-86 moduli

1 x SH1106 OLED 128x64 I2C

1 x Seramika kondansatör 100nF

1 x 100 Ohm qarshilik

3 -qadam: O'chirish diagrammasi va tenglikni

O'chirish diagrammasi va PCB
O'chirish diagrammasi va PCB

Hamma narsa bir tomonlama PCBga mos keladi. Bu erda Eagle va Gerber fayllarini toping, shunda uni o'zingiz qilishingiz yoki PCB ishlab chiqaruvchisidan so'rashingiz mumkin.

Men mashinamda LED kompas va Altimetrdan foydalanaman va quvvat manbai sifatida OBD2 interfeysidan foydalanaman. Mikrokontroller ulagichga juda mos keladi.

4 -qadam: Eagle PCB dizayn dasturi yordamida LEDlarni bir soniya ichida qanday qilib tekislash mumkin

Siz Eagle PCB Design Software -da bu juda yaxshi xususiyatni ko'rishingiz kerak, bu sizga bir necha soatlik ish vaqtini tejaydi. Eagle -ning bu xususiyati yordamida siz LEDlarni aylanada bir necha soniya ichida mukammal tekislashingiz mumkin.

"Fayl" yorlig'ini, so'ng "ULP ishga tushirish" ni bosing. Bu erdan "cmd-draw.ulp" ni bosing. "Ko'chirish", "daraja bosqichi" va "aylana" ni tanlang. "Ism" maydonidagi birinchi LEDning nomini to'ldiring. "X markazi koordinatasi" va "Y markazining koordinatasi" maydonlarida aylana markazining koordinatalarini panjara ustiga qo'ying. Ushbu loyihada 48 ta LED mavjud, shuning uchun 360 ga 48 ga bo'linib, "burchakli qadam" maydoni uchun 7,5 ni tashkil qiladi. Bu doiraning radiusi 1,4 dyuym. Enter ni bosing va sizda LEDlarning mukammal doirasi bor.

5 -qadam: Kompasni kalibrlash jarayoni

Image
Image

HMC5883L 12 bitli ADC -ni o'z ichiga oladi, bu 1-2 daraja Selsiy bo'yicha kompas yo'nalishining aniqligini ta'minlaydi. Ammo ma'lumotni ishlatishdan oldin uni kalibrlash kerak. Ushbu loyihani muammosiz ishga tushirish uchun x- va y ofsetini ta'minlaydigan kalibrlash usuli mavjud. Bu eng murakkab usul emas, lekin bu loyiha uchun etarli. Ushbu protsedura bir necha daqiqaga to'g'ri keladi va sizga yaxshi natijalar beradi.

Ushbu dasturiy ta'minotni yuklash va ishga tushirish orqali siz ushbu kalibrlash jarayonini boshqarasiz. OLED displeyi sizga jarayon qachon boshlanishi va qachon tugashi haqida xabar beradi. Bu kalibrlash jarayoni sensorni 360 gradusga burishingizni so'raydi, uni gorizontal holatda ushlab turing. Uni tripodga yoki shunga o'xshash narsaga o'rnating. Qo'lingizda ushlab, buni qilish ishlamaydi. Oxirida ofsetlar OLED -da taqdim etiladi. Agar siz ushbu protsedurani bir necha marta bajargan bo'lsangiz, deyarli teng natijalarni ko'rishingiz kerak.

Majburiy emas, to'plangan ma'lumotlar RS232 orqali 27 -pin (9600 bod) orqali ham mavjud. Putty kabi terminal dasturidan foydalaning va jurnal faylidagi barcha ma'lumotlarni to'plang. Bu ma'lumotlarni Excelga osongina import qilish mumkin. Bu yerdan siz HMC5883L ofsetining qanday ko'rinishini osonroq ko'rishingiz mumkin.

Ofsetlar mikrokontrollerning EEPROM -ga joylashtiriladi. Ular 7 -qadamda topiladigan kompas va altimetr dasturlari ishga tushganda yuklanadi.

6 -qadam: Joylashuvingizning magnit burilishining o'rnini to'ldiring

Image
Image
Sensorlar musobaqasi
Sensorlar musobaqasi

Magnit Shimoliy va geografik Shimoliy (Shimoliy qutb) bor. Sizning kompasingiz erning magnit maydonining chiziqlari bo'ylab harakat qiladi, shuning uchun magnitli Shimolga ishora qiling. Magnit Shimoliy va geografik Shimol o'rtasidagi farq magnitli burilish deb ataladi. Mening joylashuvimda moyillik atigi 1 daraja va 22 daqiqani tashkil qiladi, shuning uchun buni qoplashga arzimaydi. Boshqa joylarda bu burilish 30 darajagacha bo'lishi mumkin.

O'zingiz turgan joyda magnit burilishni toping

Agar siz buni kompensatsiya qilmoqchi bo'lsangiz (ixtiyoriy), siz mikrokontrollerning EEPROMidagi burilishni (daraja va daqiqalarni) qo'shishingiz mumkin. 0x20 manzilida siz darajalarni imzolangan o'n oltilik shaklga qo'shishingiz mumkin. Bu imzolangan, chunki u ham salbiy moyillik bo'lishi mumkin. 0x21 manzilda siz daqiqalarni o'n oltilik shaklda ham qo'shishingiz mumkin.

7 -qadam: Kodni tuzing

Image
Image

Ushbu manba kodini tuzing va mikrokontrolleringizni dasturlashtiring. Ushbu kod C99 rejimida MPLABX IDE v5.20 va XC8 v2.05 kompilyatori bilan to'g'ri tuzilgan (C99 kataloglarini o'z ichiga oladi). Hex fayli ham mavjud, shuning uchun siz kompilyatsiya jarayonini o'tkazib yuborishingiz mumkin. Ma'lumotni kalibrlashni oldini olish uchun "EEPROM ma'lumotlari yoqilgan" katagiga belgi qo'yilganligiga ishonch hosil qiling (5 -qadamga qarang). Dasturchini 3,3 voltga o'rnating!

27 -pinni erga ulash orqali siz Farengeytdagi haroratni olasiz.

Achim Doblerga mGUI grafik kutubxonasi uchun rahmat

Sensorlar musobaqasi
Sensorlar musobaqasi

Sensorlar musobaqasida ikkinchi o'rinni egalladi

Tavsiya: