Съдържание:

LED компас и висотомер: 7 стъпки (със снимки)
LED компас и висотомер: 7 стъпки (със снимки)

Видео: LED компас и висотомер: 7 стъпки (със снимки)

Видео: LED компас и висотомер: 7 стъпки (със снимки)
Видео: Мъжки Casio G-Shock Magma Ocean Gold Rangeman | 35-годишнина GPRB1000TF-1 Гледай... 2024, Юли
Anonim
Image
Image
Електрическа схема и печатна платка
Електрическа схема и печатна платка

Обектите със светодиоди винаги ме очароват. Затова този проект ще комбинира популярния цифров сензор за компас HMC5883L с 48 светодиода. Поставяйки светодиодите в кръг, светлинният индикатор е посоката, в която се насочвате. На всеки 7,5 градуса ще се задейства нов светодиод, който дава подробни резултати.

Платката GY-86 също така осигурява сензор за барометрично налягане MS5611. С помощта на този сензор е възможно да се изчисли надморската височина. Поради високата разделителна способност, той е идеален за висотомери.

Сензорът MPU6050 на платката GY-86 има 3-осен акселерометър и 3-осен жироскоп. Жироскопът може да измерва скоростта на ъгловата позиция във времето. Акселерометърът може да измерва гравитационното ускорение и чрез тригонометрична математика е възможно да се изчисли ъгълът, под който е разположен сензорът. Чрез комбиниране на данните за акселерометъра и жироскопа е възможно да се получи информация за ориентацията на сензора. Това може да се използва за компенсиране на наклона на компаса HMC5883L (да се направи).

Кратките видеоклипове с инструкции в тази инструкция ще обяснят подробно как работи. Процедурите за калибриране са автоматизирани, така че успехът е гарантиран. Температурата е налична в Целзий (по подразбиране) или Фаренхайт.

Забавлявай се !!

Стъпка 1: Висотомер

Image
Image

Висотомерът използва сензора за барометрично налягане MS5611. Надморската височина може да се определи въз основа на измерването на атмосферното налягане. Колкото по -голяма е надморската височина, толкова по -ниско е налягането. При стартиране висотомерът използва стандартно налягане на морското равнище от 1013,25 mbar. Като натиснете бутона на щифт 21, налягането във вашето местоположение ще се използва като ориентир. По този начин тя дава възможност приблизително да се измери каква височина има нещо (например при шофиране с автомобил нагоре).

В този проект се използва така наречената "хипсометрична формула". Тази формула използва температурата за компенсиране на измерването.

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

Можете да намерите повече за хипсометричната формула тук:

Хипсометрична формула

Фабричните данни за калибриране и температурата на сензора се отчитат от сензора MS5611 и се прилагат към кода, за да се получат най -точните измервания. По време на теста установих, че сензорът MS5611 е чувствителен към въздушните потоци и разликите в интензитета на светлината. Трябва да е възможно да се получат по -добри резултати, отколкото в това видео с инструкции.

Стъпка 2: Части

1 х микрочип 18f26k22 микроконтролер 28-PIN PDIP

3 x MCP23017 16-битов I/O разширител 28-пинов SPDIP

48 x LED 3 мм

1 x модул GY-86 със сензори MS5611, HMC5883L и MPU6050

1 x SH1106 OLED 128x64 I2C

1 х керамичен кондензатор 100nF

1 x 100 Ohm резистор

Стъпка 3: Електрическа схема и печатна платка

Електрическа схема и печатна платка
Електрическа схема и печатна платка

Всичко се побира на едностранна печатна платка. Намерете тук файловете Eagle и Gerber, за да можете да го направите сами или да попитате производителя на печатни платки.

Използвам LED компаса и висотомера в колата си и използвам OBD2 интерфейса като захранване. Микроконтролерът се вписва перфектно в конектора.

Стъпка 4: Как да перфектно подравните светодиодите в кръг за секунди със софтуера за проектиране на печатни платки Eagle

