预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

【原创】路灯智能监控系统 1设计目标 本设计是基于路灯智能监控系统的模拟设计。主要为基于蓝牙的无线通信设备实现路灯控制系统的人机交互,通过PC上位机界面,设置路灯的各项控制参数,控制系统获得控制参数后对路灯进行智能控制。主要实现了以下功能: 1)开发个性化PC上位机管理界面,实现对控制设备的人机交互; 2)通过上位机完成对路灯系统的开灯时间、关灯时间、单独开关控制、系统对时控制、故障检测与显示等; 3)控制系统实现系统时间、开灯时间和关灯时间、光线强度、ICKEY与高校LOGO等显示; 4)控制系统在每天固定的时间开灯和关灯; 5)检测光线强度进行开关灯; 6)根据PC管理界面的控制进行开关灯; 7)设置参数的掉电存储; 8)基于RTC的系统时间管理,以及通过PC管理界面的对时; 9)系统为12V供电系统; 2设计过程 2.1硬件资源 在本设计中,主要使用了以下硬件资源: 1)TI公司C2000系列MCU(TMS320F28027); 2)GY-30光强检测模块(基于BH1750光强感应芯片); 3)RTC实时时钟模块; 4)BLE4.0(低功耗蓝牙)模块; 5)3WLED; 6)电源调理芯片; 2.2设计思路 1)使用光度计检测环境光强,从而控制开关灯动作; 2)使用RTC实现时钟功能,实现定时开关灯,以及晚上12点后调光功能; 3)使用蓝牙实现与PC的无线通信; 4)使用PC管理界面实现参数的设定等操作; 5)使用电源转换电路实现12V输入3.3V输出给控制系统; 6)当控制灯打开后,光度计检测到环境光强并没有较大的增大,则认为发生故障; 7)使用LED模拟路灯操作; 8)使用PWM控制LED亮度; 3系统介绍 3.1系统结构示意图 设计系统的总体结构示意图如下图所示。12V电源除了给LED供电外,也作为控制系统的电源,电源转换电路将12V电源转换为3.3V电源提供给系统。TI公司的28027MCU作为核心控制芯片管理控制系统的所有模块。光强检测模块提供外部环境的光线强度,从而来决定是否需要开灯。RTC实时时钟模块为系统提供了世界时间,从而可以实现定时开关灯。LED显示模块可以显示当前系统时间、开关灯设定时间、外部环境光线强度、logo等。蓝牙通信模块提供了无限通信连接媒介,可以使用专门开发的PC控制界面来实现通信和参数设定。通过PWM波调制LED的电压来实现LED亮度的调整。 3.2MCU TMS320F28027是TI公司的高效32位CPU,哈佛总线架构,具有60MHz的主频,三个32位CPU定时器。 本设计使用的是TI公司的28027Launchpad开发板。 3.3蓝牙模块 BLE蓝牙模块如下图所示。该蓝牙模块灵敏度达到-80dBm,内置2.4GHz天线,外置8MbitFLASH,可以实现较大量数据的快速传递。工作电压3.3V,完全适用于单片机系统,接口为HCI端口(UART或者USB),可以实现系统的良好对接。工作温度-25℃到75℃。并且具有低功耗特性。有效传输距离可达10米以上,能够适合应用需求。 3.4光强度计模块 基于BH1750FVI光强度传感器芯片的光强度计模块,内部具有16位ADC,输出范围为0到65535,能够非常灵敏地反映环境光线强度的改变。适用于3.3V系统,使用I2C通信协议进行数据通信。并且模块对光源的依赖性不大, 3.5RTC模块 RTC模块如下图所示。同样是基于I2C接口和协议,带有日历功能,连接电池从而实现掉电后正常工作。 3.6LCD显示屏 使用0.96寸12864OLED显示屏来完成信息的显示。主要显示ICKEY和高校LOGO、系统时间、开灯时间、关灯时间、当前环境光强。 3.7电源转换模块 因为只有12V系统,所以这里使用了电源转换电路将12V转换为3.3V。一开始在电路板上设计的是使用TPS563200和LMS1587分别实现12V转5V和5V转3.3V,但在使用过程中操作失误发生短路,将TPS563200烧坏了(并且没有找到替换芯片在哪儿去了),最后使用的是L7805来实现12V转5V。 4程序流程图 程序流程图如下图所示。程序开始运行后先对需要使用的一系列外设进行初始化和使能,然后分别读取RTC、光度计的数据,再对读取到的数据进行分析处理(光强是否低于需要开灯光强,是否高于需要关灯光强,是否达到开灯和关灯时间)。然后查看是否收到BLE发来的数据(在中断中接收),如果有数据发来,则处理通信数据包(是否进行了LED的开光灯控制,是否进行了开关灯时间设置,开关灯光强设置,是否进行了对时操作等)。然后进行开关灯动作操作,最后在LCD上更新显示,然后进行再一次循环。