《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 工程機(jī)械通用控制系統(tǒng)的研究與設(shè)計
工程機(jī)械通用控制系統(tǒng)的研究與設(shè)計
2015年微型機(jī)與應(yīng)用第16期
池?zé)樫e,,劉 強(qiáng),,李 明
(華僑大學(xué) 機(jī)電及自動化學(xué)院,福建 廈門 361021)
摘要: 為滿足不同工程機(jī)械的控制要求,設(shè)計了一款基于CoDeSys的工程機(jī)械控制器,,使其具有I/O端口的可配置性。該控制系統(tǒng)主要采用嵌入式軟PLC技術(shù),,以符合IEC61131標(biāo)準(zhǔn)的CoDeSys的運(yùn)行系統(tǒng)為調(diào)度核心,,以英飛凌公司的TriCore系列微控制器TC1793為硬件核心。重點(diǎn)闡述了控制系統(tǒng)的硬件設(shè)計,、軟件開發(fā),,以實(shí)現(xiàn)控制系統(tǒng)的開放性、通用性,、高魯棒性,,具有良好的經(jīng)濟(jì)效益和廣闊的應(yīng)用前景,。
Abstract:
Key words :

  摘  要: 為滿足不同工程機(jī)械的控制要求,設(shè)計了一款基于CoDeSys的工程機(jī)械控制器,,使其具有I/O端口的可配置性,。該控制系統(tǒng)主要采用嵌入式軟PLC技術(shù),以符合IEC61131標(biāo)準(zhǔn)的CoDeSys的運(yùn)行系統(tǒng)為調(diào)度核心,,以英飛凌公司的TriCore系列微控制器TC1793為硬件核心,。重點(diǎn)闡述了控制系統(tǒng)的硬件設(shè)計、軟件開發(fā),,以實(shí)現(xiàn)控制系統(tǒng)的開放性,、通用性、高魯棒性,,具有良好的經(jīng)濟(jì)效益和廣闊的應(yīng)用前景,。

  關(guān)鍵詞: 工程機(jī)械;控制系統(tǒng),;通用性,;CoDeSys

0 前言

  工程機(jī)械是國民經(jīng)濟(jì)建設(shè)的重要裝備,在城鎮(zhèn)建設(shè),、搶險救災(zāi)和國防建設(shè)中起著十分重要的作用,。控制器作為工程機(jī)械的核心部分,,是決定工程機(jī)械性能的重要因素之一[1],。然而工程機(jī)械控制器的市場幾乎被德國的西門子和力士樂、美國的卡特彼勒,、芬蘭的EPEC等國外產(chǎn)品所占據(jù),;相比之下,國內(nèi)起步較晚,,沒有掌握核心技術(shù),,大部分產(chǎn)品依靠進(jìn)口,價格昂貴[2-3],,故進(jìn)行工程機(jī)械控制器的研究很有必要,。

  目前國內(nèi)外的大部分控制器具有很強(qiáng)的針對性,但是功能單一,,通用性不強(qiáng),,而根據(jù)現(xiàn)場作業(yè)條件,出現(xiàn)了不同種類的工程機(jī)械的需求,,故相應(yīng)的控制器的軟硬件開發(fā)較多,,這加大了人力物力的開銷,不利于產(chǎn)品的更新?lián)Q代。此外,,目前大多數(shù)控制器所使用的硬件平臺是16位的處理器,,并且可編程控制器(PLC)的封閉性明顯,這導(dǎo)致控制器的數(shù)據(jù)處理能力有限,,開放性差,,可編程性不夠理想。

  基于此,,結(jié)合當(dāng)前符合IEC61131標(biāo)準(zhǔn)的開放式控制器開發(fā)的基本思想,,融合PLC和嵌入式控制系統(tǒng)的優(yōu)點(diǎn),以實(shí)現(xiàn)控制器開放性,、通用性和高魯棒性,,本文提出了一種基于CoDeSys的軟PLC與高性能的嵌入式硬件系統(tǒng)相結(jié)合的工程機(jī)械通用控制器的設(shè)計方案以解決上述問題。

1 控制系統(tǒng)的整體方案

  1.1 系統(tǒng)的功能需求

  種類繁多的工程機(jī)械,,一方面,,根據(jù)不同的應(yīng)用場合,需要不同種類和數(shù)量的I/O端口,,為滿足要求,,需要I/O端口具有可配置性;另一方面,,為了便于系統(tǒng)的二次開發(fā),,降低開發(fā)難度,實(shí)現(xiàn)系統(tǒng)的開放性和通用性,,需要采用符合IEC61131標(biāo)準(zhǔn)的開發(fā)軟件,。

  1.2 系統(tǒng)的整體結(jié)構(gòu)

