張燕 夏慶鋒 謝鵬飛
摘要:目前高等院校本科強調(diào)應(yīng)用型人才的培養(yǎng),筆者所帶的嵌入式系統(tǒng)則是一門理論加實踐的應(yīng)用型課程,針對實驗教學(xué)中遇到學(xué)生離開實驗室缺少實驗環(huán)境的問題設(shè)計了在實驗過程中發(fā)現(xiàn)學(xué)生對于嵌入式系統(tǒng)非常感興趣,但是存在的一個客觀問題就是本文重點介紹嵌入式移動機器人教學(xué)平臺的設(shè)計以及相關(guān)教學(xué)實驗的設(shè)計,目的在于探索建立新型概念課的方法和方式,讓學(xué)生能夠?qū)⒅R的學(xué)習(xí)、素質(zhì)的培養(yǎng)和實際應(yīng)用聯(lián)系起來。
關(guān)鍵詞:嵌入式系統(tǒng);移動機器人;實踐;教學(xué)平臺
中圖分類號:TP751.1 文獻標(biāo)識碼:A 文章編號:1009-3044(2015)02-0223-03
Abstract: Higher education reform focused on "heavy practice, integrated heavy, heavy and innovation",this paper introduced how to design a mobile robot teaching platform which was based on LPC1768 system. some experiments will design for student in order to improve students' practical ability. and could make student connect knowledge, practical application of knowledge and improve qualities together .
Key words: Embedded systems; mobile robot; practice; teaching platform;
機器人技術(shù)是一個國家科學(xué)技術(shù)水平和國民經(jīng)濟現(xiàn)代化、信息化的重要標(biāo)志,而嵌入式系統(tǒng)則是機器人控制的核心部分[2]。針對筆者所在的院校向應(yīng)用化改革的目標(biāo)要求,設(shè)計了一門針對探索建立新型概念課的方法和方式,把知識的學(xué)習(xí)、素質(zhì)的培養(yǎng)和實際應(yīng)用聯(lián)系起來。樹立以學(xué)生為本,知識傳授與能力培養(yǎng)并舉,素質(zhì)提高與協(xié)調(diào)發(fā)展并重的實驗教學(xué)觀念;以實驗技能訓(xùn)練為核心,重應(yīng)用,強調(diào)規(guī)范和精確[3-4]。本課程是將電子專業(yè)課程《C語言程序設(shè)計》,《嵌入式系統(tǒng)》,《傳感器技術(shù)》, 《移動機器人技術(shù)》結(jié)合起來,將電子專業(yè)學(xué)生掌握的專業(yè)技能項目進行重新整合,建構(gòu)一門新型實習(xí)實訓(xùn)課程。本課程著重于學(xué)生的應(yīng)用能力的培養(yǎng)。
1 課程設(shè)計架構(gòu)
本課程的設(shè)計根據(jù)學(xué)生的差異性分成兩部分。
本課程的基礎(chǔ)部分的整體框架是以傳感器信號作為輸入,以LPC1768作為CPU處理器[5],以串口或者LCD1602作為輸出顯示。從而構(gòu)成一個簡單的系統(tǒng)。綜合部分學(xué)生可以結(jié)合自動控制的內(nèi)容,實現(xiàn)諸如溫控系統(tǒng)、超聲探障報警系統(tǒng)等內(nèi)容的設(shè)計??傮w框架如圖1所示。
圖1中最左邊是傳感器,示意圖中列出了超聲傳感器,紅外傳感器,溫度傳感器。當(dāng)然可以設(shè)計其余的傳感器傳入。中間是處理信息的中心也即是嵌入式系統(tǒng),設(shè)計中采用的是cortex-M3芯片,右邊是數(shù)據(jù)獲取顯示部分,可以采取串口通過USB轉(zhuǎn)串口線在上位機超級終端上顯示,也可以通過無線傳輸模塊將數(shù)據(jù)傳輸?shù)缴衔粰C上,通過超級終端上顯示。還可以通過I2C掛接LCD1602,在LCD1602上顯示數(shù)據(jù)信息。
本課程的擴展部分是自主控制移動機器人的設(shè)計。使用嵌入式系統(tǒng)LPC1768作為主CPU,實現(xiàn)移動機器人的運動控制以及傳感器數(shù)據(jù)的獲取,移動機器人周圍會搭載一系列傳感器,如超聲傳感器,紅外傳感器,陀螺儀,電子羅盤,里程計等等。通過CPU控制電機實現(xiàn)控制移動機器人運動,通過超聲傳感器和紅外傳感器結(jié)合實現(xiàn)移動機器人周圍障礙物的探測,而后CPU會處理傳感器數(shù)據(jù),通過處理的信息會進一步控制移動機器人的運動,通過陀螺儀,電子羅盤,里程計等傳感器信息去獲取移動機器人的位置信息。因為涉及到移動機器人運動控制部分的內(nèi)容,所以會將學(xué)生分成幾個小組,也會將任務(wù)分成各個部分。讓學(xué)生以綜合作業(yè)的形式提交。
圖2所示則為擴展部分移動機器人設(shè)計框架,左邊是獲取周圍環(huán)境的傳感器信息,右邊是顯示部分,可以通過串口或者是無線模塊nrf24l01將數(shù)據(jù)傳輸?shù)絇C上。傳感器的數(shù)據(jù)獲取以及處理則在LPC1768上實現(xiàn)。由圖2可以看出,此設(shè)計僅僅使用了創(chuàng)意之星的底層框架,會使用LPC1768控制舵機運行。傳感器數(shù)據(jù)獲取處理,以及移動機器人的控制也是由LPC1768實現(xiàn)的。由于考慮到CPU的處理能力,后續(xù)會繼續(xù)在此基礎(chǔ)上使用多CPU進行改進。
2 課程體系設(shè)計
本課程將分成理論課程,實驗課程以及綜合設(shè)計三塊內(nèi)容。
第一部分是嵌入式基礎(chǔ)知識的學(xué)習(xí)。主要包括嵌入式系統(tǒng)的軟硬件介紹,開發(fā)環(huán)境介紹,會就嵌入式C與普通C語言的區(qū)別以及一些嵌入式C中常用的關(guān)鍵字如volatile進行介紹。而后會對一些與傳感器連接需要使用的外設(shè)接口進行介紹,包括四個小部分,分別是通用GPIO的介紹,定時計數(shù)器的介紹,無線通訊模塊的介紹以及I2C接口的介紹。
第二部分是傳感器相關(guān)模塊的介紹。首先介紹什么是傳感器,而后分別介紹各個傳感器,包括紅外傳感器,溫度傳感器,超聲傳感器,電子羅盤,陀螺儀等。
第三部分會留出一段時間讓學(xué)生以項目的形式自己設(shè)計一個系統(tǒng)。會給定一些可選題目,學(xué)生也可以選擇自己感興趣的傳感器去進行研究,形成一個完整的系統(tǒng),需要學(xué)生提交項目計劃書,產(chǎn)品使用說明書以及軟件測試代碼,測試報告等內(nèi)容。
與理論課程相對應(yīng)的會有實驗課程結(jié)合,針對嵌入式系統(tǒng)的基本知識會有5個實驗相對應(yīng),分別是嵌入式開發(fā)環(huán)境如何使用,主要是介紹keil軟件的使用,如何創(chuàng)建工程,如何調(diào)試代碼等。而后是對于通用GPIO接口的使用,之后是定時計數(shù)器的使用,主要是實現(xiàn)利用定時器精確進行計時。最后是I2C總線的介紹和使用。
針對傳感器知識也設(shè)計了相關(guān)的實驗,首先針對紅外傳感器會讓學(xué)生學(xué)習(xí)如何設(shè)計了一個簡單的遙控器,針對溫度傳感器DS18B20,要求學(xué)生能夠設(shè)計一個溫度報警系統(tǒng),能夠獲取當(dāng)前溫度信息,當(dāng)溫度信息超過一定限值的時候,通過蜂鳴器進行報警。針對超聲傳感器,主要可以用于獲取15cm-4m范圍內(nèi)的環(huán)境信息,希望學(xué)生能夠?qū)崿F(xiàn)每次按鍵中斷能夠獲取一個障礙物距離信息。且能夠通過I2C接口將數(shù)據(jù)顯示在LCD1602的屏幕上。接下來九軸傳感器的數(shù)據(jù)信息獲取是基于I2C接口的,所以需要學(xué)生在了解I2C接口的基礎(chǔ)上能夠獲取九軸傳感器上電子羅盤,陀螺儀,加速度計的數(shù)據(jù)信息,且能夠進行相應(yīng)的處理。
針對自選項目會分層次給出題目。一般性題目諸如溫度報警控制系統(tǒng),有毒氣體探測報警系統(tǒng),超聲障礙探測系統(tǒng)等。針對自主控制移動機器人部分,會給出諸如多紅外傳感器感測移動機器人四周障礙系統(tǒng)設(shè)計,該設(shè)計會作為獨立模塊要求學(xué)生使用單片機實現(xiàn)),超聲紅外探測障礙系統(tǒng):與第一部分的區(qū)別是會要求學(xué)生使用舵機控制超聲傳感器動態(tài)探測前方障礙等。
3 課程的教學(xué)方式
本課程屬于全新課程建設(shè),包含理論教學(xué)、實驗教學(xué)以及項目驅(qū)動教學(xué)。
(1)對于嵌入式系統(tǒng)的教學(xué)采用理論知識,軟件代碼以及實驗結(jié)合教學(xué)的方法。
由于嵌入式系統(tǒng)是一門綜合性很強的課程。從工程的角度分析,它是涉及了機械、電子、計算機等多個學(xué)科的系統(tǒng),單個學(xué)習(xí)者很難掌握當(dāng)前嵌入式系統(tǒng)開發(fā)的全部知識和技能。因此,各個專業(yè)的嵌入式系統(tǒng)教學(xué)所側(cè)重的內(nèi)容是不同的。比如電子和電氣專業(yè)的嵌入式課程的教學(xué)內(nèi)容更多的側(cè)重于硬件電路設(shè)計。就計算機專業(yè)的角度分析,嵌入式系統(tǒng)涉及了計算機體系結(jié)構(gòu)、微機原理和接口技術(shù)、實時操作系統(tǒng)和計算機編程等諸多知識內(nèi)容。而且目前存在多種不同的嵌入式硬件平臺、嵌入式操作系統(tǒng)平臺和開發(fā)工具,如何在諸多的技術(shù)中進行教學(xué)內(nèi)容的選擇,是首先需要解決的問題。本課程計劃采取嵌入式系統(tǒng)教學(xué)采用理論知識,軟件代碼以及實驗結(jié)合教學(xué)的方法。由于本實驗實訓(xùn)課程主要著重于嵌入式系統(tǒng)的外設(shè)使用,因此會避開硬件設(shè)計、操作系統(tǒng)、makefile等相關(guān)內(nèi)容,直接采取首先介紹各個接口,而后介紹用到的寄存器,之后介紹如何使用寄存器操作接口,如何使用下載器,通過例子代碼以及實物演示的方法來介紹如何使用,之后通過給定實驗題目讓學(xué)生在實驗課程上使用理論課學(xué)習(xí)的知識來編寫代碼實現(xiàn)相關(guān)外設(shè)使用。
(2)對于傳感器知識部分,采取首先介紹相關(guān)傳感器的理論知識,而后實物展示,之后通過講解傳感器數(shù)據(jù)獲取,處理代碼讓學(xué)生大概了解內(nèi)部的工作原理,由于時間限制所以不要求學(xué)生會編寫所有的傳感器內(nèi)部數(shù)據(jù)獲取、處理的代碼,最后會在實驗課提供給學(xué)生實驗課程的相關(guān)傳感器初始化,讀取,使用的接口代碼。學(xué)生只需要能夠使用各個傳感器的接口代碼獲取傳感器數(shù)據(jù)就可以了。
(3)對于最后的綜合實驗課程以項目組織實施的方式對學(xué)生進行指導(dǎo)和管理。
嵌入式系統(tǒng)無處不在,越來越多的數(shù)碼產(chǎn)品充斥著我們的日常生活,如手機、數(shù)碼相機、各式各樣的機器人、電子交通工具、智能儀器和車載電子系統(tǒng)等等,而且其更新升級的速度也越來越快。這些都體現(xiàn)了嵌入式系統(tǒng)的設(shè)計和開發(fā)需要有不斷創(chuàng)新的精神,并且需要采用研究性方法來進行設(shè)計和開發(fā)。
傳統(tǒng)的嵌入式教學(xué)只是注重于知識的單向傳播,即老師向?qū)W生灌輸最終的概念、原理和結(jié)論,學(xué)生則是被動的接收和被動的記憶。學(xué)生被禁錮在課堂上、實驗指導(dǎo)書上,極大地限制了學(xué)生的素質(zhì)和創(chuàng)新能力的培養(yǎng)。在本實驗實訓(xùn)課程的教學(xué)中,通過項目和自行創(chuàng)新實驗的設(shè)置,大大地激發(fā)了學(xué)生的創(chuàng)造潛力,培養(yǎng)了學(xué)生的科研能力。而且通過鼓勵學(xué)生參加各種機器人相關(guān)的比賽,也能夠提高了學(xué)生自主創(chuàng)新的積極性和成就感。
本設(shè)計最后的項目,可以學(xué)生自己提出一個自己想要實現(xiàn)的程序,而后利用我們LPC1768實現(xiàn)相關(guān)的內(nèi)容,同時我們也會分層次給出幾個設(shè)計題目供學(xué)生選擇。如氣體傳感器探測系統(tǒng)。學(xué)生可以自己選擇相關(guān)的傳感器,目前氣體傳感器有MQ2氣體傳感器、可燃?xì)怏w傳感器、二氧化碳?xì)怏w傳感器、空氣質(zhì)量傳感器等很多。學(xué)生可以自己選擇某種傳感器去進行設(shè)計。
如學(xué)生可以選擇一個可燃?xì)怏w傳感器做一個可燃?xì)怏w探測報警系統(tǒng)的設(shè)計。這種設(shè)計能夠用于家庭,放在廚房,當(dāng)廚房可燃?xì)怏w超過一定數(shù)值的時候就能夠報警,對于家用安全有非常重要的作用。學(xué)生也可以選擇空氣質(zhì)量傳感器做一個系統(tǒng),當(dāng)今社會越來越多的人對于空氣質(zhì)量的指標(biāo)越來越重視,如果學(xué)生能夠設(shè)計出一個這樣的系統(tǒng)去實時探測當(dāng)前的空氣質(zhì)量,既有實際意義也能夠激發(fā)學(xué)生對于電子專業(yè)的強烈的興趣。
此外對于項目設(shè)計,要求學(xué)生在整體項目完成的過程中需要有項目需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,在設(shè)計的過程中需要有對于每個設(shè)計文件的說明書以及測試代碼,測試文檔。對于整體設(shè)計完成之后需要有結(jié)題相關(guān)文檔等。讓學(xué)生在過程中了解一個軟件項目中應(yīng)該要做的不僅僅只是軟件代碼編寫,還包括需求說明,設(shè)計說明,詳細(xì)設(shè)計說明文檔,軟件功能測試代碼,軟件功能測試文檔,系統(tǒng)測試代碼,系統(tǒng)測試文檔等等內(nèi)容。
4 課程的考核方式
課程考核由實物演示、設(shè)計報告和答辯等三個環(huán)節(jié)組成,分別按照40%、30%、30%的比例構(gòu)成。要求學(xué)生演示自己的實物,需要提交自己設(shè)計產(chǎn)品的使用說明書以及實驗報告,最后會有一個答辯環(huán)節(jié),三者結(jié)合給出最后成績。
5 總結(jié)
本課程主要是將本校電子專業(yè)學(xué)生所學(xué)習(xí)的知識融合起來,讓學(xué)生能夠利用所學(xué)的知識進行應(yīng)用。筆者在所帶嵌入式系統(tǒng)課程上針對基礎(chǔ)設(shè)計部分做了嘗試,效果良好。學(xué)生就在學(xué)習(xí)嵌入式系統(tǒng)理論知識,實驗操作之后,最后的大作業(yè)就設(shè)計出溫度報警系統(tǒng),超聲傳感器測距模塊等應(yīng)用系統(tǒng)。
參考文獻:
[1] 殷建軍,張明武,萬軍洲.競教結(jié)合的嵌入式系統(tǒng)實踐教學(xué)改革[J].計算機教育,2011,2(2):1-4.
[2] 孫士明,劉新平,鄭秋梅,等. 計算機專業(yè)嵌入式系統(tǒng)實踐教學(xué)體系探索[J]. 實驗室研究與探索,2009,28(5):122-125.
[3] 原亮,丁國良,李浩,等. 嵌入式系統(tǒng)的綜合教學(xué)實驗環(huán)境建立[J]. 實驗室研究與探索,2008,27(1):92-95.
[4] 汪治華,劉巖,全曉莉, 杜凱; 構(gòu)筑綜合學(xué)習(xí)平臺, 改革創(chuàng)新工程教育[J]. 高等工程教育研究,2011(1):139-142.
[5] 周立功.ARM 嵌入式系統(tǒng)基礎(chǔ)教程[M]. 北京:北京航空航天大學(xué)出版社,2005.
[6] LPC2114_2124_2212_2214-02-user_cn 中文手冊.
[7] 何菁,詹洪陳,戴瑾.嵌入式系統(tǒng)設(shè)計實驗[M].南京:南京大學(xué)出版社.2014.
[8] 張?zhí)m紅, 陸廣平.基于Proteus仿真的單片機教學(xué)的研究與實踐[J]. 2014(5):76-78.