李 漢,鐘飾勇
(廣州航海高等??茖W(xué)校,廣東廣州510725)
在經(jīng)濟(jì)型數(shù)控機(jī)床中,普遍采用步進(jìn)電動(dòng)機(jī)作為伺服驅(qū)動(dòng)部件。步進(jìn)電動(dòng)機(jī)將電脈沖信號(hào)轉(zhuǎn)換成角位移,驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)按一定的規(guī)律運(yùn)動(dòng)。高精度的位置控制常采用全閉環(huán)控制[1-2],然而全閉環(huán)位置控制不僅需要高精度的位置檢測(cè)裝置,而且控制系統(tǒng)結(jié)構(gòu)包含非線性環(huán)節(jié)導(dǎo)致控制系統(tǒng)模型復(fù)雜化,影響系統(tǒng)的穩(wěn)定性和快速性。為解決非線性問題將自適應(yīng)控制[3]、變結(jié)構(gòu)模糊控制[4]等引入步進(jìn)電動(dòng)機(jī)位置控制系統(tǒng)中,提出三段控制策略[1]。但是這些控制方法和策略建立在步進(jìn)電動(dòng)機(jī)線性化的基礎(chǔ)上,或要求確定位置控制系統(tǒng)較多的參數(shù),從而導(dǎo)致在實(shí)際應(yīng)用中效果不盡人意。嵌入式數(shù)字控制系統(tǒng)配置靈活,功耗低,控制功能強(qiáng),易于實(shí)現(xiàn)智能控制,已成為位置控制系統(tǒng)的主流。隨著單片機(jī)技術(shù)的發(fā)展,位置控制器經(jīng)歷了8位、16位到32位的發(fā)展過程[5-7]。目前32位單片機(jī)運(yùn)算速度快,片內(nèi)資源豐富,成為高性能位置控制器的主要控制芯片。本文提出一種采用32位單片機(jī)為控制器,對(duì)大、小位置偏差采取不同控制策略、功能模塊化的步進(jìn)電動(dòng)機(jī)快速準(zhǔn)確定位系統(tǒng)非線性設(shè)計(jì)方案。
圖1 步進(jìn)電動(dòng)機(jī)快速定位準(zhǔn)確系統(tǒng)的硬件電路圖
步進(jìn)電動(dòng)機(jī)快速準(zhǔn)確定位系統(tǒng)的硬件電路圖如圖1所示??刂破鞑捎肞HILIPS公司生產(chǎn)的基于ARM7TDMI-S內(nèi)核的32位嵌入式處理器LPC2114,該處理器具有豐富的片內(nèi)資源,如2個(gè)定時(shí)器、I2C接口、SPI接口、2個(gè) UART接口、PWM、實(shí)時(shí)時(shí)鐘RTC、看門狗、A/D轉(zhuǎn)換器、多路中斷系統(tǒng)和數(shù)量較大的GPIO,給用戶系統(tǒng)設(shè)計(jì)帶來(lái)較大方便??刂破?2位數(shù)據(jù)寬度對(duì)提高控制精度十分有利,同時(shí)CPU流水線設(shè)計(jì)使程序執(zhí)行更快更流暢。上位機(jī)通過串行口對(duì)單片機(jī)控制器下達(dá)指令,單片機(jī)對(duì)步進(jìn)電機(jī)進(jìn)行升降速、位置實(shí)時(shí)控制,同時(shí)檢測(cè)步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速和位置,并回送給上位機(jī)。上位機(jī)將接收到的數(shù)據(jù)存儲(chǔ)記錄,同時(shí)采用圖形曲線顯示在屏幕上,由此研究升降速和快速位置控制的效果。
LPC2114的P0.8端控制步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)向,P0.9端控制步進(jìn)電動(dòng)機(jī)的速度。步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速控制采用單片機(jī)內(nèi)部定時(shí)器TIMER0控制,TIMER0配置為匹配中斷MR0、MR1,其中MR0的數(shù)值控制單片機(jī)輸出脈沖的頻率,決定步進(jìn)電動(dòng)機(jī)速度的快慢,MR1為使P0.9能輸出脈沖而配置,其值可以是MR0的一半。光電編碼器A相、B相和Z相信號(hào)由 P0.10、P0.11 和 P0.14 輸入到 LPC2114。P0.10 和 P0.11分別設(shè)置為 CAP1.0 、CAP1.1 下降沿捕獲中斷,P0.14設(shè)置為外部中斷EINT2。機(jī)床的原點(diǎn)檢測(cè)采用柵點(diǎn)法,其優(yōu)點(diǎn)是原點(diǎn)的保持性好。檢測(cè)近原點(diǎn)的光電開關(guān)由P0.12輸入到LPC2114,當(dāng)機(jī)床接近原點(diǎn)時(shí)擋板擋住光電開關(guān),使其輸出低電平,而擋板離開光電開關(guān)后輸出高電平。光電開關(guān)和編碼器的Z相信號(hào)共同決定原點(diǎn)的位置,即當(dāng)光電開關(guān)輸出低電平信號(hào)時(shí),編碼器Z相信號(hào)的上升沿指示機(jī)床的原點(diǎn)。
步進(jìn)電動(dòng)機(jī)快速準(zhǔn)確定位系統(tǒng)的結(jié)構(gòu)圖如圖2所示,由位置補(bǔ)償表、位置控制器、升降速控制器、信號(hào)轉(zhuǎn)換器、轉(zhuǎn)速及位置檢測(cè)器和轉(zhuǎn)速反饋及失步檢測(cè)器等功能模塊組成。上位機(jī)向步進(jìn)電動(dòng)機(jī)定位系統(tǒng)下達(dá)位置指令X0,控制器根據(jù)起始位置、目標(biāo)位置和轉(zhuǎn)向查找位置補(bǔ)償表得到補(bǔ)償位置ΔX,形成實(shí)際位置指令Xs,進(jìn)而得到位置偏差e,位置控制器根據(jù)偏差e和步進(jìn)電動(dòng)機(jī)當(dāng)前轉(zhuǎn)速nf發(fā)出轉(zhuǎn)速指令ns,再由升降速控制器按照一定的規(guī)律計(jì)算出當(dāng)前步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速n,之后由信號(hào)轉(zhuǎn)換器解析為轉(zhuǎn)向信號(hào)dir和脈沖信號(hào)cp,控制步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速和轉(zhuǎn)向,步進(jìn)電動(dòng)機(jī)以最佳速度達(dá)到指令位置X0。當(dāng)系統(tǒng)到達(dá)指令位置X0時(shí),位置控制器必須使步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速降為可停車轉(zhuǎn)速,從而達(dá)到快速準(zhǔn)確定位控制的要求。
圖2 步進(jìn)電動(dòng)機(jī)快速準(zhǔn)確定位系統(tǒng)結(jié)構(gòu)圖
步進(jìn)電動(dòng)機(jī)快速準(zhǔn)確定位系統(tǒng)的目的能否達(dá)到關(guān)鍵在于位置控制器,因此位置控制器的設(shè)計(jì)是本文的關(guān)鍵技術(shù)。假設(shè)升降速控制器保證步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速能以準(zhǔn)確的速率Dec直線下降,步進(jìn)電動(dòng)機(jī)的最低轉(zhuǎn)速、最高轉(zhuǎn)速分別為nmin、nmax。步進(jìn)電動(dòng)機(jī)從nmax直線下降到nmin,步進(jìn)電動(dòng)機(jī)所移動(dòng)的位置偏差為Em,則:
同理,電機(jī)當(dāng)前轉(zhuǎn)速為n時(shí),步進(jìn)電動(dòng)機(jī)從n直線下降到nmin,步進(jìn)電動(dòng)機(jī)所移動(dòng)的位置偏差:
上式以位置正偏差時(shí)能減少偏差的運(yùn)動(dòng)方向?yàn)檗D(zhuǎn)速的正方向,當(dāng)位置負(fù)偏差時(shí)步進(jìn)電動(dòng)機(jī)的運(yùn)動(dòng)方向應(yīng)為負(fù)方向,則有:
圖3 位置控制切換開關(guān)線
(1)僅將相平面分為P、N兩個(gè)區(qū),未考慮位置大小偏差處理的差異,容易導(dǎo)致位置小偏差時(shí)定位過沖,甚至系統(tǒng)不穩(wěn)定;
(2)由于位置控制器輸出轉(zhuǎn)速指令為±nmax,數(shù)值較大,且控制器具有采樣周期的時(shí)間限制,當(dāng)升速率較高時(shí)升降速控制器輸出的轉(zhuǎn)速可能穿越開關(guān)線,而非剛好落在開關(guān)線上,造成定位系統(tǒng)振蕩,無(wú)法正常工作;
(3)轉(zhuǎn)速出現(xiàn)從正轉(zhuǎn)到反轉(zhuǎn)或反轉(zhuǎn)到正轉(zhuǎn)穿越的情況,容易造成升降速混淆,導(dǎo)致升降速控制器編程質(zhì)量差,易出現(xiàn)問題。
針對(duì)上述問題對(duì)位置控制器控制作如下改進(jìn):
(1)設(shè)步進(jìn)電動(dòng)機(jī)的起動(dòng)轉(zhuǎn)速為nst,在最佳開關(guān)線上nst對(duì)應(yīng)的位置偏差為Ec,依據(jù)Ec將位置偏差分為大、小兩個(gè)區(qū)域,|e|≤Ec為小偏差區(qū)(0、1區(qū)),|e|>Ec為大偏差區(qū)(2、3區(qū))。當(dāng)系統(tǒng)狀態(tài)處于小偏差區(qū)時(shí),位置控制器輸出不是±nmax,而是根據(jù)開關(guān)線方程式(2)或式(3)的反函數(shù)求取并設(shè)置強(qiáng)制初始轉(zhuǎn)速n,同時(shí)位置控制器輸出指令轉(zhuǎn)速ns=±nmin,使步進(jìn)電動(dòng)機(jī)以給定的速率降速,系統(tǒng)將最終到達(dá)c或g點(diǎn),達(dá)到快速準(zhǔn)確停車的目的。利用式(2)或式(3)的反函數(shù)求取初始轉(zhuǎn)速n時(shí)需要平方根運(yùn)算,這對(duì)LPC2114單片機(jī)來(lái)說(shuō)是一件非常耗時(shí)的工作,直接影響到定位系統(tǒng)的實(shí)時(shí)性,可將曲線段bc和fg線性化,采用線性方程式求解,則有:
在nst和nmin差異不是很大的條件下,線性化結(jié)果的誤差是可以接受的,并不影響定位系統(tǒng)的穩(wěn)定性。
(2)為了方便控制和編程,將相平面分為0~7共8個(gè)區(qū),如圖3實(shí)線所圍區(qū)域,其中0、1為小偏差區(qū),2、3 為大偏差區(qū),4、5 為降速區(qū),6、7 為轉(zhuǎn)換降速區(qū)即降速到達(dá) ±nmin時(shí)反向加速。0、2、4、6為正轉(zhuǎn)控制區(qū),1、3、5、7為反轉(zhuǎn)控制區(qū)。分區(qū)控制對(duì)位置控制器的編程和測(cè)試十分有利。
(3)設(shè)置定位系統(tǒng)允許停車轉(zhuǎn)速為nsp(nsp>nmin),當(dāng)|n|≤nsp且e=0時(shí)定位系統(tǒng)可立刻停車。因控制系統(tǒng)計(jì)算誤差或響應(yīng)延時(shí),系統(tǒng)降速停車時(shí)零位置偏差點(diǎn)不在c或g點(diǎn),但只要|n|≤nsp,也可立即停車,系統(tǒng)并不會(huì)出現(xiàn)位置過沖。可見使用適當(dāng)?shù)耐\囖D(zhuǎn)速可提高定位系統(tǒng)的快速準(zhǔn)確性,有利于消除振蕩。
位置控制發(fā)出步進(jìn)電動(dòng)機(jī)轉(zhuǎn)速的指令,由升降速控制器負(fù)責(zé)將轉(zhuǎn)速逐步提升或降低到目標(biāo)轉(zhuǎn)速。
(1)大位置偏差,位置控制器指令轉(zhuǎn)速為nmax,升降速控制器從起動(dòng)轉(zhuǎn)速nst或當(dāng)前轉(zhuǎn)速n開始將步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速按一定的規(guī)律提升到轉(zhuǎn)速nmax,到達(dá)開關(guān)線后降速,直至準(zhǔn)確停車。實(shí)驗(yàn)證實(shí)采用本文所使用的位置控制器,步進(jìn)電動(dòng)機(jī)的升速規(guī)律與定位系統(tǒng)的穩(wěn)定性無(wú)關(guān),系統(tǒng)可以采用各種高效的升速規(guī)律控制步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速,這對(duì)提高定位系統(tǒng)的快速性十分有利。
(2)小位置偏差,由于步進(jìn)電動(dòng)機(jī)按線性規(guī)律降速時(shí)初始轉(zhuǎn)速小于起動(dòng)轉(zhuǎn)速nst,因此無(wú)需升速過程,而采取由最佳開關(guān)線計(jì)算出定位所需的初始轉(zhuǎn)速n,設(shè)置為當(dāng)前步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速,同時(shí)位置控制器指令轉(zhuǎn)速為nmin,使電機(jī)降速,定位系統(tǒng)最終到達(dá)零偏差時(shí)電機(jī)的轉(zhuǎn)速也近乎為nmin,可準(zhǔn)確定位。
為了補(bǔ)償由于定位系統(tǒng)的傳動(dòng)誤差、運(yùn)動(dòng)機(jī)構(gòu)間隙非線性、絲杠的扭轉(zhuǎn)剛度不足等原因造成定位誤差,在不使用直接位置檢測(cè)的情況下可采用補(bǔ)償表來(lái)減少定位系統(tǒng)的誤差。構(gòu)建補(bǔ)償表應(yīng)考慮如下因素:(1)起點(diǎn)和終點(diǎn);(2)往返;(3)系統(tǒng)運(yùn)行時(shí)間。為了減少補(bǔ)償表的數(shù)據(jù)量,可使用插補(bǔ)的方法。補(bǔ)償表僅在位置指令X0輸入時(shí)調(diào)用,而非每步都調(diào)用。
定位系統(tǒng)位置和轉(zhuǎn)速的檢測(cè)采用增量型編碼器。為了簡(jiǎn)化系統(tǒng),降低成本,未使用位置傳感器檢測(cè)工作臺(tái)的位置,僅檢測(cè)步進(jìn)電動(dòng)機(jī)軸端的位置。采用抗振動(dòng)M/T測(cè)速方法[8]可提高轉(zhuǎn)速和位置檢測(cè)的準(zhǔn)確度并具備抗振動(dòng)性。因?yàn)橄到y(tǒng)可實(shí)時(shí)檢測(cè)步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速,通過比較升降速控制器的輸出轉(zhuǎn)速n和實(shí)測(cè)轉(zhuǎn)速nact來(lái)檢測(cè)是否失步,但要設(shè)置一個(gè)允許偏差。定位系統(tǒng)一旦檢測(cè)到失步立即重啟位置控制,確保定位的可靠性。
圖4 采用指數(shù)升速規(guī)律的位置和轉(zhuǎn)速實(shí)測(cè)曲線
圖5 采用最佳升速規(guī)律的位置和轉(zhuǎn)速實(shí)測(cè)曲線
實(shí)驗(yàn)條件:步進(jìn)電動(dòng)機(jī)采用42BYGH023,步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)器DL-022M-I,步進(jìn)電動(dòng)機(jī)的步距角為1.8°,驅(qū)動(dòng)器10倍細(xì)分,光電編碼器E30S4-500-3-2-5。測(cè)速周期40 ms。最高轉(zhuǎn)速nmax=720 r/min,最低轉(zhuǎn)速nmin=10 r/min,起動(dòng)轉(zhuǎn)速nst=120 r/min,停車轉(zhuǎn)速nsp=60 r/min,轉(zhuǎn)速下降率Dec=1 440 r·min-1·s-1。根據(jù)不同的升速規(guī)律得出的實(shí)驗(yàn)結(jié)果如圖4、5所示,其中圖4為按指數(shù)規(guī)律升速的實(shí)驗(yàn)曲線,初始加速率Acc=1 000 r·min-1·s-1,圖5為根據(jù)步進(jìn)電動(dòng)機(jī)矩頻特性設(shè)計(jì)的最佳升速規(guī)律的實(shí)驗(yàn)曲線,初始加速率Acc=1 000 r·min-1·s-1。位置補(bǔ)償不影響本系統(tǒng)的穩(wěn)定性和快速性,故實(shí)驗(yàn)測(cè)試位置指令選擇Xs。圖4、圖5位置x的單位步是指光電編碼器的脈沖步數(shù),而非步進(jìn)電動(dòng)機(jī)的步數(shù)。實(shí)驗(yàn)結(jié)果可得出如下結(jié)論:
(1)定位系統(tǒng)以線性規(guī)律降速且選擇適當(dāng)?shù)慕邓俾?,可保證定位系統(tǒng)的穩(wěn)定性,無(wú)超調(diào)。
(2)步進(jìn)電動(dòng)機(jī)的升速規(guī)律不影響系統(tǒng)的穩(wěn)定性。步進(jìn)電動(dòng)機(jī)采用指數(shù)規(guī)律或最佳規(guī)律升速,定位系統(tǒng)皆保持穩(wěn)定。相同的步距,采用最佳升速規(guī)律的快速性比采用指數(shù)規(guī)律好。例如步距100步時(shí),采用指數(shù)規(guī)律和采用最佳升速規(guī)律的時(shí)間分別是320 ms和260 ms;步距6 000步時(shí),采用指數(shù)規(guī)律和采用最佳升速規(guī)律的時(shí)間分別是1 560 ms和1 400 ms。
(3)大位置偏差情況下,步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速能按線性規(guī)律下降,但小位置偏差時(shí)步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)速未能按線性規(guī)律下降,這是因?yàn)樵O(shè)置的最低轉(zhuǎn)速較低(10 r/min),當(dāng)接近最低轉(zhuǎn)速時(shí)電機(jī)完成轉(zhuǎn)速所需的步進(jìn)周期超過轉(zhuǎn)速下降率要求的時(shí)間,導(dǎo)致控制滯后。這種現(xiàn)象使得定位系統(tǒng)的實(shí)際響應(yīng)時(shí)間超過理論計(jì)算的時(shí)間,這一點(diǎn)在實(shí)際工作中要加以注意。
(4)小位置偏差時(shí),步進(jìn)電動(dòng)機(jī)沒有升速過程,直接設(shè)置一個(gè)初始轉(zhuǎn)速,而后使其降速到nmin,完成準(zhǔn)確定位。實(shí)驗(yàn)證實(shí)這種方法是可行的,不僅有效避免定位系統(tǒng)的振蕩,在微量位移時(shí)不產(chǎn)生爬行現(xiàn)象。
(5)實(shí)驗(yàn)表明適度的停車轉(zhuǎn)速在保證位置調(diào)節(jié)無(wú)超調(diào)的前提下能消除定位振蕩。
本文將步進(jìn)電動(dòng)機(jī)快速定位準(zhǔn)確系統(tǒng)劃分為補(bǔ)償表、位置控制器、升降速控制器、信號(hào)轉(zhuǎn)換器、轉(zhuǎn)速及位置檢測(cè)器和轉(zhuǎn)速反饋及失步檢測(cè)器等6個(gè)功能模塊,各個(gè)模塊功能明確,有利于控制器編程和調(diào)試。針對(duì)快速定位系統(tǒng)Bang-Bang非線性控制的不足提出改進(jìn),將位置控制的相平面分為8個(gè)區(qū)域,不僅考慮了大、小位置偏差時(shí)應(yīng)采取不同的控制策略,同時(shí)提出一種小位置偏差的控制策略。實(shí)驗(yàn)證實(shí)這種控制策略是有效的,它提高了定位控制系統(tǒng)的穩(wěn)定性和快速性。
[1] 周凱.步進(jìn)驅(qū)動(dòng)系統(tǒng)的高精度閉環(huán)控制[J].電機(jī)與控制學(xué)報(bào),1998,2(1):13-17.
[2] 趙顯紅,孫立功.一種數(shù)字式步進(jìn)電動(dòng)機(jī)閉環(huán)位置控制系統(tǒng)設(shè)計(jì)[J].微電機(jī),2008,14(8):90-92.
[3] 段英宏,孫慎言,孫鵬遠(yuǎn).步進(jìn)電動(dòng)機(jī)的自適應(yīng)控制[J].吉林工學(xué)院學(xué)報(bào),2000,21(4):38-41.
[4] 孟慶德,張纓,蔡凌,等.一種新型的隨動(dòng)系統(tǒng)變結(jié)構(gòu)模糊位置控制器[J].指揮控制與仿真,2010,32(4):105-109.
[5] 孫浩,李大海,高鮮妮,等.基于模擬閉環(huán)的步進(jìn)電機(jī)位置控制系統(tǒng)設(shè)計(jì)[J].機(jī)床與液壓,2009,37(1):99-101.
[6] 胡超,劉小康,高忠華,等.基于ARM的高精度自動(dòng)定位系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息(嵌入式與SOC),2009,25(7-2):101-103.
[7] 孟凱,張炯.LPC2210微控制器在步進(jìn)電機(jī)位置控制系統(tǒng)中的應(yīng)用[J].電工電氣,2010,(8):32-35.
[8] 李漢.一種光電編碼器抗振動(dòng)測(cè)速的方法[J].電氣傳動(dòng),2010,40(6):78-80.
[9] 廖曉鐘,劉向東.自動(dòng)控制系統(tǒng)(第2版)[M].北京:北京理工大學(xué)出版社,2011.