Оглавление:

Светодиодный компас и высотомер: 7 шагов (с изображениями)
Светодиодный компас и высотомер: 7 шагов (с изображениями)

Видео: Светодиодный компас и высотомер: 7 шагов (с изображениями)

Видео: Светодиодный компас и высотомер: 7 шагов (с изображениями)
Видео: ТЕХНИКА БЕЗОПАСНОСТИ. Вид Грубейшего Нарушения ТРЕБОВАНИЙ ТБ при работе на СТАНКАХ. 2024, Июль
Anonim
Image
Image
Принципиальная схема и печатная плата
Принципиальная схема и печатная плата

Объекты со светодиодами меня всегда восхищали. Поэтому этот проект объединяет популярный цифровой датчик компаса HMC5883L с 48 светодиодами. Поместив светодиоды по кругу, вы увидите, в каком направлении вы движетесь. Через каждые 7,5 градусов включается новый светодиод, который дает подробные результаты.

Плата GY-86 также оснащена датчиком барометрического давления MS5611. С помощью этого датчика можно рассчитать высоту. Благодаря высокому разрешению он идеально подходит для высотомеров.

Датчик MPU6050 на плате GY-86 имеет как 3-осевой акселерометр, так и 3-осевой гироскоп. Гироскоп может измерять скорость углового положения с течением времени. Акселерометр может измерять ускорение свободного падения, а с помощью тригонометрической математики можно рассчитать угол, под которым расположен датчик. Комбинируя данные акселерометра и гироскопа, можно получить информацию об ориентации датчика. Это можно использовать для компенсации наклона компаса HMC5883L (делать).

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

Повеселись !!

Шаг 1: высотомер

Image
Image

В альтиметре используется датчик барометрического давления MS5611. Высота может быть определена на основе измерения атмосферного давления. Чем больше высота, тем ниже давление. При запуске высотомер использует давление на уровне моря по умолчанию, равное 1013,25 мбар. При нажатии кнопки на штыре 21 давление в вашем местоположении будет использоваться в качестве ориентира. Таким образом, можно приблизительно измерить высоту объекта (например, при движении в гору на машине).

В этом проекте используется так называемая «гипсометрическая формула». Эта формула использует температуру для компенсации измерения.

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

Вы можете узнать больше о гипсометрической формуле здесь:

Гипсометрическая формула

Данные заводской калибровки и температура датчика считываются с датчика MS5611 и применяются в коде для получения наиболее точных измерений. Во время тестирования я обнаружил, что датчик MS5611 чувствителен к воздушным потокам и разнице в интенсивности света. Должно быть возможно получить лучшие результаты, чем в этом видео с инструкциями.

Шаг 2: Детали

1 x микроконтроллер Microchip 18f26k22 28-PIN PDIP

3 x MCP23017 16-разрядный расширитель ввода / вывода 28-контактный SPDIP

48 x светодиодов 3 мм

1 модуль GY-86 с датчиками MS5611, HMC5883L и MPU6050

1 x SH1106 OLED 128x64 I2C

1 х керамический конденсатор 100 нФ

1 резистор 100 Ом

Шаг 3: принципиальная схема и печатная плата

Принципиальная схема и печатная плата
Принципиальная схема и печатная плата

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

Я использую светодиодный компас и высотомер в своей машине и использую интерфейс OBD2 в качестве источника питания. Микроконтроллер идеально вписывается в разъем.

Шаг 4: Как идеально выровнять светодиоды по кругу за секунды с помощью программного обеспечения Eagle PCB Design

Вы должны увидеть эту действительно прекрасную функцию в программе Eagle PCB Design Software, которая сэкономит вам часы работы. С помощью этой функции Eagle вы можете идеально выровнять светодиоды по кругу за секунды.

Просто щелкните вкладку «Файл», а затем «Выполнить ULP». Отсюда щелкните «cmd-draw.ulp». Выберите «Перемещение», «шаг градуса» и «Круг». Заполните название первого светодиода в поле «name». Задайте координаты центра круга на сетке в полях «Координаты центра X» и «Координаты центра Y». В этом проекте 48 светодиодов, поэтому 360 разделенных на 48 дает 7,5 для поля «Шаг угла». Радиус этого круга составляет 1,4 дюйма. Нажмите Enter, и у вас будет идеальный круг светодиодов.

Шаг 5: процесс калибровки компаса

Image
Image

HMC5883L включает 12-битный АЦП, который обеспечивает точность направления от 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 к земле, вы получите температуру в градусах Фаренгейта.

Спасибо Ахиму Дёблеру за его графическую библиотеку µGUI.

Конкурс датчиков
Конкурс датчиков

Финалист конкурса датчиков

Рекомендуемые: