基于STM32与光强传感器BH1750的无线路灯控制系统
基于STM32的智能路灯控制系统

xxxx电气工程学院第三届电子设计大赛D题智能路灯系统组长:xxx学号:xxxx队员1:xxxxx 学号:xxxxxxx队员2:xxxxx 学号: xxxxx学院:xx大学电气工程学院xxx大学通信工程学院二O一五年五月摘要本设计根据题目要求制作一套智能路灯控制系统,并且本着低成本高性能、结构简单、控制方便、直观显示等的设计思想。
我们通过对硬件系统和软件程序的设计,以此实现通过光线强弱状态来控制路灯的亮灭功能。
其中硬件电路部分主要包括:单片机最小系统、路灯控制电路部分、红外检测和执行电路部分、数码管显示电路部分;软件部分主要包括:相应软件和路灯控制、光电检测和执行、时间显示等程序模块。
为了能够精确控制智能灯的开关状态,本参赛队队员决定采用集成度高、处理能力强、可靠性高的单片机STM32F103RCT6设计相应程序,通过红外检测模块来检测是否有物体通过。
当物体通过时,下降沿触发产生中断,随后单片机执行中断函数里的命令。
通过CH340g串口通信用电脑将采集到的有用数据发送给单片机,以此通过引脚高低电平和驱动电路控制路灯亮灭。
再经处理后将物体通过的时间和对应速度显示在数码管上。
关键词:STM32F103RCT6,红外检测模块,LED驱动电路,CH340g串口通信1.系统方案论证与比较1.1整体设计思路流程理解题意要求根据理解初步设计相关设计步骤根据理解画出电路图使用电路图进行编程程序仿真焊接,硬件实现1.2单片机模块部分方案一:选择STC89C52作为主控芯片,STC89C52周期比较慢,系统反应比较慢。
方案二:选择STM32F103RB作为主控芯片,这款单片机的虽然周期是比STC89C52快,但是CPU兼容性不强,存储空间不够大。
方案三:选择STM32F103RCT6作为主控芯片,这块芯片CPU兼容性更强,同时存储空间很强大,一个16位普通IC/OC/PWM),2个16位基本(IC/OC/PWM),1个STI,2个USART,同时具有低功率、记忆、定时器等功能完全可以满足系统智能控制的要求。
基于STM32单片机的无线智能灯控制系统设计

图1系统框图
1.1单片机最小系统电路STM32F103C8T6
STM32F103C8T6是意法半导体公司生产的32位ARM控制器,该芯片内部集成了定时器、自带ADC模数转换、SPI通信协议、I2C协议、USB转串口以及串口等功能。
STM32F103C8T6的最小系统由晶振电路和复位电路组成,具有低功耗和睡眠双模式,睡眠模式时会使用外部晶体3.768KHz,而8MHz的频率是STM32在使用倍频的时候使用,由其内部时钟总线配置,最高可倍频至72MHz。
在复位电路中开关按下时,单片机复位管脚电平拉低,实现单片机复位重新加载程序。
1.2电源模块
图2系统流程图
动调光程序设计
开灯之后进入自动调光程序。
系统开100MS,LED灯稳定输出之后才开始采集到的检测电压参数与标准电压值集到的检测电压参数比标准电压值U0
图3自动调光程序流图
光的智能灯控制系统融合了蓝牙数编程开发技术、以单片机为核心通备实时控制能力强、稳定性高、简些控制管理系统都是当前流行的技开发基础和良好的资料来源。
具有高的市场应用。
对我们的生活带来
【参考文献】
熊伟,许广斌,等.教室照明区域化智能用,2007,26(11):39-41.。
基于stm32灯光自动调节,实验结果及分析

基于stm32灯光自动调节,实验结果及分析在当今智能化时代,灯光自动调节系统在我们的日常生活中越来越普及。
本文将围绕基于STM32的灯光自动调节系统进行实验,展示其实验结果并进行分析。
一、实验原理及设备基于STM32的灯光自动调节系统采用光传感器和温度传感器采集环境光和温度信息,通过算法处理,自动调节灯光亮度及色温,以达到最佳的舒适度。
实验中使用的设备包括STM32开发板、光传感器、温度传感器、LED灯等。
二、实验过程实验过程中,我们首先通过STM32开发板读取光传感器和温度传感器采集的环境信息。
然后,根据事先设定的算法,将读取的数据转化为灯光亮度和色温的控制信号。
最后,将控制信号传递给LED灯,实现灯光的自动调节。
实验过程中需要注意以下几点:1.确保硬件设备的连接正确无误,包括传感器与开发板的连接、LED灯的控制信号线等。
2.确保软件的正常运行,包括数据采集、算法处理和灯光控制等。
3.考虑到环境变化可能对灯光调节产生影响,需要预设一定的调节范围和调节时间间隔。
三、实验结果及分析在实验过程中,我们观察了灯光自动调节系统的实际效果。
以下为实验结果及分析:1.灯光亮度及色温的调节范围:实验结果显示,灯光自动调节系统的亮度及色温调节范围均在预期范围内,满足实际使用需求。
2.灯光亮度及色温的准确性:通过对比预设的参考值,实验结果显示灯光亮度及色温的调节准确性较高,尤其是在环境光变化较为平稳时,能够迅速达到预设值。
3.系统的稳定性:实验过程中,灯光自动调节系统在长时间运行后仍能保持稳定性能,未出现明显的调节误差或异常现象。
4.系统的实时性:在环境光变化较快的情况下,系统能够迅速响应并作出相应的调节动作,满足实时性的要求。
综上所述,基于STM32的灯光自动调节系统在实验中表现出良好的性能和稳定性。
其实验结果表明,该系统能够在不同环境下实现灯光的自动调节,提高人们的舒适度。
四、应用前景及改进方向基于STM32的灯光自动调节系统具有广泛的应用前景,尤其在智能家居、办公室、学习空间等领域具有巨大的潜力。
基于STM32的BH1750FVI光照传感器程序

