閆亞賓,田亞平,張強(qiáng),汪一,李磊
(1.江蘇師范大學(xué)科文學(xué)院,江蘇徐州 221000;2.徐州市工程裝備虛擬智能制造工程研究中心,江蘇徐州 221000;3.徐州重型機(jī)械有限公司,江蘇徐州 221000)
控制系統(tǒng)軟件開(kāi)發(fā)模式主要有兩種:一種是代碼開(kāi)發(fā),即手寫(xiě)代碼,然后編譯生成可執(zhí)行文件,進(jìn)行測(cè)試和應(yīng)用;另一種為基于模型的設(shè)計(jì)(Model Based Design, MBD),該模式以模型為中心,模型測(cè)試驗(yàn)證后經(jīng)過(guò)代碼生成器映射為嵌入式代碼。MBD 模式廣泛應(yīng)用于航空[1-2]、艦船[3-4]、汽車(chē)[5-7]和工業(yè)機(jī)器人[8-9]等領(lǐng)域,為使教學(xué)貼近工程實(shí)際,部分高等院校開(kāi)始將MBD 模式引入課堂。張磊[10]、劉濤等[11-12]將MBD 用于電機(jī)實(shí)驗(yàn)教學(xué),年珩等[13]、徐建明等[14]利用MBD 分別建立基于DSP 和STM32 的實(shí)驗(yàn)平臺(tái),為教學(xué)改革提供了新思路。
單片機(jī)(MCU)系統(tǒng)應(yīng)用廣泛,相關(guān)專(zhuān)業(yè)的畢業(yè)生就業(yè)面寬。在組織單片機(jī)教學(xué)、實(shí)驗(yàn)尤其是實(shí)訓(xùn)過(guò)程中,缺少工程應(yīng)用背景的學(xué)生難以理解、掌握和開(kāi)發(fā)單片機(jī)系統(tǒng)。本文根據(jù)學(xué)校駐地研發(fā)企業(yè)的特點(diǎn),提煉工程問(wèn)題,將MBD 模式引入單片機(jī)系統(tǒng)實(shí)訓(xùn),建立MBD-MCU 實(shí)訓(xùn)體系,符合《普通高等學(xué)校本科專(zhuān)業(yè)類(lèi)教學(xué)質(zhì)量國(guó)家標(biāo)準(zhǔn)》對(duì)工程實(shí)踐等方面的要求,也是地方應(yīng)用型本科院校發(fā)展定位的具體表現(xiàn)。
對(duì)比代碼開(kāi)發(fā),MBD 模式在生成可執(zhí)行文件前已完成系統(tǒng)測(cè)試,可于早期發(fā)現(xiàn)隱藏問(wèn)題,降低工程應(yīng)用風(fēng)險(xiǎn)。該模式還具有如下特點(diǎn):
(1)以系統(tǒng)設(shè)計(jì)為主導(dǎo),并行模塊化開(kāi)發(fā);
(2)可視化設(shè)計(jì)與仿真,直觀、易理解;
(3)可視化接口,便于軟件維護(hù)和升級(jí);
(4)生成平臺(tái)無(wú)關(guān)代碼,便于快速移植;
(5)生成代碼標(biāo)準(zhǔn)符合性檢查,保證代碼一致性和安全性。
MATLAB/Simulink 提供了邏輯、算法的實(shí)時(shí)建模與仿真環(huán)境。MATLAB/Embedded Coder 為實(shí)現(xiàn)模型應(yīng)用提供了可靠途徑,經(jīng)過(guò)芯片類(lèi)型、目標(biāo)語(yǔ)言編譯器設(shè)置等步驟可將模型映射為嵌入式C 代碼。生成的C 代碼導(dǎo)入MCU 開(kāi)發(fā)環(huán)境KEIL 可實(shí)現(xiàn)代碼集成和編譯。由此,可建立MATLAB/Simulink+Embedded Coder+KEIL 工具鏈。
自動(dòng)化、電子信息工程等專(zhuān)業(yè)學(xué)生通常在控制系統(tǒng)設(shè)計(jì)與仿真等課程中已學(xué)習(xí)了MATLAB 軟件,這為MBD 模式的引入奠定了基礎(chǔ)。
MBD-MCU 實(shí)訓(xùn)流程見(jiàn)圖1。
圖1 MBD-MCU 實(shí)訓(xùn)流程
MBD-MCU 實(shí)訓(xùn)內(nèi)容主要包含MBD 和MCU 設(shè)計(jì)。MCU 設(shè)計(jì)部分與單片機(jī)課程基礎(chǔ)實(shí)驗(yàn)內(nèi)容基本一致,MBD 部分主要完成如下內(nèi)容:
(1)熟悉MBD 模式,選型被控對(duì)象,分析控制需求;
(2)基于MATLAB/Simulink 建立控制模型;
(3)仿真驗(yàn)證控制模型邏輯、時(shí)序和算法等;
(4)基于Embedded Coder,利用配置選項(xiàng)和優(yōu)化工具將模型轉(zhuǎn)換為嵌入式C 代碼。
MBD-MCU 實(shí)訓(xùn)使用軟件為MATLAB 和KEIL,硬件使用TT-MCU-4 單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)平臺(tái)(見(jiàn)圖2)。平臺(tái)擴(kuò)展靈活,除51 單片機(jī)核心板之外,還支持AVR16、MSP430 和STM32 核心板。平臺(tái)配套獨(dú)立按鍵、五向搖桿、繼電器、步進(jìn)電機(jī)、轉(zhuǎn)換器芯片等,用于系統(tǒng)測(cè)試。
圖2 實(shí)訓(xùn)硬件平臺(tái)
3.2.1 需求分析
根據(jù)學(xué)校駐地企業(yè)的特點(diǎn)和優(yōu)勢(shì),選取移動(dòng)式起重機(jī)為被控對(duì)象,其運(yùn)動(dòng)控制包含吊臂伸縮、變幅、卷?yè)P(yáng)起落等。以伸縮系統(tǒng)為例,控制原理見(jiàn)圖3。伸縮系統(tǒng)根據(jù)指令輸入、缸臂銷(xiāo)等檢測(cè)信號(hào)計(jì)算泵閥電流,控制泵閥和缸臂銷(xiāo)動(dòng)作,使伸縮油缸前后往復(fù)運(yùn)動(dòng),從而實(shí)現(xiàn)吊臂伸縮。
圖3 伸縮控制原理
3.2.2 系統(tǒng)建模
軟件開(kāi)發(fā)中廣泛使用分層技術(shù),優(yōu)點(diǎn)在于提高系統(tǒng)的靈活性和可復(fù)用性,提升軟件開(kāi)發(fā)效率[15]。伸縮控制模型的層次劃分見(jiàn)圖4。
圖4 伸縮控制模型層次結(jié)構(gòu)
控制模型橫向分為邏輯處理、控制算法等模塊,控制算法模塊見(jiàn)圖5,縱向分為泵控、閥控和時(shí)序等可重用單元。實(shí)訓(xùn)中的模型層次劃分方便學(xué)生循序漸進(jìn)地完成任務(wù),也為后續(xù)考核提供了參考。
圖5 控制算法模塊(部分)
3.2.3 仿真測(cè)試與代碼生成
根據(jù)功能需求,學(xué)生利用已有測(cè)試用例進(jìn)行仿真驗(yàn)證。驗(yàn)證通過(guò)后,對(duì)控制模型進(jìn)行代碼轉(zhuǎn)換,主要步驟為:設(shè)置求解器、配置代碼生成器、生成代碼和追溯性報(bào)告等(見(jiàn)圖6)。
圖6 生成代碼和追溯性報(bào)告
3.2.4 接口設(shè)計(jì)與系統(tǒng)測(cè)試
首先,指導(dǎo)學(xué)生設(shè)計(jì)MCU 硬件接口。MCU 外接獨(dú)立按鍵、繼電器,擴(kuò)展連接搖桿和電機(jī)。獨(dú)立按鍵模擬傳感器狀態(tài),繼電器模擬泵閥控制,電機(jī)模擬伸縮運(yùn)動(dòng),搖桿模擬操縱輸入,輸出電壓信號(hào)并通過(guò)AD 芯片PCF8591 接入MCU。其次,學(xué)生使用KEIL 軟件建立工程,設(shè)計(jì)平臺(tái)代碼,實(shí)現(xiàn)硬件接口的信號(hào)解析和輸出,并通過(guò)匹配變量接口集成平臺(tái)代碼和模型代碼(見(jiàn)圖7)。最后,編譯、下載和驗(yàn)證伸縮控制功能,記錄測(cè)試數(shù)據(jù)(見(jiàn)表1)。
表1 測(cè)試記錄表
圖7 集成代碼
采用范例和探究相結(jié)合的教學(xué)模式。首先,教師根據(jù)研發(fā)經(jīng)驗(yàn),結(jié)合工程實(shí)際,介紹MBD 模式的應(yīng)用現(xiàn)狀和前景;其次,示范MBD 流程,講解起重機(jī)主臂伸縮原理、控制方法和設(shè)計(jì)思路,使學(xué)生掌握MBD 開(kāi)發(fā)工具并熟悉伸縮控制系統(tǒng);再次,向?qū)W生示范模型層次劃分、代碼生成和MCU 接口設(shè)計(jì);最后,依次從問(wèn)題設(shè)置、分組(2 人/組)實(shí)施、觀察節(jié)點(diǎn)、驗(yàn)收重點(diǎn)和討論總結(jié)等方面展開(kāi)指導(dǎo)與考核。
實(shí)訓(xùn)成績(jī)采取百分制,計(jì)算公式如下:
式(1)中:Sf表示最終成績(jī),S表示初始成績(jī),K表示差異化激勵(lì)系數(shù),且Sf≤100,S≤100,K≤15%。激勵(lì)系數(shù)與實(shí)訓(xùn)任務(wù)完成情況、單片機(jī)應(yīng)用拓展等有關(guān)。初始成績(jī)中,考勤紀(jì)律占比10%,實(shí)操講解占比50%,實(shí)訓(xùn)報(bào)告占比40%,報(bào)告包含系統(tǒng)需求分析、控制模型、仿真測(cè)試、代碼生成、MCU 接口和系統(tǒng)測(cè)試分析等。
隨著基于模型理念的深化,MBD 模式逐漸成為控制系統(tǒng)開(kāi)發(fā)的主要途徑。本實(shí)訓(xùn)教學(xué)改革可使學(xué)生熟悉MBD 模式,學(xué)會(huì)運(yùn)用工具建立控制模型,掌握代碼生成技術(shù)、MCU 接口設(shè)計(jì)和聯(lián)調(diào)方法,綜合實(shí)踐能力得到提高。同時(shí),通過(guò)實(shí)訓(xùn)對(duì)被控對(duì)象進(jìn)行工程化研究,學(xué)生可直接接觸工程應(yīng)用,直觀感受行業(yè)企業(yè)對(duì)研發(fā)人才能力的需求,有效提升科研素養(yǎng)和就業(yè)競(jìng)爭(zhēng)力。
創(chuàng)新創(chuàng)業(yè)理論研究與實(shí)踐2023年21期