基于ARM Cortex-M3光照强度监测系统设计

2018-09-07 06:34周金芝杨海明
关键词:警戒报警处理器

周金芝,杨海明

(亳州学院电子与信息工程系,安徽亳州236800)

温室种植中,为了提高产量,需要对光照强度进行实时监测,判断何时需要遮光、何时进行补光。教室照明灯或城市照明路灯如果可以根据光照强度的变化实时调节亮暗,就可以达到节约能源的目的。传统的利用人工手持式光照度计测量光照强度的方法,浪费人力物力、效率低且测量数据准确度不高[1];传统的采用人工监测和控制的光照强度监控系统,施工成本高、不易扩展、维护升级困难[2]。单片机技术和传感技术的发展使得上述问题的解决成为可能。本文基于单片机STM32F103ZET6和光强度传感器BH1750FVI设计实现了一套光照强度监测系统。

1 系统的组成及工作原理

光照强度监测系统主要由单片机模块、光照强度采集模块、液晶显示模块、语音播报模块和超限报警模块组成,见图1。

图1 系统模块框图

单片机模块是整个系统的处理和控制核心,其功能是对光照强度进行运算,控制液晶显示器显示信息,控制语音播报模块进行定时播报,控制继电器模块进行超限报警。光照强度采集模块由光敏电阻采集当前光照强度,并把采集到的光照信息传送到处理器。液晶显示模块显示当前光照强度曲线图,用于设定调节光照强度警戒值。语音播报模块的功能是进行定时语音播报。超限报警模块是当光照强度超过警戒值时驱动警报器发出警报。

系统的工作原理:先由光照强度传感器检测外部光照强度,将光信号转换成电信号,经单片机处理后由液晶显示器显示当前的光照强度;再判断当前光照强度是否超过设定的警戒值,若超过警戒值,警报器会发出警报,若没超过,则语音播报当前光照强度。此外,还可以进行警戒值的设定,当液晶显示器上的虚拟按键被按下时,警戒值改变。

2 系统硬件设计

2.1 选用STM32F103ZET6作为微控制器

STM32F103ZET6基于ARM Cortex-M3内核,是一款32位的低功耗、高性能的微控制器。Cortex-M3采用Tail-Chaining中断技术,其中断处理完全基于硬件,实际应用中可减少70%的中断,降低45%的代码容量,具有应用广、引脚多、功能强的特点。同时,Cortex-M3处理器采用ARM v7-M架构,是一个可综合、高度可配置的处理器;它采用哈佛结构,选择适合微控制器应用的三级流水线。性能可达1.25DMIPS/MHz,在具有32个物理中断的标准处理器上能够实现(0.13umMetro@50MHz),实现了 0.06 mW/MHz的突出能效比[3]。

Cortex-M3处理器集成了大部分存储器控制器,能够在MCU外直接连接Flash,使得设计难度和应用障碍得到了降低,可编程的复杂性得到了很大程度的简化,从而使得ARM架构成了各种应用方案的上佳之选。Cortex-M3是为功耗和价格敏感的应用领域(从低端微控制器到复杂SoC)而专门设计的[4]。低端32位MCU与主流的8位单片机相比成本相差无几,但性能却较之高出许多。鉴于以上Cortex-M3内核的优势,本文选用STM32F103ZET6单片机作为处理和控制核心,设计了一套光照强度监测系统。

2.2 光照强度传感器

光照强度传感器把采集的光照数据输送到处理器。系统采用BH1750FVI作为光照强度传感器。BH1750FVI是一种16位I2C BUS总线接口、不区分光源数字型环境光强度传感器集成电路,能够根据通过透光孔的光线强度变化调整输出的电平信号。BH1750FVI分辨率高,拥有接近视觉灵敏度的、具有光谱灵敏度特性的感光元件,搭配相关内置电路后可以探测较大范围(0 lx~65 535 lx)的光强度变化[5]。这种传感器最大的优点在于内置模数转换器,能将采集到的光强信号值转换成对应亮度的数字值输出,为后续数字信号的处理提供方便。BH1750的高集成度能够省掉使用光敏电阻时的模数转换电路,从而大大降低整体电路的复杂度。

BH1750FVI传感器的工作原理如图2所示。当高精度光敏二极管(接近人眼反应的)PD探测到外部光照之后,在集成运算放大器的作用下,将PD电流转换成PD电压,由模数转换器转换成16位数字数据,然后通过逻辑和I2C界面进行数据处理和存储。OSC作为内部震荡器用来提供内部逻辑时钟,通过相应的指令操作即可读取内部存储的光照数据。

