首页 理论教育 物联网实验教程:运动感知实验

物联网实验教程:运动感知实验

时间:2023-10-21 理论教育 版权反馈
【摘要】:实验程序使用ADXL330测量物体运动X、Y、Z三个方向上加速度的模拟量,并用3个ENC-03分别测量物体运动的X、Y、Z三个方向的角速度。通过LTC2351采样,将模拟量转换为数字量。

物联网实验教程:运动感知实验

1.实验目的

本实验介绍了用单片机运动传感器来检测物体运动的实验。通过实验,使读者能学会如何用角速度传感器ENC-03测量物体运动的角速度,用加速度传感器ADXL330测量加速度,并用模数转换器LTC2351把ENC-03和ADXL330采样的模拟量转换为数字量。同时,培养读者阅读芯片手册和编写驱动的能力。

2.实验设备

(1)硬件

● 单片机实验母板(IOT-SCMMB)1套。

● 传感器及外围模块(IOT-MODULES)1套。

● JTAG编程器1个。

● PC(含串口)1台。

(2)软件

● 串口调试助手。

● WinAVR20050214。

● AVRStudio4.18。

3.实验原理

本实验基于ATmega128实现一个感知物体运动的程序,本实验的硬件平台为单片机实验母板(IOT-SCMMB)及相配套的传感器和外围模块。实验程序使用ADXL330测量物体运动X、Y、Z三个方向上加速度的模拟量,并用3个ENC-03分别测量物体运动的X、Y、Z三个方向的角速度。ADXL330的3个输出引脚直接与模数转换器LTC2351的3个引脚相连,3个ENC-03经过电压放大器后,再与LTC2351的3个引脚相连。通过LTC2351采样,将模拟量转换为数字量。最后,把上述6个数字量通过单片机发送到PC的串口上去,通过串口调试助手就可以看到相关的数字量了。

本实验程序的关键在于如何把通过传感器得到的模拟量转换为数字量并通过单片机的串口发送到PC,并显示出来。传感器采样得到的模拟量是通过LTC2351芯片转换成数字量的。所以,在实验之前应该阅读LTC2351芯片的数据手册,学习如何驱动LTC2351芯片;通过LTC2351的采样,读出采样的数字量,并将其换算成为相应的电压;通过对电压的计算,得到物体运动的加速度和角速度。图3-8所示为LTC2351时序图的第1~第33个周期,依时序图,就可以读出数字量。

978-7-111-34147-5-Chapter03-31.jpg

图3-8 LTC2351时序图(第1~第33个周期)

单片机LTC2351读出采样数据的过程如下:

在第1个时钟周期的时候,CONV信号由高变为低,第3个周期的时候便开始读数据了,一直读12位的数据,最后两个时钟周期没有读数据。由于后面其他的5个数据的读取不要控制CONV,所以后5个数据的读取是一样的,可以使用一个循环进行读取。

相关的程序如下:

978-7-111-34147-5-Chapter03-33.jpg

实验程序的主函数首先初始化相关的接口,接口包括串口以及LTC2351与单片机连接的I/O口,然后调用上述采样函数发送相关的时序以获得传感器数据。

978-7-111-34147-5-Chapter03-34.jpg

978-7-111-34147-5-Chapter03-35.jpg

4.实验内容(www.xing528.com)

阅读硬件的原理图,了解加速度、角速度芯片如何与单片机进行连接,学习如何通过单片机控制芯片工作,并分析芯片的数据手册,按照时序编写程序控制芯片采集数据。

5.实验步骤

1)编写实验代码,使用WinAVR编译得到.hex文件。

2)使用AVRStudio将.hex文件下载到开发板上。

3)将串口与PC相连,使用串口调试助手波特率为57600bit/s,校验位NONE,数据位8位,停止位1位。另外,还要用十六进制显示所得到的数据,通常的结果如下:

8E 08 16 08 30 0A 03 08 74 08 76 08 79 7E(此时是静止)

数据包以8E开始,以7E结束,前两位数据0816是AZ的十六进制数值,其中08是高8位,16是低8位,后面的10位分别为AY、AX、BX、BY、BZ的传感器数据。

计算所得到的电压值方法如下。

加速度的计算方式:

2070×2.5V/4096=1.263V

式中,2070是0816的十进制形式;4096对应于12位采样精度;2.5是LTC2351采样的参考电压。

由上式得到静止时AZ的输出电压AZout=0=1.236V。阅读芯片手册可知,任意时刻电压计算公式AZout=AZout=0+0.3/g×GG为此时的加速度,g自由落体加速度),因此只要得到此时的电压,依此公式就可以得到此时的各方向的加速度。

角速度的计算方式:

2164×2.5V/4096=1.32V

式中,2164是0874的十进制形式;4096对应于12位采样精度;2.5是LTC2351采样的参考电压。

由上式得到静止时BX的输出电压BXout=0=1.32V。阅读芯片手册可知,任意时刻电压计算公式为Vout=V0+Svw[V]PV0为静止时的输出电压;角速度比例系数Sv=0.67mV/deg/s;w[V]为角速度;P为运放电压的放大系数,为常数5.7)。因此,只要得到测量电压的数字量,就可以通过以上的计算方法,得到相关方向的角速度。

6.思考题

为什么只需要一个加速度传感器就可以测量3个方向的加速度,而角速度传感器必须要使用3个?

7.补充阅读

[1]徐勇军,安竹林,等.无线传感器网络实验教程[M].北京:北京理工大学出版社,2007.[2]ATmega128/LDatasheet.http://www.atmel.com/.Atmel,2010.

[3]LTC2351 Datasheet.http://www.linear.com/.LINEAR,2007.

[4]ENC-03Datasheet.http://www.murata.com/.Murata,2006.

[5]ADXL330Datasheet.http://www.siphec.com.AnalogDevices,Inc,2006.

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