李帥男
(吉林化工學(xué)院, 吉林 吉林 132000)
隨著嵌入式技術(shù),微電子技術(shù)和控制算法的進(jìn)步,智能化越來越成為當(dāng)今社會發(fā)展的風(fēng)向標(biāo),而兩輪自平衡車正是其中的一個熱點。在世界各個國家中,不論是高校、實驗室、商業(yè)公司,兩輪自平衡小車的研究越來越多,因為不管是在民用,科研還是軍用方面其有著巨大的應(yīng)用前景,在民用方面,電動兩輪代步平衡車已經(jīng)投放市場,走入用戶家庭中,它綠色環(huán)保,轉(zhuǎn)彎控制方便,無剎車系統(tǒng),占用地方小,正是這些優(yōu)勢改變著人們的出行方式;在科研方面,有些在很特殊復(fù)雜的空間下,比如狹小、危險、黑暗的環(huán)境,兩輪小車可以更加利用自己的優(yōu)勢來代替人們執(zhí)行特殊的任務(wù)[1]。
STM32f103是意法半導(dǎo)體公司新推出的新一代增強(qiáng)型32位芯片,它高度集成且容易開發(fā),它采用的是高性能的RISC內(nèi)核,運行頻率是72 MHz,內(nèi)部放置了高性能的存儲圣杯,有128 kB閃存,2萬字節(jié)的靜態(tài)隨機(jī)存儲器,很多的輸入輸出引腳和2個外圍總線的外部設(shè)備。這個系列的所有型號都有2個12位的模數(shù)轉(zhuǎn)換器,還有三個16位的定時器,1個脈沖寬度調(diào)節(jié)定時器,還有很多快速和通用制度的接口用于傳輸信息,兩個串行工作總線和串行外設(shè)接口,3個全雙工通用同步/異步串行收發(fā)模塊,1個通用串行總線接口和1個控制器局域網(wǎng)絡(luò)接口。供電電壓在2.0~3.6 V之間,工作溫度在-40~85 ℃之間[2]。
MPU6050內(nèi)含有三軸的Micro-Electro-Mechanical System微機(jī)電系統(tǒng)陀螺儀,三軸的微機(jī)電系統(tǒng)加速度計,還有可以不斷擴(kuò)充的數(shù)字運動處理器件Digital Motion Processor,使用同步串行總線可以通信其它的數(shù)字型模塊,陀螺儀和加速度計都有3個數(shù)模轉(zhuǎn)換器,因為測量的是模擬量,通過數(shù)模轉(zhuǎn)換器,可以變?yōu)閿?shù)字量,因為要捕捉速度不定的移動狀態(tài),操控者需要選擇不同的范圍,陀螺儀和加速度計的選擇范圍非常豐富,每個有四個梯度[3]。MPU6050如圖1所示。
圖1 MPU6050示意圖
在本次設(shè)計中用TB6612FNG模塊作為直流電機(jī)的驅(qū)動模塊,它對電機(jī)有很好的控制和保護(hù)作用,可以隨意調(diào)節(jié)電流大小,避免了沖擊電流對電機(jī)繞組的影響,控制非常方便,調(diào)速很快捷,這款芯片的集成程度都非常的高,驅(qū)動能力也是非常強(qiáng)悍,運行速度快,能耗方面也非常優(yōu)秀[4]。在眾多型號中,它有著出色的性價比優(yōu)勢,也很適合本次平衡小車的設(shè)計,所以選用此款芯片。
如圖2所示,給主控板供電后,程序開始運行,運行內(nèi)容分為兩個方面,一部分是應(yīng)用到模塊的初始化還有一部分是應(yīng)用程序的初始化。第一部分是系統(tǒng)所有部分的初始化運行,所有的程序由MCU燒錄工具M(jìn)CU-ISP提供產(chǎn)生。另一部分是各個應(yīng)用模塊的初始化,是對所有程序中要使用到的變量值進(jìn)行初始賦值。
圖2 系統(tǒng)程序流程圖
初始化工作完成后,中斷程序運行,可以把定時中斷定為5 ms,中斷開始后,中斷子程序開始運行,這時可以調(diào)整優(yōu)先級調(diào)用各個其它程序塊的函數(shù),中斷的運用是系統(tǒng)程序運行的重點所在。在中斷子程序中,MCU通過IIC與MPU6050進(jìn)行通訊,可以快速得到雙輪車的加速度值和角速度值,對從姿態(tài)模塊傳送來的角度信息使用PID算法進(jìn)行分析與計算后,將程序運算結(jié)果通過PWM與I/O口的高低電平輸出電機(jī)驅(qū)動模塊再輸送到電機(jī),可以實現(xiàn)對小車的閉環(huán)直立控制。
系統(tǒng)的硬件系統(tǒng)以意法半導(dǎo)體公司的STM32f103c8T6為控制核心,使用MPU6050檢測小車的車身姿態(tài),通過TB6612FNG驅(qū)動兩個直流減速電機(jī),使雙輪小車平衡直立。軟件系統(tǒng)設(shè)計中,根據(jù)單片機(jī)使用手冊設(shè)置各個寄存器;根據(jù)IIC總線協(xié)議編寫通信程序,并且根據(jù)芯片說明配置MPU6050芯片。使用互補(bǔ)濾波融合加速度計與陀螺儀數(shù)據(jù)并實現(xiàn)角度控制。使用PID算法計算角度控制與速度控制的最終輸出量。最終實現(xiàn)了對雙輪自平衡小車的平衡控制,使得小車在沒有外力干擾下能自主實現(xiàn)直立。
現(xiàn)代工業(yè)經(jīng)濟(jì)和信息化2018年13期