浙江理工大學(浙江 杭州310018) 朱石林 潘海鵬
交流電機具有結構簡單、堅固耐用、動態響應好、價格低廉、沒有機械換向器等一系列優點,由交流電機構成的交流變頻調速系統已成功地應用于工程實踐[1]。計算機和電子技術的高度發展,促使交流調速逐步從模擬化向數字化轉變[2],在工業控制中,變頻調速按偏差的比例 kp、積分 ki和微分 kd進行控制的PID調節器已得到廣泛的應用。隨著單片機控制技術不斷發展,浮點運算能力和運算速度都有很大提高,采用軟件技術實現PID算法,縮短了開發周期,降低了成本。針對普通交流調速中過大超調、響應較慢的現象,本文設計了一種基于積分分離PID算法的變頻調速系統,以滿足一些高性能的調速要求。
整個調速系統如圖1所示,主要由微處理器AT89C52、D/A轉換電路、隔離放大電路、變頻器驅動電路、測速電路以及看門狗電路等組成。鍵盤和LCD顯示接口是人機交流的部分:鍵盤用來輸入電機轉速的設定值,LCD顯示電機的運行狀態,出現過壓、短路等狀況及時報警,直到人為清除故障。如圖2所示是電機轉速閉環控制原理框圖。在電機轉速閉環控制中,由光電編碼器采集到的脈沖信號經過計算得到反饋值 u(k)與設定值 r(k)進行比較,其差值經積分分離PID算法進行處理,改變單片機P0口輸出值并通過執行機構變頻器控制電機轉速,以達到給定數字 r(k)。
系統采用變頻器對交流電機轉速進行實時控制。

變頻器的接口電路如圖3所示,變頻器U/V/W端子接三相交流電機(電機定子繞組采用Y接法)。當人為設定轉速時,單片機發出數字信號給DAC0832,放大隔離后變成0-10V的模擬量送到變頻器的AVI端口,變頻器U/V/W輸出頻率隨AVI端的電壓而變化,AT89C52可對DAC送入不同的二進制數值,在DAC0832的AVI端口得到相應的電壓,所以只要改變單片機輸出的數字量就可以改變電機轉速。此部分中采用線性光耦HCNR200芯片進行信號隔離,其中R1為100K!,R2為500!,R3為100K!。系統還有一些外圍電路控制電機的起停、正反轉等輔助功能:P2.2用來控制電機的正轉/停止,P2.2發出一個數字信號“0”時,在74HC537的1Q端形成一個低電平,光耦發光二極管發光,變頻器的FWD端口和公共端DCM接通,電機正轉;P2.2發出一個數字信號“1”時,FWD端口和公共端DCM斷開,電機停轉;同理用P2.3來控制電機的反轉/停止,P2.4來控制點動,此部分采用普通光耦PC817芯片進行信號隔離。


電路采用光電編碼器對交流電機進行實時速度檢測。
如圖4所示,編碼器信號A、編碼器信號B經過隔離電路傳送到單片機的P3.4、P3.2口。編碼器的兩相輸出信號經隔離放大,送到處理器為兩路相角相差90°的方波,根據軟件判斷電機旋轉的方向,在單位時間內檢測方波個數,就可以檢測出電機的轉速。
控制規律的實現是由計算機軟件完成的。
軟件設計基于KeilC51編寫的,采用模塊化結構設計,各個功能子塊獨立。在結構上由1個主程序和6個子程序組成。本系統主要模塊有主程序、INT0中斷子程序、T0中斷子程序、T1中斷子程序、積分分離PID算法子程序和顯示、鍵盤處理子程序。主程序進行一系列的初始化等待中斷。外部中斷INT0服務子程序對光電編碼器輸出的轉速脈沖計數。T0產生5Oms定時中斷,T0中斷服務子程序對中斷次數計數,每20次中斷讀出轉速脈沖計數值,計算出轉速并保存到顯示緩沖區。T1產生采樣周期T定時中斷,每間隔T秒中斷一次,完成一次PID控制計算,同時調用積分分離PID子程序對測試轉速和設定轉速進行差值計算得出輸出,并由P0送出二進制數調整電機轉速。
在實現對速度、溫度、壓強等物理量的控制中,PID是一種較成熟的算法[3]。在普通的PID控制中引入積分環節的目的,主要是為了消除靜差,提高控制精度。積分分離控制思想是:當控制量與設定值接近設定值時,取消積分作用;當被控量接近設定值時,引入積分作用[4]。
控制實現步驟為:
(1)根據實際情況,人為設定閥值 e>0;
(2)當|e(k)> e|,采用 PD 控制;
(3)當|e(k)&e|,采用 PID 控制。積分分離控制算法可表示為


