王紅超
(廈門海洋職業技術學院 機電系,福建 廈門361100)
機器人是1 個典型的機電一體化系統,它綜合了機械設計、電工電子、傳感器、計算機/微控制器編程、控制系統和人工智能等學科的內容[1],是進行工程訓練、教學實驗和研究的理想的平臺[2]。教學中常用的機器人是輪式機器人,即智能小車,它的機構簡單、驅動和控制相對方便[3]、價格便宜,是初學者的首選,本文重點介紹這種機器人在單片機課程教學中的應用。
傳統的單片機教學是按單片機所包含的知識結構為主線進行設計的,一開始就涉及很多抽象的理論知識,如CPU、存儲器、特殊功能寄存器及位地址空間、指令系統、中斷、堆棧等等[4-13]。學生特別是高職院校的學生普遍感到難以理解[14]。講了很多理論之后再給學生一些簡單的程序到實驗箱上去驗證,以圖加深學生對知識點的理解,但多數學生僅僅滿足于把老師給的程序代碼編譯后下載到單片機里運行一下,根本不認真研讀每條代碼的含義,更不用說自己嘗試編寫程序了。
為了激發學生對單片機的學習興趣,提高學生分析解決問題的能力,縮短學生在學校學習的知識和能力與企業要求之間的差距。筆者綜合幾個企業項目的經驗,經過3 年單片機教學實踐,設計制作了1 套機器人實驗裝置,如圖1 所示。學生可以利用這塊機器人實驗裝置上的電路,編寫小型的程序來控制機器人做出各種動作和反應,如轉彎、尋線、夾取物件、顯示狀態等。通過10 幾個項目的學習就可以讓大部分學生掌握單片機課程中常見的知識點。學有余力的學生可以自己設計一些機構并搭建相應的電路,做一些創新性的項目,如搬運機器人、迷宮機器人(見圖2)、尋線競速機器人等。通過這些項目的實施,可以提高學生的綜合應用和創新能力。

圖1 機器人實驗裝置

圖2 迷宮機器人
在教學方式上打破傳統的以知識點為體系的課程結構,嘗試用一個個具體的項目來導出單片機的知識點,引導學生學習,再啟發學生用所學的知識和技能來實施項目。教學中不強調單片機課程知識體系的系統性和完整性,現實中用得多的就讓學生多學多練,用得少的暫時不學。學生在大學里的時間畢竟只有3、4年,跟他們以后工作的時間相比是短暫的。筆者認為學校教育的重點是培養學生興趣,幫助學生樹立終身學習的觀念,教會學生一些專業課的入門知識和學習的方法,畢業后他們就具備進一步學習的意愿和能力。
在教學內容上從基本輸入輸出接口講起,將單片機內部結構、指令系統(或單片機C 語言語法)等內容分散到一個個小的項目中,涉及到哪些知識點再有選擇的講解。讓學生從一開始就看到自己的學習成果,感受到自己的進步,這樣他們會更愿意繼續學下去。考慮到學生的興趣特點和接受能力,按照由易到難的原則,筆者設計了20 幾個項目,如表1 所示。每1 個項目都有1 個示例程序,難度稍大的項目還有1 或2個引入程序。另外,每個項目都有1 ~3 個基于示例程序延伸的小課題,由學生在理解硬件結構和示例程序的基礎上思考、討論、不斷嘗試去解決。在教學中先讓學生對每個項目有個感性的認識,吸引住他們的注意,激發出他們的興趣,再引導他們學習理論知識,學完理論知識后再要求學生應用它們去解決項目中的問題。
我們以“因材施教”的思想,根據不同專業、不同課時,有選擇地進行基本項目和拓展項目的訓練。同一個班級學生的興趣和基礎差異也比較大,對他們也提出了不同的要求。普通學生只要能掌握基本的知識,理解示例程序即可;成績較好的要求他們完成基于示例程序延伸的小課題。在課外我們還成立了機器人興趣小組,綜合項目由小組成員合作完成。除了利用機器人實驗裝置進行教學外,我們要求興趣小組的學生自己焊接單片機最小系統板(如圖3 所示)、無線收發模塊、各種機器人傳感器模塊、74HC595 演示板、LED 點陣屏等多種獨立的硬件模塊,模塊和模塊之間用杜邦線連接。親手制作模塊的學生對單片機系統硬件電路掌握得更好,也會編寫模塊的控制程序,就業以后可以開始單片機控制系統的軟硬件設計工作了。

