李 漢,鐘飾勇
(廣州航海高等專科學校,廣東廣州510725)
在經濟型數控機床中,普遍采用步進電動機作為伺服驅動部件。步進電動機將電脈沖信號轉換成角位移,驅動執行機構按一定的規律運動。高精度的位置控制常采用全閉環控制[1-2],然而全閉環位置控制不僅需要高精度的位置檢測裝置,而且控制系統結構包含非線性環節導致控制系統模型復雜化,影響系統的穩定性和快速性。為解決非線性問題將自適應控制[3]、變結構模糊控制[4]等引入步進電動機位置控制系統中,提出三段控制策略[1]。但是這些控制方法和策略建立在步進電動機線性化的基礎上,或要求確定位置控制系統較多的參數,從而導致在實際應用中效果不盡人意。嵌入式數字控制系統配置靈活,功耗低,控制功能強,易于實現智能控制,已成為位置控制系統的主流。隨著單片機技術的發展,位置控制器經歷了8位、16位到32位的發展過程[5-7]。目前32位單片機運算速度快,片內資源豐富,成為高性能位置控制器的主要控制芯片。本文提出一種采用32位單片機為控制器,對大、小位置偏差采取不同控制策略、功能模塊化的步進電動機快速準確定位系統非線性設計方案。

圖1 步進電動機快速定位準確系統的硬件電路圖
步進電動機快速準確定位系統的硬件電路圖如圖1所示。控制器采用PHILIPS公司生產的基于ARM7TDMI-S內核的32位嵌入式處理器LPC2114,該處理器具有豐富的片內資源,如2個定時器、I2C接口、SPI接口、2個 UART接口、PWM、實時時鐘RTC、看門狗、A/D轉換器、多路中斷系統和數量較大的GPIO,給用戶系統設計帶來較大方便。控制器32位數據寬度對提高控制精度十分有利,同時CPU流水線設計使程序執行更快更流暢。上位機通過串行口對單片機控制器下達指令,單片機對步進電機進行升降速、位置實時控制,同時檢測步進電動機的轉速和位置,并回送給上位機。上位機將接收到的數據存儲記錄,同時采用圖形曲線顯示在屏幕上,由此研究升降速和快速位置控制的效果。
LPC2114的P0.8端控制步進電動機的轉向,P0.9端控制步進電動機的速度。步進電動機的轉速控制采用單片機內部定時器TIMER0控制,TIMER0配置為匹配中斷MR0、MR1,其中MR0的數值控制單片機輸出脈沖的頻率,決定步進電動機速度的快慢,MR1為使P0.9能輸出脈沖而配置,其值可以是MR0的一半。光電編碼器A相、B相和Z相信號由 P0.10、P0.11 和 P0.14 輸入到 LPC2114。P0.10 和 P0.11分別設置為 CAP1.0 、CAP1.1 下降沿捕獲中斷,P0.14設置為外部中斷EINT2。機床的原點檢測采用柵點法,其優點是原點的保持性好。檢測近原點的光電開關由P0.12輸入到LPC2114,當機床接近原點時擋板擋住光電開關,使其輸出低電平,而擋板離開光電開關后輸出高電平。光電開關和編碼器的Z相信號共同決定原點的位置,即當光電開關輸出低電平信號時,編碼器Z相信號的上升沿指示機床的原點。
步進電動機快速準確定位系統的結構圖如圖2所示,由位置補償表、位置控制器、升降速控制器、信號轉換器、轉速及位置檢測器和轉速反饋及失步檢測器等功能模塊組成。上位機向步進電動機定位系統下達位置指令X0,控制器根據起始位置、目標位置和轉向查找位置補償表得到補償位置ΔX,形成實際位置指令Xs,進而得到位置偏差e,位置控制器根據偏差e和步進電動機當前轉速nf發出轉速指令ns,再由升降速控制器按照一定的規律計算出當前步進電動機的轉速n,之后由信號轉換器解析為轉向信號dir和脈沖信號cp,控制步進電動機的轉速和轉向,步進電動機以最佳速度達到指令位置X0。當系統到達指令位置X0時,位置控制器必須使步進電動機的轉速降為可停車轉速,從而達到快速準確定位控制的要求。

圖2 步進電動機快速準確定位系統結構圖
步進電動機快速準確定位系統的目的能否達到關鍵在于位置控制器,因此位置控制器的設計是本文的關鍵技術。假設升降速控制器保證步進電動機的轉速能以準確的速率Dec直線下降,步進電動機的最低轉速、最高轉速分別為nmin、nmax。步進電動機從nmax直線下降到nmin,步進電動機所移動的位置偏差為Em,則:

