999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32F429 兩輪平衡車的研制

2020-11-10 13:44:02賈樹林馬雙寶
武漢紡織大學學報 2020年5期
關鍵詞:單片機

賈樹林,馬雙寶

(武漢紡織大學 機械工程與自動化學院,湖北 武漢 430200)

0 引言

在當今市場上,傳統玩具慢慢地退出了市場,取而代之的是高科技智能型電子玩具。無線遙控小車、自動避障小車、智能循跡小車成為新一代高科技產物,無線遙控小車的實現可通過手機wifi、藍牙、射頻、紅外線等幾種,其中藍牙控制技術具有一定的優越性,正應用于短距離通信、傳輸文件、遠程遙控等多個方面[1]。

對于智能小車,雙輪自平衡小車是研究熱點之一。雙輪自平衡小車有很多優點,例如:占地面積較小,運動靈活,可以在狹小的空間得到運用,也可以成為人們日常的代步工具,解決人們短距離行程,為人們的生活帶來便利[2]。雙輪自平衡小車可以實現不需人為控制的運行,且在不同的狀態之間切換。本設計就是在這樣的背景下提出的,通過計算機編程來實現對雙輪自平衡小車的前進、后退、轉彎以及停止等行為控制。雙輪自平衡小車是一個復雜和集成的系統,它包括了通信方面、智能控制方面、自動控制方面、傳感器和檢測技術以及電子設計和其它技術方面的知識[3],通過對雙輪平衡小車的研究,可以讓初學者了解自動控制的基本方法以及多種技術結合而形成的控制問題。

1 系統硬件設計

圖1 系統總體框圖

系統總體框圖如圖1 所示。該系統由主控制器STM32F429、傳感器模塊、藍牙模塊、電源模塊、串口顯示模塊、電機驅動模塊和測速模塊等部分組成。

1.1 控制器

控制器采用單片機STM32F429,該單片機使用的內核是Cortex M4,含有DSP 指令集,它內部的SRAM大小為256KB。該芯片的模擬量轉為數字量的轉換速度非常快,并且轉換模塊的工作供電電壓很低,內部含有8 個定時器,可同時處理32 位數據,I/O 端口可以復用為很多其它的功能[4],常用的串行接口有USART 和SPI 通信,該單片機最高的工作頻率可以達到180MHz,STM32F429 單片機總線訪問的速度非常快,并且該單片機擁有強大的數據處理能力,可以完全滿足本次設計要求。

1.2 串口顯示模塊

顯示模塊主要是將雙輪自平衡小車的運行狀態實時的顯示到人機交互界面,使我們進一步了解雙輪自平衡小車的運行狀況。顯示模塊采用串口觸摸屏顯示,串口觸摸屏HMI 就是將它的一般功能進行封裝,使用者可以通過串口USART 與屏幕進行消息的交換,從而滿足用戶的要求,人機交互界面非常友好且操作性良好[5],用戶可以通過屏幕發送相應的指令來完成相關操作。

串口顯示電路如圖2 所示。其中,PA9、PA10 為與控制器連接管腳,PA9 為發送端,PA10 為接收端,且控制器與串口顯示屏通信方式為USART。

圖2 串口顯示電路

圖3 LM2596 電壓轉換電路

1.3 電源模塊

電源電路是整個系統工作的前提,它為各個模塊提供所需的電源。電源的正確使用是系統穩定工作運行的前提。

電源采用12V 聚合物鋰電池供電,該電池為可充電電池,可以重復使用。電壓轉換電路如圖3 所示,將電源12V 經過降壓芯片LM2596 轉換為10V,作為電機驅動模塊的電源。LM2596 是一款降壓芯片,能夠輸出3A 的電流去驅動其它器件,它的輸出電壓大小可根據反饋電阻的大小進行調節,輸出電壓最高可達37V[6];再將轉化后的10V 經過線性穩壓芯片LM7805 轉化為5V,為單片機供電,可以實現同一電源為不同模塊供電,且保證了不同電壓的需求,這樣設計供電電路比較簡單,易于實現,且能滿足本次設計需求。LM7805 降壓電路如圖4 所示。

