基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计1

简介: 基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计

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寸电阻触屏,各个模块之间均采用插针可插拔形式设计。

50125900ab974b57a6148a33ae001727.png

图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所示。

71e91691c35d4aadb36404ce2b4ca491.png

图 3-4 STM32 最小系统设计原理图

另外,系统中还有连个指示灯,一个为电源指示灯,可以作为 判断模块是否上电的视觉化表现,一个指示灯一端接 PC13。

时钟电路使用电容、 晶振,给单片机提供稳定的时钟基准信号,将两个电容并联,以 8M的晶振连接,一侧与单片机的OSC_IN连接,另一侧则与OSC_OUT连接。

此系统中的复位电路,104puf的电容与10K电阻串联,其中加按键与电容并联。此最小系统是单片机最小模块,独立的板子完成,还有两排引脚的标别,分别为 P3、P4部分。

3.3 传感器模块电路设计

光敏二极管也叫光电二极管。光敏二极管与半导体二极管在结构上是类似的,其管芯是一个具有光敏特征的PN结,具有单向导电性,因此工作时需加上反向电压。

无光照时,有很小的饱和反向漏电流,即暗电流,此时光敏二极管截止[5]。当受到光照时,饱和反向漏电流大大增加,形成光电流,它随入射光强度的变化而变化。当光线照射PN结时,可以使PN结中产生电子一空穴对,使少数载流子的密度增加[6]。这些载流子在反向电压下漂移,使反向电流增加。因此可以利用光照强弱来改变电路中的电流。

31973b6f9e184c81bde071fe4b022546.png

图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,即


cc500951f6e845e3b5e71bb6243817b5.png

式中ν和λ—入射光的频率和波长。一种光电导体,存在一个照射光的波长限λC,只有波长小于λC的光照射在光电导体上,才能产生电子在能级间的跃迁,从而使光电导体电导率增加[12]。


光敏电阻的结构如图3-8所示。管芯是一块安装在绝缘衬底上带有两个欧姆接触电极的光电导体。光导体吸收光子而产生的光电效应,只限于光照的表面薄层,虽然产生的载流子也有少数扩散到内部去,但扩散深度有限,因此光电导体一般都做成薄层[13]。为了获得高的灵敏度,光敏电阻的电极一般采用硫状图案,结构见下图3-8。

0a74513f1b6f4ff4bb2422e5a1b0ae6e.png

图3-8金属封装的硫化镉光敏电阻结构图

它是在一定的掩模下向光电导薄膜上蒸镀金或铟等金属形成的。这种硫状电极,由于在间距很近的电极之间有可能采用大的灵敏面积[14],所以提高了光敏电阻的灵敏度。图3-9是光敏电阻的代表符号。


图3-9 光敏电阻代表符号

基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计2:https://developer.aliyun.com/article/1395630

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
2月前
STM32F103标准外设库——SysTick系统定时器(八)
STM32F103标准外设库——SysTick系统定时器(八)
73 0
STM32F103标准外设库——SysTick系统定时器(八)
|
4月前
|
传感器 数据采集 物联网
基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计2
基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计
221 0
|
1月前
|
存储 C语言 芯片
C/C++ stm32基础知识超详细讲解(系统性学习day14)
C/C++ stm32基础知识超详细讲解(系统性学习day14)
|
3月前
|
芯片
嵌入式系统中STM32时钟系统详解
嵌入式系统中STM32时钟系统详解
48 0
|
21天前
|
芯片
嵌入式STM32中时钟系统详细分析
嵌入式STM32中时钟系统详细分析
60 0
嵌入式STM32中时钟系统详细分析
|
6月前
|
存储 索引
STM32实战项目—停车计费系统
本文详细介绍了一个停车计费系统的任务要求,实现思路。最后,给出了详细的程序设计和测试结果。
131 2
STM32实战项目—停车计费系统
|
6月前
STM32实战项目—楼宇人员计数系统
本文介绍了一个基于红外对管的楼宇人员计数系统设计。简单介绍了一下红外对管的原理和使用方法。针对任务要求给出了详细的实现思路和程序设计。
33 3
STM32实战项目—楼宇人员计数系统
|
6月前
|
传感器 安全
嵌入式 STM32 SHT31温湿度传感器
嵌入式 STM32 SHT31温湿度传感器
|
2月前
|
C++ 芯片 编译器
STM32F103标准外设库—— 新建工程与库函数(四)
STM32F103标准外设库—— 新建工程与库函数(四)
44 0
STM32F103标准外设库—— 新建工程与库函数(四)
|
2月前
|
传感器 芯片 内存技术
STM32F103标准外设库——认识STM32(一)
STM32F103标准外设库——认识STM32(一)
110 0
STM32F103标准外设库——认识STM32(一)