001.jpg

  圖1所示為本文所設(shè)計的控制器系統(tǒng)的整體結(jié)構(gòu),包括硬件系統(tǒng)結(jié)構(gòu)和軟件系統(tǒng)結(jié)構(gòu),。其中硬件系統(tǒng)結(jié)構(gòu)是以英飛凌的微控制器為控制核心的硬件平臺,,軟件系統(tǒng)結(jié)構(gòu)是以CoDeSys的運(yùn)行系統(tǒng)為調(diào)度核心,包括應(yīng)用程序,、CoDeSys的運(yùn)行內(nèi)核,、驅(qū)動程序,。

2 硬件設(shè)計

  根據(jù)工程機(jī)械的功能需求,,控制系統(tǒng)的硬件設(shè)計包括微控制器、輸入模塊,、輸出模塊,、通信模塊、基本模塊,、存儲擴(kuò)展模塊,,如圖2所示。

002.jpg

  本設(shè)計采用英飛凌的32位微控制器TC1793為控制系統(tǒng)的硬件平臺的核心,該MCU主頻可達(dá)到270 MHz,,具有很強(qiáng)的實(shí)時性,,集成了DSP的數(shù)據(jù)處理能力[4],適用于高魯棒性的控制,;其內(nèi)部提供了豐富的外設(shè)資源,,有通用定時器列陣GPTA、同步串行通信接口SSC,、捕獲比較單元CCU,、外部總線單元EBU等。這些完全可以滿足設(shè)計通用控制器硬件系統(tǒng)所需的接口數(shù)目和種類的要求,。

  2.1 輸入輸出模塊

  通過控制器的輸入模塊實(shí)現(xiàn)對工程機(jī)械的開關(guān)量,、脈沖量和模擬量的采集;通過控制器的輸出模塊實(shí)現(xiàn)對工程機(jī)械的執(zhí)行器件的驅(qū)動和控制,。為了讓控制器能應(yīng)用于不同種類的工程機(jī)械中,,需要設(shè)計輸入輸出模塊具有可配置性的功能。

  本文設(shè)計了18路開關(guān)量的輸入,,其中有8路可以配置為正向開關(guān)量或負(fù)向開關(guān)量,,用戶可以根據(jù)不同的應(yīng)用場合,在軟件中配置該8路電路為所需要的開關(guān)量類型,。采用飛思卡爾的多開關(guān)檢測模塊MC33975來設(shè)計開關(guān)量輸入接口的電路設(shè)計,,如圖3所示。MC33975模塊可檢測22路開關(guān)量,,通過SSC與MCU進(jìn)行通信,,實(shí)現(xiàn)SP0-SP7的開關(guān)量類型的選擇,以及SP0-SP7和SG0-SG9開關(guān)量信號的采集,。

003.jpg

004.jpg

  設(shè)計16路模擬量的輸入,,用以檢測油溫、油位,、水溫等物理量傳感器信號,。為了實(shí)現(xiàn)不同工程機(jī)械對應(yīng)的模擬量類型的采集,設(shè)計了8路模擬量類型可選擇的采集電路,,同時該8路電路可復(fù)用于開關(guān)量的采集,。采用亞德諾半導(dǎo)體公司的低壓CMOS模擬多通道復(fù)用器ADG704設(shè)計該模擬量輸入電路,如圖4所示,。根據(jù)ADG704的A0和A1引腳的高低電平配置,,選擇S1~S4 4個輸入之一切換到公共輸出D。為此,,通過設(shè)計R53~R56 4個分壓電阻阻值,,實(shí)現(xiàn)0~24 V,、0~10 V、0~5 V和4~20 mA的模擬信號的檢測,。由于MCU的ADC只能采集0~5 V的模擬量信號,,故本設(shè)計中采用了鉗位二極管BAT4S構(gòu)成電壓鉗制電路,以防止ADC引腳的轉(zhuǎn)換電壓過高,,從而影響AD轉(zhuǎn)換結(jié)果,。此外,當(dāng)GPIO0為高電平時,,兩個MOS管都導(dǎo)通,,輸入端+24 V上拉,此時可以采集開關(guān)量的信號,。