圖4 LM7805 降壓電路

圖5 帶霍爾傳感器測速碼盤的GB37 直流減速電機

1.4 測速模塊

要實現對雙輪自平衡小車速度的控制,需要實時知道小車的行駛速度,對小車的速度進行反饋,形成速度閉環反饋,從而實現對小車速度的控制。

測速模塊采用霍爾傳感器,采用GB37 直流減速電機,電機上帶有一款霍爾傳感器測速碼盤,減速比為1:30 的520 電機,該電機額定電壓為12V,空轉電流為250mA,堵轉電流最大可達6.5A,功率可達4.8W[7],同時測速碼盤上配有13 線強磁碼盤,在A、B 雙相的共同輸出下,就可以計算出當車輪轉動一圈時,輸出的脈沖數量可以達到780 個。如圖5 所示為帶霍爾傳感器測速碼盤的GB37 直流減速電機。

1.5 電機驅動模塊

電機驅動模塊采用TB6612FNG 芯片作為本次設計的電機驅動模塊芯片,該芯片在效率方面比傳統驅動有很大提高,也極大地縮減了驅動的體積,并且在正常的工作情況下該芯片不會散發熱量,并且該芯片自帶軟啟動功能,啟動轉矩大,性能較好[8]。在連接控制器與TB6612FNG 芯片之間加入隔離電路,可以有效地防止控制器被損壞。如圖6 所示為電機驅動電路圖。當STBY 端口被連接到MCU 時,電動機停止工作。當STBY 被連接到高電平時,該芯片是有效的。通過將AIN1、AIN2、BIN1、BIN2 置1 或者清零來控制電機的運行狀態[9]。PWMA 和PWMB 接單片機的PWM 口,用來控制電動機的轉動。

圖6 電機驅動電路圖

該單片微型計算機PA0、PA1、PA2 和PA3 口分別接電機驅動電路的BIN2、BIN1、AIN2 和AIN1 口,來控制電機的運行狀態,當A、B 兩個電機同時正轉且兩個電機的轉動速度相同時,小車向前行駛;當A、B 兩個電機同時反向轉動且兩個電機的轉動速度相同時,小車向后倒退;當A、B 兩個電機一個正向轉動一個反向轉動且兩個電機的轉動速度相同時,小車將在當前位置轉圈行駛。PWMA 和PWMB 接單片機的PWM 口,當小車前進或者后退時,要求兩輪小車的兩個車輪速度是一樣的,則輸入電機的兩路PWM波是一樣的;當小車向左轉彎,要求小車左輪的速度小于右輪的速度,則左輪所輸入的PWM 波的占空比要小于右車輪所輸入的PWM 波的占空比;當小車向右時,要求小車右車輪的速度要小于左車輪的速度,則右輪所輸入的PWM 波的占空比要小于左輪所輸入的PWM 波的占空比。PWM 波的占空比越大,小車的速度越大,反之亦然。通過改變PWM 波的占空比,即可改變小車的速度。當然,PWM 波的頻率應該是合適的。如果PWM 頻率較高時,電機連續運行,并且噪音較小,但該設備的功耗會隨著頻率的增加而增加;當PWM 波的頻率較低時,它的功率損耗也比較小,并且大大提高調速的線性相關性,但是太低的頻率可能會導致降低電機旋轉的連續性[10]。實踐證明,一般情況下,當PWM 波頻率大于1KHz時,該裝置能夠穩定的控制電動機。其次,如果占空比較大,會影響電機輸出電流的穩定性和該裝置的輸出電流的能力,占空比的大小應該根據不同速度的要求而進行正確設置。

1.6 通信模塊

通信模塊采用HC-06 藍牙模塊,采用手機app 進行藍牙控制,該藍牙模塊輸入電壓范圍在3.6V-6V之間,適用于正常的5V 供電并且模塊具有連接指示燈,可以確定藍牙的連接是否成功,操作較為方便。

