- 相关推荐
基于RTOS的太阳能热水控制系统设计
摘要:介绍通过在单片机内嵌入实时多任务操作系统RTOS来实现太阳能热水控制系统的设计。文中包含主控制端(主端)与数据采集端(从端)的功能模块图及说明,对存在的多个任务进行解释分析,并给出实现主从通信所定义的帧结构和使用I2C总线在EEPROM存储器中读写数据的程序代码解析。引言
随着嵌入式技术的发展与壮大,越来越多的单片机在使用中实现了RTOS(Real Time multi-tasking Operation System)的嵌入,采用多任务机制来提高系统运行的效率和缩短响应所用的时间。由于嵌入式工业的基础是以应用中心的芯片设计和面向应用的软件开发,实时多任务操作系统进入嵌入式工业的意义不亚于历史上机械工业采用三视图的贡献,对嵌入式软件的标准化和加速知识创新是一个里程碑。RTOS具有下述优点。
①RTOS是一个可靠性和可信性很高的实时内核,将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的API,并根据各个任务的优先级,合理地在不同任务之间分配CPU时间。
②RTOS作为软件开发平台是十分可取的,基于RTOS上的C语言程序具有极大的可移植性。据专家测算,优秀RTOS上跨处理器平台的程序移植,只需要修改1%~5%的内容。
③RTOS的引入,解决了嵌入式软件开发标准化的难题。随着嵌入式系统中软件比重不断上升、应用程序越来越大,对开发人员、应用程序接口、程序档案的组织管理将成为一个大的课题。引入RTOS相当于引入了一种新的管理模式,对于开发单位和开发人员都是一个提高。
本方案从如何更好解决小区和楼群内居民的生活用热水问题出发,利用绿色环保的太阳能为主要能量来源,以楼为单位综合控制,为用户提供生活热水。这不仅方便了生活,摒充了传统的独立式热水器存在的安全隐患,也便于业主集中管理和规划。
1 系统工作概况
本太阳能热水控制系统以太阳能为能源,加热位于户外屋顶上集热器中的水。被加热升温后的水,通过循环阀进入大水箱,再经由重力到达小水箱,小水箱中设有辅助能源保持水温的恒定,再通过升压装置将热水送到各家各户。该系统在缺省状态下,以自动控制模式判断四个阀门(主要控制点)的工作状态,也可根据需要由工作人员进行手动控制。工作人员通过主端的操作控制面板完成人与系统的交互。位于面板上的显示屏会实时显示系统的工作情况和各项参数数据,供工作人员参考。水箱高度和需要开启加热阀门时的温度等十二个系统参数,既可以在控制箱内的操作控制面板上设置和通过显示装置查看,也可以在远程监控的计算机界面上设置和查看。考虑到在北方地区的推广,系统还设定了防冻循环参数以控制启停防冻循环。太阳能热水智能控制系统示意图如图1所示,其中控制箱即为主控制端(主端),数据采集端(从端)位于大水箱上方。
系统采用华邦公司生产的单片机W77E58作为主端和从端的微处理器,由于它去除了多余的时钟和存储周期,其运算速度比传统的8051系列要快1.5~3倍。单片机中采用的实时多任务操作系统是RTX51TNY,该操作系统由德国Keil公司开发研制,大小只有800B,但理论上支持多达16个任务,任务间的协调和轮换以信号机制触发。RTX51TNY操作系统允许“准并行”的同时执行几个任务,每一个任务在预先定义好的时间片内得以执行。
2 系统结构
太阳能热水控制系统由以下几个模块构成:主控制端处理模块(即主端)、数据采集端模块(即从端)、监控计算机及其后台服务程序。其中,从端还包括超声测水位器件模块,该器件利用超声声波接触到水面后反射的简单原理,使用放大器电路实现,成本大大低于市场上流行的投入式液位计。系统的结构框图如图2所示。
2.1 主控制端软件实现及任务分析
系统的软件主要由三部分构成:主端程序、从端程序和利用超声技术测水位的程序。主端程序包含在主端控制模块当中,它的作用是判断系统当前工作状态,通过对所采集的数据进行处理和分析得到该如何继续控制系统的指令。从端程序负责处理采集的数据,并发送提交给主处理程序,超声部分的程序保证超声模块测水位的稳定性和精确性。其中,主控制端后台处理模块是系统的主要部分,占据了绝大部分的代码量,控制系统的指令大都由这里给出,下面着重介绍这一部分。
主端功能模块示意图如图3所示。
主处理逻辑由7个任务构成其主体,一些函数的定义作为其补充。7个任务分别为:①初始化任务;②与串口通信任务(串口1接收从数据采集端发回的数据);③与串口2通信任务(串口2负责与监控计算机交换数据);④⑤分别为对不同显示区域的控制任务;⑥对硬件中断的处理任务;⑦对传回数据的处理任务。
各个任务具体实现的功能如下:
①初始化任务:初始化串行接口,并开始其余6个任务,最后删除自身。
②串口1通信任务:主处理逻辑每隔一定的时间就通过串口1向数据采集端发送查询帧查询数据,发送一定次数后仍未收到从端数据者,通过信号机制触发显示任务,显示与从端通信挫败的提示信息;若从端返回无误数据,则转入显示任务进行数据处理后显示。若经由CRC校验发现连续若干次从端传回数据有误,转入显示任务显示数据出错的提示信息。
【基于RTOS的太阳能热水控制系统设计】相关文章:
基于电话网络的热网远程控制系统设计05-11
小型热水锅炉单片机温度控制系统(一)08-10
基于web的异地并行设计与制造系统研究06-02
基于胜任力的企业个体绩效管理流程设计06-03
基于CS管理的房地产企业开发设计06-04
基于PLC的断路器型式试验系统设计03-10
双容水箱串级液位控制系统设计 开题报告07-30
消防联动控制系统(一)05-11
浅析自动控制系统04-19