梁少志
(江蘇省江陰中等專業學校徐霞客校區,江蘇無錫,214407)
硬件電路以單片機AT89S52為核心部分。小車電路主要由以下幾個電路組成組成。如圖1所示。

圖1 系統原理框圖
1.2.1 單片機模塊
高性能、低功耗的AT89S52是51系列中CMOS形式的 8位CPU單片機,擁有8K 系統可編程Flash閃存,帶有ISP在線編程功能,對芯片進行寫入程序操作時只要一根ISP下載線,編寫改寫程序非常方便。主要包括單片機最小系統(晶振電路和手動復位電路等)、LED指示燈電路和ISP下載口。
1.2.2 電源部分
利用正電壓5V的穩壓芯片L7805和可調式穩壓芯片LM317,外部接倆個10uf的電容,一個104的瓷片電容, 可以為后面的控制電路提供5V和3.3V的穩定直流電壓。
1.2.3 電機驅動模塊
在電機驅動電路中,為了實現轉向控制,小車設置2個直流電機,左右輪分開控制。(1)調速原理。課題中采用額定電壓為6 V的直流電機,使用脈寬調速PWM(脈沖寬度調制)。(2)驅動電路。采用有4個輸出的驅動芯片L298N來控制電機,L298N是一款在當前智能控制領域應用很廣泛的驅動控制芯片,可以驅動2個兩相電機或者一個四相電機,本課題中用來控制2個直流電機;驅動芯片是接5 V電源,因為單片機電源也是5V,所以可以直接相連組成PWM控制電路;驅動芯片的2個使能控制端設置為允許或禁止器件工作。電機工作時產生的電磁干擾容易影響電源的工作,為了避免直流電機對電源品質造成影響,電路采用雙電源供電。一組是給單片機和控制電路供電的5V電源,另外一組給L298N的+VSS、+VS供電的電源。同時在驅動芯片的輸出和電機之間采用光耦電路隔開,減小干擾。
1.2.4 無線數據傳輸模塊
無線傳輸部分采用超低功率的MSP430單片機對無線通訊模塊LSD-RFC1100A進行了包裝和處理。從而大大簡化了整體的開發工作,實現無線通信功能時只要通過UART串口即可,把其當作串口使用就可以了,使用起來簡潔方便。有兩個工作模塊 (發送模塊和接收模塊),當用戶通過串口向發射模塊發送命令數據,發射模塊就以無線形式將命令數據發送出去。此時,處于接受狀態的接收模塊接受到無線的數據,再通過串口發送給用戶。在整體電路中有兩個地方需要電壓轉換電路,一個是單片機與無線模塊之間,即5 V邏輯電平(單片機)與3.3 V邏輯電平(無線模塊),在2個接口之間采用電壓轉換電路。另一個是在PC機和無線模塊之間,即RS232電平(PC機)與3.3V邏輯電平,所以也要采用電壓轉換電路。
以C語言為工具,為小車設計了如下功能:速度控制(前進,后退),轉向控制(左轉,右轉),啟動停止。主程序流程圖如圖2。整個控制過程采用中斷方式實現,即PWM的輸出采用定時器0中斷,無線數據傳輸采用串口中斷,串口的波特率由定時器1的定時頻率決定。同時,串口中斷設置為高優先級。串口中斷程序流程圖如圖3。應用C語言編寫程序,因為C語言程序編寫結構簡單,有利于學生操作。

圖2 單片機主程序流程圖

圖3 串口中斷流程圖
軟件功能以C語言為工具來編程實現,整個過程簡單,操作方便。小車上電后,紅色的LED電源指示燈會亮。分2步進行小車功能的測試。首先,將用C語言編譯好的程序下載到單片機中,小車自動分別完成速度控制,轉向和啟動停止等操作。當單片機的程序執行結束,小車自動停止,代表結束的綠色LED指示燈亮起。其次,在小車的主板和上位機的接口端插上無線傳輸模塊,然后按照上位機軟件的指示操作。當單片機接收到了數據,小車主板上的綠指示燈會亮起,然后小車會按照指令進行各項功能測試。然后每組同學根據測試結果進行電路功耗的分析對比。
本課題涉及了電子產品裝配與調試,單片機原理及其接口轉換電路,電機驅動,EDA技術,C語言程序設計等多門課程。采用AT89S52單片機不僅在于其滿足課題需要,容易學習掌握,也在于可以降低成本,符合學校實訓教學成本控制的客觀條件。在中職課程中,從我校的實際教學出發,學生所學習的編程語言只有C語言,盡管匯編語言也有這樣那樣的優點,但是用C語言開發單片機非常方便,甚至現代企業的開發一般都是以C語言開發為主,根據學校實際開課情況,參與本課題的學生也基本掌握了C語言編程,所以本課題中采用了C語言開發編譯。本設計是針對中職高年級學生和競賽小組的學生設計的,對理論課程學習和動手操作能力要求比較高。要求設計制作者對于所學的電子技術知識和計算機知識的應用更靈活。這樣的課題設計制作將學生所學的專業知識和技能關聯起來,使學生對課題的理解更加的深刻,也突出了實訓教學的優點,從而有效彌補了傳統教學的不足。在具體的實踐過程中,學生從全方面提高了發現,分析,解決問題的能力,提高了學生的資源查找整合能力,也促進了學生自我創新。當然,當這樣一輛智能小車擺在面前的時候,也給學生帶來的自信心飛躍,這對普遍缺乏自信心的中職生來說是相當重要的,而這樣的成就感和自豪感更會不斷的激勵他們投入大量時間參與到實訓中來。學生以競賽小組的形式開展實訓操作,既可以強化模擬競賽時候的氛圍和心理承受力,也會不斷促進組內成員之間的交流合作,分工協作以及分享經驗技巧。實訓教學的重點在于學生與課程平臺之間有一個密切的互動,充分的激發學生自主探索,通過學生的主動學習去激發學生的內在動力,從而培養良好的學習能力和習慣。通過在學校里參與本課題的實際經歷,像公司工程技術人員在工作的時候一樣,在這樣的課堂上既沒有單調乏味的總結、精心設計和沒有約束條件的理想化課后習題,也沒有千篇一律的解題方法,只有在實際的探索過程中不斷的發現問題再去解決問題,學生可以在這樣一種模擬公司創作環境的氛圍中獲得臨場體驗。這樣的教學模式既不同于傳統的課堂教學,也不同于一般的實驗教學。知識源于實踐,能力在實踐中培養,素質在實踐中提高[8]。中職階段的學習,就我校的實際情況來看,實訓教學貫穿了學生三年全部的學習生涯,實驗室是主要的實踐場所。但是學校卻并沒有建立起與理論教學同樣重要和科學全面的實訓教學體系,當然這也是當前大部分中職學校存在的問題。所以結合學校的軟硬件條件,建立完善的實訓教學獨立體系,為理論學習和科學研究奠定基礎。
學生通過本課題可以很好的訓練電子產品裝配與調試方面的基本技能,掌握常用元器件的性能與使用方法,能熟練的對一些設備儀器進行調試操作及C語言編譯平臺的熟練使用等。不但鞏固了學生已學知識與技能,還能為今后的專業發展和參與競賽提供幫助。