005.jpg

  設(shè)計了驅(qū)動比例電磁閥,、油門電機(jī)等感性負(fù)載的PWM輸出電路,同時該電路可復(fù)用于開關(guān)量的輸出,。本設(shè)計采用MCU的GPTA模塊產(chǎn)生的PWM作為控制信號,,使用英飛凌的智能高邊功率開關(guān)BTS5215作為功率輸出,具體的電路設(shè)計如圖5所示,。其中,,CF與POUT之間加電流反饋電路,以防止功率負(fù)載因線圈阻抗的不穩(wěn)定引起電流偏差,,從而影響負(fù)載動作的精度,。通過CF與POUT之間添加的0.1 Ω采樣電阻,將OUT引腳輸出電流0~7.4 A轉(zhuǎn)化為0~0.74 V的電壓,,再經(jīng)過放大增益為5 dB的電流反饋電路放大到0~3.7 V,,連接回MCU的ADC引腳。由于TC1793的外設(shè)功能引腳與GPIO復(fù)用,,故可將PWM輸出引腳配置成GPIO模式,,便可選擇以PWM1和PWM2為開關(guān)量的輸出。

  2.2 存儲器擴(kuò)展模塊和通信模塊

 ?。?)存儲器擴(kuò)展模塊包括EEPROM,、外擴(kuò)Flash、外擴(kuò)RAM,。

  所設(shè)計的控制器需要存儲一些標(biāo)定的參數(shù),、功率器件的閾值等,MCU集成了SSC,,故選用ST公司同步串行接口EEPROM芯片M95640來存儲這些參數(shù),。

  為滿足控制器的通用性,針對不同的工程機(jī)械,,程序代碼和數(shù)據(jù)的占用空間差別很大,同時為滿足后續(xù)符合IEC61131標(biāo)準(zhǔn)的CoDeSys系統(tǒng)移植的需求,利用MCU集成的EBU,,設(shè)計外擴(kuò)Flash和外擴(kuò)RAM模塊,。

  (2)通信模塊包含CAN總線通信和RS232通信,。

  種類繁多的工程機(jī)械所需控制部件較多,,為便于數(shù)據(jù)通信,選用CAN總線,,以實(shí)現(xiàn)控制器與儀表等外部設(shè)備之間的通信,。本文采用TI公司的CAN收發(fā)器SN65HVD230設(shè)計電路。

  采用RS232接口,,實(shí)現(xiàn)控制器與CoDeSys編程環(huán)境的程序下載和上傳,。利用MCU集成的ASC,采用SIPEX公司的RS232收發(fā)器芯片SP3232設(shè)計電路,。

  2.3 電源模塊

  工程機(jī)械控制器一般通過車載蓄電池和發(fā)動機(jī)供電,,但電壓的波動大,并且各個模塊所需的供電電壓不同,,故控制器的電源模塊設(shè)計包括電源保護(hù)電路設(shè)計和電壓轉(zhuǎn)換電路設(shè)計,。

  工程機(jī)械供電系統(tǒng)常常伴有浪涌電壓,這對硬件電路造成很大的破壞,;此外,,人為的誤操作將電源反接也會對控制器造成很大的破壞。為此需要在電源模塊保護(hù)電路中設(shè)計防浪涌電路和防反接電路,。以凌特公司的過壓保護(hù)芯片LT4356為核心,,使用瞬態(tài)電壓抑制二極管SMBJ5BCA吸收輸入電壓的浪涌功率,并鉗制輸入電壓不高于+36 V,,進(jìn)而構(gòu)建MCU的電源模塊保護(hù)電路,。

  MCU的外設(shè)接口ADC需+5 V供電,CAN和I/O等需+3.3 V供電,,內(nèi)核需+1.3 V供電,,而有些外圍電路需+12 V供電,故控制系統(tǒng)所需的電壓為+24 V,、+12 V,、+5 V、+3.3 V,、+1.3 V,。本設(shè)計選用線性穩(wěn)壓器LTM4607實(shí)現(xiàn)+24 V~+12 V的電壓轉(zhuǎn)換;選用LTM8025為核心構(gòu)建+5 V,、+3.3 V,、+1.3 V的轉(zhuǎn)換電路實(shí)現(xiàn)微控制器的供電,;此外設(shè)計合適的外圍電路以實(shí)現(xiàn)MCU上電時序的要求。

3 軟件開發(fā)

  為了降低程序的復(fù)雜度,,使其具備可重構(gòu)能力,,以滿足不同工程機(jī)械的控制要求,采用將應(yīng)用程序和驅(qū)動程序分離的開發(fā)方法,。

  本控制器采用開放性的軟件CoDeSys進(jìn)行軟件的開發(fā),,包括應(yīng)用程序、CoDeSys的運(yùn)行內(nèi)核,、驅(qū)動程序,。軟件系統(tǒng)的具體結(jié)構(gòu)如圖6所示。

