1、基于ARM系统的基站空调节能控制器北京师范大学成人高等教育2013届本科生毕业论文(设计)基于ARM系统的基站空调节能控制器 学生姓名: 专业名称: 电子信息科学与技术学 号: 201113010492指导教师: 完成时间: 2013-08-27摘 要本设计运用STM32F101系列MCU为主控模块、Sensirion 的SHT10数字温湿度传感器、继电器、光耦开关、SIM900A GPRS通讯模块、以及RS232/485通信芯片等元器件,设计了温湿度采集电路、脉冲电表电量采集电路、开关量及模拟量采集电路,RS232/485通信驱动电路、以及GPRS无线通信电路。解决通信基站内空调的自动启停以
2、及与节能通风机组的联动工作,最终实现了基站节能减排的目的。同时该节能控制器还具有采集脉冲电量表电能数据以及通过GPRS无线通信上传的功能,方便对控制器以及基站能耗情况的集中统一管理。关键词: 基站、 STM32F101 MCU、SHT10数字温湿度传感器、GPRS无线通信、联动控制、节能减排Based on ARM base station air conditioning energy-saving controller of the systemAbstractThis design USES STM32F101 series MCU as the master control modul
3、e, the Sensirion SHT10 digital temperature and humidity sensor, relay, switch of light coupling, SIM900A GPRS communication module, and RS232/485 communication chip components, design of the temperature and humidity acquisition circuit, pulse power meter acquisition circuit, digital and analog acqui
4、sition circuit, RS232/485 communication drive circuit, and GPRS wireless communication circuit. Solve the communication base station air automatic start-stop and the joint operation with energy saving ventilation unit, finally realizes the purpose of the base station energy conservation and emission
5、s reduction. At the same time the energy-saving controller also has a pulse electric scale electric energy data and upload through GPRS wireless communication function, convenient to the controller and the base station energy consumption situation of centralized and unified management. Keywords: Bas
6、e stations; STM32F101 MCU; SHT10 digital temperature and humidity sensor; GPRS wireless communication; Linkage control; Energy Conservation and Emissions Reduction目 录前 言 1第1章 节能控制器的设计规划 21.1 设计要求 21.2 设计过程 3第2章 节能控制器硬件设计 52.1 节能控制器MCU 52.2 节能控制器电源电路 62.3 输入输出采集电路模块 72.4 串口处理电路模块 112.5 GPRS无线通信电路模块 1
7、32.6 程序存储及程序下载电路模块 14第3章 节能控制器软件设计 163.1 Keil C 软件概述 163.2 主程序的基本结构 163.3 GPRS/SMS数据处理流程 183.4 与智能设备间的通信流程 19第4章 结 论 20参考文献 21附 录 231.主程序(节选) 232.GPRS/SMS通信程序(节选) 303.串口数据处理流程(节选) 35前 言近年来,随着我国能源消耗日益增加、环境污染问题日益严重,经济社会发展与能源环境的矛盾更加突出。为此,国家提出了节能减排的重大战略。节能减排工作逐渐成为新时期各行各业工作安排的重中之重,电信行业也不例外。同时,由于电信运营行业作为国
8、家重要的基础设施,自身的行业特殊性也决定了必须进行节能减排。从整个电信运营商移动通信网络设备的能源消耗分布来看,基站设备的能源消耗占到了90%,所以基站节能是移动通信网络节能减排的关键。移动基站的节能不仅仅包括基站主设备的节能,还涉及电源、空调、机房空间等多个方面。而基站空调在整个通信基站的能耗中占到了40-50%以上。在一年当中,随着环境的变化有些季节是无需开启空调进行制冷的,而且通过基站内配置一定风量的通风机组,充分利用凉爽季节提供的天然冷源,完全可以实现制冷和节能的双重目的。如何实现空调在恰当温度环境下的启停,以及与通风机组的联动配合,这就需要一个智能化的控制器自动根据基站内外环境的变化
9、控制空调、通风机组协调工作。电信运营商的无线基站都是无人值守的,这就需要节能控制器还要具有基于无线通信的接口,保证运行数据上传给机房值班人员的监控中心,以实现远程监控。 第1章 节能控制器的设计规划本项目是基于STM32F101系列MCU为主控单元的集成电路板件,该MCU内核采用ARM 32位的Cortex -M3 CPU,采用C语言作为硬件编程工具。与空调的通信采用RS485协议解析的方式,与通风机组的控制采用继电器加上接触器的方式实现,对于触发整个节能系统的温湿度采用SHT10数字温湿度方式,根据采集需要至少要配置2组分别放在室内外。并选用SIM900A GPRS通讯模块最终实现控制器与监
10、控中心的无线远程通信。1.1 设计要求控制器首先要实现与基站内空调进行协议通信,并以空调自定义的协议命令完成对空调工作状态的实时采集。同时,可根据基站内环境的变化按既定的节能控制逻辑来控制空调启停。另外,控制器对节能通风机组的状态采集和控制也必须以简单可靠的方式实现,即通过继电器或二次继电器方式来通断通风机组的输入供电,以及配置风压传感器来测量其换气风扇产生的风压有无来判断机组工作状态。最后,节能控制器的内嵌程序需要按照基站内外的温湿度变化情况实现既定的节能控制逻辑,该控制逻辑主要完成空调与通风机组的工作配合,尽量减少空调的工作时间,最终达到节能目的。具体的节能控制逻辑如下(图 1-1)所示。
11、图1-1 控制器的节能控制逻辑节能控制器还需具有对监控机房的无线通信功能,这样可以保证设备的运行数据以及实际的能耗运行数据都可以被监控中心采集并做后续的管理统计。1.2 设计过程根据以上的设计目标,将节能控制器分成四个主要的电路模块:输入输出处理电路模块、串口处理电路模块、GPRS无线通信电路模块、程序存储及程序下载电路模块。其中输入输出电路模块分出五个相对独立的子电路:模拟量输入采集子电路,主要是对一些模拟量传感器输入的采集信号进行处理;开关量输入采集子电路,主要是采集“0、1”状态的输入信号;继电器输出控制子电路,主要以常开或常闭的方式对节能通风机组进行开关机控制等;两路数字温湿度子电路将
12、直接对SHT10数字温湿度的数字信号进行处理;两路脉冲量采集子电路,主要是对基站内配置的普通脉冲电表进行脉冲计量。串口处理电路主要是完成RS232/RS485的通信驱动,该电路包含三路RS485和一路RS232两类物理接口,主要是考虑在通信基站内会配置不同品牌空调,这就造成其通信口也会有所不同,节能控制器就需要具有一定的兼容性。GPRS无线通信电路模块,主要考虑合理的性价比,以及较小的运行功耗。经过研究比对,最后选择欣姆通公司的SIM900A GPRS通信模块,该模块运行稳定性价比较高,比较适合本次的设计要求。程序存储及程序下载电路模块主要完成主程序的在线下载、更新升级,以及主运行程序的存储,
13、选用FLASH芯片主要考虑方便擦写升级内嵌程序。图 1-2 节能控制器电路结构第2章节能控制器硬件设计系统设计分成硬件和软件两大部分,具体的设计内容在将在后续章节详述。控制器板将安装到塑胶板壳内,板壳外部还要开孔多个LED指示灯,只要是指示设备的运行状态和故障告警。从成本和大小考虑,该控制板采用双层印刷电路板,除了GPRS通信模块另行制版(主要从维修方便考虑)外,其它三个电路模块都与ARM芯片组集成到一块板件上。GPRS通信板通过多引脚接插件的方式与主板连接。由于采用塑胶外壳,GPRS通信板天线可以内置在机壳内,无需外置安装。2.1 节能控制器MCUSTM32F101基本型系列使用高性能的AR
14、M _Cortex-M3 _32位的RISC内核,工作频率为36MHz,内置高速存储器(高达128K字节的闪存和16K字节的SRAM),丰富的增强型外设和I/O端口联接到两 条APB总线。所有型号的器件都包含1个12位的ADC和3个通用16位定时器,还包含标准的通信接 口:2个I2C、2个SPI和3个USART。STM32F101基本型系列工作于-40C至+85C的温度范围,2.0V至3.6V的工作电压,一系列的省电模式满足低功耗应用的需求。本主控板MCU电路如(图2-1)所示。 图 2-1 MCU电路原理图2.2 节能控制器电源电路根据现场供电情况配置双路隔离输出5V电源,实现对核心MCU和
15、外围接口电路(RS232、RS485、开关量输入)的隔离供电(图 2-2 )。 图 2-2 节能控制板电源电路原理图2.3 输入输出采集电路模块1. 五路4-20ma标准电信号模拟量采集信号和一路电压输入模拟量采集信号,可实现对供电电压、电压型/电流型标准传感器(温、湿度等)等参数的实时监测(图 2-3 模拟量采集电路)。图 2-3 模拟量采集电路2. 节能控制器设计支持八路开关量的光电隔离输入,可外接烟雾报警、急停开关、压差开关等开光量参数(图 2-4 开关量采集电路)。图 2-4 开关量采集电路3. 脉冲采集电路,支持对两路脉冲电表电量的采集(图 2-5 脉冲采集电路)。图 2-5 脉冲采
16、集电路4. 四路继电器输出电路,实现对强电供电设备的控制,主要控制外节能通风机组或不具有智能通信口品牌空调的按键模拟等(图 2-6 继电器控制输出电路)。图 2-6 继电器控制输出电路5. 系统具备两路数字温湿度传感器的接口,与SHT10探头配合试点对本地温湿度的采集。SHT10属于Sensirion 温湿度传感器家族中的贴片封装系列。传感器将传感元件和信号处理电路集成在一块微型电路板上,输出完全标定的数字信号(图 2-7 数字温湿度采集电路)。图 2-7 数字温湿度采集电路2.4 串口处理电路模块1. 两路RS232接口电路,一路有光电隔离电路便于与具备RS232接口外设直连通信,另一路与M
17、CU直连可外接DTU,串口网络服务器的外设实现设备的远程通信(图 2-8 RS-232通信口电路)。图 2-8 RS-232通信口电路2. 三路RS485接口,均具备光电隔离电路,可更根据实际需求配置成节能控制器与不同协议的智能空调、智能传感器通信,或作为从机响应主机(本地调试系统)的召测(图 2-9 RS-485通信口电路)。图 2-9 RS-232通信口电路2.5 GPRS无线通信电路模块本节能控制器的DCU(对上通信模块)选用SIM900A GPRS通讯模块,该模块属于双频GSM/GPRS模块,完全采用SMT封装形式,其性能稳定。其采用工业标准接口,工作频率为GSM/GPRS 850/9
18、00/1800/1900MHz,可以低功耗实现语音、SMS、数据和传真信息的传输。该通信电路模块主要完成与监控中心的无线远程通信,可采用主备通讯模式:GPRS为主信道,SMS为备用信道。而且控制器设计支持定时上报、事件上报和中心召测三种通信模式。其通信模块与节能控制器主板通信占用1路MCU的RS232通信口(图 2-10 GPRS无线通信电路)。图 2-10 GPRS无线通信电路2.6 程序存储及程序下载电路模块M25PE16是16Mbit 存储器、SPI接口、页字节256BYTE。用于存储参数及历史数据,相对传统页字节4K BYTE,页字节少,擦除灵活,节约MCU的缓冲RAM空间(图 2-1
19、1 FLASH存储电路)。图 2-11 FLASH存储电路传统生产流程中都是先对芯片进行预编程现再装到板上,调试工作较为繁琐耗时。简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。本节能控制器的程序下载、调试、仿真接口都采用JTAG在线编程方式,JTAG接口可对MCU芯片内部的所有部件进行编程(图 2-12 JTAG程序下载电路)。图 2-12 JTAG程序下载电路第3章 节能控制器软件设计2 2.1 2.2 3 3.1 Keil C 软件概述ARM系统开发中除必要的硬件电路外,同样需要编写内嵌软件,我们写的汇编语言源程序要变为CPU可以执行的机器码通常有两种方法,一种
20、是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。随着单片机硬件技术的不断发展,单片机的开发软件也在持续更新,其内嵌语言已从汇编语言开发逐渐转入使用高级语言开发。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,其易学易用的特点逐渐被众多开发者喜欢。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,掌握这一软件的使用同样对ARM系列的开发者来说也是十分必要的。 基于系统开发的便利性和可读性,本节能控制器的内嵌软件,同样首选Keil C作为开发工具,以下皆为具体的软件结构和处理流程。3.2
21、主程序的基本结构 主程序主要是完成各个程序模块的统一调用,保证系统在每个采集周期内将控制板的各类型硬件接口进行数据扫描采集,整个程序以无限循环的方式持续运行,对于外围的功能启动和退出,皆采用中断的模式完成。 主程序代码详见附录 1. 主程序(节选)。图 2-13 节能控制器主程序运行流程3.3 GPRS/SMS数据处理流程节能控制器与监控中心的通信采用标准的GPRS/SMS通信协议,上行数据采用动态IP地址的方式与监控中心通信,下行数据以短信SMS的方式对(节能控制配置SIM卡,并分配单独的卡号)节能控制器进行通信唤醒,并以短消息的方式进行数据传送。 主程序代码详见附录 2. GPRS/SMS
22、数据处理流程(节选)。图 2-14 控制器以GPRS/SMS方式与监控中心数据处理流程3.4 与智能设备间的通信流程节能控制器将外围的智能设备定义为从机,在每个数据采集周期内,节能控制器都会主动的查询从机的命令响应情况。对于不同品牌的空调和智能通风机组,通信子程序已经按照该设备的通信协议进行专门的解析程序编写,如果对指定序号的RS485口进行命令发送后有数据回应,通信子程序则将回馈数据包进行数据解析,按照预定控制逻辑完成各个温控逻辑控制动作,同时将关键数据通信封包,通过GPRS方式传递至数据中心。如果三次以上对指定RS485口进行命令发送后而无反馈,程序则认为该设备脱网或设备故障,并以故障信息
23、帧形式将数据包上传,同时驱动硬件告警指示灯,方便维护人员直观判断。 主程序代码详见附录 3. 串口数据处理流程(节选)。图 2-15 控制器以RS485方式与智能设备间的数据处理流程第4章 结 论本项目是基于STM32F101系列MCU为主控单元的集成电路板件,该MCU内核采用ARM 32位的Cortex -M3 CPU,采用C语言作为硬件编程工具。该芯片组充分体现了RAM开发的方便性和快捷性,节能控制器样机在模拟移动基站的实地测试中,通过软件的多次优化改进,基本实现了对基站环境温控的智能管理,并且通过RS485方式与智能通风机组的联动控制,大大减少了空调机组的工作时间,有效的实现了节能降耗的
24、目的。节能控制板内包含的GPRS通信电路,可以以GPRS无线方式,全天候的将基站内空调运行及能耗数据上传至监控中心,为基站的整体能耗管理提供准确的数据支持,同时节能控制器配置的多个模拟量、开关量、控制量接口,还可以将机房环境、空调机组、通风机组等组成统一的集中维护管理系统。在本次实际测试中发现该节能控制器还存在一些有待于继续优化的功能。譬如系统的远程复位和远程升级的功能,这样就可以大大方便控制器未来的功能扩展和稳定性提升;再者,基站的地理位置多分布在荒郊野外,雷雨天气对通信板的安全稳定影响很大,未来的节能控制器还需要增加防雷电路部分,以增强其在恶劣环境下的生存能力。参考文献1 康华光电子技术基
25、础-数字部分(第四版)M.北京:高等教育出版社19992 阎石数字电子技术基础高等教育出版社19973 赖麒文8051 单片机 C语言开发环境实务与设计 M.北京:科学出版社20024 谢自美电子线路设计实验测试M.武汉:华中科技大学出版社20005 刘婷婷 李军电子设计自动化(EDA)北京师范大学出版社20076 康华光电子技术基础-模拟部分(第四版)M.北京:高等教育出版社19997 刘明生信息技术基础河北大学出版社20028 曹继松.测试电路M.上海:上海交通大学出版社19959 孙育才MCS-51系列单片微型计算机及其应用(第四版) M.南京:东南大学出版社200410 徐爱钧智能化测
26、量控制仪表原理与设计M.北京:北京航空航天大学出版社2004附 录 1.主程序(节选)#include global.h#define VER_INFO Wireless control terminal V1.2.11rn#define DTU_TYPE() (GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_5) 1) | GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_6)/ Usart1 数据接收缓存区extern tsUsartRecFrm tsUsart1RecFrm; int main(void) unsigned long
27、flash_id = 0; struct tm cur_time; int i = 0; u8 rssi; char dtu_sim_status = 0; BSP_Init(); rtc_init(); flash_init(); USART1_DMA_Config(); USART1_init(115200, TRUE, 0); / DTU 上电 DTU_POWER_5V_ON(); _delay_ms(50); DTU_POWER_3_3V_ON(); _delay_ms(50); / SHT10 上电 SHT10_POWER_ON(); sys_info(UARTOUT, VER_IN
28、FO); rtc_read(&cur_time); sys_info(UARTOUT, %04d-%02d-%02d %02d:%02d:%02drn, cur_time.tm_year, cur_time.tm_mon+1, cur_time.tm_mday, cur_time.tm_hour, cur_time.tm_min, cur_time.tm_sec); flash_id = flash_read_id(); sys_info(UARTOUT, flash_id: %04Xrn, flash_id); / 读继电器状态 flash_read_relay_state(g_relay_
29、state); sys_info(UARTOUT, relay1%d, relay2%d, relay3%d, relay4%d. rn, g_relay_state0, g_relay_state1, g_relay_state2, g_relay_state3);/ 继电器常关 if (g_relay_state0 = 1) RELAY1_ON(); else RELAY1_OFF(); if (g_relay_state1 = 1) RELAY2_ON(); else RELAY2_OFF(); if (g_relay_state2 = 1) RELAY3_ON(); else RELA
30、Y3_OFF(); if (g_relay_state3 = 1) RELAY4_ON(); else RELAY4_OFF(); if (flash_read_pulse_count() sys_info(UARTOUT, pulse count 1: %lurn, g_pulse_count0); sys_info(UARTOUT, pulse count 2: %lurn, g_pulse_count1); else sys_info(UARTOUT, flash_read_pulse_count error.rn); / 初始脉冲值#if 0 g_pulse_count1 = 0; flash_write_pulse_count();#endif/ SHT10 测试#if 0 while(1) u32 t1, t2; u32 h1, h2; BOOL read_sht_state=FALSE; IWDG_ReloadCounter(); read_sht_state=sht10_read(0,&t1,&h1); if (read_sht_state) debug_info(UARTOUT, DEBUG1, SHT10 CH1 T%d, H%d.rn, t1, h1); else debug_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1