陳英杰 毛開宇 陳安 鄧曉燕 高煥麗



摘? 要? 針對單片機實驗教學綜合性強的特點,基于OBE理念進行實驗教學設計,在實驗課程中引入前序課程的理論知識,讓學生建立完善的知識體系和系統性思維,培養學生方案設計和工程調試的實踐能力。教學活動中需要確定具體的教學目標,分解目標并采用分層次教學方法。本教學設計綜合了單片機定時器、步進電機原理、數組或指針、狀態機設計等知識點,設計層層遞進的實驗要求,引導學生對課程知識融會貫通,顯著提高實驗教學的質量。
關鍵詞? 單片機;實驗教學;OBE理念;定時器;步進電機
中圖分類號:G642.423? ? 文獻標識碼:B
文章編號:1671-489X(2023)10-0129-04
Instructional Design of Microcontroller Expe-riment Teaching Based on OBE Concept: Taking Experiment of Timer and Stepper Motor as Example//CHEN Yingjie1, MAO Kaiyu2, CHEN An1, DENG Xiaoyan1, GAO Huanli1
Abstract? An OBE (Outcome Based Education) based experimental teaching design focusing on the fea-tures of single-chip microcontroller experiments is?discussed in this article. In the experimental cour-se, the theoretical knowledge of the pre-order course is introduced, in order to establish a per-fect knowledge system and systematic thinking for students, cultivate students practical ability of?scheme design, engineering and debugging. It is nece-ssary to determine specific teaching objectives, decompose them and adopt hierarchical teaching methods in teaching activities. According to the?knowledge points of microcontroller timers, stepper?motor, array, pointer and state machine,design pro-gressive experimental requirements and guide stu-dents to master the knowledge through the experi-ment. Finally,the instructional design obtains a significant experimental outcome on practical operations for students and high-quality teaching.
Key words? single-chip microcomputer; experiment teaching; outcome-based education concept; timer; stepper motor
Authors address
1? School of Automation Science and Engineering, South?China University of Technology, Guangzhou, China,? ?510641
2? Public Basic Laboratory Center, Guangzhou Inter-??national Campus of South China University of?Technology, Guangzhou, China, 511400
0? 引言
成果導向教育(Outcome-based Education,簡稱“OBE”,亦稱能力導向教育、目標導向教育或需求導向教育)貫穿于工程教育認證標準的始終。在新經濟和新工科[1]的背景下,以培養學生成為重理論、重實踐的“雙重”人才為目標,運用OBE理念對單片機原理及應用實驗課程進行教學設計,提高實驗教學質量。單片機原理及應用的課程體系包括理論課程和實踐課程。其中,實踐課程包含課程設計和實驗課程兩部分。理論課程的教學效果可以通過筆試、考試進行反饋;課程設計的考核形式是學生自主完成小項目或設計并提交設計報告,由于課程設計是課后完成,在實際教學中無法保證課程設計對每個學生都是真實的反饋。實驗課程要求學生現場進行設計、編程、調試、驗收,能真實反饋學生的理論學習和實踐能力,所以,實驗課程是單片機原理及應用實踐課程中既傳統又重要的組成部分。
單片機原理及應用實驗課程(以下簡稱“單片機實驗”)的實操性、設計性比較強。單片機實驗的教學目標是要求學生掌握51單片機的應用、系統設計與開發、軟硬件的調試方法。由于課堂上的時間是有限的,學生的動手能力千差萬別,因此,以往的教學方式中存在兩個主要問題。
1)教師直接用簡單的實驗例程進行教學。學生沒有參與到設計與調試活動中,學生的學習興致不高,學習效果不佳,無法深度發掘學生的潛力。
2)教學采用單一的實驗要求而缺少具體引導。動手能力強的學生感覺實驗內容簡單,“喂不飽”,動手能力一般的學生感覺實驗內容困難,“吃不消”,畏難情緒重。這樣就往往導致動手能力一般的學生在課堂上難以完成實驗內容,或是簡單復制其他學生的實驗設計和代碼,而不獨立進行實驗的設計與調試。
本文提出實驗教學設計,實驗課內容結合前序課程的理論知識,采用分層次的實驗要求,減少學生的畏難心理,激發學生的自信心,挖掘學生的學習潛力,教學中引導學生獨立操作,將理論應用于實踐,通過實驗實踐獲得成就感,能夠提高學生參與實驗的興趣,形成良好的教學循環。
1? 實驗設計原理及方案
步進電機是一種無刷直流電動機[2],又稱為脈沖電機。基于最基本的電磁鐵原理,步進電機通常用于運動和位置都必須準確控制的場合,其動作原理是依靠氣隙磁導的變化來產生電磁轉矩。步進電機的脈沖與步進旋轉的角度成正比,脈沖的頻率與步進的轉速成正比;在不載的情況下,電機的轉速和停止位置只取決于脈沖信號的頻率和數量。步進電機是一個可以把電脈沖轉換成機械運動的裝置,具有很好的數據控制特性,單片機可以作為步進電機的理想驅動源。
單片機實驗教學中,步進電機作為定時器實驗良好載體,該實驗的主要內容包括單片機IO口的操作、定時器的使用、認識步進電機、電機控制程序的編寫與調試。如圖1所示,實驗系統框圖主要包括輸入、單片機、驅動電路和步進電機,其中,輸入可以是撥碼開關或矩陣鍵盤等,單片機具體連線由學生按實驗設計和引腳分配進行連接。
傳統的實驗教學中,關注點比較單一。例如,通過學生是否能夠寫代碼驅動電機,判斷學生是否完成實驗任務。在缺少具體導向的情況下,大多數學生對實驗并沒有完整的設計過程,從硬件接線到代碼編寫,往往想一步做一步。實驗中常見的問題有學生淺嘗輒止、功能設計過于簡單。例如,僅僅實現電機轉動;代碼結構混亂,變量命名不規范;沒有掌握調試的方法,設計豐富功能,調試出現問題卻無從下手。教師在驗收學生實驗結果時,學生做出的實驗功能不完整。例如,在主函數中采用死循環的語句,軟件燒寫后電機就運行,不能停下來;教師要求改變電機的轉向時,學生無法修改程序重新下載,讓電機由原來的順時針轉動變為逆時針轉動或由原來的逆時針轉動變為順時針轉動。
工程教育的理念是成果導向教育,以學生為中心,教學過程考慮學生學什么,怎么幫助學生學,學生學得如何[3]。在實驗教學中,明確具體的實驗任務要求,融合前序課程,幫助學生建立完善的知識體系和系統性思維[4]。單片機原理及技術的前序課程包括C語言程序設計、數字電路技術、模擬電子技術等,只有前序課程掌握好,才能高質量地完成單片機原理及技術的實驗課程。本教學設計的目標是在實驗課堂有限的時間內,能對學生進行較好的工程實踐訓練。
在定時器與步進電機實驗教學中,教師需要講解四個方面的內容:
1)講解單片機定時器與中斷的使用方法;
2)引用電機學中步進電機原理,講解步進電機的結構與控制方法;
3)結合C語言程序設計課程,規范學生代碼結構,程序變量的命名方式,同時,利用數組或指針,建立步進電機驅動脈沖序列;
4)結合數字電路技術中狀態機的設計方法,介紹單片機軟件程序的設計方法與步驟。
結合項目設計開發的流程,循序漸進,將整個實驗分解設定四個實驗要求,如表1所示,包括兩個基本要求和兩個進階要求。
2? 成果導向的實驗要求設計
2.1? 軟件延時與定時器對比分析
本實驗采用的單片機型號為89C58RD,步進電機型號為28BYJ48,在四相四拍的工作模式下,需要2 048個脈沖機械軸轉一周。步進電機的輸出有累積效應,便于觀察小時間累積的結果。本實驗中,首先,學生先采用軟件延時的方法,延時時間作為單片機IO口脈沖輸出的間隔,從而實現步進電機轉動;其次,學生需要獨立編寫定時器的代碼,使用定時器計數時間作為步進電機脈沖的時間間隔,但不限制定時器的工作方式,鼓勵學生使用不同的工作方式進行實驗。實驗過程中,學生需要比較軟件延時時間的計算方法與定時器時間的計算方法,并記錄于實驗報告。對比實驗能夠讓學生加深印象,幫助學生掌握單片機定時器的使用方法。
2.2? 數組與指針的使用
實驗課堂上,教師通過圖片、視頻等方式講解步進電機的主要類型,介紹四相四拍與四相八拍的驅動方式、步進電機失步的情況。本實驗給出的例程,驅動脈沖是采用移位操作形成的,例程代碼“i=0xcc”,“i = _cror_(i, 1)”,這兩句代碼形成步進電機的驅動脈沖,對應的驅動脈沖是“1100B,1001B,0011B,0110B”,屬于二相勵磁[5]的四相四拍驅動方式。實驗要求學生編程實現四相八拍驅動,具體要求學生通過數組或指針實現,而不是例程中移位操作或定義多個變量。四相八拍驅動方式下,建立數組或指針,例如定義數組“Pluse[8]={01H, 03H, 02H, 06H, 04H, 0CH, 08H, 09H }”。實驗過程中,為實現正轉和反轉,有的學生代碼在中定義兩個數組,即正轉序列和反轉序列。教師對實驗設計進行檢查或驗收時,如果課堂還有時間,可以鼓勵該學生優化代碼,改進為只用一個數組實現目標功能。鼓勵學生持續改進,達到“潤物細無聲”的效果,促使學生深入鉆研。
2.3? 狀態機的設計與實現
學生完成的實驗設計通常存在兩方面的問題,一個是代碼結構混亂,代碼耦合程度高,能解耦的功能沒有進行解耦;另一個問題是實驗設計不完整,有些功能沒有實現。例如,用開關1對應的功能是步進電機順時針高速旋轉;用開關2對應的功能是步進電機逆時針低速旋轉。這種情況就是轉速和轉向這兩個功能沒有解耦,實驗設計不完整,所以電機沒有順時針低速旋轉或逆時針高速旋轉的功能。主要原因是學生在進行實驗功能設計時,缺乏整體設計、頂層設計的步驟。實驗過程中,學生構思功能A,先寫功能A代碼,后面想到要做功能B,然后再做功能B。
狀態機(即同步時序邏輯電路[6])的概念來自數字電路技術理論課。在沒有采用嵌入式操作系統(例如ucos、FreeRTOS、RT-Thread等)的情況下,嵌入式軟件開發設計中,常常使用狀態機的思想。課堂上引入狀態機的設計方法,讓學生理解程序功能的分析與設計方法,然后對本次實驗進行整體的程序設計。同時,引導學生回顧前序課程知識點,將不同的課程融會貫通,完善知識體系。
在定時器與步進電機實驗中,可以設計電機的啟停功能、調速功能、正反轉功能。實驗課堂上,學生通過思考與設計,能夠發現調速功能與電機運行狀態是能夠解耦的關系,轉速設置通過定時器的計數值進行獨立設置,電機是否工作由控制狀態機控制。狀態機包括電機運行的三個狀態:停機、正轉、反轉,如圖2所示。學生最終確定實驗方案,設計程序功能的狀態機,然后編程實現。課堂上有部分學生設計為五個狀態:停機、高速正轉、高速反轉、低速正轉、低速反轉。教師檢查時可以給學生提相應的設計需求,如實現轉速單獨控制,學生最終都能將實驗設計進一步優化。
3? 實驗效果與反饋
實驗效果的評價包括主觀評價和客觀評價兩部分。主觀評價來自課堂氣氛和學生學習熱情,在實際教學活動中能夠感受到學生興趣濃厚,課堂討論熱烈,獨立動手進行實驗的意愿高,能夠高質量完成實驗,程序代碼規范。大多數學生能夠獨立完成實驗,掌握單片機定時器使用與步進電機的控制。教師在驗收成果時,學生的實驗難度不同,代碼效率不同,但只要是學生獨立設計的,都應該給予鼓勵。針對學生實驗具體情況提出改進意見,讓學生對自己的設計進行改進與完善,挖掘學生潛力。學生的思維活躍,可以設計出更加豐富的功能:有的學生設計了無級調速;有的學生利用掃描鍵盤作為輸入;有的學生用外部中斷引腳加微動開關作為觸發輸入;有的學生給電機控制加上狀態指示燈;有的學生模擬汽車實現加速與減速等。以學生完成實驗時間作為客觀評價。
定時器與步進電機實驗課是四個學時(180分鐘),以19級2班為例,對學生完成該實驗的時間進行統計。如圖3所示,54人在180分鐘內能夠完成實驗,另外有六個學生需要時間大于180分鐘。大部分學生能夠在規定時間內完成實驗,說明實驗內容充實,實驗難度合理,能夠達到本實驗課程的目的。
4? 結論
基于OBE理念的單片機實驗教學改革與探索,闡述定時器與步進電機實驗的教學設計,圍繞學生需要取得哪些學習成果、如何幫助學生取得成果,由教師在實驗課程中導入前序基礎課程的知識點,將知識點的應用分解在實驗要求中,用工程實踐方法步驟規范實驗;同時,留給學生設計空間、擴展空間,引導學生獨立動手、循序漸進完成實驗設計。實驗教學效果良好,實驗課堂氣氛活躍,實驗報告質量顯著提高,有助于提高工程教育質量,培養重理論、重實踐的“雙重”人才,對電子信息類專業實驗課程教學工作有一定借鑒意義。
5? 參考文獻
[1] 王瑋,高飛.電子信息類新工科人才培養體系構建[J].黑龍江教育(高教研究與評估),2022(7):10-12.
[2] 威爾迪.電機、拖動及電力系統[M].6版.潘再平,楊莉,等,譯.北京:機械工業出版社,2016:337-343.
[3] 李志義,朱泓,劉志軍,等.用成果導向教育理念引導高等工程教育教學改革[J].高等工程教育研究,2014(2):29-34,70.
[4] 廖勇,周世杰,湯羽,等.面向新工科的軟件工程專業核心課程體系建設[J].高等工程教育研究,2022(4):10-18.
[5] 郭天祥.新概念51單片機C語言教程:入門、提高、開發、拓展全攻略[M].北京:電子工業出版社,2018:397-398.
[6] 閻石,王紅.數字電子技術基礎[M].北京:高等教育出版社,2016:261-263.