006.jpg

  其中CoDeSys軟件是3S公司基于IEC61131標(biāo)準(zhǔn)的軟件套件,,包括CoDeSys運(yùn)行內(nèi)核和應(yīng)用程序開發(fā)環(huán)境,。CoDeSys運(yùn)行內(nèi)核需要移植到硬件系統(tǒng)中,移植工作主要包括:Target描述文件的設(shè)計,、通信驅(qū)動描述文件的設(shè)計,、I/O驅(qū)動描述文件的設(shè)計等[5-6],即形成一個用來描述目標(biāo)系統(tǒng)與CoDeSys編程系統(tǒng)之間的軟硬件的特定配置和定義的目標(biāo)支持軟件包,。

  I/O端口配置模塊方便用戶根據(jù)需要選擇I/O端口的種類和數(shù)目,,生成I/O配置文件,CoDeSys運(yùn)行系統(tǒng)訪問I/O配置文件,,調(diào)用對應(yīng)的底層驅(qū)動,,以實(shí)現(xiàn)I/O端口的可配置性。其中I/O端口控制的部分代碼如下:

  #define AIDI_DI_Read[i] DI_Value[i],;

  #define AIDI_AI_Read[i] AI_Value[i],;

  void IO_Control()

  {

  ……

  for(i=0;i<m,;i++)//本文的m為8

  {

  if(AIDI_En[i]==1)//1使能,,0禁止

  {

  if(AIDI_Config[i]==DI)

  {

  *((unsigned int*)InputBuf [AIDIBaseAddr+i*2])=AIDI_DI_Read[i];

  }

  else

  {

  *((unsigned int*)InputBuf[AIDIBaseAddr+i*2])=AIDI_AI_Read[i],;

  }

  }

  ……

  }

  }

  以上過程總結(jié)為圖7所示的系統(tǒng)軟件主程序流程,。

007.jpg

4 控制系統(tǒng)的性能測試

  通用控制器的樣機(jī)完成制作之后,需要對控制器的性能進(jìn)行測試,,主要包括可靠性測試,、溫度測試、通用性測試等,。本文主要闡述控制器的通用性測試,。

  對控制器的通用性測試,采用在控制器的I/O端口加載相應(yīng)的負(fù)載,,并編寫對應(yīng)的測試程序的方法來實(shí)現(xiàn),。具體的實(shí)現(xiàn)方法是:在可配置為開關(guān)量采集的模擬量輸入接口AIN上,,分別接0~24 V之間的電壓、4~20 mA之間的電流,、0~1.5 kΩ之間的電阻,;開關(guān)量的輸入接口DIN和輸出接口DOUT都接繼電器,;脈沖量輸入接口PIN接PWM的輸出接口,;將可配置為開關(guān)量輸出的PWM輸出接口分別接電磁閥和繼電器。通過這樣的加載方式,,用示波器分別觀察對應(yīng)端口的狀態(tài),,實(shí)現(xiàn)控制器的通用性測試。例如PWM/DO端口,,通過I/O端口配置模塊先配置為PWM輸出,,加載PWM測試程序成功驅(qū)動電磁閥;再配置為DO輸出,,加載DO測試程序成功驅(qū)動繼電器,。用示波器測出該端口的狀態(tài)分別如圖8和圖9所示。從圖可知該端口可以實(shí)現(xiàn)PWM和DO的復(fù)用,。

008.jpg

5 結(jié)論

  通過加載測試,,本文所設(shè)計的基于CoDeSys的工程機(jī)械通用控制器具有I/O端口可配置性,具備可重構(gòu)能力,,可以滿足不同種類的工程機(jī)械的控制要求,,降低人力物力的投入。此外,,該控制器符合IEC61131標(biāo)準(zhǔn),,支持5種編程語言,為用戶提供統(tǒng)一的編程環(huán)境,,具有很強(qiáng)的開放性,,便于實(shí)現(xiàn)控制系統(tǒng)的二次開發(fā),在科技不斷發(fā)展和市場競爭愈發(fā)激烈的形勢下,,具有良好的應(yīng)用前景,。

參考文獻(xiàn)

  [1] 王國慶,劉潔,,張宗濤,,等.工程機(jī)械智能化控制器研究[J].筑路機(jī)械與施工機(jī)械化,2008,,25(3):73-75.

  [2] 閔華松,,李美升,魏洪興,,等.工程機(jī)械智能控制器設(shè)計[J].信息與控制,,2011(2):254-261.

  [3] 袁森,,黃海松.基于MCU和uC/OS-Ⅱ的工程機(jī)械電氣控制器設(shè)計研究[J].測控技術(shù),2014,,33(4):58-61.

  [4] Infineon Technologies AG. TC1798. Data Sheet(V1.1)[S].2014.

  [5] 3S-Smart Software Solutions GmbH. CODESYS control V3 migration and adaptation(Version 4.0)[S]. 2014.

  [6] 王麗麗,,康存鋒,馬春敏,,等.基于CoDeSys的嵌入式軟PLC系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].現(xiàn)代制造工程,,2007(3):54-56.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。