經典增量式數字PID的控制算法為:

在實際編程中,可以對積分分離PID進行改進,采用分段積分分離的方式:根據誤差絕對值的不同,采用不同的積分強度。
普通的PID控制算法中,由于積分系數 ki是常數,在整個控制過程中,積分增量不變。而變頻調速系統是一個多變量、強耦合的非線性系統[5],根據控制要求,系統偏差大時積分作用應減弱,在式(1)中,令 b=0,在偏差小時則應加強,令 b=1。
本設計采用增量式PID算法,只需保持前兩個時刻的偏差,從而避免了位置式PID算法中極易產生較大的積累誤差。
結合圖2的轉速閉環控制原理圖,可以編制出積分分離PID算法程序,圖5是算法模塊的程序流程圖。

AT89C52單片機內部有256字節的RAM,根據它的運算能力和設計精度要求,運算過程中所有參數和計算值均以多字節浮點數表示。系統運行中,通過定時器T1每間隔T秒中斷一次,完成一次PID控制計算,每次采集到的 u(k)都保存到單片機RAM當中,在單片機內存中不斷更新前兩個時刻的 u(k-1),u(k-2)的值,再利用u(k-1),u(k-2)的值計算 e(k-1)和 e(k-2),得到現在時刻的 u(k)的值,從而不斷調整被控參數,完成電機轉速控制,其中參數更新可由單片機自動完成,也可以由鍵盤輸入。
在變頻調速系統中,控制效果的好壞與數字控制器的參數緊密相關,正確選擇 kp、ki、kd參數是提高控制效果的一項重要技術措施。工程中通常采用經驗法整定PID控制器的參數,其措施是根據經驗先給定PID參數,然后閉環運行觀察系統響應情況,再調節相應參數比例,反復試湊直到控制質量滿意為止。這種措施損耗了大量的時間和精力,延長了系統調試時間。
借助開發工具可以節約大量的人力和物力,本系統中采用MATLAB語言仿真系統整定PID控制參數的方法,使得PID控制參數的整定變得簡單。根據本系統的PID控制器模型,采用M文件的形式設計出PID控制器,改變輸入指令信號 r(k)并可以得到控制器的階躍響應曲線。在M文件中可以方便地修改 kp、ki、kd的值,通過仿真比較選擇PID控制器參數,得到合適的 kp、ki、kd值后固化到單片機中運行。


針對本設計的變頻調速系統進行MATLAB仿真,取 r(k)=50,如圖7所示。圖中實線為采用普通PID響應仿真曲線,虛線為采用改進的積分分離PID階躍響應仿真曲線,通過比較得出:積分分離PID控制方法優于普通PID控制。用積分分離PID控制的系統響應時間非常快,只需要0.23s就可以使系統過渡到穩定狀態,它有效地減小了超調量,提高了控制精度,證明了在變頻調速中積分分離PID控制方法調節質量更佳。
在變頻調速系統中采用積分分離PID算法,能實現精確的變頻調速閉環控制,調節質量好。積分分離PID控制算法的工程實踐性很強,但要根據具體的系統特點來選擇修正策略,在實際應用當中可根據誤差絕對值的不同采用不同的積分強度。經MATLAB快速整定PID控制參數后固化到單片機運行,利用單片機實時運算和控制功能與軟件的靈活性,實現快速穩定的變頻調速功能。本設計提高了變頻調速的調節質量,降低了系統造價成本,有一定的推廣應用價值。
[1]李發海,王巖.電機與拖動基礎[M].北京:清華大學出版社,2004,215~216.
[2]包松,鮑可進,余景華.基于單片機PID算法的電機測控系統[J].微機發展,2003,13(8):72 ~ 74.
[3]劉金琨.先進PID控制及其MATLAB仿真[M].北京:電子工業出版社,2003,1~2.
[4]夏瑋,李朝暉,常春藤.控制系統仿真與實例詳解[M].北京:人民郵電出版社,2008,274~275.
[5]侯向遠,吳小蘭.異步電動機矢量控制調速系統的MATLAB/SIMULINK 仿真[J].工礦自動化,2005,(11):55 ~ 58.
[6]劉叔軍,蓋曉華.控制系統應用與實例[M].北京:機械工業出版社,2006,1~13.
[7]何濟民.轉速閉環變頻調速系統的建模與調節器參數設計[J].電器傳動自動化,2000,22(1):15 ~ 16.
[8]董鋒斌.閉環變頻調速系統的一種簡易設計方法[J].電氣時代,2007,(3):124.