Акселерометр используется для измерения ускорения, но кроме того его можно исполь зовать для того, чтобы “почувствовать” удар, движение и т.д. В этой статье я расскажу о аналоговом акселерометре LIS331AL.
Итак, акселерометр LIS331AL может измерять ускорение по трём осям(x, y, z) в пределе +-2g. Выходы у него аналоговые, нулю по ускорению соответствует напряжение VCC/2(при напряжении питания 3,3 В это 1,65 В). Напряжение питания акселерометра – 3 – 3,6 В. В рабочем режиме акселерометр потребляет 650 мкА, в режиме пониженного энергопотребления – 1 мкА. Схема включения из даташита:
Фильтрующие конденсаторы по питанию ставить нужно обязательно. Без них будут глюки. Конденсаторы Cload я поставил по 100 нФ, операционные усилители не ставил. Вывод PD предназначен для управления режимом работы акселерометра. Если на этом выводе 0, акселерометр находится в нормальном, рабочем режиме. Если на вывод PD подать 1, акселерометр перейдёт в режим пониженного энергопотребления и будет потреблять 1 мкА. Пин ST предназначен для проверки работоспособности внутренних цепей акселерометра. Если на него подать 1, акселерометр перейдёт в режим тестирования, если 0 – в нормальный, рабочий режим.
Акселерометр выпускается в корпусе LGA-16, поэтому без фена его запаять проблематично. Я паял его обычным строительным феном. Делается это так. Сначала залуживаем плату, на контактные площадки, к которым мы будем припаивать микросхему, наносим побольше припоя так, чтобы контактные площадки были слегка выпуклыми. Потом залуживаем контакты самого акселерометра, обильно смачиваем плату флюсом(я использовал ЛТИ-120) и устанавливаем микросхему как можно более ровнее. Включаем фен, ждём пока он нагреется и, придерживая микросхему пинцетом, прогреваем плату феном. Как только припой начнёт плавится, аккуратно убираем пинцет, греем ещё немножко и убираем фен. Микросхема припаяна.
Далее я написал небольшую программку для микроконтроллера(архив, как обычно, в конце статьи), которая считывает значение с АЦП и скидывает его в UART с небольшой задержкой. На компьютере использовал терминалку Terminal 1.9b, в режиме отображения графика. Выход z акселерометра подключен к каналу ADC0 и вот что из этого получилось:
Когда платка с акселерометром лежит на столе неподвижно, график ровный, а если акселерометр шевельнуть, на графике появляются синусоиды. Как видно из графика, я шевельнул платку с акселерометром 2 раза. Сначала, когда ускорение велико, напряжение на выходе доходит до напряжения питания акселерометра(в моём случае 3,6 В), после скорость уменьшается, акселерометр начинает двигаться в другую сторону, напряжение доходит до нуля. Так повторяется несколько раз, меняется только размах синусоид.