同理,電機當前轉速為n時,步進電動機從n直線下降到nmin,步進電動機所移動的位置偏差:

上式以位置正偏差時能減少偏差的運動方向為轉速的正方向,當位置負偏差時步進電動機的運動方向應為負方向,則有:


圖3 位置控制切換開關線
(1)僅將相平面分為P、N兩個區,未考慮位置大小偏差處理的差異,容易導致位置小偏差時定位過沖,甚至系統不穩定;
(2)由于位置控制器輸出轉速指令為±nmax,數值較大,且控制器具有采樣周期的時間限制,當升速率較高時升降速控制器輸出的轉速可能穿越開關線,而非剛好落在開關線上,造成定位系統振蕩,無法正常工作;
(3)轉速出現從正轉到反轉或反轉到正轉穿越的情況,容易造成升降速混淆,導致升降速控制器編程質量差,易出現問題。
針對上述問題對位置控制器控制作如下改進:
(1)設步進電動機的起動轉速為nst,在最佳開關線上nst對應的位置偏差為Ec,依據Ec將位置偏差分為大、小兩個區域,|e|≤Ec為小偏差區(0、1區),|e|>Ec為大偏差區(2、3區)。當系統狀態處于小偏差區時,位置控制器輸出不是±nmax,而是根據開關線方程式(2)或式(3)的反函數求取并設置強制初始轉速n,同時位置控制器輸出指令轉速ns=±nmin,使步進電動機以給定的速率降速,系統將最終到達c或g點,達到快速準確停車的目的。利用式(2)或式(3)的反函數求取初始轉速n時需要平方根運算,這對LPC2114單片機來說是一件非常耗時的工作,直接影響到定位系統的實時性,可將曲線段bc和fg線性化,采用線性方程式求解,則有:

在nst和nmin差異不是很大的條件下,線性化結果的誤差是可以接受的,并不影響定位系統的穩定性。
(2)為了方便控制和編程,將相平面分為0~7共8個區,如圖3實線所圍區域,其中0、1為小偏差區,2、3 為大偏差區,4、5 為降速區,6、7 為轉換降速區即降速到達 ±nmin時反向加速。0、2、4、6為正轉控制區,1、3、5、7為反轉控制區。分區控制對位置控制器的編程和測試十分有利。
(3)設置定位系統允許停車轉速為nsp(nsp>nmin),當|n|≤nsp且e=0時定位系統可立刻停車。因控制系統計算誤差或響應延時,系統降速停車時零位置偏差點不在c或g點,但只要|n|≤nsp,也可立即停車,系統并不會出現位置過沖。可見使用適當的停車轉速可提高定位系統的快速準確性,有利于消除振蕩。
位置控制發出步進電動機轉速的指令,由升降速控制器負責將轉速逐步提升或降低到目標轉速。
(1)大位置偏差,位置控制器指令轉速為nmax,升降速控制器從起動轉速nst或當前轉速n開始將步進電動機的轉速按一定的規律提升到轉速nmax,到達開關線后降速,直至準確停車。實驗證實采用本文所使用的位置控制器,步進電動機的升速規律與定位系統的穩定性無關,系統可以采用各種高效的升速規律控制步進電動機的轉速,這對提高定位系統的快速性十分有利。
(2)小位置偏差,由于步進電動機按線性規律降速時初始轉速小于起動轉速nst,因此無需升速過程,而采取由最佳開關線計算出定位所需的初始轉速n,設置為當前步進電動機的轉速,同時位置控制器指令轉速為nmin,使電機降速,定位系統最終到達零偏差時電機的轉速也近乎為nmin,可準確定位。
為了補償由于定位系統的傳動誤差、運動機構間隙非線性、絲杠的扭轉剛度不足等原因造成定位誤差,在不使用直接位置檢測的情況下可采用補償表來減少定位系統的誤差。構建補償表應考慮如下因素:(1)起點和終點;(2)往返;(3)系統運行時間。為了減少補償表的數據量,可使用插補的方法。補償表僅在位置指令X0輸入時調用,而非每步都調用。
定位系統位置和轉速的檢測采用增量型編碼器。為了簡化系統,降低成本,未使用位置傳感器檢測工作臺的位置,僅檢測步進電動機軸端的位置。采用抗振動M/T測速方法[8]可提高轉速和位置檢測的準確度并具備抗振動性。因為系統可實時檢測步進電動機的轉速,通過比較升降速控制器的輸出轉速n和實測轉速nact來檢測是否失步,但要設置一個允許偏差。定位系統一旦檢測到失步立即重啟位置控制,確保定位的可靠性。

