1 项目概述
1.1 项目介绍
随着人们对物理世界的不断探索,我们获取信息的方式和途径越来越多样化,信息的来源、种类、数量呈现海量化的态势。传感器作为连接物理世界与电子世界的重要媒介,能将物理世界中模拟信号转化成为计算机能够处理的数字信号[1]。
现代传感器不仅包括了传感部件能够感知周围世界,而且也集成了微型处理器与无线通信模块,可实现各传感节点间信息的交换与通信,而且能够对前端感知的信息进行综合分析处理和网络传输[2]。
本项目通过设计完成一个基于 STM32 的光敏传感器数据采集系统,利用 STM32F103 系列处理器完成光敏传感器相关数据的采集和分析处理,并通过串口通信将处理之后的数据传输到上位机软件进行显示,通过C语言编程和调试完成上述功能,同时通过课程设计的综合训练。
1.2 项目开发环境
我们的项目利用 Keil uVision4 for Arm 软件实现嵌入式系统控制软件的设计与开发。
硬件:PC 个人计算机、键盘、鼠标、物联网综合实验箱
软件:64 位 windows 操作系统,Keil uVision4 for Arm 软件、VC++6.0等
系统:Windows 10 (64bit)
处理器:Intel CPU Core i5-2500K 3.3 GHz
内存:16 GB RAM
显卡:Nvidia GPU GeForce GTX 1650
存储:15 GB of available space
1.3 小组人员及分工
表1-1 小组人员及分工
姓名 | 项目中的分工 |
X | 设计创作、理论指导 |
X | 设计创作、理论指导 |
Yeats_Liao | 总体规划、论文编写 |
X | 评价分析、资料整理 |
2 需求分析
2.1 系统需求分析
光敏传感器是最常见的传感器之一,它的种类繁多,主要有:光电管、光电倍增管、光敏电阻、光敏三极管、太阳能电池、红外线传感器、紫外线传感器、光纤式光电传感器、色彩传感器、CCD和CMOS图像传感器等[3]。光传感器是目前产量最多、应用最广的传感器之一,它在自动控制和非电量电测技术中占有非常重要的地位。
光敏传感器是利用光敏元件将光信号转换为电信号的传感器,它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。光传感器不只局限于对光的探测,它还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要将这些非电量转换为光信号的变化即可[4]。
照射光敏二极管的光强不同,通过光敏二极管的电流大小就不同,所以可以通过检测电流大小,达到检测光强的目的。通过ADC3通道6采集光敏传感器的AD 值,并将该值转换为光照度值 0-100,0对应最暗,100对应最亮,并通过串口1输出光照强度值利用这个电流变化,我们串接一个电阻,就可以转换成电压的变化,从而通过ADC读取电压值,判断外部光线的强弱。
2.2 可行性分析
1.项目的目标
项目目标:通过实验实训,进一步了解STM32的光敏传感器的工作原理。熟悉温湿度传感器的数据采集控制方法。
2.设计目的
观测STM32的光敏传感器的工作过程、记录温湿度传感器性能的实验数据。
3.任务和要求
(1)良好的沟通和合作能力;
(2)充分利用课上所学的嵌入式系统与设计、物联网系统应用项目开发等相关知识;
(3)充分利用调试和排错技术;
(4)简单测试驱动模块和桩模块的编写;
(5)查阅相关资料,自学具体课题中涉及的新知识。
2.3 项目实施安排
表2-1项目实施安排
序号 | 内容 | 时间(课时) |
1 | 系统分析 | 2 |
2 | 设计 | 4 |
3 | 编码、测试 | 6 |
4 | 验收 | 4 |
X | 合计 | 16 |
3 系统硬件设计
3.1 系统整体硬件电路设计
IOT-L02-06型开发应用实验箱由Cortex-A9平板开发板(右下角)以及围绕其的多个无线传感器节点组成。Cortex-A9开发板配备一款7寸电容屏,运行Android操作系统可以做为Android APP开发平台使用。多个无线传感器节点由节点底板、无线射频模块、传感器&执行器模块以及2.8寸电阻触屏,各个模块之间均采用插针可插拔形式设计。
图3-1 物联网开发应用实验箱
实验箱标配Wi-Fi,Zigbee,蓝牙3种无线射频模块,磁检测传感器模块、光敏传感器模块、红外对射传感器模块、红外反射传感器模块等多种传感器模块。
图3-2 光敏传感器固件
IOT-L02-06型物联网开发应用实验箱各节点配置一枚STM32型MCU可完成单片机原理与技术课程的实验开设,标准配置有磁检测传感器、光敏传感器、红外对射传感器等传感器模块,传感器模块覆盖了电容式、电阻式、光敏式、气敏式四大原理类型传感器。
图3-3 STM32主芯片电路原理图
3.2 STM32 最小系统电路设计
系统的设计以 STM32 为主要的控制芯片,其模块的电源电路主要由 USB的接口连接进行供电,注意,此接口不用于下载程序,其中两个引脚与单片机引脚 相连。下载程序的接口,在 SWD的 4接口中,作为程序下载与调试的端口,两个分别接地与接电源出,剩下两个引脚分别接到主控制单片机的对应的 SWDIO和SWDCLK上。具体的 STM32最小系统设计如图3-4所示。
图 3-4 STM32 最小系统设计原理图
另外,系统中还有连个指示灯,一个为电源指示灯,可以作为 判断模块是否上电的视觉化表现,一个指示灯一端接 PC13。
时钟电路使用电容、 晶振,给单片机提供稳定的时钟基准信号,将两个电容并联,以 8M的晶振连接,一侧与单片机的OSC_IN连接,另一侧则与OSC_OUT连接。
此系统中的复位电路,104puf的电容与10K电阻串联,其中加按键与电容并联。此最小系统是单片机最小模块,独立的板子完成,还有两排引脚的标别,分别为 P3、P4部分。
3.3 传感器模块电路设计
光敏二极管也叫光电二极管。光敏二极管与半导体二极管在结构上是类似的,其管芯是一个具有光敏特征的PN结,具有单向导电性,因此工作时需加上反向电压。
无光照时,有很小的饱和反向漏电流,即暗电流,此时光敏二极管截止[5]。当受到光照时,饱和反向漏电流大大增加,形成光电流,它随入射光强度的变化而变化。当光线照射PN结时,可以使PN结中产生电子一空穴对,使少数载流子的密度增加[6]。这些载流子在反向电压下漂移,使反向电流增加。因此可以利用光照强弱来改变电路中的电流。
图3-5光敏传感器设计原理图
一般情况下光敏电阻的暗电阻为1M~~2MΩ
,亮电阻为1K~~15KΩ
,则可以根据D3处的电压分为两种情况:暗电阻(没有光照)与亮电阻(有光照)
暗电阻下:3.3V * 10K/ ( 2000 K+ 10K) = 0.016V
亮电阻下:3.3V * 10K/ ( 15 K+ 10K) = 1.3V
我们这里使用的STM32的PA4是12位ADC,根据上面的计算结果,我们可以算出亮电阻下的ADC值为1.3*1024 /3.3 = 1613 ,则我们可以通过采集ADC1的值作为临界值,当ADC1的值大于1613时表明有光,小于1613则无光。
表2-1传感器、STC、STM、CC2530数据口对应表
3.4 光敏电阻模块电路设计
光敏电阻器是一种对光敏感的元件,它的电阻值能随着外界光照强弱(明暗)变化而变化,即光敏电阻器是利用半导体光电导效应制成的一种特殊电阻器,对光线十分敏感。它在无光照射时,呈高阻状态;当有光照射时,其电阻值迅速减小[7]。
光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达1~10M欧,在强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.4~0.76)μm的响应很接近,只要人眼可感受的光,都会引起它的阻值变化[8]。
在黑暗的环境下,它的阻值很高;当受到光照并且光辐射能量足够大时,光导材料禁带中的电子受到能量大于其禁带宽度ΔEg 的光子激发,由价带越过禁带而跃迁到导带,使其导带的电子和价带的空穴增加,电阻率变小[9]。
图3-6 光敏电阻工作原理图
光敏电阻的伏安特性是在一定照度下,加在光敏电阻两端的电压与电流之间的关系称为伏安特性。下图中曲线1、2分别表示照度为零及照度为某值时的伏安特性。由曲线可知,在给定偏压下,光照度较大,光电流也越大。
在一定的光照度下,所加的电压越大,光电流越大,而且无饱和现象。但是电压不能无限地增大,因为任何光敏电阻都受额定功率、最高工作电压和额定电流的限制[10]。超过最高工作电压和最大额定电流,可能导致光敏电阻永久性损坏。
图3-7 光敏电阻伏安特性
当光照射到光电导体上时,若光电导体为本征半导体材料,而且光辐射能量又足够强,光导材料价带上的电子将激发到导带上去,从而使导带的电子和价带的空穴增加,致使光导体的电导率变大[11]。为实现能级的跃迁,入射光的能量必须大于光导体材料的禁带宽度Eg,即
式中ν和λ—入射光的频率和波长。一种光电导体,存在一个照射光的波长限λC,只有波长小于λC的光照射在光电导体上,才能产生电子在能级间的跃迁,从而使光电导体电导率增加[12]。
光敏电阻的结构如图3-8所示。管芯是一块安装在绝缘衬底上带有两个欧姆接触电极的光电导体。光导体吸收光子而产生的光电效应,只限于光照的表面薄层,虽然产生的载流子也有少数扩散到内部去,但扩散深度有限,因此光电导体一般都做成薄层[13]。为了获得高的灵敏度,光敏电阻的电极一般采用硫状图案,结构见下图3-8。
图3-8金属封装的硫化镉光敏电阻结构图
它是在一定的掩模下向光电导薄膜上蒸镀金或铟等金属形成的。这种硫状电极,由于在间距很近的电极之间有可能采用大的灵敏面积[14],所以提高了光敏电阻的灵敏度。图3-9是光敏电阻的代表符号。
图3-9 光敏电阻代表符号
基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计2:https://developer.aliyun.com/article/1395630