шаблоны сайт визитка joomla
Скачать шаблоны Joomla 3.5 бесплатно
Вы находитесь здесь:Главная»Учебные материалы»Arduino Scetch»Аналоговый акселерометр ADXL335

Аналоговый акселерометр ADXL335

ADXL335 7ADXL335 - это аналоговый трехосный акселерометр, то есть датчик, с помощью которого можно получить угол относительного отклонения.  Фактически, это три разных акселерометра в одном корпусе, каждый из которых отвечает за свою собственную ось X, Y либо же Z.

Вообще, Акселерометр - приспособление для измерения ускорения.  Однако, из общего курса школьно физики мы знаем, что ускорение бывает двух видов: динамическое и статическое.  С динамическим ускорением должно быть все понятно - толкнули датчик, придали ему ускорение, он должен это зафиксировать. Статическое ускорение - это воздействие силы тяжести на наш датчик. Дело в том, что к датчику даже в состоянии полного покоя приложено статическое ускорение равное g (ускорение свободного падения). 

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

На картинке показано, какие будут показания при разных положениях датчика. Относительное положение датчика необходимо отслеживать по маленькому беленькому кружечку-метке.

ADXL335 1

Для начала разберемся с правой частью картинки, на которой меняет свое значение Zout (ось Z). Согласно этой картинке, если положить наш датчик контактами вниз, то значение по оси Z будет равно единице (точнее одному g). Данное значение, как было сказано -  проекция вектора статического ускорения на ось нашего датчика. Так как в данном случае вектор совпадает с осью Z, а ускорения свободного падения равняется g, мы и имеет значение Zout = 1g.
Если же мы перевернем датчик контактами вверх, то значение Zout изменится на противоположное. Стоит отметить, что все остальные ускорения равны нулю, связано это с уже упомянутым совпадением вектора статического ускорения с осью Z, а так же состоянием покоя всего датчика.
Аналогично можно рассмотреть все остальные пары. Единственное отличие в том, что датчик будет находится на ребре или боку. 

Однако, вектор далеко не всегда будет совпадать с какой-либо из осей. Чаще всего этот вектор будет каким-либо распределен по всем трем осям - т.к. пространство трехмерное.

ADXL335 2

О датчике ADXL335 

  • Максимально допустимым значение напряжения для ADXL335 является 3,6 вольта
  • Датчик справляется с ускорениями до 3g. Это можно использовать например, чтобы определить находится ли вся конструкция в движении, и даже в каком направлении она двигается. Можно измерять ускорение при начале движения и тем самым делать его более плавным, без резких рывков.

Схема подключения акселерометра

ADXL335 3

  • Внимание! Для питания выход 3v3 Arduino, а не 5v
  • Выходы X, Y, Z датчика соединить со входами ANALOG IN 0, 1, 2

Пример программного кода - программирование акселерометра

#define ADC_ref 5.0
#define analog_resolution 1024.0

unsigned int value_x;
unsigned int value_y;
unsigned int value_z;

void setup() {
Serial.begin(9600); }

void loop() {
value_x = analogRead(0);
value_y = analogRead(1);
value_z = analogRead(2);
Serial.print(value_x/analog_resolution*ADC_ref, 5);
Serial.print(" ");
Serial.print(value_y/analog_resolution*ADC_ref, 5);
Serial.print(" ");
Serial.println(value_z/analog_resolution*ADC_ref, 5);
delay(500); }


Обозначаем пару констант. ADC_ref - это максимальное значение в вольтах которое может снять аналоговый вход. analog_resolution - это разрешающая способность нашего аналогового входа. На arduino она равна 210 или 1024.
После объявления констант идет пара переменных в которых мы будем хранить показания снятые с нашего датчика и инициализация серийного порта, чтобы можно было получить какие-то данные на компьютере.
В функции loop мы в начале получаем данные с трех наших аналоговых пинов, к которым и подключен наш датчик, а после этого пересчитываем полученное число в вольты и выводим их на серийный порт. Зальем эту прошивку в нашу Arduino UNO, откроем серийный монитор (ctrl+shift+m) и соберем кое какие данные.

На включенном серийном мониторе можно увидеть:

ADXL335 8

Где первый столбец - показания по оси X, второй - Y, третий - Z

 

 

Похожие материалы (по тегу)

Новости о нас

Расписание занятий для каждой сформированной группы по робототехнике на 2017-2018 учебный год. Подробнее
Учебный год начался, и у нас очередная радостная новость для вас, педагоги! В этом году... Подробнее
Наши учащиеся выступили на августовской конференции педагогов! Подробнее
Хочешь учиться в Толтеке по выгодной цене? Приводи друзей и получай большие скидки!... Подробнее
19 августа в ТРЦ Сити Молл с блеском прошел РобоКвест! Героями квеста стали более сотни... Подробнее

Наши партнеры

 TZOyoOCZ8y0 logotip novy SF BashGU  utv logo  CityMoll  VolnoeDelo