Новомодная тенденция использования акселерометров в мобильных гаджетах, будь то iPhone или Nintendo Wii, даёт толчок применения их в радиолюбительских конструкциях. Данное устройство, собранное на микроконтроллере ATmega32 позволяет измерять статическое и динамическое ускорение с точностью до нескольких mg и отображает величину ускорения на ЖК дисплее. Используется двухосевой интегральный акселерометр ADXL202. Диапазон работы акселерометра от -2 до +2 g.
«Зачем использовать относительно мощный и большой микроконтроллер ATmega32, когда есть более простые и дешёвые микроконтроллеры, например ATtiny2313 или ATmega8, которые лихо справятся с данной задачей? ». – Дело в том, что при разработке и отладки устройства в наличии была отладочная плата с микроконтроллером ATmega32. Может быть, позже, немного изменю прошивку под более дешевый микроконтроллер т.к. у AVR чипов есть совместимость снизу-вверх, то по сути дела изменения сведуться к небольшой правке кода и замене строки в makefile: например, с MCU = atmega32 на MCU = atmega8 и изменению имён пары регистров.
Считывание показаний с датчика производится посредством ШИМ-модуляции. Поподробнее о датчике ADXL202, данные взяты из даташита. Скачать datasheet ADXL202. На каждую ось имеется два выхода – один аналоговый, а другой цифровой. Цифровой сигнал передаётся в виде ШИМ.
Внутренняя схема датчика:
Частота ШИМ задается номиналом резистора Rset. Данные приведены в таблице:
Период ШИМ |
Rset |
1 ms |
125 kΩ |
2 ms |
250 kΩ |
5 ms |
625 kΩ |
10 ms |
1.25 MΩ |
Период ШИМ приближенно определяется формулой:
T2(s) = Rset /125 MΩ
Ускорение вычисляется по формуле:
Acceleration(g) = (T1/T2 – 0.5)/12.5%
где T1 – время лог.“1”, а T2 – период ШИМ
При нулевом ускорение заполнение ШИМ кадра составляет 50%.
Номинал конденсаторов Cx и CY определяет полосу пропускания датчика по осям (т.е. можно отфильтровать нежелательные высокочастотные ускорения такие как вибрация и т.п.):
Полоса пропускания |
Номинал Cx, Cy |
10 Hz |
0.47 µF |
50 Hz |
0.10 µF |
100 Hz |
0.05 µF |
200 Hz |
0.027 µF |
500 Hz |
0.01 µF |
5 kHz |
0.001 µF |
Вывод результатов измерения производится на дисплей 16*2 с любым HD44780-совместимым контроллером. Управление устройством осуществляется посредством двух кнопок, одна из которых служит для перемещения по меню, а другая для подтверждения выбора пользователя. Микроконтроллер работает на частоте 1MHz, тактирование может происходить от внешнего кварца либо от внутренней RC- цепочки, что менее предпочтительно. В принципе на частоту тактирования не накладываются жесткие ограничения, при другой частоте кварца потребуется небольшое редактирование исходного кода. Кнопка служит для выбора единицы измерения ускорения, либо g, либо м/c2. Схема измерителя ускорения на микроконтроллере AVR ATmega32:
Возможные улучшения:
- ввести калибровку датчика,
- измерение ускорения по двум осям,
- вложенное меню настроек