董心
(青島理工大學(xué)汽車與交通學(xué)院,山東青島 266520)
電動(dòng)堆高車安全顯示系統(tǒng)設(shè)計(jì)
董心
(青島理工大學(xué)汽車與交通學(xué)院,山東青島 266520)
介紹一種基于STM32平臺(tái)的電動(dòng)堆高車輔助安全系統(tǒng)。系統(tǒng)硬件部分主要包括STM32控制器、CAN通信網(wǎng)絡(luò)以及TFT-LCD顯示屏,STM32控制器通過(guò)CAN控制器讀取CAN網(wǎng)絡(luò)數(shù)據(jù),通過(guò)LCD顯示屏形象顯示出來(lái),供操作員參考。闡述了系統(tǒng)軟件架構(gòu)設(shè)計(jì)和顯示屏的圖像合理化顯示等內(nèi)容,實(shí)現(xiàn)了影響電動(dòng)堆高車安全參數(shù)的實(shí)時(shí)顯示。
電動(dòng)堆高車;STM32控制器; CAN通信; LCD顯示屏
近年來(lái),隨著倉(cāng)儲(chǔ)物流行業(yè)的快速發(fā)展,搬運(yùn)車和內(nèi)燃機(jī)叉車在搬運(yùn)過(guò)程中被廣泛地運(yùn)用,電動(dòng)堆高車作為新型運(yùn)輸工具也異軍突起。與傳統(tǒng)的搬運(yùn)工具相比,電動(dòng)堆高車具有操作簡(jiǎn)單、易維護(hù)、安全性高、價(jià)格低等優(yōu)點(diǎn);同時(shí),電動(dòng)堆高車的能量來(lái)源是電能,這與以柴油為動(dòng)力的內(nèi)燃機(jī)叉車相比具有噪聲低、綠色環(huán)保等優(yōu)點(diǎn),其能源的消耗對(duì)環(huán)境造成的壓力較小。當(dāng)下的中國(guó)正在經(jīng)歷著工業(yè)的變革,政府出臺(tái)一系列扶持新能源政策,新能源正在逐漸代替?zhèn)鹘y(tǒng)能源,電動(dòng)堆高車行業(yè)的發(fā)展正順應(yīng)了時(shí)代的潮流。
在電動(dòng)堆高車的實(shí)際使用過(guò)程中,由于重物形狀的不規(guī)則或者重物被不均勻地裝在箱體中等原因,使得無(wú)法確保重物重心落在電動(dòng)堆高車叉齒的中央。操作員在操作堆高車時(shí)無(wú)法確定堆高車的質(zhì)心位置和重物質(zhì)量,這對(duì)操作員的操作起到了一定的干擾,因此迫切需要一種安全輔助裝置來(lái)將影響電動(dòng)堆高車安全性的相關(guān)參數(shù)顯示給操作員,確保其在合理安全的范圍內(nèi)操作。傳統(tǒng)的車輛顯示儀表電路系統(tǒng)主要通過(guò)控制電路的導(dǎo)通與否來(lái)點(diǎn)亮或熄滅燈光,燈光的外部有圖形輪廓,通過(guò)輪廓的含義,操作員可以知道系統(tǒng)的提示信息。這種傳統(tǒng)的顯示方法的弊端在于:顯示的內(nèi)容可變性差,無(wú)法顯示一些變化細(xì)微的內(nèi)容,同時(shí)如果顯示內(nèi)容過(guò)多,對(duì)應(yīng)的電路系統(tǒng)所占空間過(guò)多。 這種傳統(tǒng)的顯示方式集成化程度不夠好,為克服這種缺點(diǎn),此系統(tǒng)采用LCD顯示屏對(duì)信息進(jìn)行顯示,顯示內(nèi)容豐富,空間利用率高。
電動(dòng)堆高車輔助安全信息系統(tǒng)的整體架構(gòu)包括STM32處理器、CAN 通信網(wǎng)絡(luò)、TFT-LCD顯示器三部分。STM32處理器通過(guò)CAN控制器來(lái)讀取通信網(wǎng)絡(luò)中的數(shù)據(jù), STM32處理器通過(guò)其內(nèi)部算法將讀取的數(shù)據(jù)運(yùn)算成用戶容易理解和需要的數(shù)據(jù),然后再將數(shù)據(jù)發(fā)送到顯示器上進(jìn)行顯示。系統(tǒng)整體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)整體框圖
CAN是一種多主方式的串行通信總線,傳輸速率高,抗干擾性強(qiáng),能夠檢測(cè)產(chǎn)品的任何錯(cuò)誤。同時(shí)CAN通信具有優(yōu)先權(quán)和仲裁的功能,多個(gè)控制模塊搭載到CAN總線上就可以實(shí)現(xiàn)通信信息的處理,其可靠性和實(shí)時(shí)性遠(yuǎn)遠(yuǎn)高于普通的通信技術(shù)[1-2]。實(shí)現(xiàn)CAN通信的芯片有很多種類型,文中實(shí)現(xiàn)CAN通信主要是依托STM32F103RB的CAN控制器[3-4]。
2.1 系統(tǒng)主控芯片
電動(dòng)堆高車輔助安全信息系統(tǒng)主控芯片選取意法半導(dǎo)體的STM32F103RB芯片,其內(nèi)核是基于ARM32位的Cortex-M3,最高工作頻率是72 MHz、芯片F(xiàn)lash容量為128 kB。芯片有7個(gè)定時(shí)器、2個(gè)ADC和9個(gè)通信接口。STM32系列芯片具有價(jià)格低、功耗小、穩(wěn)定性高等優(yōu)點(diǎn),已經(jīng)廣泛地應(yīng)用于電機(jī)驅(qū)動(dòng)和汽車儀表顯示等領(lǐng)域。同時(shí)該款芯片有已經(jīng)開(kāi)發(fā)好的庫(kù)函數(shù),庫(kù)函數(shù)的穩(wěn)定性非常高,這使得開(kāi)發(fā)者可以從復(fù)雜的寄存器中解脫出來(lái),不必花費(fèi)大量的時(shí)間去搞明白寄存器的使用,只需要調(diào)用已經(jīng)開(kāi)發(fā)好的庫(kù)函數(shù)就可以實(shí)現(xiàn)功能,這大大降低了開(kāi)發(fā)的時(shí)間成本,縮短了開(kāi)發(fā)的周期。此系統(tǒng)的主控芯片的引腳電路如圖2所示。
圖2 STM32F103RB引腳及其功能
2.2 CAN控制器
STM32F103RB芯片有兩路CAN通信接口:CAN_TX和CAN_RX,對(duì)應(yīng)的引腳分別為PA_12和PA_11,兩個(gè)引腳接到外界TJA1050收發(fā)芯片上,然后通過(guò)接線端子同外部的CAN總線連接。其硬件結(jié)構(gòu)設(shè)計(jì)如圖3所示。
2.3 顯示器TFT-LCD
TFT-LCD即薄膜晶體管液晶顯示器,液晶顯示屏上的每一個(gè)像素都設(shè)置有一個(gè)薄膜晶體管(TFT),可以有效地克服非選通時(shí)的串?dāng)_,使液晶視屏上的靜態(tài)特性與掃描線數(shù)無(wú)關(guān),因此大大提高了圖像的質(zhì)量。此系統(tǒng)采用9.33 cm(2.8寸)的ALIENTEK TFT-LCD模塊,顯示分辨率為320像素×240像素,接口為16位的80并口,自帶觸摸屏,實(shí)物如圖4所示。
TFT-LCD的接口采用2×17的公排針與外部鏈接,接口及其定義如圖5所示,CS接口為TFT片選信號(hào),WR接口向TFT-LCD寫入數(shù)據(jù),RD接口從TFT-LCD讀取數(shù)據(jù),D[15:0]為16位的雙向數(shù)據(jù)線,RST是復(fù)位端。引腳連接為:BL_VDD對(duì)應(yīng)PC10引腳,LCD_CS對(duì)應(yīng)PC9引腳,LCD_RS對(duì)應(yīng)PC8引腳,LCD_WR對(duì)應(yīng)PC7引腳,LCD_RD對(duì)應(yīng)PC6引腳;LCD_D[0:15]對(duì)應(yīng)PB[15:0]。
圖4 TFT-LCD
圖5 TFT-LCD接口電路
3.1 系統(tǒng)開(kāi)發(fā)軟件
系統(tǒng)的開(kāi)發(fā)軟件選用了Keil MDK集成開(kāi)發(fā)環(huán)境,該軟件支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件。該款軟件學(xué)習(xí)方便且功能豐富,能夠滿足開(kāi)發(fā)需求,在高校和企業(yè)中應(yīng)用廣泛。開(kāi)發(fā)過(guò)程中作者使用C語(yǔ)言進(jìn)行編程,通過(guò)開(kāi)發(fā)環(huán)境配置STM32固件庫(kù)函數(shù),在開(kāi)發(fā)過(guò)程中可以方便地調(diào)用庫(kù)函數(shù),從而使得開(kāi)發(fā)過(guò)程變得簡(jiǎn)便高效。
3.2 系統(tǒng)的架構(gòu)
在系統(tǒng)軟件架構(gòu)方面進(jìn)行了合理化的設(shè)計(jì),將各個(gè)功能模塊的代碼進(jìn)行分離,方便以后的修改和維護(hù),這為之后的實(shí)驗(yàn)和調(diào)試工作節(jié)約了時(shí)間。系統(tǒng)的架構(gòu)主要分為上層、中間層、下層共3層。軟件架構(gòu)示意圖如圖6所示。
圖6 軟件架構(gòu)
下層主要的功能是完成硬件電路的基本配置,實(shí)現(xiàn)基本的通信、顯示、文字和運(yùn)算功能,下層文件包括庫(kù)函數(shù)文件、通信模塊文件、顯示屏文件、文字顯示模塊、運(yùn)算模塊。庫(kù)函數(shù)文件為官方提供的文件,通信模塊文件實(shí)現(xiàn)CAN通信的接口配置、時(shí)序關(guān)系以及信息的接受,此系統(tǒng)為顯示系統(tǒng),只需實(shí)現(xiàn)信息的接受即可,不需要發(fā)送信息。顯示屏文件實(shí)現(xiàn)對(duì)硬件接口的定義、時(shí)序關(guān)系以及信息的寫入。文字顯示模塊主要實(shí)現(xiàn)對(duì)文字的編碼以及文字的發(fā)送。運(yùn)算模塊主要功能是實(shí)現(xiàn)數(shù)據(jù)的運(yùn)算。
中間層文件為圖形化文件,通過(guò)通信模塊采集到需要的數(shù)據(jù),將數(shù)據(jù)代入到運(yùn)算模塊進(jìn)行運(yùn)算,得到的結(jié)果再代入到顯示屏模塊和文字顯示模塊上,如果函數(shù)被調(diào)用就會(huì)在顯示屏上顯示相應(yīng)的圖形和文字。
上層為主函數(shù),主要實(shí)現(xiàn)函數(shù)的調(diào)用和邏輯運(yùn)算關(guān)系,實(shí)現(xiàn)圖形文字合理化顯示。
3.3 系統(tǒng)運(yùn)行邏輯
系統(tǒng)的實(shí)現(xiàn)步驟主要包括CAN通信數(shù)據(jù)接收、接收數(shù)據(jù)的運(yùn)算處理、處理結(jié)果的圖形化顯示,此系統(tǒng)的計(jì)算頻率為50 MHz,顯示屏幕共有240×320個(gè)像素,每個(gè)像素顯示背后都要運(yùn)行幾十行的代碼,如果圖像在顯示邏輯算法上不夠優(yōu)化,就會(huì)出現(xiàn)屏幕閃動(dòng)的現(xiàn)象,這很容易引起操作員視覺(jué)上的疲勞,使得使用體驗(yàn)變差。因此要從邏輯上杜絕這種現(xiàn)象發(fā)生,只有在圖形發(fā)生變化的時(shí)候?qū)D像改變,改變時(shí)盡量最低程度地改變像素個(gè)數(shù)以縮短顯示周期、提高顯示效果。在圖像顯示上對(duì)圖像進(jìn)行分類,將圖像分為靜態(tài)圖像部分和動(dòng)態(tài)圖像部分。靜態(tài)圖像是指在整個(gè)顯示過(guò)程中圖像的形狀、大小、顏色和位置始終不發(fā)生改變的圖像,動(dòng)態(tài)圖像是指在顯示過(guò)程中隨著參數(shù)的變化圖像的大小和顏色改變的圖像。靜態(tài)圖像可以在初始化函數(shù)中就定義完成,動(dòng)態(tài)圖像則需要通過(guò)一個(gè)條件來(lái)判斷是否需要改變圖像。為了避免圖像閃動(dòng),將動(dòng)態(tài)圖像分成若干個(gè)子模塊,改變時(shí)只要將其子模塊顯示改變即可,這樣縮短了單個(gè)圖像變化的時(shí)長(zhǎng),從而有效地避免了圖像的閃動(dòng)。系統(tǒng)運(yùn)行框圖如圖7所示。
圖7 軟件邏輯框圖
3.4 系統(tǒng)代碼的下載
代碼編寫運(yùn)行完成后,通過(guò)J-Link仿真器將代碼下載到STM32單片機(jī)中。J-Link是SEGGER公司推出的JTAG仿真器,支持ARM內(nèi)核芯片的仿真。與Keil無(wú)縫連接,操作方便,下載速率達(dá)到1 Mb/s,可以方便開(kāi)發(fā),是開(kāi)發(fā)ARM實(shí)用高效的工具。其實(shí)物圖如圖8所示。
圖8 JLink驅(qū)動(dòng)器
界面設(shè)計(jì)在整個(gè)系統(tǒng)中至關(guān)重要,一個(gè)好的界面可以提高
用戶的使用體驗(yàn),方便讀取與操作。在設(shè)計(jì)理念上盡量使圖像簡(jiǎn)單、清晰、易讀。在圖像的設(shè)計(jì)上,突出重點(diǎn),將主要內(nèi)容放在醒目易讀取的位置,次要內(nèi)容放在屏幕邊緣,同時(shí)圖像的形狀盡量形象易懂,方便認(rèn)知與讀取,圖像的形狀和擺放位置也盡量按照黃金分割比來(lái)放置。按照以上的設(shè)計(jì)思路,作者將叉齒的位置放在屏幕的中部,舉升高度放在叉齒的右側(cè),電源顯示在屏幕的左上角,這種放置將容易變化的堆高車重物和舉升高度放在醒目的地方,容易讀取。具體的設(shè)計(jì)效果如圖9所示。
圖9 界面效果圖
對(duì)電動(dòng)堆高車輔助安全系統(tǒng)進(jìn)行了設(shè)計(jì),通過(guò)硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分內(nèi)容,成功實(shí)現(xiàn)了電動(dòng)堆高車安全參數(shù)的形象顯示,同時(shí)顯示界面清晰易讀,可以很好地為操作員使用,避免了操作員在操作電動(dòng)堆高車時(shí)僅憑感覺(jué)和個(gè)人經(jīng)驗(yàn)的情況發(fā)生,這大大提高了操作員在操作過(guò)程中的安全性,保護(hù)了人身財(cái)產(chǎn)全。目前,LCD顯示器在堆高車上應(yīng)用較少,該系統(tǒng)具有廣闊的應(yīng)用前景。
【1】任重.汽車網(wǎng)絡(luò)綜合研究及基于CAN總線的汽車組合儀表的實(shí)現(xiàn)[D].杭州:浙江大學(xué),2003.
【2】曲興.轎車CAN總線儀表綜合檢測(cè)系統(tǒng)的開(kāi)發(fā)[D].長(zhǎng)春:吉林大學(xué),2011.
【3】張淑清.嵌入式單片機(jī)STM32設(shè)計(jì)及應(yīng)用技術(shù)[M].北京:國(guó)防工業(yè)出版社,2015.
【4】張洋,劉軍,嚴(yán)漢宇.原子教你玩STM32(庫(kù)函數(shù)版)[M].北京:北京航空航天大學(xué)出版社,2013.
【5】白永斌.基于STemWin的STM32開(kāi)發(fā)與實(shí)踐[M].北京:電子工業(yè)出版社2015.
【6】陸孟雄.汽車舒適系統(tǒng)的CAN總線性能分析與仿真[D].南京:南京農(nóng)業(yè)大學(xué),2004.
Design of a Security Display System about Electrical Forklift
DONG Xin
(School of Automobile and Traffic,Qingdao University of Technology,Qingdao Shandong 266520,China)
A security system about electrical forklift was designed by using STM32. The hardware included STM32 controller, CAN net and TFT-LCD. Data flow on CAN net could be read by STM32 controller,then they were shown as picture through LCD screen. Operator could read it. Also the software construction and the rational display of the picture on screen were introduced. Real-time display of the security parameters of the electrical forklift can be realized.So the system security is enhanced.
Electrical forklift; STM32 controller; CAN communications; LCD screen
2016-09-17
董心(1990—), 男 ,碩士研究生,專業(yè)方向?yàn)檐囕v工程。E-mail:dongxin1017@163.com。
10.19466/j.cnki.1674-1986.2017.01.005
U462.3+5
B
1674-1986(2017)01-022-04