張佳明,孫 浩,栗 琳
(北京科技大學 機械工程學院,北京 100083)
隨著中國制造2025、工業(yè)4.0等概念的提出,機械工程專業(yè)與電子信息技術融合的需求不斷增長[1-3]。檢測與控制實驗是一門培養(yǎng)學生機械設計、機電控制、傳感技術等能力的必修綜合實踐課程,在機械工程人才培養(yǎng)體系中具有極其重要的地位[4-6]。
實驗儀器在實踐教學環(huán)節(jié)中是必不可少的硬件條件,長期以來,市場上的檢測與控制課程實驗設備基本保持著實驗箱或實驗臺的形式,存在價格高、體積大、功能單一、開放性不強等問題。而實驗往往以原理性和驗證性內容為主,如果缺少工程化的傳感器、先進的信號檢測儀器與分析手段,則無法提供系統(tǒng)性、綜合性的實驗條件,創(chuàng)新性與設計性的實驗項目更是無從談起,使得實踐教學環(huán)節(jié)在機械學科系統(tǒng)性思維及工程應用能力培養(yǎng)方面無法發(fā)揮應有的作用[7-10]。
近年來,傳感器技術、微電子技術、計算機技術發(fā)展迅速,利用單片機、ARM等嵌入式系統(tǒng)來解決檢測與控制技術問題已成為大勢所趨,引領著工程應用方向以及國內外高校的實踐課程建設思路[11-14]。本文設計了一套基于 STM32單片機的檢測與控制綜合實驗系統(tǒng),打破了傳統(tǒng)的演示型、驗證型實驗模式,建立了設計型、創(chuàng)新型、綜合型實驗體系,在激發(fā)學生主觀能動性、培養(yǎng)工程應用能力與創(chuàng)新實踐精神方面具有積極作用。
為了能夠兼具適用性、擴展性與創(chuàng)新性,本文基于以下思路構建實驗系統(tǒng)。
(1)采用“模塊化”的硬件設計理念。實驗系統(tǒng)硬件由核心板、擴展板、功能模塊三部分組成,可根據實驗內容組合硬件模塊,便于組裝、拆卸和更新升級,后期易于維護,成本較低。擴展板集成多種接口,可實現功能模塊與核心板之間的快速連接。功能模塊可共享于多套嵌入式核心板,或與其他實驗平臺共享使用,進一步節(jié)約成本。
(2)遵循“階梯遞進式”的內容構建原則。實驗內容包括單片機基礎實驗、單項驗證型實驗、綜合型實驗以及設計型實驗,共四級,充分考慮學生認知能力發(fā)展過程,四級實驗難度呈階梯遞進式增長,循序漸進地引導學生在驗證—應用—設計的過程中將所學知識內化為自己的理解。
(3)增加設計型實驗內容。以智能小車為載體,以特定的功能實現為目標,通過自主開展結構設計、電路設計、軟件編制等工作,培養(yǎng)學生自主思考與方案設計能力,塑造工程應用與創(chuàng)新實踐思維。
由核心板、擴展板與功能模塊三部分組成的實驗系統(tǒng)連接關系如圖1所示。
圖1 實驗系統(tǒng)連接關系
核心板以基于Cortex-M4內核的STM32F407ZGT6單片機作為控制核心,與多通道電源模塊、晶振和RST、USB轉串口、SWD接口等共同組成。該芯片內置1024 kB FLASH、支持最高168 MHz工作頻率,內置12個16位定時器、2個32位定時器、2個DMA控制器(共16個通道)、3個12位ADC、2個12位DAC,具有多達112個通用I/O接口,支持SPI、IIC、UART、USB、CAN等多種通信接口。
圖2 STM32核心板實物
STM32核心板實物如圖 2所示。電源模塊可由USB輸入5 V直流電源,為普通器件供電,也可由適配器或鋰電池通過DC插頭輸入12 V直流電源,為顯示屏、電機等大功率器件供電,通過電源選擇開關進行輸入電源的切換,兩枚ASM1117芯片完成12 V—5 V、5 V—3.3 V的電壓轉換。板載一個MiniUSB接口,連接 CH340G芯片。通過 CH340G芯片的 DTR和RTS控制STM32的復位和BOOT引腳,TXD和RXD連接串口 1,實現 USB與串口的轉換。使用STLINK仿真器與JTAG/SWD接口連接,進行STM32單片機的固件下載和程序調試。時鐘電路的晶振頻率為8 MHz。核心板電源與下載電路如圖3所示。
圖3 核心板電源與下載電路
擴展板為核心板提供外圍電路,便于各類功能模塊的插接。如圖4所示,擴展板由電源模塊、4組傳感器接口、6組舵機接口、2組直流電機接口、LED點陣模塊以及擴展接口組成。電源模塊由 L9170和LM1084芯片組成,L9170芯片通過兩個邏輯端子作為輸入控制直流電機的正、反轉。2組LM1084芯片產生穩(wěn)定的5 V和6 V電源,通過電壓跳線連接為傳感器接口和舵機接口供電。擴展接口可與無線通信、OLED屏幕、藍牙等功能模塊連接。
圖4 擴展板
功能模塊由四類器件組成,包括電機模塊、傳感器模塊、輸入輸出模塊以及機械結構模塊,各類器件如圖5所示。
電機模塊包括直流電機、步進電機以及舵機。直流電機通過高低電平控制轉動方向,通過PWM參數調整電機轉速。步進電機采用2相5線連接,通過改變各相導通順序控制轉速與方向。模擬舵機通過調整輸出脈沖寬度變化來調整轉動方向,數字舵機可通過串口指令控制轉動角度。
傳感器模塊包括距離、溫濕度、加速度、應變等傳感器。每個傳感器連接4個管腳,分別為5 V電源、GND以及2個I/O口,實現傳感器的驅動與數據傳輸。
輸入輸出模塊主要用于實現人機交互與通信,主要包括4×4矩陣鍵盤、OLED屏幕、七段數碼管、Wi-Fi模塊、NFR模塊、藍牙模塊等器件。
機械結構模塊用于搭建智能小車的機械結構,包括各種鋁合金結構件、傳動件、連接件,學生根據目標功能自行設計結構方案并完成組裝。
2.4.1 程序編寫
實驗程序使用 KeilMDK軟件進行編寫,Keil是一款支持C語言的單片機開發(fā)軟件。STM32系列單片機功能強大,內部資源豐富,寄存器數量多,若采用直接操作寄存器的方式編寫程序,編程工作量較大,也不是本課程的學習重點。因此,本課程使用ST(意法半導體)公司提供的 STM32標準庫函數,開發(fā)者直接調用固件庫中的函數即可完成寄存器的操作,使項目開發(fā)簡單、高效且具有較好的可移植性[15]。
圖5 檢測與控制綜合實驗功能模塊
2.4.2 串口程序下載
在上位機軟件FlyMcu中,配置CH340G串口芯片DTR的低電平復位,RTS高電平進入BootLoader,選擇要下載的Hex文件,通過USB轉串口將程序傳輸至STM32,即可完成程序的一鍵下載,如圖6所示。
圖6 USB串口下載軟件
但是,串口下載不具備調試功能,只能在程序完成下載后通過單片機的現象來判斷程序運行情況。而對于比較復雜的程序,則需要通過在線調試來查找問題。
2.4.3 STLINK下載與調試
STLINK是ST公司為STM32系列MCU設計的一款兼具程序下載與在線調試功能的開發(fā)工具。STLINK與STM32單片機之間通過SWD接口連接,與計算機之間通過USB接口連接,點擊MDK軟件中的“Build”,即可完成程序的下載。如圖 7所示,進入MDK軟件調試模式,在調試工具中可進行單步調試、斷點調試、函數執(zhí)行、全速運行等操作,同時可以通過查看匯編代碼、堆棧局部變量、寄存器狀態(tài)、內存狀態(tài)等,追蹤程序執(zhí)行效果。
圖7 STLINK調試界面
檢測與控制綜合實驗系統(tǒng)實物如圖8所示,經過多年研制與改進,現已投入教學一線使用,并為其開發(fā)了全套實驗例程,面向我院機械工程專業(yè)開展檢測與控制綜合實驗教學。
圖8 檢測與控制綜合實驗系統(tǒng)實物圖
為了使學生充分理解 STM32單片機的檢測與控制方法,基于階梯遞進原則,按照基礎型、驗證型、綜合型、設計型設置了多層次、分等級的實驗項目,形成了4個等級共19個實驗項目的課程體系,實現了階梯配置、循序漸進的教學模式,如表1所示。
首先,從基礎型實驗開始,讓學生學習實驗環(huán)境的搭建,包括軟件與驅動程序安裝、工程模板創(chuàng)建等,并熟悉各種外部資源的配置方法。
在此基礎上,開展驗證型實驗,讓學生逐步掌握傳感器、電機等各類外設模塊的使用方法??赏瓿傻膶嶒烅椖堪ǔ暡y距、溫濕度、加速度、應變、紅外測距、灰度、轉速測量等檢測類實驗項目,以及直流電機、舵機、步進電機等控制類實驗項目。通過這一階段的學習,使學生熟悉 STM32單片機,并具備基本的開發(fā)能力。
第三階段為綜合型實驗,設置了3個實驗項目,包括1個檢測類綜合實驗和2個測試類綜合實驗。
(1)時間電子秤實驗(見圖9(a))。通過對應變傳感器、RTC、OLED屏幕、矩陣鍵盤的綜合運用,實現稱重、金額輸入與計算、去皮、顯示時間等功能。
(2)三軸機械臂實驗(見圖 9(b))。運用單片機輸出指定頻率、寬度、變化速度的PWM脈寬信號,控制舵機的角度變化,通過三個舵機的協(xié)同控制實現機械臂的移動,使用氣動吸盤進行目標樣塊的抓取和放置。實驗內容還可進一步擴展,如通過稱重傳感器對樣塊進行稱重,并根據重量分類放置。
(3)PID履帶車實驗(見圖9(c))。履帶車以直流電機為驅動,使用PMW脈寬調制方式控制轉速,通過紅外編碼器測量轉速,基于PID思想更新脈寬參數,進而調整電機轉速,使履帶車按照設定速度運行。
第四階段的設計型實驗設置了智能掃地機器人和智能尋跡機器人兩個項目。掃地機器人要能感知障礙進行避讓、檢測懸崖避免跌落,同時能按照一定的行動策略以覆蓋更多的面積。尋跡機器人要能識別地面上的線條并沿著線條行駛,同時能夠檢測懸崖避免跌落。要求學生根據所學知識,結合實驗系統(tǒng)所提供的資源,自主選題并設計實驗方案,圖 9(d)所示為一尋跡機器人。
表1 實驗系統(tǒng)可以完成的實驗項目
圖9 第三、四階段實驗裝置實物
以培養(yǎng)工程應用型人才的教學需求為導向,開發(fā)了基于 STM32的檢測與控制綜合實驗教學系統(tǒng),并將其用于機械工程專業(yè)檢測與控制綜合實驗教學。教學情況表明,本系統(tǒng)運行穩(wěn)定,實驗內容設置合理,取得了良好的教學效果。
本系統(tǒng)具有內容豐富、攜帶方便、適應性強、性價比高等特點,為學生深入學習檢測與控制技術提供了實踐教學平臺,對學生工程應用思維與創(chuàng)新實踐能力的培養(yǎng)具有積極作用。本系統(tǒng)還具有良好的擴展性,可適用于其他專業(yè)單片機、嵌入式技術、檢測與控制技術的學習,具有較好的推廣前景。