朱浩 夏范昌 吉祥 杜勇志 江銀鋒 鄂加強(qiáng) 鄧元望
(1.湖南大學(xué);2.湖南宏迅億安新能源科技有限公司)
1.1.4 低功耗藍(lán)牙主從機(jī)電路板
低功耗藍(lán)牙模塊采用美國(guó)某公司的CC2541 芯片,如圖5 所示。該芯片遵循V4.0 BLE 藍(lán)牙協(xié)議規(guī)范,配置空間為256 KB,支持AT 指令,用戶(hù)可根據(jù)需要對(duì)串口波特率、配對(duì)密碼、設(shè)備名稱(chēng)等參數(shù)進(jìn)行設(shè)置,使用靈活。另外,模塊支持UART 接口,具有成本低、體積小、功耗低及收發(fā)靈敏度高等優(yōu)點(diǎn)[10]。通過(guò)DC/DC 轉(zhuǎn)換電路將輸入的5 V 直流電壓轉(zhuǎn)換為3.3 V 直流電壓,給藍(lán)牙4.0 主從機(jī)供電,工作頻率為2.4 GHz,自動(dòng)休眠,待機(jī)電流為400~1.5 mA,傳輸時(shí)電流為8.5 mA。
圖5 藍(lán)牙4.0 主從機(jī)電路原理截圖
低功耗藍(lán)牙模塊的27 腳(P0_7)是軟/硬件主從設(shè)置選擇口。如果此口置低(或懸空),則為硬件設(shè)置主從模式,如果置3.3 V 高電平,則為軟件設(shè)置主從模式。低功耗藍(lán)牙主從機(jī)選擇軟件設(shè)置主從方式,此口接3.3 V 電源。通過(guò)28 腳設(shè)置實(shí)現(xiàn)主從模式;如果選擇軟件主從模式,可以通過(guò)AT 命令查詢(xún)和設(shè)置,所以本低功耗藍(lán)牙主從機(jī)采用AT 指令設(shè)置主從模式。狀態(tài)指示燈D2 接藍(lán)牙4.0 模塊的P1_2(24 腳),用于指示其所處狀態(tài)。慢速閃爍表示搜索及連接中,長(zhǎng)亮表示已經(jīng)建立連接。
1.1.5 智能車(chē)整車(chē)控制器電路板
智能車(chē)整車(chē)控制器采用某公司的16位單片機(jī)MC9S12XS128MAA。該芯片的最小系統(tǒng),如圖6 所示。在該芯片最小系統(tǒng)中,芯片起振采用接在33 引腳(EXTAL)和34 引腳(XTAL)的16 MHz 的無(wú)源晶振Y1;電源使用5 V 直流電供給電源77 引腳(VDDX1)、29 引腳(VDDX2)和31 引腳(VDDR);復(fù)位為接30 引腳的按鈕PB1 控制的低電平復(fù)位。
圖6 MC9S12XS128MAA 芯片最小系統(tǒng)電路原理截圖
智能車(chē)的車(chē)速信號(hào)通過(guò)EA62- CS3C 歐姆龍編碼器的200 線(xiàn)進(jìn)行采集,信號(hào)經(jīng)PT7 引腳輸入單片機(jī)MC9S12XS128MAA 的定時(shí)器模塊,經(jīng)過(guò)脈沖累加功能進(jìn)行車(chē)速信號(hào)計(jì)算的前期處理。智能車(chē)轉(zhuǎn)向機(jī)構(gòu)采用舵機(jī)與連桿機(jī)構(gòu),舵機(jī)作為原動(dòng)機(jī),連桿機(jī)構(gòu)作為從動(dòng)件。舵機(jī)與連桿機(jī)構(gòu)控制信號(hào)由接收機(jī)的通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓。在內(nèi)部設(shè)計(jì)一個(gè)基準(zhǔn)電路,產(chǎn)生的基準(zhǔn)信號(hào)周期約為20 ms,寬度為0.5~2.5 ms,然后比較直流偏置電壓與電位器的電壓,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動(dòng)芯片,決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時(shí),通過(guò)級(jí)聯(lián)減速齒輪帶動(dòng)電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動(dòng)。通過(guò)PWM信號(hào)占空比的改變控制舵機(jī)的位置變化。
CAN 總線(xiàn)采用MC9S12XS128MAA 芯片內(nèi)部集成的MSCAN 模塊,符合CAN2.0A 和CAN2.0B 通信協(xié)議要求,采用某公司的TJA1050 作為CAN 總線(xiàn)收發(fā)器。CAN 總線(xiàn)系統(tǒng),如圖7 所示。CANTX 和CANRX 分別接MC9S12XS128MAA 芯片的74 引腳和75 引腳,經(jīng)過(guò)TJA1050 后,轉(zhuǎn)換為CAN 總線(xiàn)的CANH 和CANL,然后接雙絞線(xiàn)進(jìn)行CAN 通信[11]。
圖7 CAN 總線(xiàn)系統(tǒng)框圖
程序設(shè)計(jì)主要包括鋰電池充放電板程序、鋰電池溫度采集板程序、藍(lán)牙4.0 主從機(jī)配對(duì)指令和智能車(chē)整車(chē)控制器程序三部分。程序通過(guò)C 語(yǔ)言進(jìn)行編寫(xiě)后,利用串口或BDM下載器進(jìn)行程序燒錄,然后進(jìn)行硬件測(cè)試。
1.2.1 鋰電池充放電板程序設(shè)計(jì)
鋰電池充放電程序框圖設(shè)計(jì),如圖8 所示。LTC2943 鋰電池監(jiān)測(cè)程序主要通過(guò)I2C總線(xiàn)獲取鋰電池的實(shí)時(shí)狀態(tài)信息,I2C 總線(xiàn)通信的程序主要包括啟動(dòng)I2C總線(xiàn)、停止I2C總線(xiàn)、響應(yīng)、讀/寫(xiě)一個(gè)字節(jié)及I2C總線(xiàn)時(shí)鐘。通過(guò)對(duì)相應(yīng)地址的寄存器進(jìn)行讀取/寫(xiě)入操作,實(shí)現(xiàn)對(duì)鋰電池電壓、電流、溫度及電量的實(shí)時(shí)監(jiān)測(cè)。首先,實(shí)現(xiàn)STC89C52RC 單片機(jī)和LTC2943 芯片的I2C總線(xiàn)通信,通過(guò)STC89C52RC 單片機(jī)向LTC2943 芯片寫(xiě)入所需訪(fǎng)問(wèn)的寄存器地址,然后返回原始的鋰電池狀態(tài)數(shù)據(jù);通過(guò)STC89C52RC 對(duì)數(shù)據(jù)的轉(zhuǎn)換和運(yùn)算后,得到可以直接顯示的鋰電池電壓、電流、溫度及電量,再通過(guò)電腦軟件或LCD12864 液晶顯示器實(shí)時(shí)顯示。
圖8 鋰電池充放電程序流程圖
1.2.2 鋰電池溫度采集板程序設(shè)計(jì)
3 個(gè)DS18B20 溫度傳感器單線(xiàn)、總線(xiàn)溫度監(jiān)測(cè)程序的流程圖,如圖9 所示。主要使用的協(xié)議命令有33h(讀ROM),44h(溫度轉(zhuǎn)換),55h(ROM 匹配)、BEh(讀暫存器)。流程圖分兩部分,首先讀取3 個(gè)DS18B20 的64位光刻ROM地址,然后進(jìn)行溫度傳感器單線(xiàn)、總線(xiàn)的編程,通過(guò)單線(xiàn)、總線(xiàn)實(shí)現(xiàn)3 個(gè)DS18B20 溫度傳感器測(cè)量單體鋰電池多部位溫度的目的。其中DS18B20 的ROM地址通過(guò)串口助手輸出8 個(gè)字節(jié)。
圖9 溫度傳感器的溫度監(jiān)測(cè)程序流程圖
1.2.3 智能車(chē)整車(chē)控制器程序設(shè)計(jì)
智能車(chē)整車(chē)控制器程序流程,如圖10 所示。程序先進(jìn)行鎖相環(huán)倍頻后,分頻給各功能模塊,包括脈寬調(diào)制模塊PWM、定時(shí)器模塊PIT、串口通信模塊SCI 等。電機(jī)和舵機(jī)驅(qū)動(dòng)都采用PWM信號(hào),但PWM 信號(hào)頻率不同。對(duì)于電機(jī),通過(guò)對(duì)PWM信號(hào)的占空比的控制,改變流過(guò)電機(jī)電流的大小,進(jìn)而改變電機(jī)的轉(zhuǎn)速,最終達(dá)到控制智能車(chē)車(chē)速的目的。對(duì)于舵機(jī),通過(guò)對(duì)PWM信號(hào)占空比的控制,改變舵機(jī)的輸出轉(zhuǎn)角,實(shí)現(xiàn)控制智能車(chē)轉(zhuǎn)向角的目的。
圖10 智能車(chē)整車(chē)控制器程序流程圖
通過(guò)LabVIEW 設(shè)計(jì)了與硬件相匹配的軟件及安裝包,系統(tǒng)軟件包括串口通信模塊、數(shù)據(jù)處理模塊和顯示與報(bào)警模塊。串口通信模塊的作用是從智能車(chē)上獲取其狀態(tài)原始數(shù)據(jù),經(jīng)數(shù)據(jù)處理模塊后得到所需的顯示結(jié)果,通過(guò)顯示與報(bào)警模塊進(jìn)行結(jié)果顯示與報(bào)警,并返回字符串給智能車(chē),實(shí)現(xiàn)了對(duì)智能車(chē)狀態(tài)的實(shí)時(shí)監(jiān)測(cè),包括智能車(chē)車(chē)速和轉(zhuǎn)向角數(shù)據(jù)處理與顯示、車(chē)載鋰電池信息(電壓、電流、溫度、電量)數(shù)據(jù)的處理與顯示。
本系統(tǒng)通過(guò)CodeWarrior 5.1 軟件進(jìn)行編譯和測(cè)試,測(cè)試智能車(chē)整車(chē)控制器能否對(duì)輸出PWM 控制電機(jī)和舵機(jī),以實(shí)現(xiàn)智能車(chē)的基本行駛功能。通過(guò)1 塊1.3英寸(3.3 cm)的12864 液晶顯示屏和2 個(gè)四位數(shù)碼管顯示,內(nèi)容包括編碼器15 ms 產(chǎn)生的脈沖數(shù)、舵機(jī)的PWM占空比。測(cè)試結(jié)果,如圖11 所示。
圖11 整車(chē)控制器調(diào)試電腦串口測(cè)試結(jié)果顯示界面
圖11 顯示結(jié)果為智能車(chē)正常行駛時(shí),串口助手接收到的6位字符串?dāng)?shù)據(jù)。從圖11 可以看出,其中第1位是舵機(jī)PWM 占空比,第2~6位是編碼器產(chǎn)生的脈沖數(shù)。編碼器產(chǎn)生的脈沖數(shù)不斷變化,說(shuō)明智能車(chē)車(chē)速在改變,且數(shù)值越大、車(chē)速越高;智能車(chē)整車(chē)控制器實(shí)現(xiàn)了PWM信號(hào)的輸出,說(shuō)明智能車(chē)能完成基本行駛功能。
低功耗藍(lán)牙無(wú)線(xiàn)通信利用串口助手配置藍(lán)牙4.0主從機(jī)的配對(duì)密碼、波特率、主從模式等,然后把藍(lán)牙4.0 從機(jī)連接到智能車(chē)鋰電池溫度采集板的藍(lán)牙接口上,接通電源等待藍(lán)牙4.0 主機(jī)搜索與連接,實(shí)現(xiàn)主從機(jī)連接;連接完成后,串口助手開(kāi)始顯示鋰電池溫度采集板的監(jiān)測(cè)結(jié)果。顯示的結(jié)果,如圖12 所示。
圖12 無(wú)線(xiàn)監(jiān)測(cè)鋰電池溫度數(shù)據(jù)顯示界面
文章開(kāi)發(fā)使用的是LabVIEW 2013,該版本支持WIN7 系統(tǒng)、軟件安裝包自動(dòng)生成等功能,編寫(xiě)的軟件具有移植性好、安裝簡(jiǎn)單、界面美觀、人機(jī)交互性好等優(yōu)點(diǎn)??赏ㄟ^(guò)軟件安裝包在其它電腦上安裝,方便用于未裝LabVIEW 軟件的電腦使用。圖13 示出智能車(chē)狀態(tài)監(jiān)測(cè)系統(tǒng)的完整硬件。
圖13 智能車(chē)監(jiān)測(cè)系統(tǒng)完整硬件示意圖
從圖13 可知,智能車(chē)監(jiān)測(cè)系統(tǒng)硬件包括電路設(shè)計(jì)的全部電路板,并通過(guò)杜邦線(xiàn)等進(jìn)行了電氣連接,然后,將其安裝到某B 型車(chē)上,主要是電機(jī)、舵機(jī)、編碼器及鋰電池的電氣連接,還有硬件與車(chē)體的六角銅柱機(jī)械連接,最終形成一個(gè)完整的智能車(chē)狀態(tài)監(jiān)測(cè)系統(tǒng)。
圖14 示出本系統(tǒng)的軟件界面。在系統(tǒng)軟件安裝完且保證其硬件供電正常條件下,打開(kāi)并選擇相應(yīng)的硬件COM口,就可實(shí)現(xiàn)智能車(chē)狀態(tài)的監(jiān)測(cè)。軟件顯示有2 個(gè)溫度監(jiān)測(cè),分別標(biāo)有溫度和DS18B20 字樣。其中標(biāo)溫度的顯示模塊為L(zhǎng)TC2943 芯片內(nèi)部集成的溫度傳感器,用于監(jiān)測(cè)放電板的溫度;標(biāo)DS18B20 的顯示模塊循環(huán)顯示鋰電池前側(cè)、上側(cè)和右側(cè)的溫度,用于監(jiān)測(cè)單體鋰電池的溫度。本系統(tǒng)軟件實(shí)現(xiàn)了鋰電池的電壓、電流、溫度及電量值的實(shí)時(shí)監(jiān)測(cè)顯示,還能對(duì)高于或低于設(shè)定閾值的某1 項(xiàng)或幾項(xiàng)進(jìn)行報(bào)警,即點(diǎn)亮對(duì)應(yīng)報(bào)警按鈕。另外,軟件還可實(shí)時(shí)繪制電壓和電流的時(shí)間變化曲線(xiàn)圖,方便以后對(duì)鋰電池進(jìn)行SOC 估算。此智能車(chē)監(jiān)測(cè)系統(tǒng)軟硬件的正常運(yùn)行,實(shí)現(xiàn)了監(jiān)測(cè)功能。
圖14 智能車(chē)監(jiān)測(cè)系統(tǒng)顯示的軟件顯示界面
基于藍(lán)牙4.0 和某大賽B 型車(chē),以?xún)?yōu)化純電動(dòng)車(chē)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的線(xiàn)束和控制為目的,設(shè)計(jì)了低功耗藍(lán)牙電動(dòng)車(chē)智能監(jiān)測(cè)系統(tǒng),包括硬件電路設(shè)計(jì)、程序設(shè)計(jì)、軟件設(shè)計(jì)及軟件測(cè)試。以C 語(yǔ)言的定時(shí)器中斷方式設(shè)計(jì)了驅(qū)動(dòng)程序,用LabVIEW 生成了界面可視化的軟件。實(shí)測(cè)樣機(jī)表明本系統(tǒng)軟件實(shí)現(xiàn)了鋰電池的電壓、電流、溫度和電量值的實(shí)時(shí)監(jiān)測(cè)顯示,還能對(duì)高于或低于設(shè)定閾值的某1 項(xiàng)或幾項(xiàng)進(jìn)行報(bào)警,智能車(chē)監(jiān)測(cè)系統(tǒng)軟硬件正常運(yùn)行,實(shí)現(xiàn)了監(jiān)測(cè)功能,證明該設(shè)計(jì)可行。
(續(xù)完)