Проба акселерометра ADW22035 от Anlog Devices

Дошли руки попробовать аналоговый прецизионный акселерометр ADW22035 присланный мне от Anlog Devices. Благодаря большому шагу между выводами, подпаяться к датчику напрямую проводами можно без проблем. Датчик подключается ко входу аналого-цифрового преобразователя микроконтроллера. В качестве камня взят atmega8. Показания выводятся на знакосинтезирующий дисплей 16х2.

Для тестирования написал вот такой код в Bascom:

$regfile = “m8def.dat”

$crystal = 8000000

Config Lcdpin = Pin , Rs=Portc.0 , E=Portc.1, Db4=Portc.2, Db5=Portc.3, Db6=Portc.4, Db7=Portd.2

Config Lcd = 16 * 2

Cursor Blink

Cls

Lcd “AVRproject.ru”

Wait 1

Lowerline

Lcd “ADW22035 demo”

Wait 2

Cursor Noblink

Cursor Off

Cls

Dim Value As Integer                               ‘для приема данных с АЦП

Dim Valuemax As Integer

Dim Valuemin As Integer

Valuemin = 500

Valuemax=500

Config Adc = Single , Prescaler = Auto , Reference = Avcc

Do

Start Adc                       ‘ запускаем преобразование

Value = Getadc(5)               ‘ считываем в переменную значение напряжения с ADC5

Stop Adc                        ‘ останавливаем работу АЦП

If Value > Valuemax Then

Valuemax = Value

End If

If Value < Valuemin Then

Valuemin = Value

End If

Lcd Valuemax                    ‘ выводим значение на ЖКИ

Lowerline

Lcd Valuemin

Waitms 20

Cls

Loop

End

 

 Суть кода такова: каждые ~20 миллисекунд происходит считывание напряжение с АЦП. При неподвижном положении датчика в горизонтальной плоскости, напряжение на выходе будет равна половине питания, тоесть 2,5 вольт. В таком положении в переменную Value будет записываться значение 1023/2 = 511 (плюс минус, смотря какой шум идет с ацп). Затем со  значением этой переменной сравнивается максимальное и минимальное значение. По умолчанию в них находиться 500, а после первого считывания они принимают свои естественные значения. Максимально значение выводится на верхней строке дисплея, а минимальное- на нижней. Теперь если взять датчик и придать ему ускорени, то будет зафиксированы новые значения максимума/минимума. 

Кстати, датчик измеряет ускорения до 18g. Поэтому при переворачивании датчика (без дополнительного ускорения) значения изменяются не особо сильно.

 

Еще один момент, соединение датчика с микроконтроллером должно происходить через конденсатор. Емкость конденсатора зависит от частоты опроса датчика. При частоте 50Гц как сделал это я, должен стоять емкостью 0,1мкф. Дополнительно можно глянуть в даташите на датчик.

 

 

 

 Датчик пока не особо распространен в российских магазинах, ввиду своей проффесиональной предназначенности. Но все таки кое-где купить его можно http://rs-catalog.ru/index.php?dispatch=products.view&product_id=223956

 

Взято с:

avrproject.ru

Категория: Разное

Написать коментарий

*
= 5 + 8

Добавить изображение

Последние статьи