圖4 采用指數升速規律的位置和轉速實測曲線

圖5 采用最佳升速規律的位置和轉速實測曲線
實驗條件:步進電動機采用42BYGH023,步進電動機驅動器DL-022M-I,步進電動機的步距角為1.8°,驅動器10倍細分,光電編碼器E30S4-500-3-2-5。測速周期40 ms。最高轉速nmax=720 r/min,最低轉速nmin=10 r/min,起動轉速nst=120 r/min,停車轉速nsp=60 r/min,轉速下降率Dec=1 440 r·min-1·s-1。根據不同的升速規律得出的實驗結果如圖4、5所示,其中圖4為按指數規律升速的實驗曲線,初始加速率Acc=1 000 r·min-1·s-1,圖5為根據步進電動機矩頻特性設計的最佳升速規律的實驗曲線,初始加速率Acc=1 000 r·min-1·s-1。位置補償不影響本系統的穩定性和快速性,故實驗測試位置指令選擇Xs。圖4、圖5位置x的單位步是指光電編碼器的脈沖步數,而非步進電動機的步數。實驗結果可得出如下結論:
(1)定位系統以線性規律降速且選擇適當的降速率,可保證定位系統的穩定性,無超調。
(2)步進電動機的升速規律不影響系統的穩定性。步進電動機采用指數規律或最佳規律升速,定位系統皆保持穩定。相同的步距,采用最佳升速規律的快速性比采用指數規律好。例如步距100步時,采用指數規律和采用最佳升速規律的時間分別是320 ms和260 ms;步距6 000步時,采用指數規律和采用最佳升速規律的時間分別是1 560 ms和1 400 ms。
(3)大位置偏差情況下,步進電動機的轉速能按線性規律下降,但小位置偏差時步進電動機的轉速未能按線性規律下降,這是因為設置的最低轉速較低(10 r/min),當接近最低轉速時電機完成轉速所需的步進周期超過轉速下降率要求的時間,導致控制滯后。這種現象使得定位系統的實際響應時間超過理論計算的時間,這一點在實際工作中要加以注意。
(4)小位置偏差時,步進電動機沒有升速過程,直接設置一個初始轉速,而后使其降速到nmin,完成準確定位。實驗證實這種方法是可行的,不僅有效避免定位系統的振蕩,在微量位移時不產生爬行現象。
(5)實驗表明適度的停車轉速在保證位置調節無超調的前提下能消除定位振蕩。
本文將步進電動機快速定位準確系統劃分為補償表、位置控制器、升降速控制器、信號轉換器、轉速及位置檢測器和轉速反饋及失步檢測器等6個功能模塊,各個模塊功能明確,有利于控制器編程和調試。針對快速定位系統Bang-Bang非線性控制的不足提出改進,將位置控制的相平面分為8個區域,不僅考慮了大、小位置偏差時應采取不同的控制策略,同時提出一種小位置偏差的控制策略。實驗證實這種控制策略是有效的,它提高了定位控制系統的穩定性和快速性。
[1] 周凱.步進驅動系統的高精度閉環控制[J].電機與控制學報,1998,2(1):13-17.
[2] 趙顯紅,孫立功.一種數字式步進電動機閉環位置控制系統設計[J].微電機,2008,14(8):90-92.
[3] 段英宏,孫慎言,孫鵬遠.步進電動機的自適應控制[J].吉林工學院學報,2000,21(4):38-41.
[4] 孟慶德,張纓,蔡凌,等.一種新型的隨動系統變結構模糊位置控制器[J].指揮控制與仿真,2010,32(4):105-109.
[5] 孫浩,李大海,高鮮妮,等.基于模擬閉環的步進電機位置控制系統設計[J].機床與液壓,2009,37(1):99-101.
[6] 胡超,劉小康,高忠華,等.基于ARM的高精度自動定位系統設計[J].微計算機信息(嵌入式與SOC),2009,25(7-2):101-103.
[7] 孟凱,張炯.LPC2210微控制器在步進電機位置控制系統中的應用[J].電工電氣,2010,(8):32-35.
[8] 李漢.一種光電編碼器抗振動測速的方法[J].電氣傳動,2010,40(6):78-80.
[9] 廖曉鐘,劉向東.自動控制系統(第2版)[M].北京:北京理工大學出版社,2011.