機電一體化設計是一個典型的多物理域集成的學科:電機設計和驅動屬于電力電子學科;機械部件和液壓系統的設計屬于機械學科;而要準確地控制這些電機、機械和液壓設備去完成任務,則需要控制學科。這些控制模塊通常運行在 MCU(微控制器)中。為了有序地控制協調各種部件進行工作,除了閉環控制本身之外,還需要在微處理器中運行復雜的軟件程序。這屬于軟件學科。
Simulink 作為一個基于模型設計的平臺,結合 Simscape 物理建模軟件,從而為機電一體化系統設計提供了便利。
本文試圖用一個 Drawworks (石油鉆井絞車)的例子,來闡述如何在基于模型設計的基礎上,進行機電一體化開發。
上圖中鉆井絞車系統為一個 Simulink 仿真模型,由物理模型、控制部分和操作界面組成。物理模型由鉆井絞車的框架和滑輪、傳動滾筒和液壓制動器和異步電機組成,他們分別屬于機械、液壓和電氣系統。
上層操控提供了豐富的界面,可使絞車運行在自動或者手動模式下;也可以調整掛載的高度和速度,以及提供相應的屏幕顯示。當然為了保證掛載和絞車的安全,必須保證掛載在上升過程不能對絞車框架進行碰撞。
控制部分運行在 PLC(可編程邏輯控制器)中,通過判斷絞車高度和上層控制命令,來輸出速度指令和剎車指令,保證絞車的安全運行。PLC 在各種工業設備中應用較為廣泛,Simulink 可以自動產生符合 IEC 61131 的結構文本 PLC 代碼或者梯形圖。
當然,代碼生成的前提是模型的準確性。什么是“準確”的模型?這個問題很難回答 。所有的模型都是對物理世界的抽象。在不同的設計問題中,有不同的答案 。就本例來說,對于機械系統,Simulink 仿真的目的就在于找到一個合適的機械系統配置,從而為電機提供選型依據。找到了這些參數,機械模型就是準確的。
對于電機來說,模型永遠不可能和實際電機完全一樣。但在某些情況下,如果通過模型參數的選擇,而導致模型的仿真結果和實際電機一致,那電機模型在這些情況下就是準確的 。
對于控制系統,如果達到了前期設定的控制精度和裕度要求,并且軟件經過完整功能測試和覆蓋度測試,那控制系統就是準確的。
MathWorks 提出的基于模型的設計(MBD)就是這樣的理念:在系統設計的早期就進行多域系統仿真和確認;持續進行設計的驗證和優化;最終生成高質量的代碼。
機電部件選型
在設計的初期,系統工程師需要針對系統的要求,選擇合適的機電部件。這時候,系統工程師可以搭建一個初略的模型,進行系統配置選型的仿真。
上圖為一個供選型用的系統模型。系統工程師通過選用滑輪的個數(5、7、9)來確定所需異步電機參數的峰值。在這種系統模型中,電機模型并不需要非常詳細的模型,可以用電機的數學方程來代替,而電機的控制只是簡單的速度控制。換句話說說,只需要將電機轉速和輸出扭矩、功率的數學方程式表達出來即可。這個方法也叫第一準則(first principle)。
第一準則比較適用于比較簡單的被控對象,例如低自由度的機械系統、簡單的直流電機等等。如果機械系統過于復雜,電力電子線路過于復雜,則推導這些方程則沒那么容易。這時候可以用 Simuink 中的 Simscape 物理建模方法 -- 用“搭積木”的方法來搭建物理模型。下圖的滑輪模型就是用 Simscape 搭建而成。利用模型變體管理功能,可以很快地進行滑輪數分別為 5、7、9 的情況下,所需要的電機參數峰值。
通過仿真可以確定:滑輪數分別為 5、7、9 的情況下,所需電機的峰值功率和扭矩。可見,5 個滑輪需要的電機功率和輸出扭矩最大。
電機模型校準
在完成電機選型后,工程師需要在更細節的層面進行電機的建模和控制設計。Simscape Electrical 提供了各種各樣的庫供選擇。
例如,上圖就是一個異步鼠籠式電機的調速控制模型。電機控制部分為 FOC(磁場定向控制),在以前的文章中,對 FOC 已經做過比較深入的介紹,請參考《Field Oriented Control 和 Simulink》。此處不再展開。
值得一提是:整流器和逆變器的模型,用的是“均值模型”。均值模型中,沒有 PWM 的發生器,輸入到逆變器的只有 duty cycle。所以均值模型的仿真結果沒有開關紋波。與之相反,開關模型需要 PWM 的發生器,所以在開關模型的仿真中,可以看到開關紋波。平均模型的優勢是a)仿真速度塊 b) Simulink 可以直接對電子線路線性化。但在一些需要高精度的場合,就丟失了 PWM 開關的特性。
而開關模型的優勢是:保留了 PWM 發生器和電力電子開關的特性。但仿真速度會大幅度降低,而且 Simulink 不能直接對其進行線性化。如果需要了解在開關模型的基礎上,進行控制器的設計。請參考《電力電子控制器 PID 參數的幾種調試方法》。其中介紹了諸如“AC Sweeping”等業界標準的被控對象線性化的辦法。
在電機模型中,有很多參數。例如定子和轉子的電感電阻等等。這些一方面可以從電機的參數Datasheet中讀取填入。有一些情況,例如電機參數不準確或者丟失的情況下??梢杂?Simulink 的參數估計(parameter estimation)功能,通過實驗數據和參數的曲線逼近,來獲取電機的實際準確參數。
先看一下實際電機運行的速度曲線(藍色)和電機模型的速度曲線。由于參數的不一致,很明顯它們有較大差異。
然后以實際電機數據為基準,運行“Simulink Design Optimization”的參數估計功能。
在運行一段時間后,發現實際電機測試數據和待校準的參數所運行的速度曲線已經高度重合。這樣所得出的電機曲線,就是和實際電機一致。由此得出了電機模型的參數,從而達到模型精確化的目的。
控制部分設計
控制部分設計主要分幾個方面。1)閉環控制設計 2)上層邏輯狀態機設計。
首先我們看一下整個異步電機控制的整體架構。首先外環為一個PI控制器,控制電機速度。
如果把內環打開看,又有三個 PI 控制器,分別控制磁鏈和 dq 軸電流。根據先調節內環,再調節外環的原則,我們可以先將 FOC 部分 PI 參數調節好,然后再調節速度環的 PI 參數。
現以外環為例,介紹用 Simulink 的 PID tuner 進行輔助調試的功能。
步驟 1 線性化:由于電機和逆變器模型都是均值模型,沒有開關器件帶來的不連續性。所以可直接應用 PID tuner 進行線性化。雙擊速度環 tune。然后選擇 plant relinearzie close-loop。
之后,選擇一個靜態工作點做線性化。如下圖所示,選擇第3秒。
步驟 2 參數調試:PID tuner 會以拖動的方式顯示時域和頻域的控制器性能,方便用戶進行交互調試。
如果用戶對 Simulink 的 Control System Tuner 比較熟悉,也可以將內環外環的四個 PI 集中一起調試。這時候,需要手動的選擇 4 個 PI 控制器作為被調試對象。然后分別加入 4 個 PI 控制器的控制調試目標,例如對于速度控制和磁鏈控制器,可以 Step Response 作為控制調試目標;對于 dq 軸的電流控制,可以用 loop-shaping 來描述其控制調試目標。
在定義好控制目標后,Control System Tuner 可以在一個靜態工作點按照目標進行 PID 的參數調試,一次性集中確保所有4個控制器的參數都能滿足控制要求。
在設計完所有的閉環控制器之后,用戶還需要考慮上層邏輯控制。例如,系統運行模式的切換和狀態邏輯控制。這一部分可以用 Stateflow 來完成。相對于代碼,狀態機可以給出清晰簡單的邏輯跳轉。例如,鉆井絞車的運行模式可以分手動和自動兩種狀態。這種邏輯的切換,用狀態機來表示非常清晰自然。用分層次的狀態機,可以描述非常復雜的邏輯切換。
測試覆蓋率
在控制邏輯(以軟件的形式體現)完成后,需要對每個軟件模塊做嚴格的測試工作??剂繙y試是否充分的指標主要是測試覆蓋率。測試覆蓋率,可以從兩個方面來考察1)功能測試對需求的覆蓋 2)軟件結構覆蓋。
針對第一點,業界通行的做法是建立一個需求到測試用例的追蹤矩陣。然后對每一個功能性需求,建立若干個測試用例。只要測試用例完全覆蓋需求,或者說需求都被測試了。我們就認為基于需求的測試是充分的。
例如:如下的軟件模塊,對應于若干個測試用例。
即使這些測試用例都覆蓋了所有需求,那么他們是不是就是足夠了呢?我們可以運行一下測試用例。
Simulink 可以給出測試覆蓋度的報告,注意這個覆蓋度報告指的是對軟件結構的覆蓋度。
例如,對這個狀態機,測試報告顯示判定/條件覆蓋(Decision/Condition coverage)和 修正判定條件覆蓋(MC/DC)的覆蓋率。很明顯,它們并不充分。有些高安全的行業標準,例如汽車電子、航空電子等,需要高度的(例如 100%)的軟件結構覆蓋率。此時,僅僅靠從需求去人工寫測試用例,很難滿足這樣的需求。
這時候,借助 Simulink Design Verifier 這樣的形式化驗證工具,可以自動化生成一些測試用例。這些測試用例并沒有需求意義,但對結構化覆蓋率是一個充分的補充。除了這個功能外,Simulink Design Verifier可以來識別模型中隱藏的設計錯誤。檢測模型中導致整數溢出、死邏輯、數組訪問越界和被零除的塊。
代碼生成
在模型得到完備的測試之后,我們可以生成代碼了!很多的重型機械和工業領域,PLC 由于其可靠性高,抗干擾能力強,再加上配套齊全和完善的功能,依然占據大量的市場。Simulink 的模型既可以生成嵌入式C代碼,也可以生成符合 IEC 61131-3:的結構文本(Structured Text )或者梯形圖( Ladder Diagram )。
Simulink 產生的 PLC 代碼運行在成千上萬的工業設備上,所支持的 PLC 覆蓋世界上主流廠商。
編輯:lyn
-
微控制器
+關注
關注
48文章
7496瀏覽量
151085 -
plc
+關注
關注
5008文章
13167瀏覽量
462191 -
機電一體化
+關注
關注
1文章
96瀏覽量
23257 -
電機設計
+關注
關注
0文章
32瀏覽量
13712
發布評論請先 登錄
相關推薦
評論