張壽春
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
在工業(yè)過(guò)程控制系統(tǒng)中,電動(dòng)執(zhí)行器能夠?qū)⒔邮盏目刂菩盘?hào)(4~20 mA電流信號(hào)或 1-5 V的電壓信號(hào)或1-10 V)轉(zhuǎn)換成輸出軸的角位移、直線(xiàn)位移從而控制閥門(mén)的位置[1]。傳統(tǒng)的電動(dòng)執(zhí)行器控制器是通過(guò)可控硅來(lái)驅(qū)動(dòng)交流電機(jī)來(lái),而由于交流電機(jī)本身的特點(diǎn),制動(dòng)時(shí)的慣性較大而導(dǎo)致控制精度較差,同時(shí)要帶動(dòng)大力矩,電機(jī)本身的體積大,很難進(jìn)行速度調(diào)節(jié)。隨著電子電路以及大規(guī)模集成電路的開(kāi)發(fā)與應(yīng)用,出現(xiàn)了各種高性能的電子器件和微處理器,同時(shí)近年來(lái)電機(jī)控制理論和稀土永磁材料的迅速發(fā)展使得無(wú)刷直流電機(jī)以其體積小,可靠性高,輸出轉(zhuǎn)矩大等優(yōu)點(diǎn),使得直流無(wú)刷電機(jī)在許多領(lǐng)域內(nèi)獲得應(yīng)用[2]。
文中采用ARM核的LPC2132[3]和選用無(wú)刷直流電機(jī)來(lái)驅(qū)動(dòng)執(zhí)行機(jī)構(gòu),同時(shí)采用C8051F410[4]來(lái)高精度地采集信號(hào)。系統(tǒng)采用硬件濾波和數(shù)字濾波相結(jié)合的技術(shù)使輸入信號(hào)和反饋信號(hào)的采集精度得到很大的提高,同時(shí)通過(guò)芯片LPC2132來(lái)控制無(wú)刷直流電機(jī)實(shí)現(xiàn)速度的調(diào)節(jié),同時(shí)對(duì)執(zhí)行器的運(yùn)行位置進(jìn)行實(shí)現(xiàn)了數(shù)字化定位。
ARM(Advanced RISC Machine)是設(shè)計(jì)這種處理器內(nèi)核的公司的名字。ARM內(nèi)核不是芯片。它與其他部件,如RAM、ROM、片內(nèi)外設(shè),組合在一起才構(gòu)成現(xiàn)實(shí)的芯片。ARM作為一類(lèi)微處理器的通稱(chēng),作為一種低功耗、高性能的32位嵌入式微處理器,已經(jīng)被廣泛應(yīng)用在各個(gè)領(lǐng)域中[5-6]。
文中選用的ARM芯片LPC2132是基于一個(gè)支持實(shí)時(shí)仿真和跟蹤的16/32位ARMTTDMI-S CPU,帶有64 KB嵌入的高速Flash存儲(chǔ)器。128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行。它有極低的功耗、多個(gè)32位定時(shí)器、2路10位ADC、PWM通道以及多達(dá)9個(gè)外部中斷和47個(gè)GPIO使它們廣泛應(yīng)用于汽車(chē)、工業(yè)控制等領(lǐng)域[7]。
控制系統(tǒng)采用LPC2132芯片及數(shù)字化的方法來(lái)控制電動(dòng)執(zhí)行器運(yùn)行。通過(guò)面板按鈕及液晶菜單,使得操作人員既可以在現(xiàn)場(chǎng)完成各種參數(shù)的設(shè)置。控制器可以預(yù)先設(shè)定閥門(mén)的回差、速度和行程等參數(shù),接受C8051F410發(fā)送來(lái)的所采集的閥門(mén)開(kāi)度給定信號(hào)。
在閥門(mén)運(yùn)動(dòng)過(guò)程中,控制器實(shí)時(shí)比較設(shè)定信號(hào)與反饋信號(hào),當(dāng)輸入與輸出在一定范圍內(nèi)時(shí)電機(jī)停止。由LPC2132及時(shí)采集霍爾的信號(hào),通過(guò)測(cè)量霍爾的脈沖寬度來(lái)計(jì)算電機(jī)的速度,將采集的速度與設(shè)定的速度值進(jìn)行比較,實(shí)時(shí)調(diào)節(jié)PWM的值,以達(dá)到控制速度的目的。系統(tǒng)原理如圖1所示。
圖1 系統(tǒng)原理框圖Fig.1 Block diagram of system principle
系統(tǒng)采用雙MCU結(jié)構(gòu),主要電路有二部分組成:一是直流無(wú)刷電機(jī)霍爾采集電路及驅(qū)動(dòng)電路;二是信號(hào)采集電路。利用C8051F410的ADC模塊把電位器的位置反饋信號(hào)和遠(yuǎn)程送來(lái)的控制信號(hào)(如4-20 MA)轉(zhuǎn)化為數(shù)字信號(hào);通過(guò)串口將數(shù)據(jù)傳輸給lpc2132主控制器,同時(shí)在雙處理器之間采用光電隔離電路增強(qiáng)了系統(tǒng)的抗干擾能力。在本系統(tǒng)中位置檢測(cè)是位置控制的關(guān)鍵,它不僅能夠向控制器提供電機(jī)當(dāng)前的狀態(tài),而且能夠反映出電機(jī)的運(yùn)轉(zhuǎn)速度。實(shí)際應(yīng)用中為達(dá)到更好的精度和避免干擾,只有上電初始化時(shí)采集位置信號(hào),從而首先確定位置。將該位置信號(hào)轉(zhuǎn)換為電機(jī)的當(dāng)前的計(jì)數(shù)脈沖數(shù)。電路如圖2和圖3所示。
圖2 驅(qū)動(dòng)電路圖Fig.2 Circuit diagram of drive
圖3 信號(hào)采集電路圖Fig.3 Circuit diagram of collecting data
在圖2中,場(chǎng)效應(yīng)管IRF3205上管的驅(qū)動(dòng)電源采用電源變換模塊LM2575輸出5 V時(shí),利用PWM原理產(chǎn)生39 V的高壓。用74HC14芯片來(lái)采集霍爾信號(hào),三個(gè)信號(hào)連接LPC2132 的 P0.27,P0.28,P0.29 口,P0.27 引腳設(shè)置第二功能捕獲,當(dāng)來(lái)一個(gè)脈沖時(shí)產(chǎn)生中斷,在二個(gè)中斷之間進(jìn)行計(jì)數(shù)。通過(guò)計(jì)算定時(shí)值可以獲得電機(jī)的速度。設(shè)計(jì)中取C8015F410的P2.5口測(cè)量輸入信號(hào),用P0.26口測(cè)量反饋電位器的電壓值。測(cè)量電路須盡可能靠近C8051F410的I/O口,可以減少干擾。通過(guò)串口獲得LPC2132發(fā)送來(lái)的反饋輸出百分比,使用C8051F410的PWM引腳通過(guò)光耦控制反饋輸出4~20 MA。
系統(tǒng)的主處理器LPC2132的軟件設(shè)計(jì)主要有:串口處理程序,按鍵和液晶菜單顯示程序,電機(jī)驅(qū)動(dòng)計(jì)數(shù)程序,速度計(jì)算程序等。在電機(jī)運(yùn)動(dòng)中根據(jù)霍爾傳感器的6個(gè)狀態(tài)的不同進(jìn)行計(jì)數(shù)值的加減。假設(shè)零位和滿(mǎn)度之間電機(jī)需要走3 000個(gè)脈沖,那么上電時(shí)通過(guò)采集電位器的值換算成相應(yīng)的脈沖數(shù)(如行程的50%,現(xiàn)在位置的數(shù)是1 500)。如果給定信號(hào)百分比是100,那么電機(jī)需向上走1 500個(gè)脈沖。以下的代碼主要實(shí)現(xiàn)速度的計(jì)算。選用6槽電機(jī),每轉(zhuǎn)的脈沖數(shù)2。通過(guò)T0定時(shí)器的捕獲功能,獲得一個(gè)脈沖的脈寬,從而計(jì)算出電機(jī)的實(shí)時(shí)速度。系統(tǒng)將設(shè)定的速度(存在變量set_sd中)與測(cè)量的速度(存在變量sdd_da中)進(jìn)行比較,實(shí)現(xiàn)閉環(huán)調(diào)速。
系統(tǒng)的另一個(gè)微處理器C8051F410的軟件設(shè)計(jì)主要有串口處理程序,AD測(cè)量程序等。下面的代碼主要是測(cè)量程序,初始化時(shí)選定二個(gè)AD通道,輪流切換進(jìn)行測(cè)量,測(cè)量結(jié)果放在FeedBack和Input變量中。為了減少工頻干擾,1 ms測(cè)量16次,測(cè)量80 ms,將采集的進(jìn)行數(shù)據(jù)均值濾波處理得到測(cè)量值。通過(guò)串口發(fā)送給主處理器。
實(shí)驗(yàn)時(shí)執(zhí)行器電位器選用1K歐姆精度為5‰,直流電機(jī)額定轉(zhuǎn)速為3000轉(zhuǎn)/分。 用信號(hào)源輸入4MA;8MA;12MA;16MA;20 MA,分別對(duì)應(yīng)百分比如表1。液晶實(shí)時(shí)顯示電機(jī)的位置。首先設(shè)定行程,即電機(jī)從關(guān)位到滿(mǎn)度的運(yùn)動(dòng)區(qū)間(直行程5 cm)。
表1 輸入輸出誤差比較Tab.1 Input and output error comparison
通過(guò)對(duì)比實(shí)驗(yàn)發(fā)現(xiàn),由于電位器的精度和線(xiàn)性度的影響,控制系統(tǒng)所采集的位置并不是很準(zhǔn),目前一般廠家考慮到成本不采用高品質(zhì)的電位器。采用霍爾計(jì)數(shù)的方式,由于電機(jī)轉(zhuǎn)一圈發(fā)出6個(gè)脈沖,可以將電機(jī)運(yùn)動(dòng)誤差控制在不超過(guò)1個(gè)脈沖。對(duì)于100 cm的長(zhǎng)行程來(lái)說(shuō),由于電機(jī)運(yùn)動(dòng)時(shí)間長(zhǎng),計(jì)數(shù)脈沖多,那么精度更高。為了保證在短行程應(yīng)用中也能高精度控制,可采用改變機(jī)械齒輪的變比,以使行程的脈沖數(shù)不少于一定值。
由于現(xiàn)場(chǎng)干擾源多,采用上電采集位置信息轉(zhuǎn)換為電機(jī)脈沖數(shù)來(lái)判斷電機(jī)的運(yùn)動(dòng)位置方法,提高了系統(tǒng)的精度,系統(tǒng)抗干擾能力也使得到提高,避免電機(jī)在運(yùn)動(dòng)中由于電位器的故障導(dǎo)致誤動(dòng)作。在對(duì)給定信號(hào)采集中采用模擬濾波與數(shù)字濾波相結(jié)合的方法,同時(shí)通過(guò)光電隔離的串口傳輸使主控微處理器與數(shù)據(jù)采集模塊相隔離,減少了相互影響。通過(guò)電子限位以及ARM核異常處理來(lái)實(shí)現(xiàn)系統(tǒng)本身的自診斷和處理,增加了系統(tǒng)本身的可靠性。文中所設(shè)計(jì)的電動(dòng)執(zhí)行器雙核控制系統(tǒng),已投入使用,到目前為止工作可靠,性能穩(wěn)定。系統(tǒng)在對(duì)甚高頻的電磁干擾,以及電位器長(zhǎng)時(shí)間使用中的誤差最優(yōu)處理等仍然有不足,可以進(jìn)一步研究以達(dá)到最佳效果。
[1]慈兆會(huì),孔令成,方穎,等.基于TMS320F2812的智能電動(dòng)執(zhí)行器控制系統(tǒng)設(shè)計(jì)[J].測(cè)控技術(shù),2010,10(29):55-57.
CI Zhao-hui,KONG Ling-cheng,F(xiàn)ANG Ying,et al.Control system of intelligent electric actuator based on TMS320F2812 [J].Measurement& Control Technology,2010,10(29):55-57.
[2]楊蘋(píng),胡郴龍,姜華.基于可變參數(shù)PI控制的無(wú)刷直流電動(dòng)機(jī)調(diào)速系統(tǒng)[J].微計(jì)算機(jī)信息,2010,3(26):11-13.
YANG Ping,HU Chen-long,JIANG Hua.Brushless DC motor speed adjustment system based on PI control with variable parameter[J].Microcomputer&Information,2010,3(26):11-13.
[3]PhilipsSemiconductors.LPC2132 Productdata[EB/OL].[2009-11-07].http://www.alldatasheet.com/datasheet-pdf/pdf/99073/PHILIPS/LPC2132.html.
[4]Silicon laboratories.C8051F410/1/2/3[EB/OL].[2010-10-02].http://www.alldatasheet.com/datasheet-pdf/pdf/C8051F410.html.
[5]周立功.ARM微控制器基礎(chǔ)與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2003.
[6]周立功,張華等.深入淺出ARM7——LPC213x/LPC214x(下冊(cè))[M].北京:北京航空航天大學(xué)出版社,2005.
[7]周立功,張華等.深入淺出ARM7——LPC213x/LPC214x(上冊(cè))[M].北京:北京航空航天大學(xué)出版社,2005.