李高進, 范大任, 姜星星, 繆逢吉
(⒈上海交通大學,上海 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%左右。另外還有貨艙、船體外板、露天甲板、上層建筑外壁等區域,雙組份涂料相比單組份涂料具有耐腐蝕性強、抗沖擊性好、防腐周期長及施工周期短的優勢,其優異性能在行業中已得到了充分證實。
一般情況下雙組份涂料工藝有如下施工流程:配比混合、加溶劑、人工攪拌、熟化、噴涂?,F行工藝優點[1]:(1) 設備結構簡單,操作簡便,施工靈活,易移動;(2) 設備成本低廉,易更換?,F行工藝缺點:(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語言進行開發的嵌入式控制系統,通過編程使得該系統不僅能夠完成對噴漆作業過程控制,同時實現了作業過程數據的顯示及存儲,具有成熟的人機界面??刂葡到y的軟件架構如圖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