1.7 傳感器模塊

傳感器模塊使用傳感器MPU6050,MPU6050 是世界上第一個集成的六軸運動處理組件,它可以測量六個物理量(小車在x、y 和z 三個軸的傾斜程度和三個軸上速度的變化率)[11]。MPU6050 的內部數據檢測為16 位,它可以將其測量的模擬量轉化為可輸出的數字量。為了更加準確的跟隨各種運動,用戶可以通過自己編寫程序來設定傳感器的可測范圍。陀螺儀可測量±250,±500,±1000,±2000°/秒(dps),加速度計可測量范圍為±2g, ±4g, ±8g, ±16g[12]。該芯片和其它器件之間通過串口I2C 進行交換信息,同時它極大的消除了單獨使用陀螺儀和加速度計在時間上的積分誤差。

2 系統設計理論分析與計算

2.1 小車處于不同狀態時的分析

由于小車上安裝有六軸傳感器MPU6050,可以檢測到小車x、y、z 三軸的傾斜角度和三軸方向的加速度,將所收集的數據進行分析和處理,可以得到小車所處的狀態,并且程序是根據小車所處的不同狀態而編寫。

(1)靜止時:當小車的重心位于電機軸線中心位置的正上方時,此時傳感器MPU6050 將采集到的數據進行處理分析得出小車位于0°位置,即平衡位置,此時小車靜止。當檢測到小車的重心向前傾斜時,則需要小車向前運動來保持小車的平衡狀態;當檢測到小車的重心向后傾斜時,則需要小車向后運動來保持小車的平衡狀態。

(2)前進時:小車略微向后加速,這將傾斜小車的重心,使其稍微向前,然后再使小車在反方向加速,小車就會向前傾斜,同時保持小車處于平衡狀態,使得小車前進。

(3)后退時:小車的車輪稍微向前加速,這將傾斜小車的重心,使其稍微向后,然后再使小車的兩輪在反方向加速,這將使小車向后傾斜,同時保持小車的平衡,使得小車倒退。

(4)左轉時:當小車處于前進或者后退并且保持平衡狀態時,控制小車的左輪以較慢的速度運動、小車的右輪以較快速度運動時,即可使小車向左轉。

(5)右轉時:當小車處于前進或者后退并且保持平衡狀態時,控制小車的右輪以較慢的速度運動、小車的左輪以較快速度運動時,即可使小車向右轉。

經過理論分析即可得出小車處于不同狀態時的控制思路,進而對小車實現不同的控制。

2.2 傳感器的數據處理分析

兩輪自平衡小車要想實現小車的平衡狀態,需要實時的知道小車所處的狀態,根據不同的狀態做出不同的控制,以此來實現小車的平衡,這一過程則需要將六軸傳感器MPU6050 采集到的數據進行實時的分析處理,最終得出小車所處的狀態。因此傳感器的數據處理與分析顯得尤為重要。

MPU6050 的內部含有加速度傳感器和角速度傳感器。

圖7 加速度計模型圖

2.2.1 加速度計

加速度計是用來測量加速度的,該加速度計可以測量x、y 和z 三軸方向上的加速度。加速度計反應的加速矢量與當前力的方向相反,例如:加速度方向為向左,但是力的方向為向右。該傳感器可以同時測量三個方向上所受到的力。如圖7 所示為加速度計模型圖,x、y、z 之間兩兩垂直。向量R 是加速度計需要測量的力,并且Rx、Ry和Rz分別是R 在x、y 和z 軸上的映射,并且滿足Rx2+Ry2+Rz2 =R2。Rx、Ry和Rz與實際加速度計的x 軸,y 軸和z軸有關[13]。MPU6050 中的加速度傳感器接口方式為I2C。對于加速度的量程,用戶可以通過自己編寫程序任意設置,并且可以直接獲取內部模數轉換的最終結果。加速度計的數據是以LSB 為單位的,而不是g(9.8m/s2),需要進一步轉換,加速度計靈敏度通常以LSB/g 來表示。例如,當我們選擇±4g 的量程時,對應的靈敏度=8192 LSB/g。

