首页 理论教育 嵌入式平台运动感知实验-物联网实验教程

嵌入式平台运动感知实验-物联网实验教程

时间:2023-10-21 理论教育 版权反馈
【摘要】:因此,编写LTC2351的驱动程序是本实验的核心内容。6)进入ltc目录,运行实验程序。运行结果如图3-10所示图3-10 运动感知实验结果下面对第一组数据进行计算。

嵌入式平台运动感知实验-物联网实验教程

1.实验目的

本实验介绍了用ARM实验母板和运动传感器来检测物体运动的实验。通过实验,使读者能学会如何用角速度传感器ENC-03测量物体运动的角速度,用加速度传感器ADXL330测量加速度,并通过模数转换器LTC2351把ENC-03和ADXL330采样的模拟量转换为数字量。同时,培养读者阅读芯片手册和基于µCLinux开发嵌入式应用程序的能力。

2.实验设备

(1)硬件

● ARM实验母板(IOT-ARMMB)1套。

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

● PC(含串口)1台。

(2)软件

● Linux操作系统。

● H-JTAG。

● µClinux2.4x发行包和arm-elf-gcc交叉编译环境

3.实验原理

本实验基于IOT-ARMMB开发母板搭载的LPC2200 ARM处理器和传感器板上的LTC2351模数转换芯片,对速度传感器输出的模拟量进行数字化采样,最终实现对运动物体的感知。实验使用ADXL330测量物体运动X、Y、Z三个方向上加速度的模拟量,并用3个ENC-03分别测量物体运动的X、Y、Z三个方向的角速度。ADXL330的3个输出引脚直接与模数转换器LTC2351的3个引脚相连,3个ENC-03经过电压放大器后,再与LTC2351的3个引脚相连。上述6个模拟量将通过LTC2351的采样转换为数字量,并通过GPIO接口发送到ARM处理器,再通过网络接口发送到PC。通过交叉编译环境就可以在PC屏幕上实时观测到加速度的测量结果。

运动传感器采样得到的模拟量是通过LTC2351芯片转换成数字量的。因此,编写LTC2351的驱动程序是本实验的核心内容。在实验之前,应该阅读LTC2351芯片的数据手册,学习LTC2351的工作时序。图3-9所示为LTC2351时序图的第1~第33个周期。

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

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

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

在第1个时钟周期,CONV信号由高变低。第3个周期起开始读取数据,连续读12位,最后两个时钟周期没有读数据。由于后面其他的5个数据的读取不须改变CONV的状态,所以后5个数据的读取过程是相同的,可以使用一个循环进行读取。

相关的程序如下:

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

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

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

实验程序的主函数以一定的时间间隔调用上述采样函数,并将结果发送到屏幕上。

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

4.实验内容

阅读硬件的原理图,了解加速度、角速度芯片如何与LPC2200 ARM处理器进行连接,分析芯片的数据手册,按照时序编写程序控制芯片采集数据。

5.实验步骤

1)打开终端或者进入虚拟控制台,进入arm实验目录/home/armwork/,为本实验新建工作目录ltc。

978-7-111-34147-5-Chapter03-41.jpg(www.xing528.com)

2)将源代码文件ltc.c和Makefile以及config.h文件复制到工作目录。

3)将光盘提供的gpio文件夹复制到nfs共享目录下的header目录下。

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

4)编译程序,生成可执行代码ltc。

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

5)启动µCLinux,进行NFS连接,进入gpio驱动所在目录,加载gpio驱动。

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

6)进入ltc目录,运行实验程序。

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

运行结果如图3-10所示

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

图3-10 运动感知实验结果

下面对第一组数据进行计算。

加速度的计算方式:

2981×2.5V/4096=1.819V

式中,4096对应于12位采样精度;2.5V是LTC2351采样的参考电压。

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

角速度的计算方式:

2165×2.5V/4096=1.32V

式中,4096对应于12位采样精度;2.5V是LTC2351采样的参考电压。

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

6.思考题

同使用单片机控制运动传感器相比,使用嵌入式方式有什么相同点和不同点?

7.补充阅读

[1]Sreekrishnan Venkateswaran.精通Linux设备驱动程序开发[M].北京:人民邮电出版社,2010.

[2]LTC2351Datasheet.http://www.linear.com/.LINEAR,2007.

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

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

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

我要反馈