李高进, 范大任, 姜星星, 缪逢吉
(⒈上海交通大学,上海 200240; 2.大连船舶重工集团 大连造船厂船舶涂装公司, 辽宁 大连 116005;3.上海船舶工艺研究所,上海 200032)
基于STM32F103的大包装喷涂嵌入式控制系统设计
李高进1,3, 范大任2, 姜星星3, 缪逢吉3
(⒈上海交通大学,上海 200240; 2.大连船舶重工集团 大连造船厂船舶涂装公司, 辽宁 大连 116005;3.上海船舶工艺研究所,上海 200032)
随着船舶行业双组份涂料使用的日益广泛,大包装喷涂系统受到越来越多船舶企业和油漆厂商的关注。针对基于STM32F103的大包装喷涂嵌入式控制系统进行了研究,对该控制系统硬件进行了最小系统、接口电路、显示电路等方面的设计。利用μC/OS-Ⅱ操作系统对该控制系统软件进行了系统架构设计,并利用μC/GUI软件进行了图形界面设计。
大包装STM32F103控制系统μC/OS-Ⅱ操作系统μC/GUI软件
目前,各大船厂施工使用的双组份涂料主要用于船舶的压载舱区域,占全船油漆用量的40%~45%左右。另外还有货舱、船体外板、露天甲板、上层建筑外壁等区域,双组份涂料相比单组份涂料具有耐腐蚀性强、抗冲击性好、防腐周期长及施工周期短的优势,其优异性能在行业中已得到了充分证实。
一般情况下双组份涂料工艺有如下施工流程:配比混合、加溶剂、人工搅拌、熟化、喷涂。现行工艺优点[1]:(1) 设备结构简单,操作简便,施工灵活,易移动;(2) 设备成本低廉,易更换。现行工艺缺点:(1) 双组份涂料混合、搅拌过程均由人工完成,配比、搅拌及熟化时间因人而异,易导致涂层质量不稳定;(2) 小桶油漆桶壁油漆残留量较大,例如20 L的小桶油漆桶壁油漆残留量达1 L左右。(3) 喷涂设备多,分布广,管理、维修保养难度高。大量的废油漆桶还需特殊处理,油漆桶的残留油漆属于危险品,需设置特定的场地堆放,由专人监管,还需有偿请环保公司回收。
随着企业对成本控制和环保要求的日益提高,一般规格包装(20 L/桶)双组份涂料在这些方面正显现出一些问题。这些问题不仅使得涂层无法发挥最佳效果,而且对船厂的生产成本和效率等方面产生了严重影响。笔者在进行充分市场调研的基础上,决定引进韩、日等国船舶企业的先进理念,结合实际施工工艺,研制大包装喷涂系统。该喷涂系统以GRACO公司XM喷涂机、大包装涂料桶及其他辅助设备为基础,进一步提高喷涂设备的自动化和智能化水平,加强喷涂作业全过程管理,简化分段涂装作业程序,降低生产成本。
为了实现大包装喷涂系统的人员管理、原料管理和设备管理功能,我们开发了一套嵌入式控制系统。
XM喷涂机嵌入式控制系统具有参数设置、数据显示、故障报警、状态指示、刷卡操作等功能。设备在作业过程中的所有相关数据都会保存到系统中,系统内置SD卡接口,可以实现数据备份、拷贝,供管理人员进行数据管理、分析和处理。管理人员可以在电脑上对操作人员的权限进行更改,规定设备的作业规范要求,还可以对设备进行锁定,使喷涂机在设置的范围内进行运行及操作。本套系统可以进行实时记录、显示油漆种类及实际用量、区分不同种类的油漆以及对油漆的余量进行统计、存储。此外,系统还存储设备的总运行时间,维修人员可以根据设备运行时间定期对设备进行维修保养。
XM喷涂机嵌入式控制系统主要由以下部分组成:人机界面、基于STM32F103的控制主板、IC卡系统等。该系统采用嵌入式操作系统,IC卡管理统计程序,主板上还预留了一些端口,便于系统升级和功能扩展。人机界面采用高性能彩色显示屏。系统使用小体积、高效率的内置式电源模块,也可外接电源输入。控制主板采用ST公司32位ARM Cortex M3 Core高效CPU——STM32F103ZET6,其集成化程度高,可扩展性好。IC卡部分由写卡器和读卡器两个部分组成,使用的是非接触式射频卡。
3.1系统硬件设计
嵌入式系统结构框图如图1所示。
图1 嵌入式系统结构框图
嵌入式系统主要由核心板、接口板、人机界面、按键输入和RF读卡器组成。
3.1.1核心板
(1) STM32F103简介。
核心板由基于STM32F103的控制主板及相关外围电路组成,STM32F103为Cortex-M3处理器内核,Cortex-M3是ARM公司的一款基于ARMv7体系的处理器内核。它针对MCU领域,在存储系统、中断系统、调试接口等方面有很好的改进。Cortex-M3具有很多优点:性能高而稳定、低功耗、极低成本,非常适用于工业控制系统中[2]。据于此,将此处理器用于XM喷涂机嵌入式控制系统是一种较好的选择。
STM32F103系列微处理器是首款基于ARMv7-M结构的32位标准RISC(精简指令集)处理器,代码效率非常高,其ARM内核的性能在8位和16位系统的存储空间上发挥得淋漓尽致。该微处理器的工作频率为72 MHz,内置的Flash存储器容量为128 K字节, SRAM容量为20 K字节, I/O端口大多为通用I/O端口,端口数量也很多。
(2) 核心板最小系统电路设计。
STM32F103最小系统电路中(见图2),包括阻容复位、系统时钟、RTC时钟、Bootloader控制、运行指示灯这几个部分。下面对部分电路进行说明。
图2 STM32F103最小系统电路
① 时钟电路。
系统时钟电路选用8 MHz的HSE晶体作为振荡器晶振。如图2所示,由R11、X2、C11及C12构成系统时钟电路。通过设置时钟控制寄存器RCC_CR中的HSEON位,可以设置HSE晶体的ON/OFF状态。实时时钟电路选择LSE时钟模式,由X1、C9及C10构成LSE旁路,提供一个32.768 kHz的外部时钟源。LSE晶体可以选择低速外部晶体(频率为32.768 kHz)或陶瓷谐振器。它能够给系统时钟提供精准且功率消耗较低的时钟源。
② 启动模式选择电路。
通过选择BOOT[1:0]引脚可以有以下三种启动模式。如表1所示。
表1 启动模式
在系统进行RESET操作后,SYSLK的第4个上升沿,BOOT引脚的值将被锁定存储。此时通过改变BOOT1和BOOT0引脚的状态,来设置在RESET操作后的启动模式。
3.1.2接口板电路设计
在接口板电路中,设计了AD采样、DO输出、DI输入、按键输入及RS232接口转换等电路。
AD采样电路采用了ADS8568芯片作为AD转换芯片,该芯片具有16位AD采集,自带6通道AD数据采集,设计采用了其中的4路作为AD采用电路,其他2路屏蔽。
在DO输出电路中采用了独立的4个Relay电路,输出4个干接点,每个接点容量为1 A。在DI输入电路设计中,采用了PS2801-1光耦处理,外部使用干接点输入信号即可。
在RS232转换电路设计中,将STM32F103ZET6中两路的USART转换为RS232,一路接读卡器,用于读卡写卡操作;一路作为预留,可用于连接PC机或调试等用途。
3.1.3人机界面设计
人机界面选用的是群创7″屏AT070TN92,该屏配置有晶门公司TFT真彩色液晶显示屏控制器——SSD1963,该控制器内部集成有1 215 kB的帧缓冲器, 能显示24位真彩色图片,最大分辨率可达864×480,芯片可以接收来自不同总线宽度的微处理器并行接口传送过来的图片数据和命令,普通无RAM的LCD的驱动也可得到支持,色彩深度达到每像素点24位。
控制器支持8位串行RGB接口,亮度和对比饱和度可通过编程控制,通过脉宽调制信号控制动态背光控制(DBC),可与单片机连接,具有8/9/16/18/24位单片机的接口,内置时钟发生器,具有4个GPIO引脚,其结构框图如图3所示。
图3 SSD1963结构框图
本控制系统中SSD1963外部引脚连接图如图4所示。
图4 SSD1963的外部引脚连接图
该电路采用SSD1963专用TFT屏控制芯作为7″TFT屏控制芯片,易于硬件设计和程序设计。
此外,控制系统还进行了RF读卡器、RF控制电路及电源电路等设计,限于篇幅,不一一详述。
3.2系统软件设计
大包装软件控制部分是基于Keil uVision4开发环境之上采用C语言进行开发的嵌入式控制系统,通过编程使得该系统不仅能够完成对喷漆作业过程控制,同时实现了作业过程数据的显示及存储,具有成熟的人机界面。控制系统的软件架构如图5所示。
图5 控制系统的软件架构
由控制系统的软件架构可知大包装软件控制中采用了μC/OS-Ⅱ嵌入式实时操作系统,同时植入了μC/GUI的图形支持软件,再加上用户应用程序(APP)即形成了一套完整的软件控制系统。其中应用程序APP即控制系统开发中基于μC/OS-Ⅱ和μC/GUI之上开发的应用程序代码。
3.2.1实时操作系统μC/OS-Ⅱ
μC/OS-Ⅱ是由Jean J.Labrosse于1992年编写的一个嵌入式多任务实时操作系统。可同时有64个就绪任务,通过任务的优先级来进行任务的调度和切换。在μC/OS-Ⅱ任务处理中将任务分为“五态”,如图6所示[4]。
图6 任务状态及相互关系
当有外界事件或数据时,系统能够接收并快速进行处理,处理的结果能在短时间内反馈来控制任务过程或对相关系统做出快速响应,同时控制所有实时任务的协调、一致运行。μC/OS-Ⅱ是一个具有多任务、多级中断机制及优先级调度机制的高实时性、多任务操作系统。非常适用于嵌入式系统的开发。
3.2.2图形支持软件μC/GUI
μC/GUⅠ是一款用于嵌入式系统应用的图形软件。它可以为使用图形LCD的应用提供用户接口,这个接口不依赖于处理器和LCD控制器,软件既支持单任务系统,同样也支持多任务系统环境[5]。本软件可以用于任何LCD 和CPU的物理和虚拟显示。软件的设计是模块化的,由在不同模块中不同的层组成。一个层为 LCD驱动程序,涵盖了对LCD的全部访问。μC/GUI适用于所有的CPU,因为它100%是由ANSI的C语言编写的。
3.2.3软件控制流程
大包装A、B双组份喷漆电气控制采用ARM 32-bit Cortex-M3嵌入式控制系统对搅拌、喷漆的过程实施自动控制,过程中产生的数据(施工队名称、A、B油漆使用量、喷漆工作时间)自动保存到工作卡中。LCD显示共分成三个部分:欢迎界面、设置界面和运行界面。作业的开启和关闭由三个条件决定:①系统进入到运行界面;②工作卡放入卡槽且读卡成功;③系统无低液位报警。三个条件任意一个不符合即大包装双组份喷漆无法进行工作。系统的控制流程如图7所示。
由流程图可知,控制箱上电后系统即进入运行状态,液晶屏显示系统的欢迎界面,此时按下Enter键系统即进入设置界面,在设置界面中可以对A、B喷漆泵的单位流量,A、B组份的初始值进行设置,设置完毕按下Enter键系统进入到运行界面,若按下Exit键则系统返回到欢迎界面,此外在设置界面中同时能显示工作卡中的历史数据。系统进入运行界面后首先进行两个条件判断:读卡是否成功以及是否有低液位报警,若存在低液位报警则系统进入中断服务子程序处理报警,若读卡未成功则结束即系统不再往下运行。如果读卡成功且不存在低液位报警,则此时按下Enter键系统自动打开搅拌器,并在延时10 min后自动打开喷漆。若此时再次按下Enter键则系统关闭搅拌和喷漆,作业结束。
图7 系统控制流程图
在系统调试的过程中,电源转换电路中的电感选择了贴片式,额定容量1 A,由于发热量大频频出现焊点熔融,电感脱落,从而导致黑屏的现象。于是调整为额定容量为3 A的管脚式电感,问题解决,电感发热正常,屏幕黑屏问题解决。
本控制系统硬件设计通过与软件的结合,进行了软硬件联调,调试结果表明系统运行稳定,工作可靠,本控制系统现已应用于大包装XM喷涂系统样机中。该样机已经在上海船厂船舶有限公司涂装施工现场稳定运行6个月,相比传统单泵施工工艺,显著降低了工人作业强度,省去了人工配比、搅拌环节,提高了配比精度;同时由于不再使用稀释剂,显著减少了VOC(挥发性有机气体)的排放,为船舶企业绿色涂装提供了技术支撑。
[1]沈国良.双组份高压无气喷涂泵的发展[J].上海涂料, 2005,43(11):82-85.
[2]孙书鹰, 陈志佳,寇超.新一代嵌入式微处理器STM32F103开发与应用[J].微计算机应用, 2010,31(12):59-63.
[3]卢有亮.嵌入式实时操作系统μC/OS-Ⅱ原理与实践[M].北京:电子工业出版社,2012.
[4]葛欣,孟凡荣.使用μC/GUI开发图形用户界面[J].计算机工程与设计, 2005,26(1):253-255.
Embedded Control System Design of the Bulk Spray Based on STM32F103
LI Gao-jin1,3, FAN Da-ren2, JIANG Xing-xing3, MIU Feng-ji3
(1.Shanghai Jiao Tong University, Shanghai 200240, China; 2.Dalian Shipyard Ship Painting Company,Dalian Shipbuilding Industry Group, Dalian Liaoning 116005, China;3.Shanghai Shipbuilding Technology Research Institute, Shanghai 200032, China)
With the increasing application of two-component coatings in shipbuilding industry, more and more shipbuilding enterprises and paint manufacturers gave their attention to the bulk spray system. Embedded control system of the bulk spray based on STM32F103 was researched, including minimum system, interface circuit and display circuit was designed. Besides, the software architecture of control system has been designed with the μC/OS-Ⅱoperation system, the graphical interface was designed by μC/GUI software.
The bulkSTM32F103Control systemμC/OS-Ⅱ operation systemμC/GUI software
李高进(1980-),男,工程师。
U662
A