-----“牛耳教育杯”應(yīng)用開(kāi)發(fā)類(lèi)競(jìng)賽(2017)
系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)
一. 摘要................................................................................................................................... 1
二. 功能需求說(shuō)明書(shū)................................................................................................................ 1
2.1 特色概述............................................................................................................................. 1
2.2 背景分析............................................................................................................................. 2
2.3 市場(chǎng)分析............................................................................................................................. 2
三. 實(shí)現(xiàn)方案............................................................................................................................. 3
3.1 系統(tǒng)方案............................................................................................................................. 3
3.2 平衡原理............................................................................................................................. 3
3.2.1 信息采集................................................................................................................. 3
3.2.2 角度調(diào)整................................................................................................................. 4
3.2.3 測(cè)速......................................................................................................................... 5
3.2.4 轉(zhuǎn)向控制................................................................................................................. 6
3.3 硬件框架.................................................................................................................. 7
3.3.1 結(jié)構(gòu)框圖............................................................................................................... 7
3.3.2 各模塊組件引腳圖.................................................................................................7
3.3.3 硬件組說(shuō)明.............................................................................................................8
3.4 STM32 算法流程圖...................................................................................................12
3.5 通信協(xié)議................................................................................................................. 12
3.5.1 小車(chē)數(shù)據(jù)協(xié)議.......................................................................................................12
3.5.2 APP 控制數(shù)據(jù)協(xié)議................................................................................................13
四. 軟件界面設(shè)計(jì)......................................................................................................... 14
五. 總結(jié)........................................................................................................................ 14
六. 未來(lái)發(fā)展................................................................................................................. 15
一. 摘要
本次參賽作品是使用 STM32F103C8T6 主控模塊配合 MPU6050 六軸傳感器通 過(guò)驅(qū)動(dòng)電路達(dá)到自我平衡的智能小車(chē)。藍(lán)牙模塊使小車(chē)能夠受其他平臺(tái)設(shè)備的遠(yuǎn) 程遙控,在工作模式下可以實(shí)現(xiàn)自平衡,通過(guò)手機(jī)端的 APP 可以實(shí)現(xiàn)小車(chē)藍(lán)牙的 搜索、連接以及對(duì)平衡車(chē)作前進(jìn)、后退、左(右)轉(zhuǎn)和左(右)旋的控制操作。 在小車(chē)的運(yùn)行過(guò)程中實(shí)時(shí)記錄傾角、距離、輪速等數(shù)據(jù),工作的過(guò)程中實(shí)現(xiàn)自我 微調(diào),實(shí)時(shí)反饋等任務(wù)。
這些方案使得小車(chē)的控制不受地理位置的限制,人們可以使用熱用的藍(lán)牙 技術(shù)來(lái)實(shí)時(shí)化地操控小車(chē)的運(yùn)作,在當(dāng)今云技術(shù)發(fā)展迅速的浪潮下,使用云技術(shù) 與嵌入式技術(shù)的結(jié)合為將來(lái)機(jī)械智能化、自動(dòng)化提供了極大的參考價(jià)值。
二. 功能需求說(shuō)明書(shū)
2.1 特色概述 平衡車(chē)是信息化社會(huì)下的產(chǎn)物,本次參賽的智能平衡小車(chē)以便于操作的原
則為起點(diǎn),以促進(jìn)人們生活的便捷化為目的,實(shí)現(xiàn)了電腦端、手機(jī)端的遠(yuǎn)程操控。 在電腦端的鍵盤(pán)控制的基礎(chǔ)上可以進(jìn)一步使用游戲手柄進(jìn)行控制,為家居娛樂(lè)提 供了發(fā)展點(diǎn),可用于制作家居智能機(jī)器人以及兒童二輪自走遙控車(chē)。在手機(jī)端的 設(shè)計(jì)上,使用了當(dāng)前人們主流使用通訊設(shè)備——藍(lán)牙,來(lái)對(duì)設(shè)備進(jìn)行操控。其衍 生發(fā)展可以將平衡車(chē)的模板加強(qiáng)為多軸飛行器,可應(yīng)用于航空拍攝、取景,安裝 其他模塊插件又可以豐富其他功能,如:地形探索、天氣監(jiān)測(cè)、水質(zhì)檢測(cè)等。
在控制器方面,平衡車(chē)的電腦端、手機(jī)端的操控界面的友好設(shè)計(jì)將會(huì)給用 戶(hù)帶來(lái)更好的體驗(yàn),信息的實(shí)時(shí)智能顯示使得用戶(hù)可以時(shí)刻了解到具體的參數(shù)信 息,能夠發(fā)現(xiàn)小車(chē)在一些環(huán)境下工作的錯(cuò)誤參數(shù),可以實(shí)時(shí)地進(jìn)行調(diào)整,糾正機(jī) 器的非正常因素。同時(shí),在小車(chē)上也有相關(guān)的修補(bǔ)機(jī)制,用戶(hù)不必對(duì)所有的信息 都需要了解,小車(chē)會(huì)自行檢測(cè)是否有超出正常范圍的參數(shù)并加以糾正,實(shí)現(xiàn)了設(shè) 備的智能化。
2.2 背景分析 隨著計(jì)算機(jī)水平、信息技術(shù)水平、科技水平的不斷提高,越來(lái)越多的智能
設(shè)備進(jìn)入了人們的視野,在我們生活的社會(huì)環(huán)境中,已經(jīng)有許多品牌的平衡代步 車(chē)面市,但國(guó)內(nèi)的平衡車(chē)市場(chǎng)仍處于初步發(fā)展的狀態(tài)對(duì)于市面上多數(shù)的平衡車(chē)而 言,只是簡(jiǎn)單實(shí)現(xiàn)了對(duì)捕捉人體體感來(lái)調(diào)整車(chē)的平衡,僅僅只是滿(mǎn)足了用戶(hù)的行 車(chē)需求,并不是很完善。而且不能夠?qū)崿F(xiàn)遙控功能,特別是遠(yuǎn)程的遙控,對(duì)于一 件產(chǎn)品而言功能顯得單一,缺乏市場(chǎng)競(jìng)爭(zhēng)力。而且平衡車(chē)對(duì)于環(huán)境的要求也比較 苛刻,并不能實(shí)現(xiàn)全天候,多地形的使用。對(duì)于用戶(hù)來(lái)說(shuō)有著諸多的不方便,在 不同環(huán)境下有著不同的潛在安全隱患。國(guó)內(nèi)的平衡車(chē)開(kāi)發(fā)仍處于初級(jí)階段,在功 能的開(kāi)發(fā)上仍有許多方向可以加以研究。
如今環(huán)境變暖,環(huán)境問(wèn)題愈加突出,為了減輕環(huán)境負(fù)擔(dān),國(guó)家大力倡導(dǎo)綠色 低碳生活,人們出行也都是使用便捷的交通工具。因此,平衡車(chē)的出現(xiàn)則為人們 提供了一個(gè)新型的交通途徑,小而巧的平衡車(chē)能夠更加地方便于其他大型交通工 具,受交通擁堵的影響也就小得多。而遙控功能的實(shí)現(xiàn)可以使得人們不需要時(shí)刻 通過(guò)身體來(lái)調(diào)整車(chē)速和車(chē)的方向,是小車(chē)更加智能化,遙控也為將來(lái)的平衡車(chē)的 導(dǎo)航功能提供了一個(gè)參考價(jià)值。
2.3 市場(chǎng)分析 在過(guò)去的一年里,中國(guó)平衡車(chē)市場(chǎng)迎來(lái)了爆炸式的躍進(jìn)。科技的發(fā)展帶來(lái)了
設(shè)備的智能化,新智能設(shè)備相繼推出,并且隨著國(guó)內(nèi)消費(fèi)的不斷增長(zhǎng),市面上對(duì) 于智能設(shè)備的購(gòu)買(mǎi)力也逐步提升。在平衡車(chē)行業(yè)里,單平衡車(chē)的制造廠(chǎng)商就增至
500 多家,并且在平衡車(chē)的帶動(dòng)下,移動(dòng)電源、微型信號(hào)設(shè)備的也有了進(jìn)一步的 發(fā)展。同時(shí),相當(dāng)多的廠(chǎng)商加入平衡車(chē)的行業(yè)中參與發(fā)展和研究,其中以小米最 為亮眼。數(shù)據(jù)顯示,2016 年全行業(yè)估算實(shí)現(xiàn)產(chǎn)值超 209 億元人民幣,可見(jiàn)平衡 車(chē)的市值還是很高的。在國(guó)家要求的城市智能化交通的建設(shè)要求也可以看出平衡 車(chē)作為潛在的新型綠色交通,既符合發(fā)展的需求,也順應(yīng)了市場(chǎng)的變化。在國(guó)內(nèi) 生產(chǎn)的平衡車(chē)中絕大多數(shù)是用于向海外銷(xiāo)售的,而不是向國(guó)內(nèi)的客戶(hù)提供,而相 較于 15 年的 138 億元以及 14 年的 26 億元來(lái)看,平衡車(chē)市場(chǎng)正處于飛速增長(zhǎng)階 段,市場(chǎng)含金量十足,國(guó)內(nèi)市場(chǎng)具有相當(dāng)大的潛力。
三. 實(shí)現(xiàn)方案
3.1 系統(tǒng)方案 實(shí)現(xiàn)一個(gè)完整平衡車(chē)的平衡系統(tǒng),我們需要實(shí)現(xiàn)幾個(gè)重要的功能塊:
1) 外接傳感器與 MPU6050 之間的數(shù)據(jù)處理;
2) PID 算法實(shí)現(xiàn)小車(chē)轉(zhuǎn)向;
3) 藍(lán)牙通訊;
4) 終端控制。 有了外接的傳感器來(lái)和處理器進(jìn)行協(xié)調(diào),平衡車(chē)對(duì)于不同的工作情況能
作出不同的動(dòng)作反應(yīng),例如:對(duì)于前方存在一個(gè)物體時(shí),超聲波組件可以通 過(guò)測(cè)算距離反饋給處理器,在碰撞到物體前停下來(lái),避免碰撞帶來(lái)的損失。 平衡車(chē)的防撞化功能能夠很好的被應(yīng)用于實(shí)際生活,給人們帶來(lái)便捷。
藍(lán)牙的通訊控制使平衡車(chē)突破了原有的控制體系,可以做到隔墻隔物遙 控,一對(duì)一的連接以及連接的配對(duì)密鑰使得小車(chē)的控制更具有安全性。
3.2 平衡原理
3.2.1 信息采集 為了實(shí)現(xiàn)小車(chē)直立行走,需要采集如下信號(hào):
(1)小車(chē)傾角速度陀螺儀信號(hào),獲得小車(chē)的傾角和角速度。
(2)小車(chē)電機(jī)轉(zhuǎn)速脈沖信號(hào),獲得小車(chē)運(yùn)動(dòng)速度,進(jìn)行速度控制。
(3)小車(chē)轉(zhuǎn)動(dòng)速度陀螺儀信號(hào),獲得小車(chē)轉(zhuǎn)向角速度,進(jìn)行方向控制。 小車(chē)多數(shù)情況下需要使用兩者或兩者以上的數(shù)據(jù)來(lái)疊加進(jìn)行控制小車(chē)。
在小車(chē)控制中的直立、速度和方向控制三個(gè)環(huán)節(jié)中,都使用了PID控制,三 種控制算法的輸出量最終都是通過(guò)疊加通過(guò)電機(jī)運(yùn)動(dòng)來(lái)完成的。
小車(chē)直立控制:
g_fAngleControlOut = g_fCarAngle * g_fCarAngle_P + gyro[0] *
g_fCarAngle_D ;
小車(chē)速度控制:
g_fSpeedControlOutNew = (CAR_SPEED_SET - g_fCarSpeed)*g_fCarSpeed_P
+(CAR_POSITION_SET - g_fCarPosition) * g_fCarSpeed_I;
小車(chē)方向控制:
speednow=-speedtarget*3.4 -gyro[2]*0.0015 ;
3.2.2 角度調(diào)整 平衡車(chē)之所以能夠控制前進(jìn)、后退與保持原味,是由于小車(chē)的角度測(cè)算
反饋來(lái)實(shí)現(xiàn)的。對(duì)于小車(chē)而言(非慣性系,以車(chē)輪作為坐標(biāo)原點(diǎn))分析倒立 擺受力,它會(huì)受到額外的慣性力,該力與車(chē)輪的加速度方向相反,大小成正
比。這樣倒立擺所受到的回復(fù)力為:
F mg sinθ− macosθ≈ mgθ− mk1θ
由于θ很小,所以進(jìn)行了線(xiàn)性化。假設(shè)負(fù)反饋控制是車(chē)輪加速度 a 與偏 角θ成正比,比例為 k1。如果比例 k1>g,(g 是重力加速度)那么回復(fù)力的 方向便于位移方向相反了。
在此回復(fù)力作用下,小車(chē)便進(jìn)行周期運(yùn)動(dòng)。在空氣中運(yùn)動(dòng)的小車(chē),由于 受到空氣的阻尼力,小車(chē)最終會(huì)停止在垂直平衡位置?諝獾淖枘崃εc小車(chē) 運(yùn)動(dòng)速度成正比,方向相反。阻尼力越大,小車(chē)越會(huì)盡快在垂直位置穩(wěn)定下 來(lái)。而為了讓小車(chē)能夠盡快回到垂直位置穩(wěn)定下來(lái),還需要增加阻尼力。增 加的阻尼力與偏角的速度成正比,方向相反,因此公式 1 可改為:
F mgθ− mk1θ− mk2θ'
進(jìn)而可得出控制小車(chē)車(chē)輪加速度的算法:
a k1θ k2θ'
式中θ為小車(chē)角度,θ`為角速度,k1 k2 都是比例系數(shù)。 根據(jù)上述內(nèi)容,建立速度的比例微分負(fù)反饋控制,根據(jù)基本控制理論討
論小車(chē)通過(guò)閉環(huán)控制保持穩(wěn)定的條件(這里需要對(duì)控制理論有基本了解)。 假設(shè)外力干擾引起車(chē)模產(chǎn)生角加速度 x(t)。沿著垂直于車(chē)模地盤(pán)方向進(jìn)行 受力分析,可以得到車(chē)模傾角與車(chē)輪運(yùn)動(dòng)加速度以及外力干擾加速度 a(t) x(t)之間的運(yùn)動(dòng)方程。
1.009.jpg (5.54 KB, 下載次數(shù): 60)
下載附件
2017-8-12 21:49 上傳
小車(chē)的運(yùn)動(dòng)方程:
在角度反饋控制中,與角度成比例的控制量稱(chēng)為比例控制,與角速度成
比例的控制量稱(chēng)為微分控制(角速度是角度的微分)。 因此,上面系數(shù)k1,k2分別稱(chēng)為比例和微分控制參數(shù)。其中微分參數(shù)相當(dāng)
于阻尼力,可以有效抑制車(chē)模震蕩。通過(guò)微分抑制控制震蕩的思想在速度和 方向的控制中也同樣適用。
綜上所述,控制車(chē)模直立穩(wěn)定的條件如下:
(1)能夠精確測(cè)量車(chē)模傾角θ的大小和角速度θ'的大。
(2)可以控制車(chē)輪的加速度。 由于上述控制在實(shí)際情況下得到的結(jié)果是小車(chē)與地面不是嚴(yán)格垂直,而
是存在一個(gè)對(duì)應(yīng)的傾角。所以,在重力的作用下小車(chē)會(huì)朝著一個(gè)方面加速前 進(jìn)。所以為了保持小車(chē)的靜止或者勻速運(yùn)動(dòng),需要消除這個(gè)安裝誤差。這就 需要我們?cè)趯?shí)際小車(chē)制作過(guò)程中需要進(jìn)行機(jī)械調(diào)整和軟件參數(shù)設(shè)置。
另外,小車(chē)的速度控制也需要通過(guò)微端的軟件來(lái)實(shí)現(xiàn)對(duì)速度的穩(wěn)定。因 為在小車(chē)角度控制中出現(xiàn)的小車(chē)傾角偏差將會(huì)使得小車(chē)在傾斜的方向上產(chǎn) 生加速,這個(gè)結(jié)果可以用來(lái)進(jìn)行小車(chē)的速度控制。小車(chē)平衡控制也是通過(guò)負(fù) 反饋來(lái)實(shí)現(xiàn)的,因?yàn)樾≤?chē)有兩個(gè)輪子著地,車(chē)體只會(huì)在輪子滾動(dòng)的方向上發(fā) 生傾斜。控制輪子轉(zhuǎn)動(dòng),抵消在一個(gè)維度上傾斜的趨勢(shì)便可以保持車(chē)體平衡 了。
3.2.3 測(cè)速 由于安裝誤差,傳感器實(shí)際測(cè)量的角度與車(chē)模角度有偏差,小車(chē)實(shí)際不
是保持與地面垂直,而是存在一個(gè)傾角。在重力的作用下,小車(chē)就會(huì)朝傾斜
的方向加速前進(jìn)?刂扑俣韧ㄟ^(guò)控制小車(chē)的傾角來(lái)實(shí)現(xiàn)小車(chē)平衡。 通過(guò)安裝在電機(jī)輸出軸上的光碼盤(pán)來(lái)測(cè)量得到小車(chē)的車(chē)輪速度。如圖所示。利用控制單片機(jī)的計(jì)數(shù)器測(cè)量在固定時(shí)間間隔內(nèi)速度脈沖信號(hào)的個(gè)數(shù)可 以反映電機(jī)的轉(zhuǎn)速。
1.021.jpg (10.03 KB, 下載次數(shù): 90)
下載附件
2017-8-12 21:49 上傳
給定小車(chē)直立控制的設(shè)定值,在角度控制調(diào)節(jié)下,小車(chē)將會(huì)自動(dòng)維持在 一個(gè)角度。通過(guò)前面小車(chē)直立控制算法可以知道,小車(chē)傾角最終是跟蹤重力 加速度 Z 軸的角度。因此小車(chē)的傾角給定值與重力加速度 Z 軸角度相減,最 終決定小車(chē)的傾角,將數(shù)據(jù)交給核心處理器來(lái)處理。
小車(chē)在原地停止時(shí)速度應(yīng)該為 0。但是由于采用的是比例控制,如果此 時(shí)陀螺儀有漂移,或者加速度傳感器安裝有誤差,最終小車(chē)傾角不會(huì)最終調(diào) 整到 0,小車(chē)會(huì)朝著傾斜的方向恒速運(yùn)行下去。此時(shí)小車(chē)不會(huì)像沒(méi)有速度控 制那樣加速運(yùn)行了,但是速度不會(huì)最終為0。為了消除這個(gè)誤差,可以將小 車(chē)傾角設(shè)定量直接積分補(bǔ)償在角度控制輸出中,這樣就會(huì)徹底消除速度控制 誤差。由于加入了速度控制,它可以補(bǔ)償陀螺儀和重力加速度的漂移和誤差。 此時(shí)小車(chē)在控制啟動(dòng)的時(shí)候,需要保持小車(chē)的垂直狀態(tài)。此時(shí)陀螺儀的積分 角度也初始化為 0。
3.2.4 轉(zhuǎn)向控制 通過(guò)左右電機(jī)速度差驅(qū)動(dòng)小車(chē)轉(zhuǎn)向消除小車(chē)距離道路中心的偏差。通過(guò)
調(diào)整小車(chē)的方向,再加上車(chē)前行運(yùn)動(dòng),可以逐步消除小車(chē)距離中心線(xiàn)的距離 差別。這個(gè)過(guò)程是一個(gè)積分過(guò)程,因此小車(chē)差動(dòng)控制一般只需要進(jìn)行簡(jiǎn)單的 比例控制就可以完成小車(chē)方向控制。但是由于小車(chē)本身安裝有電池等比較重 的物體,具有很大的轉(zhuǎn)動(dòng)慣量,在調(diào)整過(guò)程中會(huì)出現(xiàn)小車(chē)轉(zhuǎn)向過(guò)沖現(xiàn)象,如 果不加以抑制,會(huì)使得小車(chē)過(guò)度轉(zhuǎn)向而倒下。根據(jù)前面角度和速度控制的經(jīng) 驗(yàn),為了消除小車(chē)方向控制中的過(guò)沖,需要增加微分控制。
3.3 硬件框架
3.3.1 結(jié)構(gòu)框圖
1.023.jpg (14.77 KB, 下載次數(shù): 58)
下載附件
2017-8-12 21:49 上傳
3.3.2 各模塊組件引腳圖
1.024.jpg (14.89 KB, 下載次數(shù): 65)
下載附件
2017-8-12 21:49 上傳
1.025.jpg (12.71 KB, 下載次數(shù): 84)
下載附件
2017-8-12 21:49 上傳
供電電路
1.026.jpg (4.54 KB, 下載次數(shù): 86)
下載附件
2017-8-12 21:49 上傳
1.027.jpg (6.42 KB, 下載次數(shù): 59)
下載附件
2017-8-12 21:49 上傳
超聲波模塊 藍(lán)牙模塊
1.028.jpg (10.66 KB, 下載次數(shù): 82)
下載附件
2017-8-12 21:49 上傳
驅(qū)動(dòng)電路 MPU6050 陀螺儀
1.030.jpg (31.02 KB, 下載次數(shù): 75)
下載附件
2017-8-12 21:49 上傳
主控模塊
3.3.3 硬件組說(shuō)明 A.超聲波模塊:
1) 采用 IO 口 TRIG 觸發(fā)測(cè)距,給至少 10us 的高電平信號(hào);
2) 模塊自動(dòng)發(fā)送 8 個(gè) 40khz 的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;
3) 有信號(hào)返回,通過(guò) IO 口 ECHO 輸出一個(gè)高電平,高電平持續(xù)的時(shí) 間就是超聲波從發(fā)射到返回的時(shí)間。
4) 測(cè)試距離=(高電平時(shí)間*聲速(340M/S))/2; 本模塊一個(gè)控制口發(fā)一個(gè) 10US 以上的高電平,就可以在接收口等待
高電平輸出.一有輸出就可以開(kāi)定時(shí)器計(jì)時(shí),當(dāng)此口變?yōu)榈碗娖綍r(shí)就可以 讀定時(shí)器的值,此時(shí)就為此次測(cè)距的時(shí)間,方可算出距離.如此不斷的周 期測(cè),即可以達(dá)到你移動(dòng)測(cè)量的值。
工作參數(shù):
初始化時(shí)將 trig 和 echo 端口都置低,首先向給 trig 發(fā)送至少 10 us 的高電平脈沖(模塊自動(dòng)向外發(fā)送 8 個(gè) 40K 的方波),然后等待,捕捉 echo 端輸出上升沿,捕捉到上升沿的同時(shí),打開(kāi)定時(shí)器開(kāi)始計(jì)時(shí),再次 等待捕捉 echo 的下降沿,當(dāng)捕捉到下降沿,讀出計(jì)時(shí)器的時(shí)間,這就是 超聲波在空氣中運(yùn)行的時(shí)間。
測(cè)試距離=(高電平時(shí)間*聲速(340M/S))/2 據(jù)此就可以算出超聲波到障礙物的距離了。 實(shí)物圖:
1.034.jpg (10.19 KB, 下載次數(shù): 55)
下載附件
2017-8-12 21:49 上傳
B.藍(lán)牙模塊:
在 zs-040 模塊上有 2 種 AT 模式——“迷你”AT 模式和“全”AT 模 式。一些命令只有在 pin34 為高電平時(shí)才起作用,當(dāng)引腳 34為低電平時(shí), 其他命令工作。
要在 zs-040 模塊上激活 AT 模式,需要:
1.在打開(kāi)模塊電源時(shí),按住小按鈕開(kāi)關(guān)關(guān)閉。
2.打開(kāi)電源時(shí),將引腳 34 設(shè)置為高電平(3.3v)。
3.在 zs-040 通電后關(guān)閉小按鈕開(kāi)關(guān)。
4.為 zs-040 供電后,將引腳 34 拉高。
進(jìn)入 AT 模式,內(nèi)置 AT 模式波特率為 38400。
若進(jìn)入 AT 模式時(shí)將引腳 34 保持為高電平,則將啟用允許使用所有 AT 命令的“全”AT 模式,使用用戶(hù)定義的通信模式波特率也可以進(jìn)入 “全”AT 模式。
如果讓電源開(kāi)啟后引腳 34 恢復(fù)為低電平,則會(huì)啟用“迷你”AT 模 式。
接線(xiàn):
VCC --> 3.3V
GND --> GND TX --> RX
RX --> TX 實(shí)物圖:
1.038.jpg (9.16 KB, 下載次數(shù): 58)
下載附件
2017-8-12 21:49 上傳
C.驅(qū)動(dòng)電路:
TB6612FNG 每通道輸出最高 1.2 A 的連續(xù)驅(qū)動(dòng)電流,啟動(dòng)峰值電流達(dá)2A/3.2 A(連續(xù)脈沖/單脈沖)。
在工作狀態(tài)下,PWM 支持頻率高達(dá) 100 kHz。而在待機(jī)狀態(tài)下,著 片內(nèi)低壓檢測(cè)電路與熱停機(jī)保護(hù)電路兩種機(jī)制。模塊正常的工作溫度在-20~85℃。
該模塊共有 4 種電機(jī)控制的模式,分為正轉(zhuǎn)、反轉(zhuǎn)、制動(dòng)和停止。
TB6612FNG 的主要引腳功能有:AINl/AIN2、BIN1/BIN2、PWMA/PWMB
(控制信號(hào)輸入端)、AO1/A02、B01/B02(2 路電機(jī)控制輸出端)、STBY
(正常工作/待機(jī)狀態(tài)控制引腳)以及 VM(4.5~15 V)和 VCC(2.7~5.5 V)
(VM 和 VCC 分別為電機(jī)驅(qū)動(dòng)電壓輸入和邏輯電平輸入端)。
TB6612FNG 是基于 MOSFET 的 H 橋集成電路,其效率高于晶體管 H 橋 驅(qū)動(dòng)器。相比 L293D 每通道平均 600 mA 的驅(qū)動(dòng)電流和 1.2 A的脈沖峰值 電流,它的輸出負(fù)載能力提高了一倍。
相比 L298N 的熱耗性和外圍二極管續(xù)流電路,它無(wú)需外加散熱片, 外圍電路簡(jiǎn)單,只需外接電源濾波電容就可以直接驅(qū)動(dòng)電機(jī),利于減小
系統(tǒng)尺寸。
實(shí)物圖:
1.039.jpg (6.54 KB, 下載次數(shù): 78)
下載附件
2017-8-12 21:49 上傳
D.MPU6050:
以數(shù)字輸出 6 軸或 9 軸的旋轉(zhuǎn)矩陣、四元數(shù)、歐拉角格式的融合演 算數(shù)據(jù)。具有 131 LSBs/°/sec 敏感度與全格感測(cè)范圍為±250、±500、
±1000 與±2000°/sec 的 3 軸角速度感測(cè)器(陀螺儀)。
可程式控制,且程式控制范圍為±2g、±4g、±8g 和±16g 的 3 軸 加速器。 移除加速器與陀螺儀軸間敏感度,降低設(shè)定給予的影響與感測(cè)
器的飄移。 數(shù)字運(yùn)動(dòng)處理引擎可減少?gòu)?fù)雜的融合演算數(shù)據(jù)、感測(cè)器同步 化、姿勢(shì)感應(yīng)等的負(fù)荷。
運(yùn)動(dòng)處理數(shù)據(jù)庫(kù)支持 Android、Linux 與 Windows 內(nèi)建之運(yùn)作時(shí)間偏 差與磁力感測(cè)器校正演算技術(shù),免除了客戶(hù)須另外進(jìn)行校正的需求。 以
數(shù)位輸出的溫度傳感器 以數(shù)位輸入的同步引腳支援視頻電子影相穩(wěn)定 技術(shù)與 GPS 可程式控制的中斷支援姿勢(shì)識(shí)別、搖攝、畫(huà)面放大縮小、滾
動(dòng)、快速下降中斷、high-G 中斷、零動(dòng)作感應(yīng)、觸擊感應(yīng)、搖動(dòng)感應(yīng)功 能。
VDD 供電電壓為 2.5V±5%、3.0V±5%、3.3V±5%;VDDIO 為 1.8V± 5% 陀螺儀運(yùn)作電流:5mA,陀螺儀待命電流:5μA;加速器運(yùn)作電流:
350μA,加速器省電模式電流: 20μA@10Hz 高達(dá) 400kHz
快速模式的 I2C,或最高至 20MHz 的 SPI 串行主機(jī)接口內(nèi)建頻率產(chǎn)生器 在所有溫度范圍僅有±1%頻率變化。
Type: Read/Write
Register (hex) | Register (Decimal) | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
1B | 27 | XG_ST | YG_ST | ZG_ST | FS_SEL[1;0] | - | - | - |
1)XG_ST 設(shè)置此位,X 軸陀螺儀進(jìn)行自我測(cè)試。
2)YG_ST 設(shè)置此位,Y 軸陀螺儀進(jìn)行自我測(cè)試。
3)ZG_ST 設(shè)置此位,Z 軸陀螺儀進(jìn)行自我測(cè)試。
4)FS_SEL 2 位無(wú)符號(hào)值。選擇陀螺儀的量程。 實(shí)物圖:
1.043.jpg (7.37 KB, 下載次數(shù): 88)
下載附件
2017-8-12 21:49 上傳
3.4 STM32 算法流程圖
1.047.jpg (17.71 KB, 下載次數(shù): 67)
下載附件
2017-8-12 21:49 上傳
1.048.jpg (17.42 KB, 下載次數(shù): 75)
下載附件
2017-8-12 21:49 上傳
3.5 通信協(xié)議
四. 軟件界面設(shè)計(jì)
藍(lán)牙實(shí)現(xiàn)的平衡車(chē)遙控主要是利用了小車(chē)上藍(lán)牙組件的物聯(lián)網(wǎng)控制功 能,使得小車(chē)的控制上沒(méi)有流量、延時(shí)的限制,能實(shí)時(shí)操控,只需要下載手 機(jī) APP,就可以自如地通過(guò)藍(lán)牙操控小車(chē)。相較于使用 WiFi 控制,藍(lán)牙不需 要借助網(wǎng)絡(luò),可以在無(wú)網(wǎng)的環(huán)境下控制小車(chē)。
手機(jī) APP 可以實(shí)現(xiàn)藍(lán)牙開(kāi)關(guān)對(duì)應(yīng)的打開(kāi)或關(guān)閉藍(lán)牙。 在打開(kāi)藍(lán)牙后可識(shí)別對(duì)應(yīng)的藍(lán)牙建立連接,實(shí)現(xiàn)對(duì)小車(chē)的遙控。
1.055.jpg (4.61 KB, 下載次數(shù): 72)
下載附件
2017-8-12 21:49 上傳
五. 總結(jié)
生活總是在向著智能化、便捷化的方向發(fā)展著,在信息化的時(shí)代里,獨(dú)輪自 平衡車(chē)符合這個(gè)趨勢(shì),順應(yīng)了時(shí)代的潮流,有著良好的發(fā)展前景。平衡車(chē)相對(duì)于 其他交通工具最獨(dú)特的特點(diǎn)是節(jié)能環(huán)保,小巧輕便。廢氣、尾氣的排放同樣也給 國(guó)家?guī)?lái)了諸多的環(huán)境問(wèn)題,霧霾、沙塵暴、熱島效應(yīng)等等的環(huán)境問(wèn)題的罪魁禍 首,最主要的就是工業(yè)廢氣和車(chē)輛尾氣的大量排放。平衡車(chē)作為一個(gè) 0 排放的新 型交通工具必然是貼合綠色生活、綠色發(fā)展的理念,在市場(chǎng)上能有著獨(dú)特的銷(xiāo)售 優(yōu)勢(shì)。當(dāng)今世界的另一個(gè)危機(jī)是能源危機(jī),節(jié)能環(huán)保交通工具取代傳統(tǒng)是必然趨 勢(shì),這也就給平衡車(chē)的發(fā)展提供了廣闊的空間。
但是,在現(xiàn)如今的平衡車(chē)行業(yè)中,平衡車(chē)技術(shù)并不是很先進(jìn),平衡車(chē)仍存在 諸多問(wèn)題,既有著安全因素所帶來(lái)的危險(xiǎn)性,也有著國(guó)家交通法規(guī)的限制,平衡 車(chē)在國(guó)內(nèi)的發(fā)展仍處于起步狀態(tài),對(duì)于平衡車(chē)的發(fā)展來(lái)說(shuō)有大的提升空間。
六. 未來(lái)發(fā)展
隨著人類(lèi)社會(huì)越來(lái)越智能化,智能家居、智能穿戴、智能辦公逐漸普及,智 能電動(dòng)平衡車(chē)也已經(jīng)進(jìn)入人們的日常生活。智能平衡車(chē)可謂是代步工具類(lèi)中最新 的智能產(chǎn)品。智能類(lèi)的產(chǎn)品總給人一種異常方便、簡(jiǎn)潔優(yōu)雅的感覺(jué),電動(dòng)平衡車(chē) 也是如此。
事實(shí)上,電動(dòng)平衡車(chē)最近兩年在全世界、尤其是中國(guó)市場(chǎng)有著非同一般的發(fā) 展速度,但是現(xiàn)如今是一個(gè)智能化發(fā)展的時(shí)代,智能電視、智能汽車(chē)、智能手環(huán)、 智能手表等等一系列智能產(chǎn)品已經(jīng)開(kāi)始占據(jù)人們的生活,智能硬件已經(jīng)成為這個(gè) 時(shí)代不可逆轉(zhuǎn)的大趨勢(shì)。電動(dòng)平衡車(chē)作為新一代的可穿戴設(shè)備,必將被這股智能 潮流挾裹而去。
在如今的電動(dòng)平衡車(chē)行業(yè)中,智能化必定是平衡車(chē)未來(lái)的發(fā)展浪頭,畢竟它 是現(xiàn)在唯一一個(gè)智能化全電動(dòng)而且有望很快全民化的代步工具。
電動(dòng)平衡車(chē)成為智能硬件,已經(jīng)是僅僅隔著一層紗。電動(dòng)平衡車(chē)如果成長(zhǎng)為 一款非常成熟完善的智能硬件,將有著許多獨(dú)一無(wú)二的優(yōu)勢(shì)。它將在解決人們出 行問(wèn)題的同時(shí),利用在路上的時(shí)間完成對(duì)個(gè)人生活的私人定制,所以智能化將是 平衡小車(chē)的未來(lái)發(fā)展。
但目前平衡車(chē)仍有諸多的挑戰(zhàn),比如安全問(wèn)題,交通法規(guī)問(wèn)題,這些都可以 作為平衡車(chē)行業(yè)的產(chǎn)品設(shè)計(jì)考核來(lái)發(fā)展,這些既是困難也是挑戰(zhàn)。
近年來(lái)霧霾的肆虐讓人們更加關(guān)注環(huán)保出行,自行車(chē)太慢,電動(dòng)摩托車(chē)太多, 而平衡車(chē)正好彌補(bǔ)了這個(gè)領(lǐng)域的空白。目前生產(chǎn)的平衡車(chē)是以清潔能源電能驅(qū)動(dòng) 的,這將大大減少了碳排放。在關(guān)于平衡車(chē)的驅(qū)動(dòng)能源的方面來(lái)看,現(xiàn)在世界上 清潔能源的不斷推出使用使得平衡車(chē)能夠以更多的姿態(tài)出現(xiàn)在我們的未來(lái)社會(huì) 中,平衡車(chē)的能源方面一樣有著不小的發(fā)展價(jià)值。
單片機(jī)源程序如下:
- #include "mpu6050.h"
- #include "i2c_mpu6050.h"
- #include "motor.h"
- #include "upstandingcar.h"
- #include "SysTick.h"
- #include "led.h"
- #include "usart.h"
- #include "i2c.h"
- //#include "outputdata.h"
- #include "timer.h"
- #include "UltrasonicWave.h"
- //#include "stm32f10x_usart.h"
- float gyz;
- int acc;
- int acc1;
- //extern u8 newLineReceived = 0;
- int main(void)
- {
-
-
- SystemInit(); //=====系統(tǒng)初始化
- Timerx_Init(5000,7199); //定時(shí)器TIM1
- UltrasonicWave_Configuration(); //超聲波初始化設(shè)置 IO口及中斷設(shè)置
- USART1_Config(); //串口1初始化 上位機(jī)
- USART3_Config(); //串口3初始化 藍(lán)牙與USART3公用相同IO口
-
- TIM2_PWM_Init(); //PWM輸出初始化
- MOTOR_GPIO_Config(); //電機(jī)IO口初始化
- LED_GPIO_Config();
-
- // TIM3_External_Clock_CountingMode(); //左電機(jī)脈沖輸出外部中斷口PA7使用TIM3定時(shí)器用作為脈沖數(shù)計(jì)算
- // TIM4_External_Clock_CountingMode(); //右電機(jī)脈沖輸出外部中斷口PB7使用TIM4定時(shí)器用作為脈沖數(shù)計(jì)算
- TIM3_Encoder_Init(); //編碼器獲取脈沖數(shù) PA6 7
- TIM4_Encoder_Init(); //編碼器獲取脈沖數(shù) PB6 7
- ////////////////////DMP/////////////////////////////////
- i2cInit(); //IIC初始化 用于掛靠在總線(xiàn)上的設(shè)備使用
- delay_nms(10); //延時(shí)10ms
- MPU6050_Init(); //MPU6050 DMP陀螺儀初始化
-
- SysTick_Init(); //SysTick函數(shù)初始化
- CarUpstandInit(); //小車(chē)直立參數(shù)初始化
- SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk; //使能總算法時(shí)鐘
- while (1)
- {
- // GPIO_ResetBits(GPIOC, GPIO_Pin_13);
- MPU6050_Pose(); //獲取MPU6050角度狀態(tài)
- // gy0=gyro[0];
- // UltrasonicWave_StartMeasure(); //調(diào)用超聲波發(fā)送程序 給Trig腳 <10us 高電平
- // chaoshengbo(); //計(jì)算超聲波測(cè)距距離
- // printf("%d",ucBluetoothValue);
- // printf("\t");
- // printf("%f",BST_fSpeedControlOutNew);
- // printf("\t");
- // printf("%f",BST_fCarAngle);
- // printf("\t");
- // printf("%f",BST_fLeftMotorOut);
- // printf("\t");
- // printf("\n");
-
- if (newLineReceived)
- {
- ProtocolCpyData();
- Protocol();
- }
- /*通過(guò)狀態(tài)控制小車(chē)*/
- CarStateOut();
-
- SendAutoUp();
-
-
- }
-
- }
復(fù)制代碼
所有資料51hei提供下載:
下面的網(wǎng)址里面里面包含了平衡車(chē)的stm32源碼,安卓控制app,ppt演示文檔,還有完整的設(shè)計(jì)論文