Главная » Статьи » Проекты

Электронный компас на HMC5883L

 

 Продолжая играться с магнитометром HMC5883L собрал компас, хоть и электронный но зато со стрелкой:) Для вывода информации использован дисплей от Nokia 3310, над расчетом и отрисовкой картинки работает микроконтроллер ATMega16.

 

 

 

 Код работы с датчиком остался прежним, просто добавил поворот стрелки в зависимости от угла. Так как "кадры" хранятся в памяти микроконтроллера, пришлось ограничится 16-ю положениями стрелки при вращении вокруг своей оси, но в принципе этого достаточно. Схема соединения проста:
 

 
 Микроконтроллер тактируется от внутреннего RC генератора на частоте 8МГц
 
 Как отмечалось ранее, плата на которой запаян датчик HMC5883L имеет согласование уровней, ее можно запитывать от 5 вольт. Дисплей тоже выдерживает напряжение до 5 вольт, поэтому его, как и плату с датчиком, можно подключать к микроконтроллеру напрямую, не прибегая к дополнительным схемам согласования уровней.


 




Скачать материалы к проекту
 

UPD: как некоторые товарищи заметили, компас исправно работает только в строго горизонтальном положении. Тогда когда магнитное поле действует только на оси X и Y. В случае наклона датчика в работу включается проекция поля на ось Z и поэтому ее необходимо учитывать. Поизучав немного этот вопрос нашел решение в одном журнале, где предлагается дополнительно использовать акселерометр, для того чтобы знать в каком положении находится датчик и дальше путем тригонометрических расчетов вводится корректировка и находится азимут. СКАЧАТЬ

 

 

 

 

Категория: Проекты | Добавлено: 24.09.2013
Просмотров: 17559 | Комментарии: 12 | Рейтинг: 4.1/9
Всего комментариев: 12
12 GSV   (17.06.2015 13:10)
-asd81-
Программа в mega16 занимает 85%.В mega8 программа просто не влезет.

11 asd81   (16.06.2015 23:42)
здравствуйте. хотелось бы собрать компас на mega8, но в программировании я полный ноль. если есть такая возможность, сможет кто нибудь помочь за спасибо?)

10 promotor   (23.01.2015 18:58)
А в каких единицах датчик выдает значения X, Y, Z?

9 Scorpushka   (18.12.2013 09:25)
exersizze, вот моя распиновка дисплея. http://www.picshare.ru/view/3504742/ у тебя в проектах другой дисплей? например на выводе №3 у меня SCE у тебя SDIN

8 exersizze   (17.12.2013 19:47)
ты про Din = Portb.1 ? этот вывод при работе с дисплеем не нужен, поэтому этот кусок остался как рудимент с прошлых проектов.

7 exersizze   (30.11.2013 12:35)
Прошивка в архиве рабочая, фьюзы на 8МГц внутреннего  RC генератора. С питанием как обычно, VCC - плюс, GND - минус (просто Proteud не показывает эти ножки на микросхемах, так как и так ясно куда они подлкючаются)

6 Goodwin   (30.11.2013 10:03)
хочу повторить проект, подскажите не могли бы выложить скриншот фьюзов?
прошивка hex рабочая в материалах?
ни разу программированием не занимался, хочу попробовать.
Еще вопрос, на схеме к AVR только не подключено VCC и GND, покдлючить по даташиту?

5 exersizze   (07.10.2013 09:35)
Aleks8383 , датчик чувствителен к железу, начинает врать. А от отвертки с намагниченным концом вообще начинает сходить с ума. Поэтому думаю в металлическом корпусе от него будет пользы никакой.

4 Aleks8383   (07.10.2013 08:40)
exersizze, а как обстоит дело с наводками от посторонних предметов(металл,руки и тд и тп)??
Хотелось одну штуковину на основе этого модуля сделать, а устройство по идее должен на металлической основе стоять. Не будет таких же отклонения как и с обычным компасом когда его к металлу подносишь.

3 max   (25.09.2013 18:31)
Прикольно.

2 exersizze   (25.09.2013 18:06)
Угу, пересмотрел видео) действительно, надо было на стол чего нибудь цветастого кинуть чтобы заметно было что относительно чего крутится) 
top, оно конечно правильно что надо включать математику для поворота картинки, но примеров не встречал. Как вариант, можно воспользоваться трудами товарища Fortera и закинуть всю анимацию на хранение во внешнюю память
 http://avrproject.ru/publ....-1-0-97

1 top   (25.09.2013 16:49)
При просмотре видео создалось ощущение что вращается не макетка а камера)
Прожорливо столько картинок хранить, можно поколдовать с геометрической отрисовкой фигур на дисплее. Размер программы будет гораздо меньше)))

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]






   EasyEDA:  бесплатный редактор схем

   ✓ Создание схем
   ✓ Возможность симуляции
   ✓ Быстрое создание печатных плат
   ✓ Интуитивно понятный интерфейс

   Нарисуй свою схему прямо сейчас!
   Изготовление печатных плат   https://easyeda.com/order
авторизация
Логин:
Пароль:
Комментарии
Минитерминал V.3.0
18.01.2017 - exersizze:
Отлично!) вопрос такой к собравшим, как точно тачскрин отрабатывает  нажатия? На...
Минитерминал V.3.0
17.01.2017 - maksut11:
Проблема решена, не пропай 2х контактов разьема на экран. Экран работает, и это ...
Минитерминал V.3.0
17.01.2017 - exersizze:
Тогда проверять внимательно все соединения, должно было заработать сразу, больше...
Минитерминал V.3.0
17.01.2017 - maksut11:
Запустил , Бибика не подключена, осцилограмма показывает что бикает. Прошил снов...
Минитерминал V.3.0
17.01.2017 - exersizze:
Прошивается только флэш. Попробуйте прошить вот этим, должен раз в секунду мигат...
Сетевой диммер 220V на микроконтроллере
17.01.2017 - exersizze:
Конденсатор не имеет большого значения, скорее всего неправильная частота работы...
Сетевой диммер 220V на микроконтроллере
16.01.2017 - Prorokzv:
Подскажите пожалуйста конденсатор С1 у вас на 0,05 мкФ, я ничего не перепутал? П...
Минитерминал V.3.0
16.01.2017 - maksut11:
Доброго времени суток.
Подскажите как можно определить жив ли прибор. Мож...
Работа с дисплеями от Nokia3310 в Bascom-AVR (продолжение)
15.01.2017 - exersizze:
Если кратко, то меняем все на что ругается компилятор.
Вот к примеру я ме...


Лучшие цены на 3D принтеры


Prusa i3

Prusa i3 от 12000 р.



Rostoсk

Rostock от 15000 р.