当前位置:文档之家› 基于stm32模拟路灯控制系统

基于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)一、总体方案思路及其设计本模拟路灯控制系统的设计方案要实现的主要功能主要分解为以下五个方面:一是时钟功能及定时开关灯。

二是根据环境明暗变化,自动开灯和关灯。

三是根据交通情况自动调节亮灯状态:当汽车靠近路灯时,路灯能自动点亮;当汽车远离时,路灯自动熄灭。

四声光报警功能,当路灯出现故障时而不亮时,控制器发出信号,并显示有故障路灯的地址编号。

1.1、检测物体移动方案设计方案一、采用红外对管发射接收装置方案二、超声波传感器方案三、红外避障传感器方案论证:方案一中利用红外对管发射接收,操作简单,价格低廉,可以完成简单物体的测量。

方案二超声波传感器在检测方面灵敏度很高,价格昂贵,性能虽好,可是性价比低。

方案三中的红外避障传感器,能较好检测物体,但是价钱比较贵。

所以我们选择方案一,完成要求,性价比高。

1.3、时钟显示方案的设计方案一、采用传统六个数码管作为时钟显示。

方案二、采用液晶屏作时钟显示。

方案论证:方案一采用数码管显示虽然控制简单,亮度大,价格便宜。

缺点是功耗较大,显示不清晰,操作不方便。

方案二液晶显示器则具有耗电少、配置简单灵活、安装方便、耐振动、使用寿命长、美观等优点。

同时可以显示菜单等复杂的界面,更易于操作。

本设计系统采用LCD显示器。

1.4、控制部分方案的设计方案一、单片机STM32Cortex-M3完成对其他各部分控制。

方案二、采用单片机STC90C51作为控制部分。

方案论证:方案一STM32Cortex-M3是一种高速/低功耗/性价比高的单片机可完成对其他各部分的控制。

内部具有强大的存储空间且能够实现各种复杂的控制功能。

方案二STC90C51的功耗比较大,数据传输速率比较低,要实现比较复杂的控制功能较困难。

故本设计采用STM32Cortex-M3单片机。

下图是模拟路灯控制系统设计的总体设计方案:图1 系统总体方案二、系统理论分析与功能模块设计2.1 、驱动电路原理分析图 2 为本设计系统LED灯的驱动电源电路以及光电驱动,通过运放器ULN2803芯片,使驱动LED。

图2 LED驱动电路2. 2、CPU核心控制模块图6为本系统的主控CPU单元,VBAT为备用电源引脚,PC14/COSC32和PC15/OSC33为内部实时时钟电路引脚,NRST为复位引脚,PA0脚为进入时间设定界面以及长按时对路灯开关时间控制,PA1时间设定加以及长按时进入单独设定路灯的亮、灭状态,PA2时间设定减以及长按时进入路灯故障界面,PA3和PA4报警信号灯状态,PA6和PA7控制路灯状态,PC13、PC4和PC5光敏状态检测,PB0、PB1、PB2、PB7、PB6、PB5、PB4、PB3为液晶显示输入数据端口,PB13、PB14、PB15为液晶输入控制端口,PC7、PC8、PC9检测光电状态端口,PB9、PB8为时钟控制端口,PA15、PA14、PA13为检测光敏状态端口。

下图为主控电路模块:图6 单片机最小系统、LCD显示和报警电路2.3 、时钟控制模块为了减轻单片机的编程压力,设计中没有采用片内时钟,而是外接了时钟芯片DS1302。

DS1302时钟芯片具有时钟/日历功能,并能利用其内部的32字节RAM 存储。

图7中四个时钟功能键分别为SW1—进入时钟界面设定、SW2—增加、SW3—减小,此功能键由CPU控制进行LED灯的开关调时。

按下每个键将会有设置小提示选择所需功能,最后完成的调时时间以及系统的状态显示在LCD上。

2.4 、按键模块此模块电路设计简单,(原理是根据当按键按下时,给单片机一个低电平,通过单片机并能做出一些的设置,)但每个按键都有多个功能,比如实时时钟的时间设置,以及路灯的单独控制时间等等,2.4、光电检测模块为了检测是否物体通过,采用光电检测。

光电传感器是通过把光强度的变化转换成电信号的变化来实现控制的,它首先把被测量的变化转换成光信号的变化,然后借助光电元件进一步将光信号转换成电信号。

光电传感器一般由光源,光学通路和光电元件三部分组成。

光电检测方法具有精度高,反应快,非接触等优点,而且可测参数多,传感器的结构简单,形式灵活多样,我们所采用的光电传感器的构成,是在同一个检测头里既装有一个发光器,也装一个收光器,但前方没有反光板。

正常情况下发光器发出的光收光器是收不到的;当检测物通过时挡住了光,并把光部分反射回来,收光器就收到光信号,输出一个开关控制信号。

有物体通过时,输出端会输出一个低电平,从而通过高低电平的变化,测出是否有物体通过,下图为光电检测模块电路图:2.5光敏检测模块光传感器是利用光敏元件将光信号转换为电信号的传感器,它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。

光传感器不只局限于对光的探测,它还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要将这些非电量转换为光信号的变化即可。

光敏电阻是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。

光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。

原理:在黑暗环境里,它的电阻值很高。

当受到光照时,从而造成光敏电阻阻值下降。

光照愈强,阻值愈低。

为了检测路灯的亮度,这里我们采用光敏元件检测,当光的强度达到光敏元件的门限值时,返回一个电平值到单片机,通过单片机控制实现对路灯的状态。

下图为光敏模块电路图:三、系统测试3.1 测试仪器1.示波器3.2部分测试指标. 功率测试功能测试三、软件设计3.1. 软件流程3.2:软件子程序在本设计系统中,由于实现功能比较复杂,再加上传感器和处理模块非常多,放在一个文件中是不可行的,此时,我们采用进行模块化处理。

1:1602子程序#include "1602.h"void write_code(u8 a); 写1602void write_data(u8 a); 读1602void init_1602(void);初始化6022:delay延时子程序#include "delay.h"voi d delay_init(u8 SYSCLK);选择时钟频率void delay_ms(u16 nms);毫秒级延时void delay_us(u32 nus);微秒级延时3:DS1302时钟子程序#include "DS1302.h"void Write_Ds1302( u8 address,u8 dat );写ds1302void init_1302DS(void); ///初始化1302void Reads_RTC(void); //一次性读取ds1302八个寄存器时间值void timedeal_RTC(void); //处理读到的数据4:系统配置钟子程序#include "RCC-GPIO.h"void RCC_Configuration(void);配置处理器时钟频率void GPIO_Configuration(void); 配置处理器时钟频率管教void NVIC_Configuration(void); 配置处理器中断优先级void EXTI_Configuration(void); 配置处理器外部中断void TIM_Configuration(void);/ 配置处理器定时器四、系统实现的功能.1. 路灯的工作模式本模拟路灯控制系统具备5种工作模式,分别是自动群控模式、自动分控模式、根据照度自动控制模式、根据交通情况自动控制模式、手动控制模式,下面对每种工作模式简单介绍如下:(1)自动群控模式在该模式下,支路控制器根据设定好的定时信息,自动地同时打开或者关闭两盏路灯。

相关主题