劉濱 張篤上
摘要:塔式起重機(jī)在各種工程建設(shè)中得到了廣泛的使用,但重大事故卻頻頻發(fā)生,塔機(jī)安全監(jiān)控系統(tǒng)是一套基于現(xiàn)場總線的塔機(jī)安全監(jiān)控系統(tǒng),通過CAN通信來實現(xiàn)各個數(shù)據(jù)采集模塊和塔機(jī)安全監(jiān)控儀之間的通信。通過運用嵌入式技術(shù)來實現(xiàn)對塔機(jī)的控制和保護(hù)。選用基于ARM Cortex-M3內(nèi)核的芯片STM32F107VCT6作為控制系統(tǒng)的控制器,需要采集的塔機(jī)運行參數(shù)有:起重量、起重高度、工作幅度、旋轉(zhuǎn)角度和現(xiàn)場風(fēng)速。
關(guān)鍵詞:現(xiàn)場總線技術(shù);CAN總線技術(shù);ARM Cortex-3;STM32F107VCT6;嵌入式技術(shù)
中圖分類號:TP338 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)23-0038-05
Abstract:The tower crane has been widely used in all kinds of engineering construction, however, major accidents occur frequently. The tower crane safety monitoring system is based on field bus, through the CAN communication to realize the communication between the various data acquisition module and tower crane safety monitoring and control system. This topic selected as controller of the control system based on arm Cortex-M3 chip stm32f107vct, need to collect crane operation parameters have: weight, height, work rate, rotation angle and wind speed.
Key words:Field bus Technology; CAN bus Technology; Cortex-3 ARM; STM32F107VCT6; Embedded Technology
1 引言
塔機(jī)安全監(jiān)控系統(tǒng)可靠,功能強(qiáng)大,實時性能優(yōu)越,成本低,可以有效防止重大事故的發(fā)生,減少事故率,從而減少人員和經(jīng)濟(jì)的損失。實現(xiàn)塔機(jī)的安全生產(chǎn),首先要對塔機(jī)結(jié)構(gòu)進(jìn)行分析,確定影響安全性能的參數(shù),初步確定該系統(tǒng)需要采集的參數(shù)。塔機(jī)是在三維空間內(nèi)進(jìn)行作業(yè)的,其功能的實現(xiàn)由幾個基本的機(jī)構(gòu)共同協(xié)作完成。塔機(jī)的基本結(jié)構(gòu)如圖1所示。
主要結(jié)構(gòu)介紹:1、2固定裝置;3附著裝置;4頂升機(jī)構(gòu);5、6支座;7回轉(zhuǎn)機(jī)構(gòu);9操作室;10變幅機(jī)構(gòu);11小車;12吊鉤;13起重臂;14/16拉桿;17平衡臂;19起升機(jī)構(gòu);21塔身。
2 塔機(jī)運行參數(shù)采集傳感器的選定
總結(jié)塔機(jī)運行作業(yè)主要包括起重臂的旋轉(zhuǎn)運行、提升重物運行和小車的變幅運行三部分。分別完成起重臂在360度平面的回轉(zhuǎn)運動,吊鉤在垂直方向上起吊重物的運行和小車在起重臂水平方向上的直線運動??梢娝C(jī)的參數(shù)主要有:起重物質(zhì)量、起吊的高度、小車變幅、回轉(zhuǎn)角度。因此,塔機(jī)安全監(jiān)控系統(tǒng)必須能夠?qū)崟r的采集起重量,起吊重物的高度,小車的工作幅度,和塔機(jī)的旋轉(zhuǎn)角度。此外,塔機(jī)作業(yè)環(huán)境中的風(fēng)速采集也至關(guān)重要。系統(tǒng)需要通過合適的傳感器對這些數(shù)據(jù)進(jìn)行采集,并通過CAN總線將這些數(shù)據(jù)傳送到塔機(jī)控制室的控制器上,經(jīng)過處理在顯示器上顯示,與設(shè)定好的參數(shù)進(jìn)行比對,一旦超過限定值,進(jìn)行報警和斷電處理。如圖2是塔機(jī)數(shù)據(jù)采集傳感器的安裝位置。
3 系統(tǒng)的硬件設(shè)計
3.1監(jiān)控系統(tǒng)的整體結(jié)構(gòu)設(shè)計
塔機(jī)安全監(jiān)控系統(tǒng),對系統(tǒng)的實時性和可靠性提出了較高的要求,要保證這一要求,除了性能優(yōu)越外,最重要的是取決于系統(tǒng)的“心臟”。中心處理單元除了要收集各個數(shù)據(jù)采集模塊的數(shù)據(jù)之外,還要實時的對這些數(shù)據(jù)進(jìn)行分析處理,同時還要傳送到相應(yīng)模塊進(jìn)行存儲和控制繼電器的輸出來實現(xiàn)對電機(jī)的斷電控制,以此來完成塔機(jī)運行狀態(tài)的檢測和控制。因此選用芯片STM32F107VCT6作為系統(tǒng)的控制器塔機(jī)安全監(jiān)控系統(tǒng)主要由基礎(chǔ)模塊通信協(xié)議模塊CAN總線模塊、進(jìn)行數(shù)據(jù)采集的數(shù)據(jù)采集模塊、控制電機(jī)開關(guān)的繼電器模塊和負(fù)責(zé)顯示存儲數(shù)據(jù)的塔機(jī)監(jiān)控儀構(gòu)成。系統(tǒng)的結(jié)構(gòu)圖如圖3所示。
3.2 CAN總線的拓?fù)潆娐吩O(shè)計
監(jiān)控系統(tǒng)中運用到了CAN總線,因此,需要選擇一種符合系統(tǒng)要求的拓?fù)浣Y(jié)構(gòu)。而在網(wǎng)絡(luò)拓?fù)渲?,總線型拓?fù)洳捎脝我恍诺雷鳛閭鬏斀橘|(zhì),因此,布線相對容易,所需電纜相對較少,此外,增加和減少節(jié)點很容易。正是由于這些特點,該系統(tǒng)選用總線型拓?fù)?,具體電路如圖4所示。
網(wǎng)絡(luò)的終端各有一個120歐姆的電阻,來增強(qiáng)CANBUS通信的可靠性,另外在長距離通信中,終端電阻的阻值有時需要增大,才能保證通信的正常。
3.3 CAN通信電路的設(shè)計
CAN總線節(jié)點至少包括三個部分:負(fù)責(zé)節(jié)點任務(wù)控制的控制器、CAN 總線控制器以及CAN總線收發(fā)器。但本課題選用的芯片STM32F107VCT6內(nèi)部已經(jīng)集成了CAN總線控制器,因此CAN總線的節(jié)點有微控制器和CAN總線收發(fā)器組成 。因此,基于以STM32F107為核心的CAN通訊電路原理如圖5所示。
3.4 數(shù)據(jù)采集模塊電路的設(shè)計
3.4.1 模擬信號采集電路設(shè)計
塔機(jī)運行參數(shù)的采集中,塔機(jī)的起重量是模擬量的信號。這一信號采集的傳感器將非電物理信號轉(zhuǎn)換成4~20mA的電流,因為MCU能識別的是0~3.3V電壓,所以將它流入150歐姆電阻轉(zhuǎn)換為0.6~3.0V電壓。通過ARM中自帶A/D轉(zhuǎn)換器,進(jìn)行A/D轉(zhuǎn)換。電路原理如圖6所示:
3.4.2 數(shù)字信號采集電路設(shè)計
塔機(jī)運行參數(shù)的采集中,塔機(jī)起吊高度、小車的工作幅度和回轉(zhuǎn)角度以及現(xiàn)場的風(fēng)速是數(shù)字信號。這些數(shù)據(jù)不需要轉(zhuǎn)換而可以直接使用。其設(shè)計原理如圖7所示。
3.5 數(shù)據(jù)采集模塊電路的設(shè)計
塔機(jī)安全監(jiān)控系統(tǒng)中,各數(shù)據(jù)檢測模塊將檢測到的數(shù)據(jù)與接收自CAN總線的安全限定值進(jìn)行比較,當(dāng)檢測到的參數(shù)超過限定值時,檢測到超限的數(shù)據(jù)檢測模塊將相應(yīng)控制指令通過CAN控制器發(fā)送到CAN總線上,繼電器控制模塊通過接收來自CAN總線的指令來實現(xiàn)斷電等相關(guān)操作。其中繼電器的停機(jī)模塊具體電路如圖8所示:
3.6 塔機(jī)監(jiān)控儀電路設(shè)計
塔機(jī)監(jiān)控儀具有數(shù)據(jù)的顯示、存儲、設(shè)置功能和報警功能。其原理結(jié)構(gòu)如圖9所示。
3.6.1 液晶顯示電路
本課題需要將采集到的起重物質(zhì)量、起重高度、回轉(zhuǎn)角度、工作幅度以及現(xiàn)場風(fēng)速等參數(shù)在塔機(jī)駕駛室進(jìn)行顯示。這里本課題選用OCMJ4X8B-2液晶顯示器。用戶對于顯示器顯示功能的實現(xiàn)要通過調(diào)用指令來完成。本課題選用的顯示器可以顯示漢字和字符。包括漢字、8X8 ASCII字符、8X16ASCII字符,可以顯示位點陣和字節(jié)點陣圖形。屏幕控制命令有清屏、上下左右移動、反白和光標(biāo)顯示以及移動速度的調(diào)整。OCMJ4X8B-2選用并行模式寫入指令和數(shù)據(jù)。因此接74HC164串入并出寄存器實現(xiàn)數(shù)據(jù)的并行寫入。根據(jù)引腳說明,將引腳分別連接需要的部件。其中可以通過調(diào)節(jié)17、18引腳所連的滑動變阻器調(diào)節(jié)顯示器的亮度。液晶顯示器的硬件電路如圖10所示:
3.6.2 SD卡存儲電路
市面上流行的SD卡的兩種總線方式是:SD方式與SPI方式。前者是通過六條線來進(jìn)行通信的,這六條線分別為一條時鐘線CLK、一條使能線CMD和四條數(shù)據(jù)線DAT0~DAT3。而后者的通信過程只需要四條線,分別是CS、CLK、DI、DO這四條線。SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫。SPI,支持全雙工通信,他的通信速度高,而且是以同步通信的方式進(jìn)行。上面提到兩種方式的特點時,說到SPI只需要四根線來進(jìn)行通信,這就會減少芯片管腳的使用,這樣,PCB的布局肯定也就會更加簡潔。此外本課題所選芯片中集成了SPI這種通信協(xié)議,因此根據(jù)以上這些優(yōu)點,選用這種SPI的通信方式對SD卡進(jìn)行讀寫。
SD卡引腳功能如下表2所示:
3.6.3 參數(shù)設(shè)置電路
塔機(jī)型號和工作環(huán)境的差異,使得塔機(jī)的安全限定值也不是固定不變的。因此,安全監(jiān)控系統(tǒng),必須具有參數(shù)設(shè)置的功能,可以修改輸入所需要的限定值。增加該系統(tǒng)的適用性。根據(jù)實際操作需要,參數(shù)設(shè)置電路需要8個按鍵。這8個鍵分別對應(yīng)加一功能、減一功能、上下移動功能,左右翻功能、確定和取消功能。根據(jù)其功能需要,電路設(shè)計圖如下圖12所示:
鍵盤電路中選用74HC165來實現(xiàn)數(shù)據(jù)的并行輸入串行輸出功能。74HC165是一個移位寄存器,其功能是將并行的8位輸入轉(zhuǎn)成串行輸出。 當(dāng)PL輸入的電平為低電平即PL=0時,從D0到D7口輸入的8位數(shù)據(jù),會被用異步的方式讀取到寄存器中。當(dāng)PL輸入的電平為高電平即PL=1時,數(shù)據(jù)在時鐘的控制下,從DS數(shù)據(jù)輸入端串行進(jìn)入寄存器中,時鐘的作用方式為:時鐘脈沖每來一個上升沿數(shù)據(jù)就右移一位。
3.7電源電路設(shè)計
上面提到的各數(shù)據(jù)采集模塊,繼電器模塊,塔機(jī)監(jiān)控儀都需要穩(wěn)定的、抗干擾能力強(qiáng)的電源模塊來供電,需要5V和3.3V的穩(wěn)定電壓。而塔機(jī)系統(tǒng)提供的電壓為24V,且其自身電源供電不夠穩(wěn)定,電磁干擾也較強(qiáng)。因此,本課題中的電源模塊通過開關(guān)穩(wěn)壓電源LM2575和SPX1117來實現(xiàn)穩(wěn)壓功能、減少電源紋波系數(shù),根據(jù)用電需求,來提供5.0V和3.3V的電壓。電源供電電路如圖13和圖14所示:
4 系統(tǒng)的軟件設(shè)計
4.1 應(yīng)用層通信協(xié)議的定義
要進(jìn)行CAN通信,首先要制定應(yīng)用層通信協(xié)議。只有有了規(guī)范的協(xié)議,總線中各節(jié)點才能接收到各自所需要的數(shù)據(jù)。而iCAN協(xié)議是現(xiàn)場總線CAN bus的最新應(yīng)用層協(xié)議之一,具有理解簡單、易于實現(xiàn)、實時可靠的特點。因此,選用iCAN協(xié)議做為CAN的應(yīng)用層通信協(xié)議。CAN通信協(xié)議中,消息都是以固定的格式即報文進(jìn)行發(fā)送的。iCAN給出的通信報文包括幀標(biāo)識符和幀數(shù)據(jù)兩部分,iCAN采用的是擴(kuò)展幀格式。
1)目的、源節(jié)點編號,節(jié)點編號為設(shè)備在網(wǎng)絡(luò)上的唯一標(biāo)識,分配為6位。節(jié)點地址范圍(0x00~0x3f)。當(dāng)目的節(jié)點為0xff時,表示發(fā)送的是廣播幀,不需要應(yīng)答。通信報文的標(biāo)識符中指定了發(fā)送節(jié)點(源節(jié)點)和接收節(jié)點(目標(biāo)節(jié)點)的編號。iCAN協(xié)議通過在iCAN報文中指定源節(jié)點地址(發(fā)送報文的節(jié)點地址)和目的節(jié)點地址(接收報文的節(jié)點地址)來確定iCAN報文的發(fā)送方和接收方。在每次的通訊過程中,通信雙方都必須檢查發(fā)送節(jié)點和接收節(jié)點的值是否與已知連接的兩端點是否相同,這是保證節(jié)點接收所需要數(shù)據(jù)的關(guān)鍵。本課題中定義節(jié)點地址如下:塔機(jī)監(jiān)控儀節(jié)點為0x00,風(fēng)速節(jié)點為0x01,起吊重量節(jié)點為0x02,小車工作幅度節(jié)點為0x03,回轉(zhuǎn)角度節(jié)點為0x04,起吊高度節(jié)點為0x05,繼電器節(jié)點為0x06。整體29位的標(biāo)識符越小,優(yōu)先級越大。
2)ACK(響應(yīng)標(biāo)識位)分配1位。該位用于區(qū)分幀類型為命令幀還是響應(yīng)幀,并說明是否需要應(yīng)答幀。
3)FUNC ID(功能碼)分配4位。用于指示報文所需要實現(xiàn)的功能,接收報文的節(jié)點根據(jù)報文中的功能碼進(jìn)行相應(yīng)的處理。
4)資源節(jié)點地址標(biāo)號,分配8位。用于指示所要操作的設(shè)備內(nèi)部地址。根據(jù)報文中資源節(jié)點地址標(biāo)號接收報文的節(jié)點對設(shè)備內(nèi)部對應(yīng)的單元進(jìn)行操作。
5)幀數(shù)據(jù)部分,在iCAN協(xié)議中,幀的數(shù)據(jù)區(qū),最多可以有8個字節(jié)數(shù)據(jù)。
4.2 CAN節(jié)點通訊程序的設(shè)計
為了實現(xiàn)數(shù)據(jù)的采集和處理以及完成塔機(jī)的控制,共需要設(shè)置7個CAN節(jié)點,這些CAN節(jié)點的主程序具有發(fā)送和接收數(shù)據(jù)的功能。其工作方式為中斷方式。節(jié)點的通訊主程序根據(jù)其功能劃分成初始化,數(shù)據(jù)的發(fā)送,數(shù)據(jù)的接收三個部分。CAN節(jié)點的通訊程序流程圖如圖15所示:
系統(tǒng)通電后首先進(jìn)行復(fù)位,初始化外部設(shè)備,然后CAN控制器進(jìn)行初始化,構(gòu)造要發(fā)送的數(shù)據(jù),將這些數(shù)據(jù)帶入主循環(huán)程序中,判斷是否要發(fā)送數(shù)據(jù),如果要發(fā)送,則進(jìn)入發(fā)送子程序,如果不發(fā)送,則繼續(xù)判斷是否接收數(shù)據(jù),如果要接收則進(jìn)入接受子程序,如果沒有,則進(jìn)行后續(xù)應(yīng)用處理同時返回循環(huán)主程序,繼續(xù)判斷是否發(fā)送數(shù)據(jù)。
CAN控制器對于數(shù)據(jù)的發(fā)送,將數(shù)據(jù)發(fā)送到CAN總線上的過程是由CAN控制器自動完成的,發(fā)送子程序要做的 就是將要發(fā)送的信息幀送到CAN的發(fā)送緩沖區(qū)里,啟動發(fā)送命令而已。同樣的,接收數(shù)據(jù)時,數(shù)據(jù)從CAN總線上到CAN接收緩沖區(qū)的過程也是由CAN控制器自動完成的,接收程序的作用就是從緩沖區(qū)讀取數(shù)據(jù)。
4.3 數(shù)據(jù)采集模塊程序設(shè)計
數(shù)據(jù)采集模塊程序流程如圖16所示,以起重量采集為例,系統(tǒng)上電復(fù)位,CAN通訊初始化,傳感器初始化,系統(tǒng)從CAN總線上接收起重量的安全限定值,然后通過傳感器測得實時數(shù)據(jù),經(jīng)數(shù)據(jù)采樣后,通過控制器芯片將采集到的數(shù)據(jù)與接受自CAN總線的起重量的安全限定值進(jìn)行比對,經(jīng)過一系列處理后,將處理完成的數(shù)據(jù)發(fā)送到CAN總線上,塔機(jī)監(jiān)控儀從CAN總線上接收需要數(shù)據(jù),進(jìn)行顯示和存儲,同時,繼電器模塊也從CAN總線上接收需要的數(shù)據(jù),進(jìn)行相應(yīng)的控制操作。
5 結(jié)論
本設(shè)計以防止大破壞的塔機(jī)事故發(fā)生為宗旨,以從根本上減少事故發(fā)生的機(jī)會從而降低人員和不必要的經(jīng)濟(jì)的損失為目的,以國內(nèi)外對塔機(jī)安全監(jiān)控系統(tǒng)的研究經(jīng)驗為基礎(chǔ),結(jié)合現(xiàn)場總線技術(shù)、嵌入式技術(shù)和傳感器技術(shù)設(shè)計了基于現(xiàn)場總線的塔機(jī)安全監(jiān)控系統(tǒng)。本文作者的創(chuàng)新點在于實現(xiàn)了實時地完成對塔機(jī)運行時的各項參數(shù)的采集,例如起重量、起重高度等,實時檢測了塔機(jī)工作現(xiàn)場的風(fēng)速,實時的將這些參數(shù)成功傳送給了塔機(jī)監(jiān)控儀,并實現(xiàn)了這些數(shù)據(jù)的實時顯示;實現(xiàn)了塔機(jī)運行時超限的報警功能和超限后迅速的停機(jī)功能,系統(tǒng)將來自采集模塊的數(shù)據(jù)與通過鍵盤輸入初始參數(shù)進(jìn)行比對分析運算,做出了相應(yīng)的處理,當(dāng)超出系統(tǒng)設(shè)定的限定值時,系統(tǒng)能夠迅速進(jìn)行報警和斷電停機(jī)處理;在塔機(jī)監(jiān)控儀上,實現(xiàn)了限定值的設(shè)置功能,能夠根據(jù)不同類型的塔機(jī),不同的工作環(huán)境,對限定值進(jìn)行修改;實現(xiàn)了對各項數(shù)據(jù)的存儲功能,這些數(shù)據(jù)可以作為分析事故和改進(jìn)系統(tǒng)乃至塔機(jī)的參考。
參考文獻(xiàn):
[1] 黃洪鐘,姚新勝.塔式起重機(jī)安全性研究與展望[J].建筑安全,2001(3):1-6.
[2] 門長根.塔機(jī)常見事故的分析與預(yù)防[J].建筑安全,2002(8):18-19.
[3] 俞樂康,王如意.國際塔式起重機(jī)發(fā)展新態(tài)勢[J].建設(shè)機(jī)械技術(shù)與管理,2013(2):37-42.
[4] 謝建民.亡羊補(bǔ)牢-塔機(jī)重大事故預(yù)防[J].安全與健康(上),2002(7):19-21.
[5] 潘亮,張作萍,陳文亮.塔式起重機(jī)安全監(jiān)控裝置和研究現(xiàn)狀[J].建筑安全.2013(1):2-4.
[6] 三一重工股份有限公司.塔式起重機(jī)運行監(jiān)控裝置[P].中國專利:02283215,2003:12-17.
[7] 繆學(xué)勤.現(xiàn)場總線技術(shù)的最新進(jìn)展[J].自動化儀表.2000(6):1-5.
[8] 馬世平.現(xiàn)場總線標(biāo)準(zhǔn)的現(xiàn)狀和工業(yè)以太網(wǎng)技術(shù)[J].機(jī)電一體化.2007(3):6-8.
[9] 張瑜.基于嵌入式技術(shù)的塔機(jī)運行狀態(tài)實時檢測系統(tǒng)的研制[D].浙江:浙江工業(yè)大學(xué),2009.