//使用时,用户只需更改GPIO_Pin_14、GP IO_Pi n_15这两个引脚,并在主函数里面调用此函数即可。
voidBH1750_Get_Guan g( fl oat *Zhaod u)#inclu de "s tm32f10x_l ib.h"#d efine uc har u nsign ed ch ar#d efine ui nt un signe d int#de fine Dat aPort P0 //LCD1602数据端口#defi ne Slave Addre ss 0x46//定义器件在IIC总线中的从地址,根据ALT ADDRE SS 地址引脚不同修改 //AL T AD DRESS引脚接地时地址为0x46,接电源时地址为0xB8#def ine B H1750_SCL GPI O_Pin_14 #de fineBH1750_SDA GP IO_Pi n_15//#d efine GPIO_I2C GPIO B#d efine BH1750_SC L_0() GP IOF->BRR=B H1750_SCL#defi ne BH1750_SCL_1() GPIOF->BSR R=BH1750_S CL#d efine BH1750_SD A_0() GP IOF->BRR=B H1750_SDA#defi ne BH1750_SDA_1() GPIOF->BSR R=BH1750_S DA#d efine BH1750_SD A_STA TE() (GPI OF->I DR&BH1750_SDA) //{retur n (GP IOB->IDR & PIN_SDA)!= 0; }typ edef uns igned char BYTE;typ edef uns igned shor t WOR D;BYTE BU F[8];//接收数据缓存区uch ar ge,sh i,bai,qian,wan; //显示变量i nt dis_data; //变量void Init_BH1750(vo id);voidconve rsion(uint temp_data);vo id S ingle_Writ e_BH1750(u charREG_A ddres s); //单个写入数据uch ar Si ngle_Read_BH1750(uch ar RE G_Add ress); //单个读取内部寄存器数据void Mul tiple_Read_BH1750(vo id);//连续的读取内部寄存器数据//------------------------------------u8BH1750_Sta rt(vo id);v oid B H1750_Stop(void); u8 B H1750_Send Byte(u8 Da ta);u8BH1750_Rec eiveB yte(v oid);vo id BH1750_SendA CK(vo id);voi d BH1750_S endNA CK(vo id);voidBH1750_Nop(void );v oid B H1750_Dela y(uns igned intk) ;//-----------------------------------u8 BH1750_A CK =0;u8 BH1750_RE ADY =0;u8BH1750_NAC K =1; u8 B H1750_BUS_BUSY =2;u8 BH1750_B US_ER ROR =3;u8 BH1750_R ETRY_COUNT = 3; //重试次数vo id BH1750_Nop(v oid){ u8 i=50;whi le(i)i--; }v oid B H1750_Dela y(uns igned intk){un signe d int i,j;for(i=0;i<k;i++){for(j=0;j<121;j++);} }/******************************************************************************** 函数名称:IIC_STAR T *描述:发送启动** 输入:无*输出:无* 返回:无* 作者: *修改日期:2010年6月8日************************************************************************ *******/u8 BH1750_St art(v oid){ BH1750_SDA_1(); BH1750_Nop();BH1750_SC L_1(); BH1750_No p();if(!B H1750_SDA_STATE()) { ////Deb ugPri nt("T WI_ST ART:B USY\n"); r eturn BH1750_BU S_BUS Y; } BH1750_SD A_0();BH1750_Nop();BH1750_SCL_0();BH1750_No p();if(BH1750_SDA_STAT E()){////De bugPr int("TWI_S TART:BUS E RROR\n");retur n BH1750_B US_ER ROR;}re turnBH1750_REA DY; } /* --------------------------------------------------------------------------*/ /*** @Br ief: IIC_STOP*//* --------------------------------------------------------------------------*/ voidBH1750_Sto p(voi d) {BH1750_SDA_0();BH1750_Nop(); BH1750_SCL_1(); BH1750_Nop(); BH1750_S DA_1(); BH1750_No p();//////D ebugP rint("TWI_STOP\n");} /* --------------------------------------------------------------------------*/ /** * @Brief: II C_Sen dACK*//* --------------------------------------------------------------------------*/ voidBH1750_Sen dACK(void){BH1750_SDA_0(); BH1750_N op();B H1750_SCL_1();BH1750_Nop();BH1750_SCL_0();BH1750_Nop(); BH1750_SDA_1(); //////De bugPr int("TWI_S endAC K\n"); }/* --------------------------------------------------------------------------*//*** @Bri ef: IIC_S endNA CK */ /* --------------------------------------------------------------------------*/ vo id BH1750_SendN ACK(v oid){ BH1750_S DA_1(); BH1750_No p();BH1750_SCL_1(); BH1750_N op();B H1750_SCL_0();B H1750_Nop(); //////Deb ugPri nt("T WI_Se ndNAC K\n"); }/* --------------------------------------------------------------------------*//*** @Br ief: TWI_SendB yte * * @Param: Dat a** @Ret urns:*/ /* --------------------------------------------------------------------------*/u8 BH1750_Se ndByt e(u8Data){u8 i; BH1750_S CL_0(); for(i=0;i<8;i++) { //---------数据建立----------if(Da ta&0x80) {BH1750_SDA_1();} else{ BH1750_S DA_0(); } D ata<<=1; BH1750_Nop(); //---数据建立保持一定延时---- //----产生一个上升沿[正脉冲] BH1750_SC L_1(); BH1750_No p();B H1750_SCL_0();B H1750_Nop();//延时,防止S CL还没变成低时改变SDA,从而产生ST ART/S TOP信号 //---------------------------}//接收从机的应答BH1750_SDA_1(); BH1750_Nop();BH1750_SCL_1();B H1750_Nop(); i f(BH1750_S DA_ST ATE()){ BH1750_SC L_0(); BH1750_SD A_1(); //////Deb ugPri nt("T WI_NA CK!\n"); r eturn BH1750_NA CK; } els e{ BH1750_SC L_0(); BH1750_SD A_1(); //////Deb ugPri nt("T WI_AC K!\n"); re turnBH1750_ACK; } }/* --------------------------------------------------------------------------*/ /** * @Brief: II C_Rec eiveB yte * * @Retur ns: *//* --------------------------------------------------------------------------*/ u8 B H1750_Rece iveBy te(vo id) { u8 i,Dat;B H1750_SDA_1();BH1750_SCL_0(); Da t=0;fo r(i=0;i<8;i++){B H1750_SCL_1();//产生时钟上升沿[正脉冲],让从机准备好数据B H1750_Nop(); Da t<<=1; if(B H1750_SDA_STATE()) //读引脚状态{ D at|=0x01;} B H1750_SCL_0();//准备好再次接收数据BH1750_Nop();//等待数据准备好}//////Debug Print("TWI_Dat:%x\n",Dat); retu rn Da t; }//*********************************************************//voi d con versi on(ui nt te mp_da ta) // 数据转换出个,十,百,千,万//{ // wan=temp_data/10000+0x30 ;// temp_data=temp_data%10000; //取余运算// q ian=t emp_d ata/1000+0x30 ;// tem p_dat a=tem p_dat a%1000; //取余运算//b ai=te mp_da ta/100+0x30 ;// tem p_dat a=tem p_dat a%100; //取余运算//s hi=te mp_da ta/10+0x30;// tem p_dat a=tem p_dat a%10; //取余运算//g e=tem p_dat a+0x30; //}//*********************************void Sing le_Wr ite_B H1750(ucha r REG_Addr ess){ BH1750_St art(); //起始信号BH1750_Sen dByte(Slav eAddr ess); //发送设备地址+写信号BH1750_Sen dByte(REG_Addre ss); //内部寄存器地址, // BH1750_Sen dByte(REG_data); //内部寄存器数据, BH1750_Stop(); //发送停止信号}//********单字节读取*****************************************/*uc har S ingle_Read_BH1750(uc har R EG_Ad dress){ uchar REG_data;BH1750_Sta rt(); //起始信号 BH1750_S endBy te(Sl aveAd dress); //发送设备地址+写信号BH1750_Sen dByte(REG_Addre ss); //发送存储单元地址,从0开始B H1750_Star t();//起始信号 BH1750_Se ndByt e(Sla veAdd ress+1); //发送设备地址+读信号R EG_da ta=BH1750_RecvB yte(); //读出寄存器数据BH1750_Se ndACK(1);B H1750_Stop(); //停止信号 retu rn RE G_dat a;}*///*********************************************************////连续读出BH1750内部数据////*********************************************************voi d Mul tiple_Read_BH1750(vo id){ uc har i; BH1750_S tart(); //起始信号B H1750_Send Byte(Slave Addre ss+1); //发送设备地址+读信号for (i=0; i<3; i++) //连续读取2个地址数据,存储中B UF { BUF[i] = BH1750_Re ceive Byte(); //B UF[0]存储0x32地址中的数据 if (i ==3) {BH1750_Sen dNACK(); //最后一个数据需要回NOACK}e lse { BH1750_Se ndACK(); //回应AC K}} BH1750_St op(); //停止信号 //D elay5ms();BH1750_D elay(500);}//初始化BH1750,根据需要请参考pdf进行修改****voi d Ini t_BH1750(){ Sing le_Wr ite_B H1750(0x01); }//*********************************************************//在主程序内调用本函数********//*********************************************************v oid B H1750_Get_Guang( flo at *Z haodu){ BH1750_Delay(100) ; //延时100m sI nit_B H1750(); //初始化BH1750Singl e_Wri te_BH1750(0x01); // pow er onSingl e_Wri te_BH1750(0x10); // H-resol ution mode BH1750_De lay(200) ;//延时180msM ultip le_Re ad_BH1750(); //连续读出数据,存储在BUF中 dis_data=BUF[0]; dis_data=(dis_data<<8)+BUF[1];//合成数据,即光照数据*Zhaod u=(fl oat)d is_da ta/1.2;}。
基于STM32的无线光照传感器节点的设计

