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