Трябва да видите тази наистина хубава функция в Eagle PCB Design Software, която ви спестява часове работа. С тази функция на Eagle можете перфектно да подравните светодиодите в кръг за секунди.

Просто щракнете върху раздела „Файл“и след това „Изпълнете ULP“. От тук кликнете върху „cmd-draw.ulp“. Изберете „Преместване“, „степенна степен“и „Кръг“. Попълнете името на първия светодиод в полето "име". Задайте координатите на центъра на окръжността върху решетката в полетата "X координата на центъра" и "Y център координата". В този проект има 48 светодиода, така че 360, разделено на 48, прави 7.5 за поле "Стъпка на ъгъл". Радиусът на този кръг е 1,4 инча. Натиснете Enter и имате перфектен кръг от светодиоди.

Стъпка 5: Процес на калибриране на компаса

Image
Image

HMC5883L включва 12 -битов ADC, който позволява точност на насочване на компаса от 1 до 2 градуса по Целзий. Но преди да даде използваеми данни, трябва да се калибрира. За да може този проект да работи безпроблемно, има този метод за калибриране, който осигурява изместване на x- и y. Това не е най -сложният метод, но е достатъчен за този проект. Тази процедура ще ви струва само няколко минути и ще ви даде добри резултати.

При зареждане и стартиране на този софтуер ще бъдете ръководени в този процес на калибриране. OLED дисплеят ще ви каже кога процесът ще започне и кога ще приключи. Този процес на калибриране ще ви помоли да завъртите сензора на 360 градуса, като го държите абсолютно равен (хоризонтално спрямо земята). Монтирайте го на статив или нещо подобно. Правенето на това, като го държите в ръка, не работи. В края офсетите ще бъдат представени на OLED. Ако изпълните тази процедура няколко пъти, трябва да видите почти равни резултати.

По желание събраните данни също са достъпни чрез RS232 чрез пин 27 (9600 бода). Просто използвайте терминална програма като Putty и съберете всички данни в лог файла. Тези данни могат да бъдат импортирани лесно в Excel. От тук можете да видите по -лесно как изглежда изместването на вашия HMC5883L.

Отместванията се поставят в EEPROM на микроконтролера. Те ще бъдат заредени при стартиране на софтуера за компас и висотомер, който ще намерите в стъпка 7.

Стъпка 6: Компенсирайте магнитното отклонение на вашето местоположение

Image
Image
Състезание за сензори
Състезание за сензори

Има магнетичен Север и географски Север (Северен полюс). Вашият компас ще следва линиите на магнитното поле на Земята, така че посочете магнитния север. Разликата между магнитния север и географския север се нарича магнитно отклонение. На моето място отклонението е само 1 градус и 22 минути, така че не си струва да компенсирам това. На други места това отклонение може да бъде до 30 градуса.

Намерете магнитното отклонение на вашето местоположение

Ако искате да компенсирате това (по избор), можете да добавите отклонението (градуси и минути) в EEPROM на микроконтролера. На място 0x20 можете да добавите степени в подписана шестнадесетична форма. Той е подписан, защото може да бъде и отрицателно отклонение. На място 0x21 можете да добавите минутите също в шестнадесетична форма.

Стъпка 7: Компилирайте кода

Image
Image

Компилирайте този изходен код и програмирайте вашия микроконтролер. Този код се компилира правилно с MPLABX IDE v5.20 и XC8 компилатор v2.05 в режим C99 (така че включете директориите C99). На разположение е и шестнадесетичния файл, така че можете да пропуснете процедурата за компилиране. Уверете се, че сте премахнали отметката от квадратчето „Данните за EEPROM са разрешени“, за да предотвратите презаписването на данните за калибриране (вижте стъпка 5). Настройте вашия програмист на 3.3 волта!

Чрез свързване на щифт 27 към земята получавате температурата в Фаренхайт.

Благодаря на Achim Döbler за неговата графична библиотека µGUI

Състезание за сензори
Състезание за сензори

Вицешампион в състезанието за сензори

Препоръчано: