基于STM32的循环水在线监测系统设计
2014-03-26罗益民
索 猛,罗益民
(南京工业大学自动化与电气工程学院,江苏南京 210009)
0 引言
工业生产过程中为保证生产设备的正常运行,需要用循环冷却水对设备进行冷却,但冷却水长期循环使用后,必然会带来沉积物附着、金属腐蚀和微生物滋生问题,从而影响工业生产[1]。因此,加强监测循环冷却水水质,以及提高循环冷却水的水质状况显得非常重要。目前,对循环水水质监测主要是对腐蚀和结垢倾向的监测,循环冷却水腐蚀和结垢是导致冷换设备损坏和影响换热效率的主要原因。因此提高循环水系统在线监测及自动化控制水平,使得水质指标测量更准确、高效,药剂能最大限度地发挥它们的效果,同时做到节能降耗、减小排污量、降低排污带来的环境污染是当前循环水处理中所面临的主要问题。能够开发出新型的、切实合理有效的循环水水质在线监测和控制技术显得更加重要[2-6]。
文中以某循环水水处理控制系统为应用背景,在已有的循环水处理系统的基础上,对其控制方案进行了改进,提出了以基于STM32控制核心,过程控制板,现场执行机构的方案替代了原来的IPC,PLC和现场执行机构三层结构的控制方案,以μC/OS+μC/GUI替代原来的WINDOWXP+组态王的软件平台。研制循环水水质参数在线监测设备,完成对pH、电导率、温度、ORP、浊度的在线监测。
1 系统硬件设计
现场监测部分采用STM32控制单元,STM32控制单元主要负责采集溶解氧分析仪、pH 分析仪、电导率传感器、浊度传感器、温度传感器等水质分析设备的模拟量数据分析。
1.1 处理器模块
控制系统的STM32F103ZET6芯片为控制核心,STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。STM32F103ZET6,最高工作频率72 MHz,1.25 DMIPS/ MHz.单周期乘法和硬件除法。片上集成32~512 KB的Flash存储器。6~64 KB的SRAM存储器。时钟、复位和电源管理:2.0~3.6 V的电源供电和I/O接口的驱动电压。POR、PDR和可编程的电压探测器(PVD)。4~16 MHz的晶振。内嵌出厂前调校的8 MHz RC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的PLL.带校准用于RTC的32 kHz的晶振。3种低功耗模式:休眠、停止、待机模式。为RTC和备份寄存器供电的VBAT.将众多循环水水质指标监测集中到一套系统中,对多参数的循环水水质在线监测系统进行研制,选取合适的微处理器,配合相应的外围电路,完成信号采集、转换,参数显示。硬件系统结构如图1所示。
图 1 现场监控硬件框图
1.2 传感器
对于循环水水质在线监测系统的设计,首先必须选择合适的循环水水质参数监测传感器。该系统设计中选用的WQ 系列的水质参数监测传感器作为循环水水质在线监测系统的前端。该系列传感器无论在精度、重复性方面都很优秀,具有很好的响应时间及稳定性,而且输出信号具有良好的线性。下面将介绍所选择的pH、电导率、温度、ORP、浊度5种循环水常规参数检测传感器的原理及其特点。在系统中选用的5项水质参数检测传感器的原理各不相同,为了便于STM32进行数据运算处理,设计了信号调理电路,将这些非标准的电流信号转换成统一的0~5 V 标准信号。在信号调理电路的设计中,采用LM358型集成运算放大器构成前后两级放大电路,前级为同相放大电路,后级为差分放大电路,通过调节信号调理电路中的有关电位器,实现了由各种传感器输出的非标准信号向标准信号的转变,同时也达到了各项化学或物理参数量程调零与调满的目的。信号调理电路是由同相放大电路和差分放大电路构成的前后两级放大电路。
2 系统软件设计
系统在程序设计时采用了模块化设计方法,首先设计好系统总的软件流程,然后分别将控制器所要完成的功能分别编写和调试,所有模块调试成功以后,将各个模块联调,最后组合构成整体软件系统。整个系统由2部分组成:系统主程序、任务子程序。系统主程序负责任务调度,任务子程序实现系统各个子功能。主程序在完成系统初始化后,按流程选择执行各子模块程序,完成系统控制任务。系统的软件部分主要分为两部分,分别是嵌入式μC/OS-III 操作系统内核和应用程序软件,其中液晶屏的显示界面基于μC/GUI 设计。图2为控制系统的软件流程图。
图2 控制系统的软件流程图
μC/OS-Ⅲ是一个可扩展的、可固化的、抢占式的实时内核,它管理的任务个数不受限制。它是第三代内核,提供了现代实时内核所期望的所有功能,包括资源管理、同步、内部任务交流等。μC/OS-III 也提供了很多在其他实时内核中所没有的特性。比如能在运行时测量运行性能,直接发送信号或消息给任务,任务能同时等待多个信号量和消息队列。
μC/GUI是一种专为嵌入式系统设计的图形界面支持系统。它的代码全部由标准C编写模块化的设计,具有很强的可移植性。μC/GUI 适应大多数的黑白或彩色LCD 的应用,还提供一个可扩展的2D 图形库及占用极少RAM 的窗口管理体系[7]。该系统是基于Cortex-M3 内核的stm32f103ret6微处理器。选用的是μC/GUI3.90a 版本,LCD是RA8875控制的4.3寸彩色液晶显示触摸屏(1寸=2.54 cm)。移植μC/GUI 的前提是LCD 的驱动函数已经设计完成,因为在嵌入式体系结构中,μC/GUI 所在的是操作系统层,其与硬件的交互是通过设备驱动层来实现的。
μC/GUI 与设备驱动层的接口是以下3个函数:
Void LCD_DrawPoint(u16 x,u16 y,u16 color);
U16 LCD_ReadPoint(u16 x,u16 y);
Void LCD_MyInit();
接口函数的设计是跟处理器和LCD 相关的,在移植μC/GUI 前必须完成以上3 个函数的设计,即能用LCD_MyInit() 实现LCD 的初始化,LCD_ReadPoint(u16 x,u16 y)返回对应点的颜色,LCD_DrawPoint(u16 x,u16 y,u16 color)在LCD 上显示对应点的颜色。μC/GUI 的移植不需要对Cortex-M3 内核及其中断机制有所了解,也不会涉及到硬件底层需要汇编实现的部分。重点在于设备驱动函数的编写及GUI_X.c中与μC/OS 的接口设计。
3 人机界面建立
在STM32处理器上移植μC/OS-Ⅱ操作系统内核包括处理器的初始化配置、内核的移植,为应用软件的多任务执行提供软件平台。μC/GUI在STM32上的移植为了在TFT液晶屏上能实现多窗口显示、按钮控件的显示等一系列显示功能,该系统在STM32上移植μC/GUI图形支持系统,这样系统就能方便地调用μC/GUI内的绘图函数实现窗口、按钮控件的绘制与显示。人机交互界面操作方便,实现功能包括实时数据监测、报警、控制参数设定、量程设定、累积计算、趋势曲线和报表打印,人机界面程序总体框架如图3所示。
图3 人机界面程序总体框架
4 系统运行效果
系统设计完成后,对某工厂的循环冷却水进行了测试运行,运行期间系统稳定可靠。表1记录了此工厂循环水2013年3月26至2013年4月2日的各项数据的平均值。
5 结束语
该方案实现了对水质参数实时监测。自投运以来,运行稳定、可靠,与传统的全人工操作相比,系统的实时性和准确性得到了提高,减少了人为因素影响,克服了地理等条件的限制,减轻了工作人员的负担。该系统作为嵌入式系统在循环水处理行业的应用,具有很强的灵活性和可扩充性,由于在恶劣的环境下能实现低功耗、长时间即时监测,为企业带来了长久的效益。
表1 系统监测数据
参考文献:
[1] 朱斌,罗益民,袁启昌,等.自动加药与监测系统在工业循环冷却水中的应用.工业水处理,2007,27(12):76-79
[2] 蔡小亮.循环水水质在线监测系统的研究与设计:[学位论文].南京:南京工业大学,2010.
[3] 朴兴哲,李英顺,蔡林,等.基于GPRS 网络的远程供暖数据监控系统.沈阳工业大学学报,2009,31(3):323-327.
[4] 吕文超.GPRS 和无线传感器网络技术在过程控制中的应用与研究:[学位论文].南京:南京理工大学,2009.
[5] 陈军,盛占石,陈照章,等.基于GPRS 的水质自动监测系统的设计.传感器与微系统,2009,28(7):77-79.
[6] 黄毅,黎杰.基于GPRS的水厂实时远程监测系统.合肥工业大学学报:(自然科学版),2008,31(5):705-707.
[7] 王兰英.基于STM32 嵌入式系统的μCGUI 移植与实现.四川理工学院学报(自然科学版),2012,25(1):56-58.