本設(shè)計(jì)核心主要采用STM32和WIFI作為主控模塊,下位機(jī)采用STM32F103C8T6 MCU為主控芯片,由主控模塊、電調(diào)模塊、WIFI模塊和夜燈驅(qū)動(dòng)模塊等模塊組成,上位機(jī)軟件開發(fā)通過(guò)Android系統(tǒng)和C#語(yǔ)言,系統(tǒng)實(shí)現(xiàn)了對(duì)大功率相無(wú)刷電機(jī)智能調(diào)速。
【關(guān)鍵詞】STM32 WIFI模塊 EMP C5065無(wú)刷電機(jī) IFR-38120抗凍磷酸鐵鋰電芯 24VLED燈帶 Solidwork畫圖
本文主要介紹一款自主研發(fā)的電動(dòng)滑板的硬件系統(tǒng),采用低噪音、壽命長(zhǎng)、性能高的三相無(wú)刷電機(jī)作為滑板的動(dòng)力,并且搭配油門響應(yīng)快的無(wú)刷電子調(diào)速器(簡(jiǎn)稱電調(diào)),使滑板的載重能力和快速響應(yīng)命令有前提保障?;迳嫌?個(gè)IFR-38120抗凍磷酸鐵鋰電芯構(gòu)成的10AH電池為滑板提供有效且強(qiáng)有力的電源,使其續(xù)航能力比其他電動(dòng)滑板更有優(yōu)勢(shì)?;贑ortex-M3處理器內(nèi)核的STM32為滑板上的控制電路保駕護(hù)航。安卓上位機(jī)的開發(fā)使得滑板的控制更加方便和智能。C#上位機(jī)的開發(fā)使得滑板的調(diào)試更加簡(jiǎn)單便捷。
1 系統(tǒng)方案
1.1 下位機(jī)總體方案設(shè)計(jì)
下位機(jī)采用STM32F103C8T6 MCU為主控芯片,由主控模塊、電調(diào)模塊、WIFI模塊和夜燈驅(qū)動(dòng)模塊等模塊組成。下位機(jī)系統(tǒng)框圖如圖1所示。
1.2 設(shè)計(jì)方案論證
1.2.1 主控芯片的選取
本設(shè)計(jì)選用STM32F13C8T6作為核心控制芯片。它是高性能的ARM? Cortex?-M3 32位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲(chǔ)器(128K字節(jié)的閃存和20K字節(jié)的SRAM),豐富的增強(qiáng)I/O端口和聯(lián)接到兩條APB總線的外設(shè)。STM32F103xxxx中等容量增強(qiáng)型系列產(chǎn)品供電電壓為2.0V至3.6V,包含-40°C至+85°C溫度范圍和-40°C至+105°C的擴(kuò)展溫度范圍。一系列的省電模式保證低功耗應(yīng)用的要求。
1.2.2 電機(jī)的選取
采用大功率三相無(wú)刷電機(jī)作為動(dòng)力源,無(wú)刷電機(jī)具有無(wú)電刷、低干擾、噪音低、維護(hù)成本低等優(yōu)點(diǎn),本設(shè)計(jì)選用EMP C5065 270KV無(wú)刷電機(jī),該電機(jī)空載轉(zhuǎn)速在3055~3445rmp/s之間,負(fù)載功率可達(dá)948W。
1.2.3 無(wú)線通信模塊的選取
由于WIFI的頻段在世界范圍內(nèi)是無(wú)需任何電信運(yùn)營(yíng)執(zhí)照的免費(fèi)頻段,因此WIFI無(wú)線設(shè)備提供了一個(gè)應(yīng)用于全世界,費(fèi)用低廉而且數(shù)據(jù)帶寬非常高的無(wú)線空中接口。相比較之前應(yīng)用在手機(jī)上的藍(lán)牙技術(shù),WIFI具有更大的覆蓋范圍和更高的傳輸速率。因此本設(shè)計(jì)采用WIFI作為無(wú)線通信模塊。WIFI模塊采用的是海陵科電子新推出的低成本嵌入式UART-ETH-WIFI(串口-以太網(wǎng)-WIFI)模塊,通過(guò)HLK-RM04 模塊,STM32可以和手機(jī)、電腦通過(guò)Internet網(wǎng)絡(luò)互相傳輸自己的數(shù)據(jù)。當(dāng)然這就要將WIFI模塊配置成WIFI AP模式,既WIFI熱點(diǎn)模式。
1.3 上位機(jī)總體方案設(shè)計(jì)
1.3.1 Android上位機(jī)
Android是一個(gè)專門為移動(dòng)設(shè)備設(shè)計(jì)的操作系統(tǒng)平臺(tái),憑借其良好的穩(wěn)定性、可移植性和開放性,迅速占領(lǐng)了大部分的移動(dòng)電子設(shè)備市場(chǎng)。隨著嵌入式硬件技術(shù)的發(fā)展,以及對(duì)操作系統(tǒng)的功能需求與日俱增,Android操作系統(tǒng)在嵌入式領(lǐng)域中有著越來(lái)越廣闊的前景。故本設(shè)計(jì)采用Android來(lái)開發(fā)上位機(jī)。
1.3.2 C#上位機(jī)
本設(shè)計(jì)考慮到方便下位機(jī)的調(diào)試,采用了C#開發(fā)了電腦端的上位機(jī),以實(shí)現(xiàn)對(duì)電動(dòng)滑板開發(fā)一些智能算法提供便利。
2 實(shí)現(xiàn)原理
2.1 三相無(wú)刷電機(jī)的控制
三相無(wú)刷電機(jī)采用專用的無(wú)刷電調(diào),電調(diào)的輸入線與電池相連,電調(diào)的三相輸出與無(wú)刷電機(jī)相連,電調(diào)的信號(hào)線連接到主控模塊,STM32輸出50Hz、占空比1ms~2ms的PWM就能對(duì)電機(jī)進(jìn)行調(diào)速。當(dāng)PWM占空比為1ms時(shí)電機(jī)反向油門最大,當(dāng)PWM占空比為1.5ms時(shí)電機(jī)油門值為零,當(dāng)PWM占空比為2ms時(shí)電機(jī)正向油門最大。
通過(guò)改變Android上位機(jī)Seekbar值或C#上位機(jī)Trackbar值,發(fā)送給下位機(jī)油門值(范圍是1~201)。
STM32初始化Tim4的周期為20000,下位機(jī)根據(jù)上位機(jī)發(fā)送的油門值,通過(guò)
PWM_Value=((uint16_t)PC_comm-1)*5+1000
計(jì)算出占空比,這里PC_comm為上位機(jī)發(fā)送的油門值。
2.2 上位機(jī)與下位機(jī)的通信協(xié)議
在這里簡(jiǎn)單介紹一下上位機(jī)和下位機(jī)的通信協(xié)議,上位機(jī)通過(guò)發(fā)送
<0x1E><0x12><0x05><0x**><0x**><0x**><0x1B>
這7個(gè)字節(jié)給下位機(jī),其中<0x1E><0x12>是幀頭。<0x1B><0xAA>是幀尾。第四位字節(jié)是上位機(jī)要發(fā)送的油門值,范圍是1~201,當(dāng)油門值為101時(shí)為油門中點(diǎn),1為油門反向最大,201為油門正向最大。第五位字節(jié)是控制夜燈開關(guān)位,當(dāng)?shù)谖逦蛔止?jié)為1時(shí)夜燈關(guān),為2時(shí)夜燈開。第六位字節(jié)是失控保護(hù)位,上位機(jī)將會(huì)交替發(fā)送0X0F和0XF0。如果下位機(jī)接收到上位機(jī)正確的命令,將會(huì)執(zhí)行相關(guān)命令,并且返回油門值給上位機(jī)。
2.3 上位機(jī)Socket的建立與使用
Socket又稱套接字,在程序內(nèi)部提供了與外界通信的端口,即端口通信。通過(guò)建立Socket連接,可為通信雙方的數(shù)據(jù)傳輸提供通道。Socket的主要特點(diǎn)是數(shù)據(jù)丟失率低,使用簡(jiǎn)單易于移植。下面以Android上位機(jī)建立和使用Socket為例。
首先需要?jiǎng)?chuàng)建一個(gè)Socket對(duì)象,指定服務(wù)器端的IP和端口號(hào)。這里需要注意的是Android創(chuàng)建Socket時(shí)會(huì)自動(dòng)連接,連接成功之后就可以通過(guò)InputStream/OutputStream流實(shí)現(xiàn)互傳數(shù)據(jù)。當(dāng)不使用Socket時(shí)需要將連接斷開。
3 硬件框圖
3.1 微控制器最小系統(tǒng)
STM32F103C8T6是LQFP-48封裝,3.3V供電,搭配8M外部晶振,內(nèi)部多個(gè)預(yù)分頻器用于配置AHB的頻率、高速APB和低速APB區(qū)域。將BOOT1和BOOT0引腳設(shè)置為低電平,STM32將會(huì)從主內(nèi)存存儲(chǔ)器啟動(dòng)。這里STM32下載方式為四線的SW下載方式。微控制器最小系統(tǒng)如圖2所示。
3.2 供電系統(tǒng)
電池組是由6個(gè)IFR-38120的磷酸鐵鋰電芯組成,該電芯標(biāo)稱容量10AH,放電電流能持續(xù)20A,最大75A,經(jīng)實(shí)驗(yàn),瞬間可達(dá)10C,持續(xù)5C。由于瞬間放電電流大,造成電源接口處打火花的現(xiàn)象,為此,在電池組接口處并聯(lián)上了一個(gè)獨(dú)石電容,經(jīng)實(shí)驗(yàn),能有效的消除火花。低壓報(bào)警器可以檢測(cè)單體電芯電壓,當(dāng)其電壓小于2.7V時(shí)報(bào)警器將發(fā)出報(bào)警信號(hào)。電調(diào)上帶有6V輸出的SBEC(開關(guān)穩(wěn)壓電源),經(jīng)過(guò)3.3V和5V穩(wěn)壓后分別為STM32和WIFI模塊提供電源。
3.3 夜燈驅(qū)動(dòng)電路
本設(shè)計(jì)采用24VLED燈帶作為夜燈,STM32通過(guò)3.3V的IO腳驅(qū)動(dòng)24V燈帶的亮滅。驅(qū)動(dòng)電路如圖3所示。
4 外形設(shè)計(jì)
電機(jī)與滑板輪之間采用15:60的同步輪傳動(dòng),皮帶是255-3M。同步輪具有無(wú)間隙免鍵聯(lián)接、高精度的傳動(dòng)力扭等特點(diǎn)。
電機(jī)依靠電機(jī)固定架固定在滑板橋上,用Soildwork畫出電機(jī)固定架如圖4所示。
電機(jī)固定架長(zhǎng)100mm,寬35mm,最厚尺寸為8mm,實(shí)物圖如圖5。通過(guò)這種設(shè)計(jì),可以很輕松調(diào)整同步輪之間皮帶的松緊。
5 系統(tǒng)測(cè)試結(jié)果
STM32輸出正確的PWM波形是對(duì)電機(jī)進(jìn)行調(diào)速的重要參數(shù)之一。我們使用Android上位機(jī)對(duì)下位機(jī)進(jìn)行控制,并用示波器對(duì)不同油門值輸出的PWM波形的脈寬進(jìn)行記錄。如表1所示。
同時(shí),我們也對(duì)電動(dòng)滑板在實(shí)際路況上進(jìn)行一些測(cè)試,我們采用Sports Tracker的手機(jī)應(yīng)用對(duì)數(shù)據(jù)進(jìn)行記錄,測(cè)試者體重為60公斤,圖6和圖7是兩次測(cè)試的一些參數(shù)。
6 結(jié)束語(yǔ)
測(cè)試表明,本設(shè)計(jì)功耗低,續(xù)航能力強(qiáng),在起伏不大的路面,1V壓降能跑12km;動(dòng)力足,能輕松爬陡坡;速度容易調(diào)節(jié),可通過(guò)觸控屏幕調(diào)節(jié),也可以通過(guò)手機(jī)的聲音按鍵來(lái)調(diào)節(jié);對(duì)電機(jī)控制有失控保護(hù),當(dāng)電機(jī)在運(yùn)轉(zhuǎn)的時(shí)候,如果與上位機(jī)斷開連接時(shí),STM32會(huì)將油門值降為零;本設(shè)計(jì)還留有其他接口,方便產(chǎn)品的后續(xù)研發(fā)與升級(jí),由STM32和WIFI組成的核心控制系統(tǒng)可以用在其他控制領(lǐng)域。
該電動(dòng)滑板車系統(tǒng)有著設(shè)計(jì)穩(wěn)定、抗干擾能力強(qiáng)、續(xù)航時(shí)間長(zhǎng)等優(yōu)點(diǎn),并且,此課題可進(jìn)行更多智能功能的拓展,比如智能測(cè)速與限速、智能導(dǎo)航等。
參考文獻(xiàn)
[1]STM32F103C8T6_datasheet[R].STMicroelectronics Inc,2009.
[2]羅娜.基于88W8686的手持終端WiFi功能的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:武漢理工大學(xué),2010.
[3]李凱.Android操作系統(tǒng)分析與移植[D].廣州:華南理工大學(xué),2011.
作者簡(jiǎn)介
許瑾(1978-),女,四川省成都市人?,F(xiàn)為四川省水產(chǎn)學(xué)校講師。主要研究方向?yàn)殡娮泳€路與通訊。
作者單位
四川省水產(chǎn)學(xué)校 四川省成都市 611730