表1 實訓項目表

圖3 手工焊接的單片機最小系統板正反面
為了配合教學,我們建設了2 個實驗室:單片機實驗室和機器人創新實驗室,2 個實驗室的主要設備如表2 所示。其中單片機實驗室可以與其它實驗室合用(比如CAD 實驗室、EDA 實驗室、軟件實驗室等),以提高實驗室的使用率。單片機實驗室所用機器人實驗裝置可以上網采購,價格約500 元左右[15-16]。當然最好是自制,多數學校的工科專業在單片機課程之前會有1 門電子線路板設計與制作的課程,老師可以用機器人實驗裝置控制電路板的原理圖和PCB 圖繪制來組織這門課的教學。課程結束時實驗板的PCB 圖也畫好了,挑選1 個繪制比較好的學生的作品寄給PCB廠家生產。然后在焊接的實訓課上組織學生把實驗板焊接完成,以便在單片機課程中使用。學生對他們自己制作的實驗板比較有成就感,也比較有感情,更樂意使用它繼續學習。而機器人創新實驗室主要是機器人興趣小組活動的場所,所需的工具、設備和元器件可以根據實際需要逐步添加。

表2 單片機實驗室和機器人創新實驗室主要設備
采用機器人平臺進行單片機教學激發了學生的學習興趣。以項目實踐為主,理論知識講授為輔的教學方式保證了學生興趣的持續性。由淺入深的項目設計,可以使大部分學生跟得上教學進度。當然,我們在教學中也碰到了一些問題,比如有些項目用到了后面才學習的知識點,我們的處理方法是先讓學生不要管理論,照做就可以了。希望今后通過不斷的優化項目設計來逐漸解決這個問題。
[1] 肖曉萍,廖 青. 基于機器人實驗教學平臺的研制[J]. 機電產品開發與創新,2008,21(4):19-21.
[2] 王振士,陳富林. 基于AT89S52 單片機的教學機器人控制系統的設計與實現[J]. 機電產品開發與創新,2009,22(6):19-20.
[3] 朱磊磊,陳 軍. 輪式移動機器人研究綜述[J]. 機床與液壓,2009,37(8):242-246.
[4] 張迎新. 單片機初級教程[M]. 2 版. 北京:北京航空航天大學出版社,2006.
[5] 胡 輝. 單片機原理與應用[M]. 北京:中國水利水電出版社,2007.
[6] 張毅剛. 單片機原理及接口技術(C51 編程)[M]. 北京:人民郵電出版社,2011.
[7] 張迎新. 單片機原理及應用[M]. 2 版. 北京:電子工業出版社,2009.
[8] 李廣弟,朱月秀. 單片機基礎[M]. 3 版. 北京:北京航空航天大學出版社,2007.
[9] 謝維成. 單片機原理與應用及C51 程序設計[M]. 北京:清華大學出版社,2006.
[10] 楊天怡. 單片機原理及應用[M]. 北京:清華大學出版社,2010.
[11] 束 慧,陳衛兵. 單片機技術與應用基礎[M]. 北京:人民郵電出版社,2010.
[12] 張大明. 單片微機控制應用技術[M]. 北京:機械工業出版社,2006.
[13] 黃 健. 單片機原理與應用[M]. 西安:西北工業大學出版社,2008.
[14] 張素琴. 基于寶貝車機器人平臺的單片機項目式教學實踐[J].黑龍江科技信息,2009(36):84-84.
[15] 天賜電子. 51 單片機開發板C51 單片機學習板C51 智能小車R2 機 器 人[EB/OL]. http://item. taobao. com/item. htm?id =4322611899. 2011-11-3/2011-11-5.
[16] 智能小車店. 51 單片機智能小車51 開發板51 實驗板 避障小車 尋跡小車[EB/OL]. http://item.taobao.com/item.htm?id =13010507854. 2011-11-3/2011-11-5.