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

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

 

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

 

 

 

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

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


 




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

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

 

 

 

 

Категория: Проекты | Добавлено: 24.09.2013
Просмотров: 17241 | Комментарии: 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
авторизация
Логин:
Пароль:
Комментарии
Когда не хватает ног. Часть 2. Сдвиговый регистр 74HC595
08.12.2016 - exersizze:
yorx выдалось немного свободного времени, проверил в симуляторе. Проблема...
Логгер температуры 2.0
05.12.2016 - Evgeny6873:
Хотел повторить схему и долго ждал дисплей, два раза заказывал с Китая, пришел. ...
Когда не хватает ног. Часть 2. Сдвиговый регистр 74HC595
01.12.2016 - yorx:
Доброго времени суток, exersizze попробовал Ваш код все равно не работает как на...
Помни об усадке!
30.11.2016 - pchela5:
Автомобильные никакие не лезут?
Помни об усадке!
29.11.2016 - AlekS:
Виктор, спасибо.
С заменой транса в зиму, перестройка не комельфо) Валяет...
Управляем микроконтроллером с ПК по UART
29.11.2016 - exersizze:
Михаил, для работы с инфракрасными датчиками и диодами есть команды RC5SE...
Управляем микроконтроллером с ПК по UART
29.11.2016 - Михаил:
Всем привет.
Подскажите как переменную S передать по инфракрасному каналу...
Помни об усадке!
29.11.2016 - pchela5:
> Если ленту светодиодную порезать и соединить последовательно
Только ...
Когда не хватает ног. Часть 2. Сдвиговый регистр 74HC595
29.11.2016 - exersizze:
yorx, вывод Q7 ' первой микросхемы соединен с DS второй микросхемы? С...


Лучшие цены на 3D принтеры
успей сделать себе подарок к Новому Году! ;)


Prusa i3

Prusa i3 от 12500 р.



Rostoсk

Rostock от 15000 р.