張 睿
(無(wú)錫商業(yè)職業(yè)技術(shù)學(xué)院,江蘇無(wú)錫 214153)
隨著汽車(chē)向電動(dòng)化、網(wǎng)聯(lián)化、智能化的發(fā)展,且智能汽車(chē)在部分特定場(chǎng)景商業(yè)化應(yīng)用取得突破,自動(dòng)駕駛接駁車(chē)、工程車(chē)、物流車(chē)、快遞車(chē)、環(huán)衛(wèi)車(chē)被廣泛運(yùn)用。汽車(chē)類(lèi)嵌入式系統(tǒng)應(yīng)用技術(shù)等課程常被納入汽車(chē)相關(guān)專(zhuān)業(yè)的課程體系中,以提高學(xué)生對(duì)汽車(chē)智能化方面的認(rèn)知和技術(shù)服務(wù)能力。研究設(shè)計(jì)一款基于STM32 的嵌入式智能實(shí)訓(xùn)小車(chē)。該智能小車(chē)作為汽車(chē)類(lèi)嵌入式系統(tǒng)應(yīng)用技術(shù)等課程開(kāi)展實(shí)訓(xùn)教學(xué)的載體,通過(guò)任務(wù)驅(qū)動(dòng)的項(xiàng)目串起整個(gè)課程知識(shí)和技能點(diǎn),符合高職學(xué)生的認(rèn)知習(xí)慣,同時(shí)保證學(xué)生嵌入式開(kāi)發(fā)能力的可持續(xù)發(fā)展性和終身學(xué)習(xí)性。
智能實(shí)訓(xùn)小車(chē)采用模塊化設(shè)計(jì),主要由核心板、擴(kuò)展板、小車(chē)底盤(pán)和各種傳感器模塊構(gòu)成,兼容STM32、樹(shù)莓派、Arduino等市面上通用的核心板或控制器,在教學(xué)過(guò)程中,可針對(duì)不同的課程更換或增加核心板。擴(kuò)展板作為智能小車(chē)的主板,接口豐富,包含超聲波模塊、顏色識(shí)別模塊、藍(lán)牙模塊、IMU模塊、電機(jī)驅(qū)動(dòng)等十余個(gè)接口類(lèi)型,且預(yù)留STM32 核心板、樹(shù)莓派和Arduino 主控板接口。鋁合金材質(zhì)的底盤(pán),是智能小車(chē)的運(yùn)動(dòng)載體,可安裝各類(lèi)傳感器、4 個(gè)驅(qū)動(dòng)電機(jī)、3 節(jié)18650型鋰電池倉(cāng)等,且可根據(jù)需要增加為多層結(jié)構(gòu)。智能實(shí)訓(xùn)小車(chē)整體設(shè)計(jì)方案如圖1 所示。
圖1 智能實(shí)訓(xùn)小車(chē)設(shè)計(jì)方案
智能實(shí)訓(xùn)小車(chē)兼容STM32、樹(shù)莓派、Arduino 等多種不同的核心板,可根據(jù)課程選擇一個(gè)或多個(gè)核心板開(kāi)展教學(xué)。以嵌入式系統(tǒng)應(yīng)用技術(shù)課程教學(xué)為例,采用基于STM32F103C8T6 的通用核心板。核心板由MicroUSB 提供+5 V 供電,經(jīng)穩(wěn)壓芯片AMS1117 將+5 V 轉(zhuǎn)為3.3 V 給STM32 芯片供電。該核心板選取了8 M 的晶振并配合負(fù)載電容來(lái)滿(mǎn)足高速外部時(shí)鐘HSE 輸入的要求,選擇32.867 kHz 的晶振并配合負(fù)載電容作為L(zhǎng)SE 為低速外部時(shí)鐘輸入。
基于STM32F103C8T6 核心板可獨(dú)立于擴(kuò)展板開(kāi)展基礎(chǔ)性實(shí)訓(xùn)內(nèi)容的教學(xué),基于串口下載程序的固件,使用USB 轉(zhuǎn)串口模塊及相應(yīng)的下載軟件Mcuisp 即可通過(guò)串口下載程序到Flash中。USB 轉(zhuǎn)串口模塊與串口引腳連接為:Rx—A9、Tx—A10、GND—G、VCC—3.3 V。核心板各外設(shè)資源可滿(mǎn)足嵌入式系統(tǒng)應(yīng)用技術(shù)等課程實(shí)訓(xùn)教學(xué)的需要。在外接按鍵模塊、LED 模塊、ADC 模塊或USB 轉(zhuǎn)串口模塊時(shí),可進(jìn)行GPIO 控制、外部中斷控制、ADC、USART 串行通信等簡(jiǎn)單的實(shí)訓(xùn)項(xiàng)目的教學(xué)。硬件方面使用杜邦線(xiàn)進(jìn)行線(xiàn)路連接,以增強(qiáng)學(xué)生對(duì)基本的STM32 端口配置及電路的理解。
(1)供電電路。擴(kuò)展板中的供電電路中采用降壓型電源管理單片集成電路LM2596,供電電路如圖2 所示,VM 為外部電源輸入,同時(shí)也作為電機(jī)驅(qū)動(dòng)模塊中的電機(jī)驅(qū)動(dòng)電壓,經(jīng)LM2596電壓調(diào)節(jié)電路輸出為5 V 的VCC 電壓,并采用穩(wěn)壓芯片AMS1117 將VCC 轉(zhuǎn)為3.3 V 給STM32 主控供電。
圖2 VCC 供電電路
電池欠壓保護(hù)電路和3.3 V 供電電路如圖3 所示,該電路利用LM393 比較器對(duì)VBAT 電壓值進(jìn)行判斷,當(dāng)VBAT 相對(duì)較低時(shí),判斷為電池欠壓,比較器輸出端2596EN 為低電平,使LM2596S 停止工作。其中二極管作用是避免比較器電源電壓影響到VM 檢測(cè)端的工作。
圖3 欠壓保護(hù)電路和3.3 V 供電電路
(2)擴(kuò)展板電路模塊。擴(kuò)展板內(nèi)部資源豐富,包括有USB轉(zhuǎn)串口模塊、蜂鳴器、陀螺儀、NRF24L01 模塊、CAN 收發(fā)模塊、IMU 模塊、電機(jī)驅(qū)動(dòng)模塊等。結(jié)合各類(lèi)傳感器,可進(jìn)行嵌入式系統(tǒng)應(yīng)用技術(shù)的基礎(chǔ)實(shí)驗(yàn)教學(xué),也可開(kāi)展智能車(chē)尋跡、避障、藍(lán)牙控制、APP 控制、SLAM 建圖、自主導(dǎo)航等綜合性實(shí)訓(xùn)項(xiàng)目的教學(xué)。
設(shè)計(jì)中電機(jī)驅(qū)動(dòng)模塊采用直流電機(jī)驅(qū)動(dòng)器件TB6612FNG和接口電路,如圖4 所示。利用STM32 的定時(shí)器產(chǎn)生的兩組PWM 由IO 端口PB7、PB6 輸出至電機(jī)驅(qū)動(dòng)電路的PWMA 和PWMB 引腳,分別控制小車(chē)左右兩邊電機(jī)的轉(zhuǎn)速。并通過(guò)PB8、PB9、PB4、PB5 端口的輸出以確定AIN1、AIN2、BIN1、BIN2 狀態(tài)以控制電機(jī)正反轉(zhuǎn)和啟停狀態(tài)。
圖4 電機(jī)驅(qū)動(dòng)電路和接口電路
由于CAN 通信在汽車(chē)產(chǎn)業(yè)中被廣泛運(yùn)用,以CAN 通信為代表的車(chē)載網(wǎng)絡(luò)在汽車(chē)類(lèi)專(zhuān)業(yè)知識(shí)結(jié)構(gòu)體系中通常作為核心知識(shí)點(diǎn)進(jìn)行教學(xué)(圖5)。實(shí)訓(xùn)小車(chē)擴(kuò)展板中STM32 的CAN 通過(guò)PA2 和PA3 連接到TJA1050 收發(fā)芯片,然后通過(guò)CAN 接線(xiàn)端子同外部的CAN 總線(xiàn)。CAN 和USART2 共用PA2 和PA3,不可同時(shí)使用,在使用過(guò)程中可利用跳線(xiàn)帽進(jìn)行切換。CAN 電路模塊中帶有120 Ω 的終端電阻,整個(gè)CAN 網(wǎng)絡(luò)中需要兩個(gè)終端電阻。通過(guò)CAN 通信模塊電路,學(xué)生可以自主開(kāi)發(fā)實(shí)現(xiàn)多臺(tái)實(shí)訓(xùn)小車(chē)之間的CAN 通信功能,能更加深入的理解CAN 通信的實(shí)現(xiàn)原理及方法。
圖5 CAN 通信模塊電路
(3)接口電路。擴(kuò)展板作為智能小車(chē)的主板,設(shè)計(jì)了豐富的接口,包括巡線(xiàn)模塊、紅外避障、超聲波模塊、顏色識(shí)別模塊、4 路巡線(xiàn)傳感器模塊、藍(lán)牙模塊、線(xiàn)性CCD 模塊、舵機(jī)、電機(jī)等十余種接口類(lèi)型,且兼容STM32F103C8T6 核心板、樹(shù)莓派和Arduino 主控板。教學(xué)過(guò)程中,根據(jù)不同的實(shí)訓(xùn)項(xiàng)目選擇相應(yīng)的傳感器模塊進(jìn)行連接。充分利用STM32CubeMX、HAL庫(kù)和Proteus 仿真軟件,實(shí)現(xiàn)高效的且適合于汽車(chē)類(lèi)專(zhuān)業(yè)的實(shí)訓(xùn)項(xiàng)目的教學(xué)。以STM32CubeMX 圖形化界面來(lái)實(shí)現(xiàn)項(xiàng)目所涉及的初始化配置并生成相關(guān)代碼,用戶(hù)只需通過(guò)調(diào)用HAL 庫(kù)函數(shù)組織編寫(xiě)程序代碼以完成具體功能的實(shí)現(xiàn)。STM32 核心板接口電路如圖6 所示,超聲波及藍(lán)牙模塊接口電路如圖7 所示。
圖6 STM32 核心板接口電路
圖7 超聲波及藍(lán)牙模塊接口電路
小車(chē)底盤(pán)根據(jù)功能實(shí)現(xiàn)的需要可安裝一到多層,各層底盤(pán)之間利用M3×28 mm銅柱和M3×8 mm 螺絲進(jìn)行搭建。底層為鋁合金底盤(pán),包括有多功能擴(kuò)展板安裝區(qū)、直流減速電機(jī)金屬安裝支架、4 路巡線(xiàn)傳感器模塊安裝孔、電池盒安裝區(qū)、超聲波模塊安裝區(qū)等。二層為亞克力底盤(pán),可安裝紅外避障、超聲波模塊、顏色識(shí)別模塊、舵機(jī)等多種傳感器模塊。此外,還可根據(jù)需要構(gòu)建以樹(shù)莓派為上位機(jī)、STM32 為底層控制的室內(nèi)定位智能小車(chē),實(shí)現(xiàn)SLAM 建圖、自主避障、自主導(dǎo)航等功能。
研究設(shè)計(jì)的基于STM32 的嵌入式智能實(shí)訓(xùn)小車(chē),作為汽車(chē)類(lèi)嵌入式系統(tǒng)應(yīng)用技術(shù)等課程開(kāi)展實(shí)訓(xùn)教學(xué)的載體,該實(shí)訓(xùn)小車(chē)配備STM32F103C8T6 核心板、擴(kuò)展板、各種傳感器模塊和底盤(pán)。擴(kuò)展板兼容多種主控芯片,所有傳感器模塊和電機(jī)接口均已引出,方便在不同的實(shí)訓(xùn)教學(xué)內(nèi)容中進(jìn)行更換。在實(shí)訓(xùn)教學(xué)過(guò)程中,可根據(jù)實(shí)訓(xùn)內(nèi)容及所實(shí)現(xiàn)的功能選擇相應(yīng)的主控模塊及傳感器模塊進(jìn)行智能小車(chē)的搭建。
無(wú)錫商業(yè)職業(yè)技術(shù)學(xué)院校級(jí)科研課題:基于ROS 的SLAM智能實(shí)訓(xùn)小車(chē),課題批準(zhǔn)號(hào):KJXJ20419。