張笑笑++賁永青
摘 要:本文研究的是智能自平衡車,它的原理主要是建立在一種被稱為“動(dòng)態(tài)穩(wěn)定”(Dynamic Stabilization)的基本原理上,也就是車輛本身的自動(dòng)平衡能力。該設(shè)計(jì)以STM32F103單片機(jī)最小系統(tǒng)為主控制器和以數(shù)字傳感器MPU6050為姿態(tài)檢測(cè)模塊組成自平衡車系統(tǒng),采用卡爾曼濾波算法對(duì)陀螺儀和加速度計(jì)數(shù)據(jù)進(jìn)行融合,通過(guò)增量式PID控制算法來(lái)控制小車的直立、速度和轉(zhuǎn)向,最終實(shí)現(xiàn)小車的直立平衡功能。
關(guān)鍵詞:STM32;MPU6050;卡爾曼濾波;智能自平衡車
DOI:10.16640/j.cnki.37-1222/t.2017.07.138
1 引言
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,人民生活水平的提高小汽車作為短途代步工具的弊端越來(lái)越明顯,為了滿足市民越來(lái)越高的要求,如今市場(chǎng)上出現(xiàn)了兩輪載人平衡車,智能自平衡作為短途代步車,可以豐富人們的業(yè)余生活、鍛煉平衡能力和協(xié)調(diào)性。
通過(guò)學(xué)習(xí)STM32103單片機(jī)的內(nèi)部資源,利用MPU6050傳感器獲取小車的偏轉(zhuǎn)姿態(tài)。運(yùn)用卡爾曼濾波和增量式PID的方法,通過(guò)TB6612控制電機(jī)的轉(zhuǎn)向與轉(zhuǎn)速,以達(dá)到小車在水平面穩(wěn)定的站立。另當(dāng)有一定的外力作用作用在小車上時(shí),小車仍可以保持當(dāng)前穩(wěn)定狀態(tài)。
2 智能自平衡車的總體設(shè)計(jì)方案
該設(shè)計(jì)是以STM32103單片機(jī)為主控制器,通過(guò)STM32單片機(jī)的內(nèi)部資源,如TIM,IIC,PWM,ADC,定時(shí)器,外部中斷,串口等功能。由于STM32硬件IIC不穩(wěn)定所以利用IO模擬IIC去讀取MPU6050傳感器的角度和加速度數(shù)據(jù),然后利用卡爾曼濾波算法對(duì)采集到的角度和加速度數(shù)據(jù)進(jìn)行融合,最后借助增量式PID算法和TB6612對(duì)2個(gè)電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向進(jìn)行控制,從而實(shí)現(xiàn)兩輪自平衡。
獲取平衡小車姿態(tài)角的濾波算法一般為卡爾曼濾波和一階互補(bǔ)濾波,由于MPU6050 內(nèi)置的DMP可以直接輸出和姿態(tài)相關(guān)的四元數(shù),所以有三種方法可以獲取角度。但是根據(jù)人們長(zhǎng)時(shí)間的實(shí)踐結(jié)果,認(rèn)為DMP輸出的四元數(shù)表示的角度和卡爾曼濾波最穩(wěn)定,這里我們選擇了卡爾曼濾波。因?yàn)榭柭鼮V波應(yīng)用廣泛且功能強(qiáng)大,它可以估計(jì)信號(hào)的過(guò)去和當(dāng)前狀態(tài),甚至能估計(jì)將來(lái)的狀態(tài),本質(zhì)上講,濾波就是一個(gè)信號(hào)處理與變換的過(guò)程。
最后的結(jié)果小車實(shí)現(xiàn)了自平衡,而且通過(guò)藍(lán)牙控制可以進(jìn)行簡(jiǎn)單的移動(dòng)。即使有外力的干擾小車同樣也可以保持平衡。
3 硬件電路設(shè)計(jì)
硬件電路分為電源模塊、STM32單片機(jī)最小系統(tǒng)模塊、傳感器模塊、TB6612電機(jī)驅(qū)動(dòng)模塊。下面分別介紹下電源模塊、傳感器模塊和電機(jī)驅(qū)動(dòng)模塊。
3.1 電源模塊電路
整個(gè)系統(tǒng)是通過(guò)航模鋰電池來(lái)供電,其中單片機(jī)系統(tǒng)需要的是5V電源,傳感器模塊需要的是3.3V電源。要使傳感器能正常工作我們需要通過(guò)AMS1117來(lái)進(jìn)行穩(wěn)壓達(dá)到3.3V。以下是設(shè)計(jì)的硬件圖。
3.2 傳感器模塊電路
系統(tǒng)需要測(cè)試角度與加速度因此需要應(yīng)用陀螺儀和加速度計(jì)傳感器,為了方便我們采用了集成二者的MPU6050。MPU6050中的數(shù)據(jù)是通過(guò)IIC進(jìn)行讀取,將MPU6050的SCL和SDA口接與STM32103單片機(jī)的PB8和PB9相連。
3.3 電機(jī)驅(qū)動(dòng)模塊電路
電機(jī)驅(qū)動(dòng)模塊的主要功能是驅(qū)動(dòng)小車輪子轉(zhuǎn)動(dòng),對(duì)電機(jī)驅(qū)動(dòng)系統(tǒng)有較高的要求,在這里我們選擇了TB6612模塊,通過(guò)單片機(jī)IO口輸入改變控制端的高低電平,從而對(duì)電機(jī)進(jìn)行正反轉(zhuǎn)及停止操作。
4 軟件代碼調(diào)試
5 結(jié)論
本文針對(duì)智能自平衡車的設(shè)計(jì)的制作進(jìn)行了基本介紹,介紹了其原理結(jié)構(gòu),硬件及軟件設(shè)計(jì)。通過(guò)軟硬件的規(guī)劃,參數(shù)整定,實(shí)現(xiàn)了自平衡車系統(tǒng)的動(dòng)態(tài)平衡和簡(jiǎn)單的遙控行走功能。在整個(gè)制作過(guò)程我們學(xué)習(xí)了單片機(jī)硬件結(jié)構(gòu),相關(guān)的傳感器使用和PID算法。通過(guò)這次的設(shè)計(jì)基礎(chǔ),將再進(jìn)一步研究載人自平衡車的設(shè)計(jì),實(shí)現(xiàn)其理論研究的應(yīng)用價(jià)值。
項(xiàng)目經(jīng)費(fèi):安徽省大學(xué)生創(chuàng)新創(chuàng)業(yè)項(xiàng)目:智能自平衡車制作(項(xiàng)目編號(hào):201610379125)
作者簡(jiǎn)介:張笑笑(1995-),女,安徽亳州人,學(xué)生。