為了獲得最終結果,運用公式Rx =ADC/靈敏度(ADC表示x 軸上的ADC計數值)。即當軸上的計數值為ADC時,對應的加速度值為(ADC ?8192)g。我們將向量R 和X、Y、Z 軸之間的角度分別定義為A、B、C。則可以得到:

并且在每個方向上的角度可以通過反余弦函數則可得到各個方向的角度。即

當MPU6050 水平放置時,只有Z 軸方向有力的作用,它的大小為1g,其相應的采樣值為8192(量程為±4g)。此時有Rx=0,Ry=0,Rz=1g,并且滿足Rx2+Ry2+Rz2 =R2。則R 與x、y、z 三個方向所形成的角度為:

2.2.2 陀螺儀

陀螺儀是測量角速度的傳感器,MPU6050 內部含有可以測量三個方向的陀螺儀,該芯片可檢測角速度的范圍為±250、±500、±1000 與±2000 dps(dps 是degree per second)。當選擇量程為±1000dps 時,將會得到精確度為32.8LSB/(°/s)。即當載體在X+軸轉動1dps 時,ADC 將輸出32.8 的變化量。

圖8 示出了陀螺儀模型圖,每個陀螺儀負責檢測相應的軸線,也就是轉速,檢測繞各軸的旋轉速度。通過上述模型圖定義:

Rxz為R 向量在XZ 平面的投影,Ryz為R 向量在XY 平面上的投影,Axz為Rxz和z 軸的夾角,Ayz為Ryz和z 軸的夾角。Rxz和Rz所形成的直角三角形,利用三角形定理,可以知道:Rx2+Rz2 =Rxz2,Ry2+Rz2 =Ryz2。

假設測量圍繞Y 軸的轉動角度在時刻t1為A,在t2時刻為B,則變化率為Rate=(B-A)/(t2-t1),Rate單位為deg/s,MPU6050 并不會以deg/s單位輸出,要進行轉換,轉換公式為:

圖8 陀螺儀模型圖

當量程為±2000°/s 時,假設x 軸的ADC 值為300,從上表得出,當量程為±2000°/s 時的靈敏度為16.4LSB/(°/s)。根據上面公式可得出

經過上述分析可以對傳感器的數據進行處理,最終得到所需要的加速度值與角速度值。

2.3 小車速度分析

本次設計采用霍爾傳感器來測量小車車速,采用GB37 直流減速電機,電機上帶有一款霍爾傳感器測速碼盤,減速比為1:30。速度測量碼盤模塊配有一個13 線強磁性編碼盤,當A、B 兩相的輸出一起工作時,當車輪轉動一圈時,脈沖數能夠輸出780 個,再測得小車車輪的直徑為d,則小車轉一圈所行駛的距離為:

再測出小車輸出脈沖所用時間的時間為t,即可算出小車的速度為

3 系統軟件設計

如圖9 所示為程序流程圖。

圖9 程序流程圖

當程序開始后,首先進行串口初始化、MPU6050 初始化、PID 初始化、電機初始化,接下來進行判斷標志位,藍牙模塊向單片機發送不同的命令,則會賦予標志位不同的數值即為圖9 中變量。當變量數值為1 時,此時執行小車靜止直立的程序;當變量數值為2 時,此時執行小車前進的程序;當變量數值為3 時,此時執行小車后退的程序;當變量數值為4 時,此時執行小車轉彎的程序。

4 整體調試

將各個模塊調試完成后,最后將各模塊組裝進行整體調試。上電之后,先觀察控制器是否可以控制電機轉動,且電機轉動與實際情況是否符合。

當小車稍微向前傾斜時,觀察到車輪有向前運動的趨勢;當小車稍微向后傾斜時,觀察到小車有向后運動的趨勢。并且串口屏實時顯示小車當前所處的傾斜角度。則可以證實,控制器的控制邏輯與電機的實際運行狀況相同。則接下來通過調節PID 的各個參數,使小車達到相應的功能。如圖10 為小車正面測試圖,如圖11 為小車側面測試圖,表1 為測試數據。