物联网技术 2014年 / 第2期 160 引 言物联网是信息产业领域未来竞争的制高点和产业升级的核心驱动力、是衡量一个国家综合国力的重要标志,在军事、民用及工商业领域都具有广阔的应用前景[1]。
无线传感器节点是无线传感器网络 (Wireless Sensor Network ,WSN )的主要组成部分,用来采集现场数据,并通过一定的无线路由协议将信息传给观测者[2]。
本文介绍了一种无线光照传感器节点的设计与实现,给出了传感器节点的功能模型,详细阐述了其工作原理、设计和实现。
1 系统结构无线传感器网络,具有低功耗、低成本、分布式和自组织的特点。
无线传感器网络是由大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,以协作地感知、采集、处理和传输网络覆盖地理区域内被感知对象的信息,并最终把这些信息发送给网络所有者。
传感器网络实现了数据的采集、处理和传输的三种功能[3]。
本无线光照传感器节点主要由三部分组成:数据采集部分、数据处理部分、无线传输部分。
数据采集部分主要负责将外界环境中的光照强度值采集进来,采集部分所得到的信号会随着外界光照强度变化而变化,光照传感器将从外界采集到的光照模拟量,通过传感器内部的一个16 bit AD 转换后直接输出数字量,通过I²C 接口将数据传输至数据处理部分作相应处理,然后将数据发送至网关,网关将数据送至上位机界面。
系统功能模型如图1所示。
䟷䳶䜘图1 系统功能模型2 系统硬件设计无线光照传感器节点硬件电路主要由数据采集单元、数据处理单元、无线传输单元、电源管理单元四部分组成。
2.1 数据采集单元本方案选用了一种数字型光强度传感器集成电路BH1750FVI 。
BH1750FVI 有着体积小、高感应灵敏度、良好的稳定性,光源依赖性弱,功耗低等诸多优点。
光照传感器结构图如图2所示。
图2 光照传感器结构图如图所示PD 为接近人眼反应的光敏二极管,当有光线照射时,PD 将产生相应的饱和反向漏电流,形成光电流,电流的大小随光强度的变化而变化,集成运算放大器将PD 电流转换为PD 电压,送入ADC 转换器,并取得16位的数字数据,经过I²C 接口传输到数据处理单元。
基于BH1750 的实时光照强度监测系统

