光敏传感器实验

光敏传感器实验

一、    实验目的

了解光敏传感器工作的过程,掌握针对一个光敏传感器实验的过程,深入了解其工作的机制,并且学会使用ATOS平台来进行烧录数据的操作,掌握TinyOS的基本操作方法。

二、    实验原理及基本技术路线图(方框原理图)

首先是开发平台的选择,对于传感器实验,我们选取的开发平台是ATOS

ATOS 综合实验平台提供了一个完整的传感网实验平台,如图 1.1.1。在这个 平台中主要包括无线传感网节点、基站板、传感器模块。下面将简单介绍每个一模块的功能。

 

                               
                                           图 1.1.1 整体框架图

下面则是传感器模块以及基站板的介绍:

传感器模块是将物理世界的信息进行量化的设备,是 ATOS 实验平台中采集 数据的基本来源,传感器根据采集对象的不同,分为 A/D 式传感器及开关传感 器,ATOS 实验平台支持多达十几种传感器,使用统一连接的方式,方便使用和 替换。

基站板(或称为网关板),是 ATOS 实验平台中用于采集节点数据、烧录程 ATOS 实验平台-使用指南 4 序,以及串口通讯的多功能设备。在该平台上,在底板上已经实现每个基本节点 都可以通过基站统一烧录,不再需要用在线烧录器单独连接某个节点。 基站板上有一个射频模块连接插槽,一个传感器模块连接插槽,一个 USB 烧录线接口,USB 转串行接口以及一个标准串口。

软件:

ATOS 实验平台主要以 TinyOS 操作系统为软件平台,并在其之上扩展了许 多的应用开发中常用的组件,通过 ATOS 实验平台及其配套的组件可以快速的构 建自己的应用,而无需深入了解硬件相关的操作,这对于进行理论研究和学习原 理性知识减少了许多障碍。

下面将进行传感器原理的简介:

首先光敏传感器的核心元件就是光敏电阻,其原理如下:

光敏电阻是一种光电效应半导体器件,它能提供很经济实用的解决方案,应用于光存在 与否的感应(数字量)以及光强度的测量(模拟良)等领域。 光电效应半导体探测器可以分为两大类:结和体效应装置。结装置,工作于光电传导模 式,它利用 PN 结的反向特征。在反向偏转时,PN 结产生一个受光控制的电流信号。输出量 与触发照明成正比,而不受供应电源的影响。硅光电管就是这类的产品。而体效应光电半导 体没有结,它的体电阻系数随照明强度的增强而减小,容许更多的光电流流过。这种阻性特 征使得体效应光电半导体具有很好的品质:通过调节供应电源就可以从探测器上获得信号流, 且有着很宽的范围。为了区别,珀金埃尔默光电子将体效应光电半导体称作为光电半导体单 元,简单的说就叫光敏电阻。 光敏电阻是薄膜元件,它是由在陶瓷底衬上覆一层光电半导体材料。金属接触点盖在光 电半导体面下部。这种光电半导体材料薄膜元件有很高的电阻。所以在两个接触点之间,做 的狭小、交叉,使得在适度的光线时产生较低的阻值。

我们知道光敏电阻设计到了A/D转换的过程,因为电阻输出的是模拟量,而PC无法处理模拟量,因此为了能直接在PC端能看到数据,我们需要对于采集的数据进行A/D转换。

下面是A/D转换的原理:

A/D 转换器(Analog-to-Digital Converter)又叫模/数转换器,即是将模拟信号(电压或是电流的形式)转换成数字信号。这种数字信号可让仪表,计算机外设接口或是微处理机来加以操作或胜作使用。

A/D 转换器(ADC)的型式有很多种,方式的不同会影响测量后的精准度。

A/D 转换器的功能是把模拟量变换成数字量。由于实现这种转换的工作原理

和采用工艺技术不同,因此生产出种类繁多的A/D 转换芯片。

A/D 转换器按分辨率分为4 位、6 位、8 位、10 位、14 位、16 位和BCD

码的31/2 位、51/2 位等。按照转换速度可分为超高速(转换时间=330ns),次超高速(330~3.3μS),高速(转换时间3.3~333μS),低速(转换时间>330μS

对应的计算机对于采集的数据进行操作是进过A/D转换后的值,因此其流程图如下:



 

 

三、    所用仪器、材料(设备名称、型号、规格等)

1.带有CC2530 芯片的基站一个

2. 烧录线一根

3. 光传感器一个

4.一台安装有 Cygwin开发平台的PC

5.若干串口线与USB连接线

 

四、    实验方法、步骤

1.  将基站同电脑用烧录线连接好,打开基站的开关

2.  用串口线将基站和PC 机器连接起来

3.  打开串口助手

 



4.  打开Cygwin 开发环境

5. Cygwin 开发环境中执行/opt/atos/apps/Demos/ sensor/ADSensor/

6. 在该目录下执行make antc5 install,进行软件的编译和烧录



7. 烧录完成后,将光传感器插在基站的旁边的插槽。

 


 

8. 重启基站,看串口输出,如下图。



 

五、    关键实验代码

#include "SensorCollection.h"

#define DBG_LEV 9

module ADSensorP

{

uses

{

interface Boot;

interface AdcControl as ADSensorControl;

interface Read as ADSensorRead;

interface Timer as SensorTimer;

}

}

implementation

{

uint8_t m_len;

task void sensorTask()

{

call ADSensorControl.enable(ADC_REF_AVDD, ADC_14_BIT, ADC_AIN4);

call ADSensorRead.read();

}

event void Boot.booted()

{

ADBG(DBG_LEV, "##############Boot.booted###################\n");

call SensorTimer.startPeriodic(1000);

}

event void SensorTimer.fired()

{

post sensorTask();

}

event void ADSensorRead.readDone(error_t result, int16_t val)

{

ADBG(DBG_LEV, "AD Data = x\n" ,val);

}

}

 

六、    实验过程原始记录(数据、图表、计算等)  

实验记录



 

实验分析:

本次实验中,我发现当光照恒定时,传感器输出值是一定的,而用手捂住传感器,那么他输出的值会变小,同理用手机闪光灯照射后他的值会变大,同时如果使用闪光那么会有一个变大的值然后恢复恒定输出。

 

 

七、    总结和体会

这个实验通过基站的搭建,将光照信号转换成电压信号,完成一个AD 数据的采集,那么今后对自己扩展的AD 传感器的数据采集原理和这个实验是一样的。锻炼了对手能力,也对这个过程有了了解。