張?jiān)吹?/p>
摘 要:采煤機(jī)速度反饋在采煤機(jī)速度調(diào)節(jié)方面占有相當(dāng)大的比重,而速度調(diào)節(jié)直接影響采煤機(jī)的工作狀態(tài)。由于在采煤機(jī)速度反饋環(huán)節(jié)存在反饋的信號(hào)誤差較大、響應(yīng)速度慢、抗干擾能力差等問題且現(xiàn)階段利用單片機(jī)、PLC、DSP等作為CPU控制速度反饋環(huán)節(jié)容易使反饋環(huán)節(jié)中參數(shù)漂移,控制精度相對(duì)而言不夠精確,針對(duì)以上情況文章提出了以ARM11為控制核心,基于CANopen協(xié)議速度反饋環(huán)節(jié)的Linux嵌入式操作系統(tǒng),同時(shí)采用PID雙閉環(huán)調(diào)速控制。結(jié)果證明,采用此方案提高了采煤機(jī)速度反饋的準(zhǔn)確度、速度的穩(wěn)定性、加快了速度反饋的響應(yīng)。
關(guān)鍵詞:速度反饋;Canopen;嵌入式;PID;控制;穩(wěn)定性
引言
隨著采煤技術(shù)的日益發(fā)展,電磁調(diào)速電牽引采煤機(jī)迅速推廣開來,這種電磁調(diào)速較其他采煤機(jī)來說其控制相對(duì)簡(jiǎn)單,且滑差式電磁調(diào)速采煤機(jī)具有裝機(jī)功率大,牽引速度快,牽引力大的優(yōu)點(diǎn)。在牽引方面只需控制勵(lì)磁電流即可對(duì)采煤機(jī)速度進(jìn)行調(diào)節(jié)。為使采煤機(jī)牽引運(yùn)行時(shí)速度處于穩(wěn)定的變化,人們?cè)谒俣炔杉?、速度反饋處理方面進(jìn)行不斷地完善,在速度采集方面一般用485協(xié)議的軸角編碼器采集負(fù)載軸速度;用單片機(jī)、DSP、FPGA作為CPU另輔以PID雙閉環(huán)控制去處理電牽引速度。以上速度反饋控制方式雖然在一定條件下滿足一定的需求,但是其控制準(zhǔn)確性相對(duì)較低,且對(duì)于其模擬量相互影響較大,參數(shù)易于漂移[1],對(duì)于用以上CPU控制電流、速度環(huán)時(shí),CPU只能單一的去處理,從而影響了速度的響應(yīng)時(shí)間。近階段嵌入式在醫(yī)療、航空、交通、工控領(lǐng)域的廣泛應(yīng)用,并且其具有強(qiáng)大的處理數(shù)據(jù)的能力,具有極高的穩(wěn)定性。根據(jù)現(xiàn)階段采煤機(jī)反饋存在的問題和CANopen協(xié)議與嵌入式配合在工控方面的優(yōu)勢(shì),本文設(shè)計(jì)出了利用CANopen協(xié)議的高精度的軸角編碼器進(jìn)行速度采集,在ARM11上嵌入具有CANopen協(xié)議的Linux操作系統(tǒng)對(duì)速度反饋、電流反饋實(shí)行多線程控制的方案。此方案的特點(diǎn)是利用操作系統(tǒng)控制速度反饋,減小反饋滯后時(shí)間,增強(qiáng)速度反饋控制精度,提高反饋的穩(wěn)定性。
1 系統(tǒng)工作原理
電磁調(diào)速采煤機(jī)速度反饋原理如圖1所示。當(dāng)牽引異步電動(dòng)機(jī)啟動(dòng)時(shí),其帶動(dòng)滑差離合器一起旋轉(zhuǎn),由于滑差離合器由電樞、磁極和勵(lì)磁線圈三部分組成,電樞旋轉(zhuǎn)時(shí)它便切割由勵(lì)磁線圈產(chǎn)生的磁場(chǎng),從而產(chǎn)生轉(zhuǎn)矩帶動(dòng)負(fù)載軸旋轉(zhuǎn)。當(dāng)負(fù)載軸旋轉(zhuǎn)時(shí),通過GMX系列的CANopen協(xié)議軸角編碼器進(jìn)行測(cè)速,測(cè)量的脈沖數(shù)經(jīng)過CANopen協(xié)議傳輸?shù)揭訟RM11為控制核心的操作系統(tǒng)中,操作系統(tǒng)通過定時(shí)器計(jì)算出當(dāng)前的速度,通過編寫的PID程序通過與給定值的比較進(jìn)行調(diào)節(jié),然后通過D/A轉(zhuǎn)換輸出4-20mA電流,再經(jīng)上拉電阻產(chǎn)生電壓信號(hào)。與此同時(shí)滑差離合器的勵(lì)磁電流經(jīng)霍爾式電流變送器器傳到操作系統(tǒng)中,操作系統(tǒng)通過PID調(diào)節(jié)計(jì)算出的電流信號(hào)通過PID電流環(huán)進(jìn)行調(diào)節(jié),產(chǎn)生的模擬量信號(hào)通過驅(qū)動(dòng)器進(jìn)行速度的調(diào)節(jié)[2-7]。
2 硬件電路設(shè)計(jì)
硬件電路由ARM及其外圍電路組成如圖2所示,為了保障CPU不受外界的干擾,ARM與外界通信全都要光電隔離。速度采集模塊由絕對(duì)值軸角編碼器組成,電流采集模塊用霍爾效應(yīng)式電流變送器作為傳感器,其通信協(xié)議為Modbus。
2.1 ARM11處理器
處理器選用了三星的S3C6410,其內(nèi)部集成了ARM11微處理器,ARM11處理器為ARMv6架構(gòu),它保持了所有過去架構(gòu)中的T(Thumb指令)和E(DSP指令)擴(kuò)展,使代碼壓縮和DSP處理特點(diǎn)得到延續(xù);微處理器支持高速M(fèi)MC和SD卡,具有實(shí)時(shí)時(shí)鐘,看門狗定時(shí)器同時(shí)具有I2C總線串口,SPI接口。由于S3C6410具有多種存儲(chǔ)器接口和MMU,為 Linux系統(tǒng)移植到ARM11微處理器中提供了方便。
為使系統(tǒng)運(yùn)行流暢,RAM存儲(chǔ)器選用大小為64M,ROM選擇三星2Gflash內(nèi)存。由于處理器集成了4個(gè)全雙工的串口,選擇串口1作為L(zhǎng)inux命令控制臺(tái),它作為系統(tǒng)的一個(gè)標(biāo)準(zhǔn)終端去配置系統(tǒng)驅(qū)動(dòng)、更改文件系統(tǒng)、查看系統(tǒng)進(jìn)程、管理系統(tǒng)服務(wù)、上傳和下載程序等。由于微處理器支持高速的SD卡,為將數(shù)據(jù)存儲(chǔ)到外置其他系統(tǒng)提供了便利。另外S3C6410支持外部SD卡存儲(chǔ)器,因此用戶可以在SD卡中存入鏡像操作系統(tǒng),在燒錄時(shí),用戶可以將鏡像文件燒錄到處理器中。
2.2 CANopen軸角編碼器
軸角編碼器采用GMX425系列軸角編碼器,此編碼器為CANopen高速總線型編碼器,碼盤為絕對(duì)值碼盤且信號(hào)無干擾、零點(diǎn)無漂移提高了速度采集的穩(wěn)定性。在運(yùn)行時(shí)編碼器可以最高連續(xù)轉(zhuǎn)4096圈,其分辨率為每圈12位,由于其每圈產(chǎn)生4096個(gè)脈沖,即便丟失脈沖對(duì)速度產(chǎn)生的影響也相當(dāng)小,此編碼器較其他編碼器而言滿足了速度反饋的精度需求,使速度響應(yīng)的滯后性相對(duì)減小。編碼器支持的CAN波特率為10KHZ-1000KHZ不等,為數(shù)據(jù)傳輸選擇提供方便。
2.3 電流變送器
對(duì)于PID調(diào)節(jié)的電流環(huán),它通過調(diào)節(jié)電流的大小達(dá)到調(diào)速的目的,由于在電流環(huán)中,電流不但為輸出的電流,而且是反饋的電流,因此電流變送器精度的高低直接影響控制系統(tǒng)的靈敏度和精度。根據(jù)此情況電流變送器選擇為JLB12電流變送器,其輸入與輸出端是全隔離的,輸出端為標(biāo)準(zhǔn)的4-20mA信號(hào),此信號(hào)傳輸?shù)紺PU中。此電流變送器具有標(biāo)準(zhǔn)導(dǎo)軌安裝、精度高、線性度好、反應(yīng)快、低溫漂、頻帶寬抗干擾能力強(qiáng)、無插入損耗等特點(diǎn),滿足速度反饋對(duì)電流變送器的要求。
3 軟件設(shè)計(jì)
在軟件方面包括基于ARM11的主程序、Modbus協(xié)議程序、具有CANopen協(xié)議的Linux嵌入式系統(tǒng)程序、PID程序,本文將針對(duì)PID程序、Modbus協(xié)議、基于CANopen協(xié)議的Linux嵌入式系統(tǒng)程序進(jìn)行分析[8]。
3.1 PID程序
當(dāng)采煤機(jī)處于牽引運(yùn)行狀態(tài)時(shí),運(yùn)行速度既不能過低也不能過高,運(yùn)行速度過低導(dǎo)致勵(lì)磁電流過低間接地導(dǎo)致電動(dòng)機(jī)停轉(zhuǎn)。如果速度過高會(huì)導(dǎo)致電機(jī)超載。所以在PID程序中要設(shè)置中斷程序,當(dāng)過程值達(dá)到速度的上限或下限時(shí)執(zhí)行中斷程序使勵(lì)磁電流在設(shè)定值范圍內(nèi)進(jìn)行調(diào)節(jié)[9]。其 PID框圖如圖3所示。
3.2 Modbus協(xié)議
Modbus協(xié)議為現(xiàn)場(chǎng)總線型的通訊協(xié)議,可以支持多種電氣接口如232、485等,它可以在多種介質(zhì)中進(jìn)行傳遞如雙絞線、光纖、無線等,Modbus的幀格式簡(jiǎn)單、緊湊,其發(fā)送的格式為8位為1幀。Modbus傳輸形式有ASCII和RTU方式,對(duì)于本文使用的為RTU模式,其發(fā)送或接收的每一幀數(shù)據(jù)包括1個(gè)起始位、8個(gè)數(shù)據(jù)位(最小的有效位先發(fā)送)、1個(gè)奇偶校驗(yàn)位和1個(gè)停止位(有校驗(yàn)時(shí),無校驗(yàn)時(shí)為2個(gè)Bit)。當(dāng)Modbus通信時(shí)其采用主從結(jié)構(gòu)技術(shù)即主設(shè)備能初始化傳輸(查詢),其它設(shè)備(從設(shè)備)根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng),本文采用的為Modbus從站設(shè)備,功能碼為03(讀),相應(yīng)的功能碼06為寫功能。在速度反饋系統(tǒng)中,電流變送器將采集到的勵(lì)磁電流傳入到嵌入式系統(tǒng)中,在CPU中需要對(duì)Modbus從站進(jìn)行配置,其初始化子程序如下:
void ModInit(u8 Id)
{ ModBus_PointToRcvBuf=ModBus_RcvBuffer;
ModBus_PointToSendBuf=ModBus_SendBuffer;
ModBus_SendNum=1;
ModBus_Id=Id;
ModBus_RcvBuffer[1]=ModBus_Id;
ModBus_SendBuffer[1]=ModBus_Id;
ModBus_ComuBusy=0;
USART_init();
Timer2_init();
RX_485;
enableInterrupts();
}
3.3 CANopen協(xié)議的Linux嵌入式系統(tǒng)
CANopen是在CAL基礎(chǔ)上開發(fā)的,使用了CAL通訊和服務(wù)協(xié)議子集,提供了分布式控制系統(tǒng)的一種實(shí)現(xiàn)方案。CANopen可以在保證網(wǎng)絡(luò)節(jié)點(diǎn)互用性的同時(shí)允許節(jié)點(diǎn)的功能隨意擴(kuò)展。在CANopen網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都有一個(gè)對(duì)象詞典且其由一系列的子協(xié)議文檔組成,在通訊中其模型定義了4種報(bào)文,分別為管理報(bào)文、服務(wù)數(shù)據(jù)對(duì)象SDO、過程數(shù)據(jù)對(duì)象PDO、預(yù)定義報(bào)文或特殊功能對(duì)象,CANopen通訊結(jié)構(gòu)如圖4所示
本文將CANopen協(xié)議棧嵌入到以ARM11為核心的系統(tǒng),需要對(duì)內(nèi)核進(jìn)行裁剪,其內(nèi)核包括OB模塊、PDO模塊、SDO模塊、同步模塊等,這些模塊能各自在自己的子協(xié)議中完成對(duì)應(yīng)的功能。移植CANopen協(xié)議主要對(duì)底層程序的DLL.C文件移植,在移植中,要先初始化CAN寄存器,對(duì)發(fā)送、接收等數(shù)據(jù)函數(shù)進(jìn)行修改。本文將CANopen協(xié)議嵌入到操作系統(tǒng)中去解決了總線控制、沖突檢測(cè)、鏈路維護(hù)等問題,使速度反饋信號(hào)的傳輸更加穩(wěn)定。
Linux 是遵循通用公共許可證 GPL 協(xié)議的開源操作系統(tǒng),其內(nèi)核可根據(jù)需要任意裁剪、定制,硬件支持非常廣泛。嵌入式Linux操作系統(tǒng)源代碼開放,免費(fèi),可靠性高,支持多種軟件和通信協(xié)議,內(nèi)核強(qiáng)大,性能高效穩(wěn)定,協(xié)調(diào)多線程、多任務(wù)工作,大小功能都可定制,具有豐富硬件驅(qū)動(dòng)資源和強(qiáng)大的網(wǎng)絡(luò)通信功能?;诒疚倪x用的ARM11控制器,因此嵌入Linux操作系統(tǒng)是相當(dāng)方便的。嵌入Linux操作系統(tǒng)可以多線程傳輸數(shù)據(jù),解決了單片機(jī)單線傳輸數(shù)據(jù)的局限性,提高了系統(tǒng)的處理的精確度,減小了系統(tǒng)反應(yīng)時(shí)間。對(duì)于Linux操作系統(tǒng)嵌入到以ARM11為核心的控制器,首先要構(gòu)建交叉的編譯環(huán)境,其次引導(dǎo)加載程序,再次要配置和裁剪內(nèi)核,之后搭載文件系統(tǒng)其存放著系統(tǒng)運(yùn)行時(shí)所必須的各種工具軟件、配置文件、腳本、庫文件等,搭載的文件系統(tǒng)存到ARM11配置的2G Flash內(nèi)存中,移植系統(tǒng)最后步驟為開發(fā)驅(qū)動(dòng)程序,完成了所有步驟即將Linux操作系統(tǒng)嵌入到ARM11中[10-13]。其流程如圖5所示。
4 實(shí)驗(yàn)及仿真
將搭載好的Linux嵌入式系統(tǒng)放在恒溫箱中以模擬不同環(huán)境測(cè)量其穩(wěn)定性,實(shí)驗(yàn)數(shù)據(jù)表明搭載的嵌入式系統(tǒng)是穩(wěn)定可靠的。根據(jù)速度閉環(huán)和電流閉環(huán)的傳遞函數(shù)用軟件搭載速度反饋環(huán)節(jié)的仿真系統(tǒng)。在操作系統(tǒng)中,進(jìn)行PID仿真時(shí),設(shè)置目標(biāo)轉(zhuǎn)速為70r/min,調(diào)節(jié)參數(shù)KP=0.491,KI=0.028,KD=0.003,采樣時(shí)間為1s。在PID開始時(shí),其仿真圖如圖6,其中a代表設(shè)定值,b代表調(diào)節(jié)值,c代表輸出值。
當(dāng)人為加入擾動(dòng)時(shí),其PID仿真圖如圖7。
當(dāng)PID調(diào)節(jié)穩(wěn)定時(shí),其PID仿真圖如圖8。
從出現(xiàn)擾動(dòng)到PID調(diào)節(jié)穩(wěn)定期響應(yīng)速度在1s之內(nèi),由此看出加入嵌入式系統(tǒng)對(duì)PID反饋調(diào)節(jié)的作用。
5 結(jié)束語
針對(duì)之前單片機(jī)等芯片控制的電磁調(diào)速采煤機(jī)速度反饋出現(xiàn)的參數(shù)漂移,速度反饋不靈敏,實(shí)時(shí)性差等問題,本文提出了基于Linux嵌入式系統(tǒng),ARM11為核心的系統(tǒng)方案,同時(shí)系統(tǒng)內(nèi)嵌CANopen和Modbus協(xié)議,采用了高精度的CANopen軸角編碼器和電流變送器,通過實(shí)驗(yàn)和仿真證明應(yīng)用本方案極大程度減弱了參數(shù)漂移問題,使系統(tǒng)處理接收信號(hào)的時(shí)間更短,采集的信號(hào)更加準(zhǔn)確,實(shí)時(shí)性更強(qiáng)。
參考文獻(xiàn)
[1]劉建功.電磁調(diào)速電牽引采煤機(jī)控制系統(tǒng)[M].北京:煤炭工業(yè)出版社,2006:53-127.
[2]朱秀,謝子殿,石磊.基于電磁調(diào)速的電牽引采煤機(jī)調(diào)速控制器設(shè)計(jì)[J].煤炭科學(xué)技術(shù),2008,36(8):70-72.
[3]吳浩,王巍,李小波,等.基于單片機(jī)的電磁調(diào)速電牽引采煤機(jī)調(diào)速系統(tǒng)[J].煤炭科學(xué)技術(shù),2005,33(5):8-11.
[4]黃知超,張科偉,謝霞,等.基于速度反饋的直流電動(dòng)機(jī)復(fù)合控制方法[J].工礦自動(dòng)化,2013,39(12)65-67.
[5]李為民,姜漫.基于光電編碼器的速度反饋與控制技術(shù)[J].工控技術(shù),2004,6(24):84-88.
[6]劉建功,王汝琳.電磁調(diào)速電牽引采煤機(jī)制動(dòng)運(yùn)行的分析與應(yīng)用[J].煤炭科學(xué)技術(shù),2003,31(12):5-7.
[7]歐衛(wèi)斌.直流雙閉環(huán)調(diào)速系統(tǒng)及其模糊控制的仿真[J].工礦自動(dòng)化,2010,35(3):58-60.
[8]李小波,吳浩,張長(zhǎng)城.電磁調(diào)速電牽引采煤機(jī)直流微機(jī)調(diào)速系統(tǒng)研究[J].礦山機(jī)械,2005,33(3):11-12.
[9]劉俠,謝子殿.基于模糊控制的電磁調(diào)速采煤機(jī)控制系統(tǒng)的設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2009,22(5):55-58.
[10]姜俊輝.基于ARM的嵌入式系統(tǒng)硬件設(shè)計(jì)[J].微計(jì)算機(jī)信息,2005,21(2):119-122.
[11]王俊波,胥布工.CANopen協(xié)議分析與實(shí)現(xiàn)[J].嵌入式網(wǎng)絡(luò)技術(shù)應(yīng)用,2006,22(2):104-106.
[12]任瑋蒙,陶維青.基于CAN總線的高層協(xié)議CANopen[J].自動(dòng)化技術(shù)與應(yīng)用,2007,26(4):128-130.
[13]田家林,陳利學(xué),寇向輝.LINUX嵌入式操作系統(tǒng)在ARM上的移植[J].微計(jì)算機(jī)信息,2007,23(4):60-62.
作者簡(jiǎn)介:張?jiān)矗?990-),男,漢族,山東臨沂人,碩士研究生,研究方向:電力電子與電力傳動(dòng)。
3.2 Modbus協(xié)議
Modbus協(xié)議為現(xiàn)場(chǎng)總線型的通訊協(xié)議,可以支持多種電氣接口如232、485等,它可以在多種介質(zhì)中進(jìn)行傳遞如雙絞線、光纖、無線等,Modbus的幀格式簡(jiǎn)單、緊湊,其發(fā)送的格式為8位為1幀。Modbus傳輸形式有ASCII和RTU方式,對(duì)于本文使用的為RTU模式,其發(fā)送或接收的每一幀數(shù)據(jù)包括1個(gè)起始位、8個(gè)數(shù)據(jù)位(最小的有效位先發(fā)送)、1個(gè)奇偶校驗(yàn)位和1個(gè)停止位(有校驗(yàn)時(shí),無校驗(yàn)時(shí)為2個(gè)Bit)。當(dāng)Modbus通信時(shí)其采用主從結(jié)構(gòu)技術(shù)即主設(shè)備能初始化傳輸(查詢),其它設(shè)備(從設(shè)備)根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng),本文采用的為Modbus從站設(shè)備,功能碼為03(讀),相應(yīng)的功能碼06為寫功能。在速度反饋系統(tǒng)中,電流變送器將采集到的勵(lì)磁電流傳入到嵌入式系統(tǒng)中,在CPU中需要對(duì)Modbus從站進(jìn)行配置,其初始化子程序如下:
void ModInit(u8 Id)
{ ModBus_PointToRcvBuf=ModBus_RcvBuffer;
ModBus_PointToSendBuf=ModBus_SendBuffer;
ModBus_SendNum=1;
ModBus_Id=Id;
ModBus_RcvBuffer[1]=ModBus_Id;
ModBus_SendBuffer[1]=ModBus_Id;
ModBus_ComuBusy=0;
USART_init();
Timer2_init();
RX_485;
enableInterrupts();
}
3.3 CANopen協(xié)議的Linux嵌入式系統(tǒng)
CANopen是在CAL基礎(chǔ)上開發(fā)的,使用了CAL通訊和服務(wù)協(xié)議子集,提供了分布式控制系統(tǒng)的一種實(shí)現(xiàn)方案。CANopen可以在保證網(wǎng)絡(luò)節(jié)點(diǎn)互用性的同時(shí)允許節(jié)點(diǎn)的功能隨意擴(kuò)展。在CANopen網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都有一個(gè)對(duì)象詞典且其由一系列的子協(xié)議文檔組成,在通訊中其模型定義了4種報(bào)文,分別為管理報(bào)文、服務(wù)數(shù)據(jù)對(duì)象SDO、過程數(shù)據(jù)對(duì)象PDO、預(yù)定義報(bào)文或特殊功能對(duì)象,CANopen通訊結(jié)構(gòu)如圖4所示
本文將CANopen協(xié)議棧嵌入到以ARM11為核心的系統(tǒng),需要對(duì)內(nèi)核進(jìn)行裁剪,其內(nèi)核包括OB模塊、PDO模塊、SDO模塊、同步模塊等,這些模塊能各自在自己的子協(xié)議中完成對(duì)應(yīng)的功能。移植CANopen協(xié)議主要對(duì)底層程序的DLL.C文件移植,在移植中,要先初始化CAN寄存器,對(duì)發(fā)送、接收等數(shù)據(jù)函數(shù)進(jìn)行修改。本文將CANopen協(xié)議嵌入到操作系統(tǒng)中去解決了總線控制、沖突檢測(cè)、鏈路維護(hù)等問題,使速度反饋信號(hào)的傳輸更加穩(wěn)定。
Linux 是遵循通用公共許可證 GPL 協(xié)議的開源操作系統(tǒng),其內(nèi)核可根據(jù)需要任意裁剪、定制,硬件支持非常廣泛。嵌入式Linux操作系統(tǒng)源代碼開放,免費(fèi),可靠性高,支持多種軟件和通信協(xié)議,內(nèi)核強(qiáng)大,性能高效穩(wěn)定,協(xié)調(diào)多線程、多任務(wù)工作,大小功能都可定制,具有豐富硬件驅(qū)動(dòng)資源和強(qiáng)大的網(wǎng)絡(luò)通信功能。基于本文選用的ARM11控制器,因此嵌入Linux操作系統(tǒng)是相當(dāng)方便的。嵌入Linux操作系統(tǒng)可以多線程傳輸數(shù)據(jù),解決了單片機(jī)單線傳輸數(shù)據(jù)的局限性,提高了系統(tǒng)的處理的精確度,減小了系統(tǒng)反應(yīng)時(shí)間。對(duì)于Linux操作系統(tǒng)嵌入到以ARM11為核心的控制器,首先要構(gòu)建交叉的編譯環(huán)境,其次引導(dǎo)加載程序,再次要配置和裁剪內(nèi)核,之后搭載文件系統(tǒng)其存放著系統(tǒng)運(yùn)行時(shí)所必須的各種工具軟件、配置文件、腳本、庫文件等,搭載的文件系統(tǒng)存到ARM11配置的2G Flash內(nèi)存中,移植系統(tǒng)最后步驟為開發(fā)驅(qū)動(dòng)程序,完成了所有步驟即將Linux操作系統(tǒng)嵌入到ARM11中[10-13]。其流程如圖5所示。
4 實(shí)驗(yàn)及仿真
將搭載好的Linux嵌入式系統(tǒng)放在恒溫箱中以模擬不同環(huán)境測(cè)量其穩(wěn)定性,實(shí)驗(yàn)數(shù)據(jù)表明搭載的嵌入式系統(tǒng)是穩(wěn)定可靠的。根據(jù)速度閉環(huán)和電流閉環(huán)的傳遞函數(shù)用軟件搭載速度反饋環(huán)節(jié)的仿真系統(tǒng)。在操作系統(tǒng)中,進(jìn)行PID仿真時(shí),設(shè)置目標(biāo)轉(zhuǎn)速為70r/min,調(diào)節(jié)參數(shù)KP=0.491,KI=0.028,KD=0.003,采樣時(shí)間為1s。在PID開始時(shí),其仿真圖如圖6,其中a代表設(shè)定值,b代表調(diào)節(jié)值,c代表輸出值。
當(dāng)人為加入擾動(dòng)時(shí),其PID仿真圖如圖7。
當(dāng)PID調(diào)節(jié)穩(wěn)定時(shí),其PID仿真圖如圖8。
從出現(xiàn)擾動(dòng)到PID調(diào)節(jié)穩(wěn)定期響應(yīng)速度在1s之內(nèi),由此看出加入嵌入式系統(tǒng)對(duì)PID反饋調(diào)節(jié)的作用。
5 結(jié)束語
針對(duì)之前單片機(jī)等芯片控制的電磁調(diào)速采煤機(jī)速度反饋出現(xiàn)的參數(shù)漂移,速度反饋不靈敏,實(shí)時(shí)性差等問題,本文提出了基于Linux嵌入式系統(tǒng),ARM11為核心的系統(tǒng)方案,同時(shí)系統(tǒng)內(nèi)嵌CANopen和Modbus協(xié)議,采用了高精度的CANopen軸角編碼器和電流變送器,通過實(shí)驗(yàn)和仿真證明應(yīng)用本方案極大程度減弱了參數(shù)漂移問題,使系統(tǒng)處理接收信號(hào)的時(shí)間更短,采集的信號(hào)更加準(zhǔn)確,實(shí)時(shí)性更強(qiáng)。
參考文獻(xiàn)
[1]劉建功.電磁調(diào)速電牽引采煤機(jī)控制系統(tǒng)[M].北京:煤炭工業(yè)出版社,2006:53-127.
[2]朱秀,謝子殿,石磊.基于電磁調(diào)速的電牽引采煤機(jī)調(diào)速控制器設(shè)計(jì)[J].煤炭科學(xué)技術(shù),2008,36(8):70-72.
[3]吳浩,王巍,李小波,等.基于單片機(jī)的電磁調(diào)速電牽引采煤機(jī)調(diào)速系統(tǒng)[J].煤炭科學(xué)技術(shù),2005,33(5):8-11.
[4]黃知超,張科偉,謝霞,等.基于速度反饋的直流電動(dòng)機(jī)復(fù)合控制方法[J].工礦自動(dòng)化,2013,39(12)65-67.
[5]李為民,姜漫.基于光電編碼器的速度反饋與控制技術(shù)[J].工控技術(shù),2004,6(24):84-88.
[6]劉建功,王汝琳.電磁調(diào)速電牽引采煤機(jī)制動(dòng)運(yùn)行的分析與應(yīng)用[J].煤炭科學(xué)技術(shù),2003,31(12):5-7.
[7]歐衛(wèi)斌.直流雙閉環(huán)調(diào)速系統(tǒng)及其模糊控制的仿真[J].工礦自動(dòng)化,2010,35(3):58-60.
[8]李小波,吳浩,張長(zhǎng)城.電磁調(diào)速電牽引采煤機(jī)直流微機(jī)調(diào)速系統(tǒng)研究[J].礦山機(jī)械,2005,33(3):11-12.
[9]劉俠,謝子殿.基于模糊控制的電磁調(diào)速采煤機(jī)控制系統(tǒng)的設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2009,22(5):55-58.
[10]姜俊輝.基于ARM的嵌入式系統(tǒng)硬件設(shè)計(jì)[J].微計(jì)算機(jī)信息,2005,21(2):119-122.
[11]王俊波,胥布工.CANopen協(xié)議分析與實(shí)現(xiàn)[J].嵌入式網(wǎng)絡(luò)技術(shù)應(yīng)用,2006,22(2):104-106.
[12]任瑋蒙,陶維青.基于CAN總線的高層協(xié)議CANopen[J].自動(dòng)化技術(shù)與應(yīng)用,2007,26(4):128-130.
[13]田家林,陳利學(xué),寇向輝.LINUX嵌入式操作系統(tǒng)在ARM上的移植[J].微計(jì)算機(jī)信息,2007,23(4):60-62.
作者簡(jiǎn)介:張?jiān)矗?990-),男,漢族,山東臨沂人,碩士研究生,研究方向:電力電子與電力傳動(dòng)。
3.2 Modbus協(xié)議
Modbus協(xié)議為現(xiàn)場(chǎng)總線型的通訊協(xié)議,可以支持多種電氣接口如232、485等,它可以在多種介質(zhì)中進(jìn)行傳遞如雙絞線、光纖、無線等,Modbus的幀格式簡(jiǎn)單、緊湊,其發(fā)送的格式為8位為1幀。Modbus傳輸形式有ASCII和RTU方式,對(duì)于本文使用的為RTU模式,其發(fā)送或接收的每一幀數(shù)據(jù)包括1個(gè)起始位、8個(gè)數(shù)據(jù)位(最小的有效位先發(fā)送)、1個(gè)奇偶校驗(yàn)位和1個(gè)停止位(有校驗(yàn)時(shí),無校驗(yàn)時(shí)為2個(gè)Bit)。當(dāng)Modbus通信時(shí)其采用主從結(jié)構(gòu)技術(shù)即主設(shè)備能初始化傳輸(查詢),其它設(shè)備(從設(shè)備)根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng),本文采用的為Modbus從站設(shè)備,功能碼為03(讀),相應(yīng)的功能碼06為寫功能。在速度反饋系統(tǒng)中,電流變送器將采集到的勵(lì)磁電流傳入到嵌入式系統(tǒng)中,在CPU中需要對(duì)Modbus從站進(jìn)行配置,其初始化子程序如下:
void ModInit(u8 Id)
{ ModBus_PointToRcvBuf=ModBus_RcvBuffer;
ModBus_PointToSendBuf=ModBus_SendBuffer;
ModBus_SendNum=1;
ModBus_Id=Id;
ModBus_RcvBuffer[1]=ModBus_Id;
ModBus_SendBuffer[1]=ModBus_Id;
ModBus_ComuBusy=0;
USART_init();
Timer2_init();
RX_485;
enableInterrupts();
}
3.3 CANopen協(xié)議的Linux嵌入式系統(tǒng)
CANopen是在CAL基礎(chǔ)上開發(fā)的,使用了CAL通訊和服務(wù)協(xié)議子集,提供了分布式控制系統(tǒng)的一種實(shí)現(xiàn)方案。CANopen可以在保證網(wǎng)絡(luò)節(jié)點(diǎn)互用性的同時(shí)允許節(jié)點(diǎn)的功能隨意擴(kuò)展。在CANopen網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都有一個(gè)對(duì)象詞典且其由一系列的子協(xié)議文檔組成,在通訊中其模型定義了4種報(bào)文,分別為管理報(bào)文、服務(wù)數(shù)據(jù)對(duì)象SDO、過程數(shù)據(jù)對(duì)象PDO、預(yù)定義報(bào)文或特殊功能對(duì)象,CANopen通訊結(jié)構(gòu)如圖4所示
本文將CANopen協(xié)議棧嵌入到以ARM11為核心的系統(tǒng),需要對(duì)內(nèi)核進(jìn)行裁剪,其內(nèi)核包括OB模塊、PDO模塊、SDO模塊、同步模塊等,這些模塊能各自在自己的子協(xié)議中完成對(duì)應(yīng)的功能。移植CANopen協(xié)議主要對(duì)底層程序的DLL.C文件移植,在移植中,要先初始化CAN寄存器,對(duì)發(fā)送、接收等數(shù)據(jù)函數(shù)進(jìn)行修改。本文將CANopen協(xié)議嵌入到操作系統(tǒng)中去解決了總線控制、沖突檢測(cè)、鏈路維護(hù)等問題,使速度反饋信號(hào)的傳輸更加穩(wěn)定。
Linux 是遵循通用公共許可證 GPL 協(xié)議的開源操作系統(tǒng),其內(nèi)核可根據(jù)需要任意裁剪、定制,硬件支持非常廣泛。嵌入式Linux操作系統(tǒng)源代碼開放,免費(fèi),可靠性高,支持多種軟件和通信協(xié)議,內(nèi)核強(qiáng)大,性能高效穩(wěn)定,協(xié)調(diào)多線程、多任務(wù)工作,大小功能都可定制,具有豐富硬件驅(qū)動(dòng)資源和強(qiáng)大的網(wǎng)絡(luò)通信功能?;诒疚倪x用的ARM11控制器,因此嵌入Linux操作系統(tǒng)是相當(dāng)方便的。嵌入Linux操作系統(tǒng)可以多線程傳輸數(shù)據(jù),解決了單片機(jī)單線傳輸數(shù)據(jù)的局限性,提高了系統(tǒng)的處理的精確度,減小了系統(tǒng)反應(yīng)時(shí)間。對(duì)于Linux操作系統(tǒng)嵌入到以ARM11為核心的控制器,首先要構(gòu)建交叉的編譯環(huán)境,其次引導(dǎo)加載程序,再次要配置和裁剪內(nèi)核,之后搭載文件系統(tǒng)其存放著系統(tǒng)運(yùn)行時(shí)所必須的各種工具軟件、配置文件、腳本、庫文件等,搭載的文件系統(tǒng)存到ARM11配置的2G Flash內(nèi)存中,移植系統(tǒng)最后步驟為開發(fā)驅(qū)動(dòng)程序,完成了所有步驟即將Linux操作系統(tǒng)嵌入到ARM11中[10-13]。其流程如圖5所示。
4 實(shí)驗(yàn)及仿真
將搭載好的Linux嵌入式系統(tǒng)放在恒溫箱中以模擬不同環(huán)境測(cè)量其穩(wěn)定性,實(shí)驗(yàn)數(shù)據(jù)表明搭載的嵌入式系統(tǒng)是穩(wěn)定可靠的。根據(jù)速度閉環(huán)和電流閉環(huán)的傳遞函數(shù)用軟件搭載速度反饋環(huán)節(jié)的仿真系統(tǒng)。在操作系統(tǒng)中,進(jìn)行PID仿真時(shí),設(shè)置目標(biāo)轉(zhuǎn)速為70r/min,調(diào)節(jié)參數(shù)KP=0.491,KI=0.028,KD=0.003,采樣時(shí)間為1s。在PID開始時(shí),其仿真圖如圖6,其中a代表設(shè)定值,b代表調(diào)節(jié)值,c代表輸出值。
當(dāng)人為加入擾動(dòng)時(shí),其PID仿真圖如圖7。
當(dāng)PID調(diào)節(jié)穩(wěn)定時(shí),其PID仿真圖如圖8。
從出現(xiàn)擾動(dòng)到PID調(diào)節(jié)穩(wěn)定期響應(yīng)速度在1s之內(nèi),由此看出加入嵌入式系統(tǒng)對(duì)PID反饋調(diào)節(jié)的作用。
5 結(jié)束語
針對(duì)之前單片機(jī)等芯片控制的電磁調(diào)速采煤機(jī)速度反饋出現(xiàn)的參數(shù)漂移,速度反饋不靈敏,實(shí)時(shí)性差等問題,本文提出了基于Linux嵌入式系統(tǒng),ARM11為核心的系統(tǒng)方案,同時(shí)系統(tǒng)內(nèi)嵌CANopen和Modbus協(xié)議,采用了高精度的CANopen軸角編碼器和電流變送器,通過實(shí)驗(yàn)和仿真證明應(yīng)用本方案極大程度減弱了參數(shù)漂移問題,使系統(tǒng)處理接收信號(hào)的時(shí)間更短,采集的信號(hào)更加準(zhǔn)確,實(shí)時(shí)性更強(qiáng)。
參考文獻(xiàn)
[1]劉建功.電磁調(diào)速電牽引采煤機(jī)控制系統(tǒng)[M].北京:煤炭工業(yè)出版社,2006:53-127.
[2]朱秀,謝子殿,石磊.基于電磁調(diào)速的電牽引采煤機(jī)調(diào)速控制器設(shè)計(jì)[J].煤炭科學(xué)技術(shù),2008,36(8):70-72.
[3]吳浩,王巍,李小波,等.基于單片機(jī)的電磁調(diào)速電牽引采煤機(jī)調(diào)速系統(tǒng)[J].煤炭科學(xué)技術(shù),2005,33(5):8-11.
[4]黃知超,張科偉,謝霞,等.基于速度反饋的直流電動(dòng)機(jī)復(fù)合控制方法[J].工礦自動(dòng)化,2013,39(12)65-67.
[5]李為民,姜漫.基于光電編碼器的速度反饋與控制技術(shù)[J].工控技術(shù),2004,6(24):84-88.
[6]劉建功,王汝琳.電磁調(diào)速電牽引采煤機(jī)制動(dòng)運(yùn)行的分析與應(yīng)用[J].煤炭科學(xué)技術(shù),2003,31(12):5-7.
[7]歐衛(wèi)斌.直流雙閉環(huán)調(diào)速系統(tǒng)及其模糊控制的仿真[J].工礦自動(dòng)化,2010,35(3):58-60.
[8]李小波,吳浩,張長(zhǎng)城.電磁調(diào)速電牽引采煤機(jī)直流微機(jī)調(diào)速系統(tǒng)研究[J].礦山機(jī)械,2005,33(3):11-12.
[9]劉俠,謝子殿.基于模糊控制的電磁調(diào)速采煤機(jī)控制系統(tǒng)的設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2009,22(5):55-58.
[10]姜俊輝.基于ARM的嵌入式系統(tǒng)硬件設(shè)計(jì)[J].微計(jì)算機(jī)信息,2005,21(2):119-122.
[11]王俊波,胥布工.CANopen協(xié)議分析與實(shí)現(xiàn)[J].嵌入式網(wǎng)絡(luò)技術(shù)應(yīng)用,2006,22(2):104-106.
[12]任瑋蒙,陶維青.基于CAN總線的高層協(xié)議CANopen[J].自動(dòng)化技術(shù)與應(yīng)用,2007,26(4):128-130.
[13]田家林,陳利學(xué),寇向輝.LINUX嵌入式操作系統(tǒng)在ARM上的移植[J].微計(jì)算機(jī)信息,2007,23(4):60-62.
作者簡(jiǎn)介:張?jiān)矗?990-),男,漢族,山東臨沂人,碩士研究生,研究方向:電力電子與電力傳動(dòng)。