图2 BH1750FVI的结构框图

2.3 液晶显示模块

液晶显示模块采用2.4寸高画质的TFT真彩LCD,性能优良,具体体现在拥有丰富多样的接口、方便编程、易于扩展等方面。内置专用驱动和控制IC(SPFD5408),它不需要外部显示缓存,而是驱动IC自己来集成。TFT-LCD显示器连接在PCB电路板上,需要在PCB电路板上加上背光限流电阻,将软PCB连接接口(显示器不便于与开发板连接的)引出,并以DIP的双排插针(板上保留有FPC20/1.0间距的FPC座)引出模块以便于用户连接[6]。该模块接口如表1所示。

表1 模块接口引脚说明

2.4 语音播报模块

语音播报模块的功能是实时播报环境中的光照强度,本模块选用了WT5001芯片作为主控芯片。WT5001-48L是一款MP3语音芯片,支持WAV和MP3解码,拥有8-bitCISC和丰富的外设接口;拥有一个能够直接驱动16欧姆耳机的SPI接口,带有实时时钟及万年历时钟功能,通过标准的RS232串口与单片机进行通信。WT5001-48L具有功耗低(休眠时待机电流约80μA)、播放控制响应速度快的优点,在需要更换语音或音乐文件较长、音质要求较高的场合下适用[7]。自带存储介质(SPI-FLASH)和一瓦功放;可在线下载音乐文件或者通过TF卡或U盘更换音乐文件。

2.5 超限报警模块

超限报警模块采用电磁继电器作为警报器的开关。该模块电路由控制系统(即输入回路)和被控制系统(输出回路)两部分组成。继电器在其中担当的是“自动开关”的功能,通过它实现了用低电压、弱电流去控制高电压、强电流,其在电路中起着自动调节、安全保护电路转换等功能[8]。当环境中的光照强度超过设定的警戒值时,单片机的PC3口被赋予低电平,从而使三极管PNP导通,继电器通电吸合,整个报警模块电路接通,警报器发出警报。

3 系统软件设计

系统基于Keil uVision5工具开发,通过C语言进行编程。整个系统软件包括光照强度采集模块、MCU信息处理和控制模块、液晶显示模块、语音播报模块和超限报警模块,警戒值的设定是通过液晶显示器上的虚拟按键来实现的。系统软件的工作流程如图3所示。

图3 软件算法流程图

4 系统实物及测试结果

根据以上设计方法,得到系统实物,如图4所示。为检测系统的稳定性、可靠性,在晴天室内环境下对系统进行了测试。测试时间为中午12点,测试时的警戒值设置为500 lx,测试范围为室内不同位置的光照强度,表2为测试室内中央位置光照强度时系统各模块电压值及该位置的实时光强值。

图4 系统实物图

表2 系统测试记录

测试结果:室内中央位置的实时光强值为210 lx,角落的为42 lx,当将测试点移动到窗户附近时,报警器发出警报,实时光强值为502 lx。为验证系统的准确性,在同一时刻使用专用的光照强度测量仪进行了测试,测试结果为中央位置的实时光照强度值为205 lx,角落的为50 lx,窗户附近的实时光强值为500 lx。经测试,系统具有良好的准确性、可靠性和实时性。

5 结束语

基于ARM Cortex-M3单片机和BH1750FVI光照强度传感器设计实现了一套光照强度监测系统,与同类型的系统或设计方案相比具有低功耗、低成本、实时性高的特点和优势。实际测试表明,系统测量准确度高,具有良好的灵敏度、稳定性和实时性,可以实现24小时不间断的监测,符合温室大棚、家禽场等的光照强度监测的应用要求。系统不足之处在于缺少独立的供电模块及光照强度超过警戒值时所采取的调节光强值的控制措施。后续工作是在系统中增设太阳能供电模块或使用蓄电池供电、对系统进行扩展,增设光强值超限时的光照强度控制模块,并实际应用于温室大棚环境中进行光照强度监控。

猜你喜欢
警戒报警处理器
美国、英国、芬兰3国军队在芬兰开展警戒之狐军事演习
2015款奔驰E180车安全气囊报警
我们的地球怎么了?
2014款奥迪Q5车发动机OBD灯报警
死于密室的租住者
奔驰E260车安全气囊报警
ADI推出新一代SigmaDSP处理器
火线热讯
AItera推出Nios II系列软核处理器