基于 BH1750 的实时光照强度监测系统基于Βιβλιοθήκη BH1750 的实时光照强度监测系统
专业:电子信息工程
学生:陈军
指导老师:张志亮
摘要
随着智能家居的逐步深入人心,以及绿色能源、节能减排的口号,人们对生活品质、 家电设备智能化的要求越来越高,越来越严格。根据中国光学电子协会光电分会的统计数 据,我国的楼宇亮化产品、光彩照明产品从 2003 年开始,以每年大于 25%的速度递增,其 中超高亮照明更以每年 50%以上的速度飞跃发展。
The subject of the BH1750 based real-time light intensity detection system, the main purpose is to design and produce a sensor system, real-time detection of environmental light intensity. In this paper, from two aspects of the principle analysis and the actual production, the design principle and implementation method of real-time light intensity monitoring system are described in this paper. The design process of the system as the main line, respectively, from the system design and physical testing of two aspects of the description, that is, from the software and hardware design to achieve all the functions. This system has the advantages of low cost, small size, high reliability, low power consumption, convenient operation and so on. This paper describes the development process of the system's hardware and software design, using C51 microcontroller as the core processor, system function module mainly includes the key module, LCD module, BH1750 light perception measurement module, a USB interface module. Test results show that the system can achieve the function of light according to the intensity of real-time monitoring, in the light source for cell phone flashlight and distance of 5 cm, test on the light intensity of illumination for 3017 Lx (Lux, light intensity of illumination units) and test results reflect light intensity changes tend to potential and actual trends consistent, to verify the correctness of the test results.
基于STM32的LED台灯照度控制系统设计
基于STM32的LED台灯照度控制系统设计
姚强;孙勤良
【期刊名称】《电子制作》
【年(卷),期】2022(30)18
【摘要】在绿色智造背景下,设计了一款能够抗环境干扰保持照度稳定的LED台灯。
该设计采用STM32F103C8T6作为主控芯片,LED台灯光照度由BH1750照度传
感器获取,光照度可通过按键进行连续设置,照度值实时在OLED屏上显示。
以PWM为控制信号,基于最小二乘线性拟合算法对LED台灯的光照度进行粗调,再经过步距为2的微调,实现对LED台灯光照度的连续调节。
经测试,LED灯的光照度可以精确稳定设置;当环境光突变时,台灯能自动跟随环境光的变化实现快速调节光照度。
【总页数】4页(P76-78)
【作者】姚强;孙勤良
【作者单位】湖州职业技术学院机电与汽车工程学院
【正文语种】中文
【中图分类】TM9
【相关文献】
1.基于触摸屏的LED彩色台灯控制系统设计
2.基于STM32的舞台灯光控制系统
设计3.基于电力载波通信的LED舞台灯光控制系统设计4.基于STM32单片机的
照度稳定可调LED台灯设计与实现5.基于STM32的照度稳定可调的LED台灯设计
因版权原因,仅展示原文概要,查看原文内容请购买。
基于stm32模拟路灯控制系统
模拟路灯控制系统设计摘要本设计是一种采用新一代超强抗干扰/强抗静电/高速/低功耗单片STM32为数据处理和控制的路灯照明智能系统。
该单片机实现了对路灯的亮灭控制、报警、还有定时功能。
采用节能环保的LED灯作为光源,采用科学有效的检测与控制技术,实现了光电控制、时间控制、交通情况检测、故障自动检测与报警等功能,节省了人力和电力资源,降低了系统运行成本,性价比较高。
通过光敏电阻模块检测LED故障,ULN2803芯片控制LED灯状态,利用光敏电阻原理和红外对管特性实现自动调节路灯开关状态。
关键字:STM32-cortex-m3;AbstractThis design is a new generation of powerful anti-interference / strong antistatic / high / low power single chip STM32 as the data processing and control of street lamp intelligent lighting system. The single chip microcomputer to achieve the bright lights out of control, alarm, and the timing function. The energy saving and environmental protection of the LED lamp as the light source, the use of scientific and effective detection and control technology, realize the photoelectric control, time control, traffic condition detection, automatic fault detection and alarm functions, saving manpower and electric power resources, reducing the operation cost of the system, price is comparatively high. Photosensitive resistance through fault detection module LED, ULN2803 chip control LED lamp status, use of photosensitive resistance theory and infrared tube characteristics to realize automatic adjustment of road lamp switch state.Keywords: STM32-cortex-m3;目录一、总体方案思路及其设计 (3)1.1、检测物体移动方案设计 (3)1.3、时钟显示方案的设计 (3)1.4、控制部分方案的设计 (3)二、系统理论分析与功能模块设计 (4)2.1 、驱动电路原理分析 (4)2. 2、CPU核心控制模块 (5)2.3 、时钟控制模块 (6)2.4 、按键模块 (7)2.4、光电检测模块 (8)2.5光敏检测模块 (8)三、系统测试 (10)3.1使用测量工具 (10)3.2部分测试指标 (10)三、软件设计 (9)3.1. 软件流程 (11)3.2. 软件子程序 (11)四、系统实现的功能. (12)4.1. 路灯的工作模式 (12)五、结束语 (13)附件1:系统程序 (13)附件2:系统总原理图 (41)一、总体方案思路及其设计本模拟路灯控制系统的设计方案要实现的主要功能主要分解为以下五个方面:一是时钟功能及定时开关灯。
基于stm32的校园wifi照明控制系统开题报告
基于stm32的校园wifi照明控制系统开题报告基于STM32的校园WiFi照明控制系统开题报告一、研究背景和意义随着科技的进步,智能照明系统已经逐渐成为照明领域的研究热点。
在校园环境中,照明系统不仅需要满足基本的照明需求,还需要考虑节能、环保以及智能化管理。
传统的照明系统通常采用简单的开关控制,无法实现精细化管理,容易造成能源浪费。
因此,研究一种基于STM32的校园WiFi照明控制系统,对于提高照明系统的智能化水平、降低能源消耗、提升校园环境质量具有重要的实际意义。
二、研究内容和方法1. 研究内容本研究旨在开发一种基于STM32微控制器的校园WiFi照明控制系统。
该系统将通过WiFi模块与上位机进行通信,实现对校园内照明设备的远程控制。
具体研究内容包括:(1)系统总体设计:根据校园照明需求,设计系统的整体架构,包括硬件和软件部分。
(2)硬件设计:选择合适的微控制器、传感器、执行器等硬件模块,完成电路板设计和制作。
(3)软件开发:编写控制程序,实现系统初始化、数据采集、设备控制等功能。
(4)系统测试:在实验室环境下进行系统测试,验证系统的稳定性和可靠性。
(5)实地应用:将系统部署到校园内,进行实际运行测试,评估系统的性能和节能效果。
2. 研究方法本研究将采用理论分析和实验验证相结合的方法进行。
首先,通过文献调研和现场调查,了解校园照明系统的现状和存在的问题。
其次,根据需求分析,设计系统的整体架构和各模块的详细方案。
接着,进行硬件选型和电路板设计,并编写控制程序。
然后,在实验室环境下进行系统测试,验证各模块的功能和系统的稳定性。
最后,将系统部署到校园内,进行实际运行测试,评估系统的性能和节能效果。
三、预期成果和创新点1. 预期成果本研究预期开发出一套基于STM32的校园WiFi照明控制系统,实现以下功能:(1)远程控制:通过上位机软件实现对校园内照明设备的远程控制,包括开关灯、调节亮度等。
(2)智能管理:根据环境光线、时间等因素自动调节灯光亮度,实现智能照明。
基于STM32的路灯智能监测控制系统
收稿日期:2019-09-02 修回日期:2020-01-06基金项目:贵州省科技计划(黔科合支撑[2019]239号)作者简介:王凯鹏(1993-),男,硕士研究生,CCF 会员(92274G ),研究方向为嵌入式技术;姚凯学,教授,硕导,研究方向为计算机测控技术与嵌入式技术㊂基于STM32的路灯智能监测控制系统王凯鹏,姚凯学,任 莎,李路里,田旭飞(贵州大学计算机科学与技术学院,贵州贵阳550025)摘 要:目前,国内的路灯设备基本上处于人工监控的状态,因此,需要大量的人力资源进行维护和维修㊂针对以上现状,设计了一种基于STM32的路灯智能监测控制系统,将物联网技术引入到路灯设备之中,实现路灯设备上的实时故障监测与智能控制㊂系统以STM32F103ZET6单片机作为MCU,通过RS485总线实现光照强度传感器和PM2.5传感器的信号采集,用固态继电器控制路灯供电电路的通断,利用电流互感器实时监测路灯供电电路的电流状态,并通过4G 传输方式进行路灯下位机端与上位机端的信息交互㊂该系统能够实现环境数据实时读取㊁根据当前环境自动开关灯控制㊁远程手动开关灯控制和故障监测报警等功能㊂经试验验证,系统稳定可靠,采集数据准确,可以实现路灯系统的智能化控制㊂关键词:STM32F103ZET6;路灯;自动控制;故障检测;传感器;物联网技术中图分类号:TP294+.2 文献标识码:A 文章编号:1673-629X (2020)07-0120-05doi:10.3969/j.issn.1673-629X.2020.07.026Intelligent Monitoring and Control System ofStreet Lamp Based on STM32WANG Kai -peng ,YAO Kai -xue ,REN Sha ,LI Lu -li ,TIAN Xu -fei(School of Computer Science &Technology ,Guizhou University ,Guiyang 550025,China )Abstract :At present ,the domestic street lamp equipment is basically in the state of manual monitoring ,so a large number of human resources are needed for maintenance and repair.In view of the above situation ,we design an intelligent street lamp monitoring and control system based on STM 32and introduce the Internet of things technology into the street lamp equipment to realize the real -time fault monitoring and intelligent control on the street lamp equipment.With STM 32F 103ZET 6single chip microcomputer as MCU ,the system realizes the signal acquisition of light intensity sensor and PM 2.5sensor through RS 485bus ,uses solid -state relay to control the on -off of street lamp power supply circuit and current transformer to monitor the current status of street lamp power supply circuit in real time ,and carries out the information interaction between the lower computer end of street lamp and the upper computer end through 4G transmission mode.The system can realize real -time reading of environmental data ,automatic on -off light control according to the current environment ,remote manual on -off light control and fault monitoring and alarm.The test results show that the system is stable and reliable with accurate data collection ,which can realize intelligent control of street lamp system.Key words :STM 32F 103ZET 6;street lamp ;automatic control ;fault detection ;sensor ;Internet of things technology0 引 言路灯是一个城市基础设施的重要组成部分,也是人类生活中必不可少的工具㊂但目前国内的路灯设备基本上处于人工监控的状态,需要大量的人力资源进行维护和维修,其次,路灯往往不能在光线发生变化时及时调整开关状态,从而造成了巨大的能源浪费[1-6]㊂此外,由于路灯的布设环境复杂,布设地域广,在发生故障时往往难以被路灯巡检人员及时发现[7],这就造成了故障路灯难以及时得到修复,为人们的夜间出行带来了安全隐患[8]㊂随着物联网的发展,越来越多的物联网技术被运用到各行各业之中[9]㊂路灯作为城市照明的基础,直接影响着人们的生活质量,所以,使用物联网技术设计一种智能化路灯,在智慧城市的推进过程中有着重要的作用[10-12]㊂为了解决目前路灯设备存在的智能化程度低㊁人力资源需求高㊁能源浪费大㊁检修效率低等问题,文中设计了一种基于STM 32的路灯智能监测控制系统㊂该系统能够实现光照强度㊁PM 2.5等环境数第30卷 第7期2020年7月 计算机技术与发展COMPUTER TECHNOLOGY AND DEVELOPMENT Vol.30 No.7July 2020据的采集,根据光照强度和时间进行自动开关路灯操作,并实时监测路灯的工作状态㊂此外,该系统能够通过4G无线传输方式与上位机进行信息交互,实现远程数据传输及远程控制㊂1 系统总体设计路灯智能监测控制系统主要由六个部分组成,分别是MCU㊁环境信息采集模块㊁路灯控制模块㊁故障检测模块㊁无线通信模块和上位机管理模块㊂其中, MCU为主控制器,是系统的核心模块,环境信息采集模块负责采集各类环境数据,路灯控制模块负责控制路灯的开关,故障检测模块负责对路灯运行状态进行监测,无线通信模块负责实现上位机与下位机之间的数据通信,上位机管理模块是用户可视化的展示与控制界面㊂系统总体设计框图如图1所示㊂图1 系统总体框图在系统工作时,环境信息采集模块将采集到的环境信息上传到MCU中进行分析处理,然后MCU根据当前的环境参数对是否需要打开或关闭路灯进行判断,并通过路灯控制模块对路灯执行相应的控制操作㊂故障检测模块对路灯的工作状态进行实时监测,在监测到故障时及时向MCU发送故障信息㊂MCU将各模块上传的信息进行打包封装后通过无线通信模块上传到上位机端㊂同时,上位机也可向下位机发送控制指令使下位机完成参数的设置或执行相应的控制操作㊂2 路灯监测控制系统硬件设计系统以STM32F103ZET6单片机作为系统的MCU,外围模块包括环境信息采集模块㊁路灯控制模块㊁故障检测模块及无线通信模块㊂该硬件系统可直接嵌入现有路灯系统,对已有的路灯设备进行升级改造㊂路灯监测系统实物如图2所示㊂图2 系统硬件实物图2.1 环境参数采集模块的硬件设计环境参数采集模块包括光照强度传感器和PM2.5传感器㊂光照强度传感器使用的是BH1750FVI数字光度计,PM2.5传感器使用的是SDS011激光型PM2.5传感器㊂由于传感器的放置位置与MCU的距离较远,普通的TTL信号容易出现衰减和干扰,为了保证数据传输的准确性及稳定性,系统中对这两种传感器进行了二次开发,即在传感器上设计了数据信号处理模块㊂光照传感器的数据信号处理模块的处理器使用的是STC15W404AS,在该模块中使用单片机的串口1进行下载和仿真,串口2通过RS485总线接收STM32所发送的采集指令,并将封装好的传感器数据帧发送给数据处理模块,串口3通过IIC总线接收BH1750传感器采集的光照强度数据㊂PM2.5的数据信号处理模块设计与光照类似,主要功能是通过RS485总线接收MCU的采集指令,并对传感器采集的TTL信号进行打包处理后转换为RS485信号发送给MCU㊂2.2 路灯控制模块的硬件设计路灯控制模块通过MCU的IO口控制固态继电器的通断来实现路灯的开关操作㊂因为目前大多数路灯使用电源为220V的交流电,工作电流在3A以内,所以该系统选取了控制电压为3~32VDC,控制电流为5~20mA,负载电压为12~480VAC,输出电流为10A的直流控交流固态继电器作为控制器,经测试,该固态继电器能够满足实际应用场景的要求㊂由于单片机引脚输出电流的限制,直接输出电平 1”时无法正常驱动固态继电器,所以系统使用一个5 V电源引脚和一个STM32F103ZET6的PD12引脚作为固态继电器的输入引脚㊂当PD12引脚输出高电平时,固态继电器控制端的两个引脚都为高电平,无电流通过,继电器负载端断开,路灯供电电路形成断路,路㊃121㊃ 第7期 王凯鹏等:基于STM32的路灯智能监测控制系统灯处于关闭状态;反之,PD 12输出低电平时,继电器负载端连通,路灯供电电路闭合,路灯开启㊂2.3 故障检测模块的硬件设计故障检测模块的主要功能为检测路灯是否能够正常打开或关闭,并在路灯出现故障时,及时将故障信息上传到上位机端,以便检修人员及时进行修复㊂当路灯正常点亮时,路灯供电电路的电流在2A ~3A 之间,所以该模块使用了电流互感器和电磁继电器对路灯电路中的电流是否达到了正常范围进行检测㊂电流互感器感应到路灯电路中的电流后,经过1000倍的缩小后驱动电磁继电器闭合,从而使电磁继电器负载端输出一个5V 高电平,STM 32的PD 13引脚只需检测该电平的高低状态即可判定当前路灯的开关状态㊂通过系统软件中的路灯开关灯标志与实际路灯开关状态的比较,即可对路灯设备是否出现故障进行准确的判断㊂2.4 数据通信模块的硬件设计数据通信模块采用了4G 无线通信方式来保证路灯设备下位机与上位机的数据通信,4G 模块选取了USR -G 770DTU ,MCU 与4G DTU 之间设计了数据通信接口电路,用以进行不同信号类型之间的转换㊂MCU 在与4G DTU 进行通信时,首先通过SP 3232芯片将串口的TTL 信号转换为RS 232信号,然后发送给4G DTU ,最后由4G DTU 将数据转发到上位机端㊂4G DTU 在工作时使用透传模式,传输遵循TCP 协议㊂数据通信接口电路原理如图3所示㊂图3 数据通信接口原理2.5 处理器模块的硬件设计处理器模块采用基于Cortex -M 3内核的STM 32F 103ZET 6单片机作为MCU ,它的最高工作频率为72MHz ,SRAM 可达64KB ,有5个串口㊁4个通用定时器㊁2个IIC ㊁3个ADC (12位)㊁3个SPI ㊁2个DMA 控制器等资源[13-15]㊂该模块作为路灯故障监测及智能控制系统的核心,主要用来实现任务调度㊁接收与传输数据㊁发送控制指令等操作㊂该模块设计时使用了一个64K 的非易失性铁电随机存储器FM 24CL 64,该芯片可以用总线速度进行读写,用于保存用户设置的参数数据,以便在重启后能够快速自动恢复断电之前的工作状态㊂另外,在与传感器连接的接口电路中,使用了MAX 485芯片进行TTL 信号到RS 485信号的转换,然后通过RS 485总线与光照强度传感器和PM 2.5传感器的数据信号处理模块相连接,用于发送采集指令和获取传感器返回的数据㊂3 路灯监测控制系统软件设计文中路灯智能监测控制系统软件设计主要以下位机的软件设计为主,其中包括环境参数采集程序㊁路灯智能控制程序㊁故障检测程序和数据通信程序四部分㊂3.1 核心处理器程序设计系统上电后,进行初始化操作,读取铁电存储器的特定地址,检测用户是否已经设置了起止时间㊁光照阈值等参数,若未检测到参数信息,则将系统默认参数写入铁电存储器的相应地址中㊂若系统已经设置了预设参数并处于自动工作模式时,系统等待到达采集时间的时钟信号,当到达采集时间时,MCU 向光照强度传感器和PM 2.5传感器发送采集指令,并将传感器返回的数据进行解析和存储,之后系统进入休眠状态,等待下一次时钟中断唤醒㊂为了能够得到更加准确的环境㊃221㊃ 计算机技术与发展 第30卷信息,系统在采集完12次信息之后,对本组数据进行平均值㊁最大值㊁最小值和总值的计算,并以光照的平均值作为本组光照数据的代表值与之前设置的光照阈值进行比较,当光照均值小于光照阈值时,系统认为光照度不足,随后将PD12引脚置为0,使继电器负载端导通,从而打开路灯,当光照均值大于光照阈值时,系统认为光照度充足,随后将PD12引脚置为1,使继电器负载端断开,从而关闭路灯㊂在12组数据采集完毕后,最后将计算处理后本组环境数据与路灯开关状态标志通过4G DTU上传到上位机端,然后等待下一次的时钟中断唤醒㊂自动控制程序流程如图4所示㊂图4 自动控制程序流程在故障检测方面,当MCU控制路灯的开关状态发生变化后或达到数据发送时间时,系统都会读取与电流互感器相连接的PD13的引脚状态,若为高电平时则代表路灯电路中存在足够的电流,路灯处于正常打开状态,反之,则路灯处于熄灭状态㊂用该引脚的高低电平状态与系统的设置状态相比较,即可判断出路灯是否出现了故障,若出现故障,则将故障标志置为1,随后将路灯电路状态及是否有故障标志发送到上位机端㊂故障检测程序流程如图5所示㊂图5 故障检测程序流程当系统处于手动工作模式时,系统工作流程与自动模式大致相同,不同点在于手动模式下系统不会根据环境数据自动打开和关闭路灯,而是一直等待上位机的指令,按照上位机所发送的指令进行开关路灯的操作㊂3.2 通信协议设计路灯智能监测控制系统中通信协议涉及到前端数据采集控制器与上位机的通信㊂采集的环境参数有光照强度和PM2.5两种,设置操作包括模式选择㊁手动开关控制㊁光照阈值设置㊁时间段设置等,读取操作包括当前传感器数据读取㊁工作模式读取㊁已设置光照阈值读取㊁已设置时间段读取㊁当前路灯实际状态(路灯开关)等㊂字节的串行传送格式:1位起始位;8位数据位;1位停止位,无奇偶校验㊂字节存放顺序采用小端模式,即低字节存放于低位地址,低字节在前,高字节在后㊂帧是传送信息的基本单元,在该系统中,每帧由帧起始符㊁地址域㊁控制域㊁数据长度域㊁数据域㊁帧信息校验域及帧结束符等7个域组成㊂帧格式如表1所示㊂表1 通信协议中的帧格式序号字节数代码11STA(E8)22AD32C42LEN5n DATA62CRC71END(E6)㊃321㊃ 第7期 王凯鹏等:基于STM32的路灯智能监测控制系统 STA 表示帧起始符,用作标识一帧信息的开始㊂AD 表示地址域,标识当前收(发)设备的地址㊂C 表示控制域,代表要求执行的操作㊂LEN 表示长度,代表数据域中的字节总数㊂DATA 表示数据域,代表需要传输的数据㊂CRC 表示校验码,采用CRC -16循环冗余校验,校验内容为AD ㊁C ㊁LEN 和DATA ㊂END 表示帧结束符,标识一帧信息的结束㊂4摇结束语经试验,系统采集数据准确,路灯控制及时有效,未出现误操作现象,所以系统具有良好的稳定性㊂上位机光照数据查询界面如图6所示㊂图6 光照强度查询界面 重点介绍了基于STM 32的路灯智能监测控制系统的下位机部分,该系统以STM 32F 103ZET 6单片机作为核心处理器,功能模块主要包括环境参数采集模块㊁路灯智能控制模块㊁故障检测模块和数据通模块四个部分,可以实时采集光照强度和PM 2.5数据,并根据光照强度的强弱来自动开关路灯,此外,在路灯发生故障时能够及时向上位机端自动发送故障报警信号㊂系统实现了路灯的智能化控制,节省了大量的人力资源和电力资源,具有良好的实用价值㊂参考文献:[1] 陈坚强.关于城市路灯照明的现状及问题分析[J ].山东工业技术,2019(15):204.[2] 程晶姝,潘往丽,罗辉辉,等.基于单片机的智能模拟路灯控制系统[J ].软件,2019,40(3):38-40.[3] NIU Minghuan ,QIN Huibin.Design of LED street lamps in⁃telligent control system based on PIC MCU [C ]//Interna⁃tional conference on image analysis and signal processing (IASP ).Hangzhou :IEEE ,2012:1-4.[4] 朱必泽.智能控制系统在LED 路灯中的应用[J ].城市建设理论研究:电子版,2018(24):97.[5] WU Hengyu ,TANG Minli ,HUANG Guo.Design of multi -functional street light control system based on AT 89S 52sin⁃gle -chip microcomputer [C ]//International conference on industrial mechatronics &automation.Wuhan :IEEE ,2010:134-137.[6] LUO Yi ,LI Ying ,ZHAN Xu.Intelligent control system forenergy -saving of street lamp [C ]//International conference on transportation ,mechanical ,and electrical engineering (TMEE ).Changchun :IEEE ,2011:1024-1027.[7] 吴龙波.浅谈路灯单灯控制系统在城市道路照明中的应用[J ].河南建材,2018(1):249-250.[8] 章建涛.面向城市照明系统的智能故障诊断与预测方法研究[D ].成都:电子科技大学,2017.[9] ALBISHI S ,SOH B ,ULLAH A ,et al.Challenges and solu⁃tions for applications and technologies in the internet ofthings [J ].Procedia Computer Science ,2017,124:608-614.[10]PILAR E ,IGNACIO A ,ASIER P ,et al.An easy to deploystreet light control system based on wireless communication and LED technology [J ].Sensors ,2013,13(5):6492-6523.[11]WU Yue ,SHI Changhong ,ZHANG Xianghong ,et al.Designof new intelligent street light control system [C ]//Interna⁃tional conference on control and automation (ICCA ).Xia⁃men :IEEE ,2010:1423-1427.[12]汪 晖.城市路灯智慧照明系统的设计与实现[J ].集成电路应用,2019,36(4):109-110.[13]张海超,张北伟.基于STM 32的多串口通信系统设计[J ].电子测量技术,2019,38(2):99-102.[14]王芷郁,王善伟,曾胜艳.基于STM 32F 103ZET 6的无线语音控制小车设计与实现[J ].电脑知识与技术,2018,14(12):197-199.[15]周海军,黄 雨,邓伟强,等.基于STM 32的家庭智能防盗报警系统设计[J ].赤峰学院学报:自然科学版,2018,34(3):42-44.㊃421㊃ 计算机技术与发展 第30卷。