姚分喜, 張百海
(北京理工大學自動化學院,北京 100081)
隨著社會和科技的飛速發(fā)展,計算機技術的應用已經(jīng)滲透到工程應用和現(xiàn)實生活的方方面面,在工業(yè)自動化及相關領域更成為不可或缺的“神經(jīng)中樞”。計算機軟硬件的設計對控制系統(tǒng)的性能指標與可靠性起到至關重要的作用。北京理工大學自動化學院開設的計算機課程包括“C++程序設計”、“微機原理與接口技術”、“單片機應用設計”等必修課以及“ARM嵌入式控制器”、“DSP應用”、“計算機網(wǎng)絡與通訊”等選修課程。每門課程的教學實驗各有特點,如單片機應用設計課程已將過去的開發(fā)箱驗證性實驗改為僅提供最小系統(tǒng),由學生在擴展板上自主設計其接口電路,完成一定的要求,如數(shù)碼管顯示、模擬電壓采集或輸出、步進電機控制等簡單功能。C++程序設計課程則在學習了基本語法知識后,介紹了Windows環(huán)境下使用VC++.NET編程實現(xiàn)界面設計方法,但沒有綜合的編程應用。微機原理與接口技術課程在教學內(nèi)容上以溫度采集系統(tǒng)設計實現(xiàn)為主線介紹了CPU內(nèi)部結構及相關接口電路的設計方法,但也缺少綜合性實驗。
可以看出,雖然每門計算機課程都進行了一定程度的教學內(nèi)容和實驗方法的改進,但在培養(yǎng)學生綜合應用知識能力、解決實際問題能力等方面還有很大差距,存在的問題主要體現(xiàn)為:① 每門課程幾乎都存在知識點分散的問題,課內(nèi)缺少主線將其聯(lián)絡起來;②缺少控制對象與工程應用背景,學生經(jīng)常問為什么學習這門課程?與所學的自動化專業(yè)有何聯(lián)系?怎樣應用?③課程之間相互獨立,特別是缺乏與控制理論、控制系統(tǒng)等專業(yè)課程之間的聯(lián)系[1];④ 缺少綜合應用知識能力的培養(yǎng),在畢業(yè)設計、課程綜合設計等環(huán)節(jié)中,學生進入角色慢。參加工作后,適應新工作花費時間長,進而導致競爭能力差,影響日后的發(fā)展。
為了解決上述問題,結合自動化學院運動控制系統(tǒng)特長的專業(yè)特點,本文設計了一套基于上下位機方案的交流電機調(diào)速控制系統(tǒng)做為計算機類課程的綜合實驗平臺[2-3]。
實驗系統(tǒng)可以將所學計算機類課程的主要知識點加以綜合應用,而且與自動化專業(yè)的多門專業(yè)課程緊密結合。系統(tǒng)組成如圖1所示,該系統(tǒng)為工業(yè)自動化行業(yè)中普遍應用的閉環(huán)控制系統(tǒng)。
圖1 基于上下位機的交流電機調(diào)速實驗系統(tǒng)
系統(tǒng)中的上位機由PC機實現(xiàn),用于實現(xiàn)控制參數(shù)的設置及傳遞,并將下位機上傳的數(shù)據(jù)進行顯示、保存等。下位機可以由任何微處理器及其相關電路設計而成,如各種單片機、ARM控制器、DSP控制器等。上位機與下位機之間通過RS232C串行通訊接口進行參數(shù)和數(shù)據(jù)的雙向傳送。電機驅(qū)動器采用0~5 V模擬電壓輸入信號,電機對應的轉(zhuǎn)速為0~1 500 r/min,轉(zhuǎn)速傳感器則對應輸出0~5 V模擬電壓信號。要求該控制系統(tǒng)運行穩(wěn)定可靠,轉(zhuǎn)速控制精度為3%。
實驗系統(tǒng)涉及到了計算機技術、自動控制理論、傳感器技術、控制系統(tǒng)設計與控制算法等多門課程知識,尤其對計算機類課程知識的應用有較高的要求。使用該系統(tǒng),可以有效地改善計算機類課程的實驗環(huán)境,進一步促進課程課堂講授內(nèi)容的合理安排。下面具體介紹三門計算機類必修課程在該系統(tǒng)中的實驗內(nèi)容安排與使用,以及與其它課程之間的聯(lián)系。
上位機界面設計由VC++.NET編程語言實現(xiàn)。其主要功能是設置RS232C串口通訊協(xié)議[4],設置轉(zhuǎn)速給定值及下位機PID控制算法參數(shù)[5],獲取上傳數(shù)據(jù),顯示數(shù)據(jù)曲線,保存數(shù)據(jù)等。要求界面友好、操作方便。典型設計界面如圖2所示。
該界面使用單文檔打開對話框的方式實現(xiàn)。單文檔設計內(nèi)容包括菜單設計、工具欄設計、圖標設計等。在對話框中應用了命令按鈕、靜態(tài)文本、編輯框、下拉列表等基本控件,以及ActiveX控件TeeChart對數(shù)據(jù)進行曲線顯示[6]。點擊數(shù)據(jù)保存則可以將數(shù)據(jù)以文件形式保存下來。
圖2 由VC++.NET實現(xiàn)的上位機界面
如果需要對以前的數(shù)據(jù)進行查詢或回放,可以進一步加上數(shù)據(jù)庫編程等內(nèi)容??梢钥闯觯摻缑嬖O計過程涵蓋了課程的大部分知識點,通過這個實例將它們加以綜合應用。
課程基本實驗安排下述內(nèi)容:Windows應用程序生成向?qū)褂?、對話框與常用基本控件、菜單與工具欄設計、圖形設計、串行通訊編程、ActiveX控件與TeeChart控件應用、動態(tài)鏈接庫設計與應用、數(shù)據(jù)庫編程應用等[7]。最后以大作業(yè)的形式加以綜合完成圖2界面的設計。借助串口調(diào)試助手等軟件完成程序調(diào)試及曲線顯示、數(shù)據(jù)保存等。
主要介紹8088 CPU的工作原理、匯編語言及常用接口設計等內(nèi)容[8]。由其實現(xiàn)的下位機硬件設計包括CPU及其周邊電路設計、ROM與SRAM存儲器設計、8259A中斷控制器電路設計、8253定時/計數(shù)器、8250串行接口、ADC0809/DAC0832電路設計以及由8255A并行接口實現(xiàn)的鍵盤與數(shù)碼管顯示電路等,組成示意圖如圖3所示。
圖3 8088 CPU下位機組成圖
在實驗過程中,提供包括8088 CPU、時鐘發(fā)生器電路的最小系統(tǒng),并引出地址總線、數(shù)據(jù)總線、控制總線。在此基礎上,學生按照需求進行相應的接口擴展。
軟件設計包括匯編程序IDE環(huán)境使用,匯編語言程序設計內(nèi)容。在應用程序設計中,采用定時中斷的方式實現(xiàn)數(shù)據(jù)采集、PID控制算法及輸出控制、數(shù)據(jù)上傳等功能??梢钥闯?,本應用涵蓋了課程中除DMA內(nèi)容外的所有重要知識點。
本課程主要介紹80C51的應用,由80C51設計的下位機組成圖見圖4。其硬件包括EEPROM或RAM電路擴展、鍵盤與數(shù)碼管顯示電路、串行通訊接口電路、AD/DA轉(zhuǎn)換電路等[9]。軟件工作包括在KEIL軟件開發(fā)環(huán)境下,采用匯編語言或C51編程實現(xiàn)數(shù)據(jù)采集、PID控制算法及輸出控制、數(shù)據(jù)傳送等功能。
實驗實施過程中,為了充分發(fā)揮學生積極性。在提供最小系統(tǒng)基礎上由學生自行選擇芯片型號及設計其他相關電路。電路的設計以串行擴展為主,如AD、DA芯片分別選擇 TLC549、TLC5615,EEPROM 選擇93C46等[10]??刂扑惴ǔ醪讲捎猛ㄓ玫腜ID算法,也可以采用模糊PID、自抗擾等其它算法[11]。
實驗系統(tǒng)中下位機的實現(xiàn)可以有多種方式。只要具有AD/DA轉(zhuǎn)換、串行通訊接口功能即可,所以可以由其他類型的單片機,如AVR系列、C8051F系列、飛思卡爾系列單片機或者DSP、ARM等中高檔嵌入式控制器來實現(xiàn)。因此,這些課程同樣可以采用該系統(tǒng)做為實驗平臺。
該實驗系統(tǒng)充分體現(xiàn)了計算機知識在自動化中的綜合應用以及多學科知識的交叉應用,對學生的實踐動手能力培養(yǎng)大有益處。同時對教師課堂教學具有積極的推動促進作用。體現(xiàn)在以下三個方面:
(1)促進了每門計算機課程課堂教學內(nèi)容的合理安排。每門課程講授內(nèi)容均以實現(xiàn)該控制系統(tǒng)功能為目標,體現(xiàn)了項目教學的特點[12]。
(2)解決了課程知識點多、分散的問題,通過該實際系統(tǒng)的實現(xiàn)作為主線,將知識點串通起來,不再枯燥無味,同時使學生深入體會到了所學課程在自動化中的應用,極大地提高了學生學習興趣。
(3)在課堂教學內(nèi)容中,應加強工程實現(xiàn)的思想。如選擇芯片型號時在滿足精度要求條件下降低成本,硬件電路設計過程中的抗干擾措施以及軟件編程中的可靠性設計等[13]。
該實驗系統(tǒng)具有功能強、擴展性好的特點。在上述結構框架基礎上,通過進一步增加設備,或者其他控制對象,使之能夠完成更多的實驗內(nèi)容。
(1)通訊方式、控制方案多樣化。如上下位機之間可以采用RS485、CAN現(xiàn)場總線進行數(shù)據(jù)傳送。也可以不使用下位機,直接通過PC機內(nèi)置或外置AD及DA轉(zhuǎn)換卡實現(xiàn)對電機的閉環(huán)控制等。
(2)可以實現(xiàn)多門課程共用。如工業(yè)組態(tài)軟件、計算機控制系統(tǒng)、智能控制算法等,達到教學實驗資源共享的目的,同時節(jié)約了場地與成本,符合現(xiàn)代實驗室建設的潮流與方向。
(3)促進學生科技創(chuàng)新能力培養(yǎng)。根據(jù)本系統(tǒng)的設計思路,學生也可以設計出更多、更好的控制對象及控制方案。
綜合實驗系統(tǒng)既突出了計算機類課程在自動化系統(tǒng)中的應用,又為學生對自動化工程認識及課堂所學理論知識的綜合應用提供了一個良好的實踐平臺,對提高學生學習興趣,牢固掌握計算機類課程知識,提高學生綜合工程實踐能力和創(chuàng)新能力具有重要意義。目前該系統(tǒng)已通過試用,反映良好。
(References):
[1] 蔣建春,岑 明,蔡林沁.自動化專業(yè)教育教學改革探討[J].實驗室研究與探索,2011,30(10):348-350.
[2] 李振東.STCl2C5A60S2與PC機的交流電機閉環(huán)調(diào)速系統(tǒng)[J].單片機與嵌入式系統(tǒng)應用,2011,11(9):59-62.
[3] 管鳳旭,程文清,呂淑萍.基于環(huán)境檢測與控制的綜合實驗項目設計[J].實驗室研究與探索,2010,29(9):128-131.
[4] 曹連民,石 健,黃德杰.VC++中實現(xiàn)PC機與單片機的串行通訊[J].山東科技大學學報(自然科學版),2003,22(1):97-99.
[5] 王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2011:83-110.
[6] 朱 玲,武玉強,張啟宇.TeeChart實現(xiàn)工控領域的實時曲線和歷史曲線的方法[J].工業(yè)控制計算機,2005,18(8):39-40.
[7] 梁興柱.Visual C++.NET程序設計[M].北京:清華大學出版社,2010.
[8] 馮博琴,吳 寧.微型計算機原理與接口技術[M].3版.北京:清華大學出版社,2011.
[9] 王衛(wèi)星.單片機原理與應用開發(fā)技術[M].北京:中國水利水電出版社,2009.
[10] 李朝青.單片機原理及串行外設接口技術[M].北京:北京航空航天大學出版社,2008.
[11] 韓京清.從PID技術到“自抗擾控制”技術[J].控制工程,2000,9(3):13-18.
[12] 李慶武.項目教學法在課程教學中的運用探討[J].教育探索,2008,3(4):32-33.
[13] 汪克宇.淺談單片機系統(tǒng)抗干擾設計中的若干問題[J].廣東科技,2012(3):236-237,239.