圖10 小車正面測試圖

圖11 小車側面測試圖

表1 測試數據

由測試數據表可知,隨著小車傾斜角度不斷變大,小車達到平衡狀態所需要的時間也在不斷增加,當小車的傾斜角度在0°到±30°之間時,小車最終都會達到平衡狀態。

5 總結

本次系統設計采用單片機STM32F429IGT6 作為主控制器,共包含以下模塊:電源模塊為該系統提供供電電源,是所有功能實現的前提;控制器模塊是該系統的核心部分,是系統的“大腦”,對該系統發送指令,實現控制;電機驅動模塊是將控制信號進行放大,達到足以驅動電機運轉的目的;傳感器MPU6050模塊用來檢測當前小車的傾斜程度,通過傾斜程度來對小車進行控制;顯示模塊用來顯示小車的運行信息;測速模塊用來檢測小車的速度,最終通過閉環反饋達到控制小車速度的目的;藍牙模塊是使手機和單片機進行通信的,以此來控制小車所處的不同運行狀態,最終小車實現了在不同狀態下的自平衡。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 亚洲欧美自拍中文| 中文字幕va| 国产精品天干天干在线观看| 久久96热在精品国产高清| 久久香蕉欧美精品| 久久免费视频6| AV在线麻免费观看网站 | 中文字幕在线观| 精品一区二区无码av| 国产成人免费手机在线观看视频| 国产理论最新国产精品视频| 毛片免费高清免费| 国产国模一区二区三区四区| 亚洲精品综合一二三区在线| 毛片基地美国正在播放亚洲 | 国产小视频免费| 成人精品在线观看| 无遮挡国产高潮视频免费观看| 国产精品无码影视久久久久久久| 日本精品一在线观看视频| 欧美成人一区午夜福利在线| 2020国产精品视频| 国产成人艳妇AA视频在线| 国产AV无码专区亚洲精品网站| а∨天堂一区中文字幕| 欧美成人二区| 夜精品a一区二区三区| 狠狠色香婷婷久久亚洲精品| 萌白酱国产一区二区| 看你懂的巨臀中文字幕一区二区| 无码内射中文字幕岛国片| 毛片免费在线| 日韩人妻无码制服丝袜视频| 亚洲精品爱草草视频在线| 国产丝袜啪啪| 成人午夜免费视频| 精品五夜婷香蕉国产线看观看| 国产精品午夜福利麻豆| 秋霞午夜国产精品成人片| 五月天福利视频| 天天色天天操综合网| 日韩精品中文字幕一区三区| 国产日韩欧美在线视频免费观看 | 成年人国产视频| 亚洲综合在线网| 91视频精品| 青青久在线视频免费观看| 在线日本国产成人免费的| 国产毛片网站| 免费可以看的无遮挡av无码| 一区二区理伦视频| 91综合色区亚洲熟妇p| 青草91视频免费观看| 国产一区二区在线视频观看| …亚洲 欧洲 另类 春色| 亚洲国产综合自在线另类| 久久综合国产乱子免费| 中文字幕不卡免费高清视频| 伊人久久久久久久久久| 欧美国产在线看| 国内嫩模私拍精品视频| 亚洲视频欧美不卡| 免费人成视频在线观看网站| 中文字幕永久在线看| 在线精品欧美日韩| 高清亚洲欧美在线看| 91麻豆精品国产91久久久久| 久久久久88色偷偷| 久久久国产精品无码专区| 伊伊人成亚洲综合人网7777| 噜噜噜久久| 久久公开视频| 在线免费无码视频| 蜜臀AV在线播放| 亚洲黄色高清| 亚洲精品国产首次亮相| 99视频精品在线观看| jizz在线免费播放| 麻豆精选在线| 97无码免费人妻超级碰碰碰| 亚洲丝袜中文字幕| 国产福利2021最新在线观看|