張艷榮 曹偉青 林發(fā)明
西南交通大學(xué)機(jī)械工程學(xué)院 四川成都 610031
機(jī)電一體化是工業(yè)生產(chǎn)、加工和制造的未來(lái)發(fā)展方向,單片機(jī)在機(jī)電控制系統(tǒng)中占據(jù)著極其重要的地位,小到智能玩具,大到自動(dòng)化生產(chǎn)線,處處都有單片機(jī)的用武之地。因此,單片機(jī)課程一直都是機(jī)械專業(yè)學(xué)生的必修課。
與電類專業(yè)不同,機(jī)械類專業(yè)的單片機(jī)課程課時(shí)較少。一方面,機(jī)械專業(yè)的學(xué)生沒有微機(jī)基礎(chǔ)知識(shí),課程要講解的知識(shí)點(diǎn)很多,很難壓縮理論學(xué)時(shí);另一方面,單片機(jī)又是一門實(shí)踐性很強(qiáng)的課程,沒有足夠的實(shí)踐,很難達(dá)到較好的學(xué)習(xí)效果。為了突破這一瓶頸,越來(lái)越多的課程教學(xué)借助于仿真軟件[1-4]和項(xiàng)目化教學(xué)[5,6]等手段來(lái)提高學(xué)生的學(xué)習(xí)效果。但通過實(shí)際教學(xué)發(fā)現(xiàn),仿真軟件有其缺陷,不能完全取代真實(shí)的實(shí)驗(yàn)平臺(tái)。因此,本文將仿真軟件與傳統(tǒng)的理論教學(xué)和實(shí)驗(yàn)平臺(tái)相結(jié)合,二者相輔相成,能夠最大限度地激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)習(xí)效果,并培養(yǎng)學(xué)生的工程思維能力、動(dòng)手能力和解決復(fù)雜問題的綜合能力和高級(jí)思維。
傳統(tǒng)的單片機(jī)教學(xué)過程以理論教學(xué)為主,實(shí)驗(yàn)教學(xué)為輔,二者之間沒有更多的關(guān)聯(lián)。由于學(xué)生此前沒有計(jì)算機(jī)基礎(chǔ)知識(shí),課程需要從最基本的計(jì)算機(jī)數(shù)制開始,依次講述單片機(jī)內(nèi)部結(jié)構(gòu)、匯編語(yǔ)言編程、單片機(jī)接口控制、定時(shí)器/計(jì)數(shù)器、串行通信到ADC和DAC控制以及內(nèi)存和IO口擴(kuò)充等內(nèi)容,由于知識(shí)點(diǎn)眾多,內(nèi)容比較枯燥,學(xué)生實(shí)驗(yàn)的機(jī)會(huì)少,使得學(xué)生對(duì)本課程學(xué)習(xí)有畏難情緒,也很難把這些知識(shí)與實(shí)際實(shí)驗(yàn)聯(lián)系起來(lái),因而學(xué)習(xí)效果不佳。
傳統(tǒng)的單片機(jī)實(shí)驗(yàn)需要在實(shí)驗(yàn)室完成。在傳統(tǒng)實(shí)驗(yàn)教學(xué)中,教師首先講解實(shí)驗(yàn)原理和實(shí)驗(yàn)內(nèi)容,給出實(shí)驗(yàn)步驟,然后學(xué)生按照實(shí)驗(yàn)指導(dǎo)書的指導(dǎo)進(jìn)行連線,輸入實(shí)驗(yàn)程序,最后運(yùn)行程序,檢查實(shí)驗(yàn)結(jié)果是否正確。在這有限的時(shí)間中,學(xué)生很難做到自己分析任務(wù)和完成任務(wù),更遑論獨(dú)立解決實(shí)驗(yàn)中遇到的問題。因此,基于Proteus仿真軟件的單片機(jī)輔助教學(xué)得到廣泛重視和使用。
仿真平臺(tái)的使用,一方面使得理論教學(xué)變得生動(dòng),教師可以給學(xué)生邊講解邊演示,從而加深學(xué)生對(duì)理論知識(shí)的理解;另一方面能使學(xué)生擺脫傳統(tǒng)實(shí)驗(yàn)室場(chǎng)地和時(shí)間的限制,根據(jù)自己的實(shí)際情況自由安排學(xué)習(xí)進(jìn)度和課程設(shè)計(jì)進(jìn)度,在遇到問題時(shí)也能有更充裕的時(shí)間查找資料,尋找解決問題的辦法,因此可以盡可能獨(dú)立完成任務(wù),提高學(xué)生的動(dòng)手能力。但是,Proteus軟件也有其局限性。
第一,仿真電路與實(shí)際電路存在較大差距,如果完全按照仿真電路搭建實(shí)際系統(tǒng),則系統(tǒng)無(wú)法正常工作。例如,仿真軟件無(wú)須繪制單片機(jī)的外接晶體振蕩器電路,系統(tǒng)即可正常工作,但這在實(shí)際電路中卻不可或缺。
第二,仿真軟件的元件庫(kù)不能涵蓋全部的真實(shí)元件,因此它不能仿真任意電路系統(tǒng)。
第三,Proteus仿真電路只能對(duì)系統(tǒng)進(jìn)行功能驗(yàn)證,而不能完成精確地控制。要實(shí)現(xiàn)精確控制,仍然需要搭建實(shí)際系統(tǒng)。例如,設(shè)計(jì)一個(gè)恒溫控制器,需要根據(jù)當(dāng)前溫度,采用PID方法進(jìn)行閉環(huán)控制。仿真軟件可以驗(yàn)證控制信號(hào)的輸出、AD芯片的采集,但系統(tǒng)的加溫過程與周圍環(huán)境溫度密切相關(guān),外部環(huán)境溫度對(duì)系統(tǒng)性能的影響很難用Proteus仿真實(shí)現(xiàn)。因此,對(duì)于恒溫控制器的加溫效果,實(shí)物設(shè)計(jì)和測(cè)試驗(yàn)證仍然必不可少。
第四,很多復(fù)雜的通信接口難于仿真實(shí)現(xiàn),如USB接口、CAN接口、網(wǎng)絡(luò)接口等。
基于以上原因,在單片機(jī)課程教學(xué)過程中,將虛擬仿真和理論教學(xué)以及實(shí)際實(shí)驗(yàn)結(jié)合起來(lái),三者相互關(guān)聯(lián),相輔相成,貫穿于整個(gè)課程的教學(xué)過程中。具體實(shí)施方法:首先確定設(shè)計(jì)任務(wù),然后將設(shè)計(jì)項(xiàng)目采用自上向下的設(shè)計(jì)方法,把整個(gè)項(xiàng)目分解為小模塊,每個(gè)小模塊就是一個(gè)獨(dú)立的小任務(wù),它們分別對(duì)應(yīng)相應(yīng)的理論授課內(nèi)容和基礎(chǔ)驗(yàn)證型實(shí)驗(yàn)。首先,在理論授課過程中,子模塊作為小練習(xí),由學(xué)生使用Proteus仿真軟件搭建并驗(yàn)證它們的功能;然后,學(xué)生在基礎(chǔ)實(shí)驗(yàn)項(xiàng)目中搭建硬件平臺(tái),實(shí)現(xiàn)子模塊功能;最后,在學(xué)期結(jié)束前兩周,讓學(xué)生搭建整個(gè)項(xiàng)目硬件系統(tǒng),對(duì)子任務(wù)進(jìn)行整合,設(shè)計(jì)綜合程序,然后對(duì)系統(tǒng)進(jìn)行實(shí)際調(diào)試,完成整個(gè)項(xiàng)目的實(shí)際訓(xùn)練,并提交設(shè)計(jì)報(bào)告。
本項(xiàng)目是設(shè)計(jì)一個(gè)溫度控制器,它用于給半導(dǎo)體激光器(LD)提供恒定溫度,以保證激光輸出的穩(wěn)定性。主要任務(wù)如下。
(1)系統(tǒng)能夠在6 min的時(shí)間內(nèi)達(dá)到設(shè)定溫度。
(2)溫度達(dá)到穩(wěn)態(tài)時(shí),控制精度為±0.1 ℃。
(3)溫度控制范圍為40~200 ℃。
(4)控制器通過串口與電腦通信,接收來(lái)自電腦的啟動(dòng)/停止指令,并把當(dāng)前溫度發(fā)送給電腦。
2.2.1 系統(tǒng)硬件組成
系統(tǒng)硬件框圖如圖1所示。其中,陶瓷加熱片和Pt100(熱敏電阻)被封閉在隔熱夾具內(nèi),以盡量減小系統(tǒng)與環(huán)境的熱交換,從而提高LD溫度控制的準(zhǔn)確性。
圖1 恒溫控制器硬件組成框圖
系統(tǒng)工作過程如下:陶瓷加熱片用于給LD加溫,加熱方法采用基于PID的PWM波控制法。系統(tǒng)溫度由Pt100檢測(cè),經(jīng)R-V變換和AD變換后,溫度數(shù)據(jù)送入單片機(jī),由單片機(jī)進(jìn)行采集和處理:一方面通過串口轉(zhuǎn)發(fā)給電腦,從電腦上實(shí)時(shí)監(jiān)測(cè)當(dāng)前溫度;另一方面送入PID算法模塊,計(jì)算出新的PWM波占空比,從而控制加熱速度。
通過分析,恒溫控制器可以被劃分為4個(gè)子模塊:PWM波輸出模塊、溫度采集模塊、串行通信模塊以及PID控制模塊。
PWM模塊和串行通信模塊可以分別使用單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器和串行口實(shí)現(xiàn)。PID控制屬于軟件設(shè)計(jì)部分。
溫度采集模塊需要外接R-V變換電路和ADC芯片,R-V變換有兩線制、三線制和四線制[7],為了提高測(cè)量精度,本系統(tǒng)采用四線制,如圖2所示。根據(jù)200 ℃的最大溫度要求和0.1 ℃的識(shí)別精度要求,ADC芯片的位寬至少為12 bit,本項(xiàng)目選擇的是TCL2543數(shù)據(jù)轉(zhuǎn)換器。
圖2 R-V變換模塊
2.2.2 軟件設(shè)計(jì)
圖3所示為主程序流程圖,其中系統(tǒng)初始化包括定時(shí)器/計(jì)數(shù)器初始化,串口初始化和ADC初始化。初始化完成后,系統(tǒng)進(jìn)入無(wú)限循環(huán)狀態(tài)。此時(shí),若接收到溫度設(shè)置命令,則設(shè)置系統(tǒng)目標(biāo)溫度;若接收到啟動(dòng)命令,則啟動(dòng)PID控制,控制系統(tǒng)加熱到目標(biāo)溫度并保持穩(wěn)定。在系統(tǒng)工作期間,如果收到停止命令,則停止PID控制,返回待機(jī)狀態(tài);否則,一直進(jìn)行PID控制。在PID控制過程中,單片機(jī)同時(shí)將當(dāng)前實(shí)際溫度上報(bào)給PC機(jī)。
圖3 主程序流程圖
圖4所示為恒溫控制器的控制結(jié)果,該圖由PC機(jī)軟件繪制,考慮到設(shè)計(jì)難度,PC機(jī)程序由教師編寫。圖中預(yù)設(shè)溫度為80℃,從圖中可以看出,系統(tǒng)工作良好,達(dá)到了實(shí)驗(yàn)要求。
圖4 溫度控制結(jié)果
2.2.3 授課安排
根據(jù)上述劃分,在授課時(shí)把三大硬件模塊和PID控制算法模塊分別穿插到定時(shí)器/計(jì)數(shù)器、串口通信、ADC控制以及控制算法的授課環(huán)節(jié)中,分別設(shè)計(jì)相應(yīng)的基礎(chǔ)驗(yàn)證型實(shí)驗(yàn):PWM波產(chǎn)生實(shí)驗(yàn),串行通信實(shí)驗(yàn)以及TCL2543控制實(shí)驗(yàn)。對(duì)應(yīng)這3個(gè)基礎(chǔ)實(shí)驗(yàn),布置相應(yīng)的仿真作業(yè)。由于仿真實(shí)驗(yàn)沒有時(shí)間和空間的限制,學(xué)生可以有充裕的時(shí)間進(jìn)行設(shè)計(jì)和調(diào)試,在遇到困難時(shí)能夠與教師進(jìn)行充分的交流和討論,從而在實(shí)際測(cè)試時(shí)能在短時(shí)間內(nèi)順利完成實(shí)驗(yàn),并獲得較大的學(xué)習(xí)收益。在完成這些基本實(shí)驗(yàn)后,學(xué)生著手設(shè)計(jì)整個(gè)項(xiàng)目的硬件和軟件,完成整個(gè)系統(tǒng)的設(shè)計(jì)和調(diào)試。
2.2.4 實(shí)施效果
圖5所示為課程教改實(shí)施后的學(xué)習(xí)效果調(diào)查圖,從調(diào)查結(jié)果看,新的教學(xué)方法對(duì)提高學(xué)生的學(xué)習(xí)積極性有很大幫助,同時(shí),絕大多數(shù)學(xué)生對(duì)課程的體系架構(gòu)有了更清晰的認(rèn)識(shí),也能將知識(shí)用于實(shí)踐設(shè)計(jì)中。但從教學(xué)滿意度看,這種方法并不能讓每名學(xué)生都滿意,對(duì)于學(xué)習(xí)較吃力的學(xué)生,需要在后續(xù)改革過程中,給予更多的關(guān)注,注意學(xué)生學(xué)習(xí)的個(gè)性化,做到因材施教,并在綜合項(xiàng)目的難度上進(jìn)行梯度設(shè)計(jì),使不同能力的學(xué)生都能有所收獲,讓每名學(xué)生都獲得成就感。
圖5 課程教學(xué)效果調(diào)查
本文針對(duì)目前機(jī)械專業(yè)學(xué)生單片機(jī)課程課時(shí)較少,但教學(xué)內(nèi)容難于壓縮,并且工程實(shí)踐能力要求較高的矛盾,將Proteus仿真平臺(tái)和傳統(tǒng)的理論和實(shí)驗(yàn)教學(xué)相結(jié)合,三者相輔相成,把較大型項(xiàng)目拆分為小模塊,融入平時(shí)的課程教學(xué)中。通過仿真平臺(tái)、理論教學(xué)和實(shí)際系統(tǒng)的配合訓(xùn)練,可以培養(yǎng)學(xué)生解決復(fù)雜問題的綜合能力和高級(jí)思維。
通過兩年的教學(xué)實(shí)踐,學(xué)生普遍反映較好,認(rèn)為對(duì)工程能力的提高有很大幫助,實(shí)現(xiàn)了教和學(xué)的良性互動(dòng)。對(duì)學(xué)生的后續(xù)實(shí)踐項(xiàng)目,如個(gè)性化實(shí)驗(yàn)、大學(xué)生實(shí)訓(xùn)項(xiàng)目、創(chuàng)新設(shè)計(jì)大賽、機(jī)器人大賽等,也有很大幫助。