版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、分類號 密級 編號 本科畢業(yè)論文(設(shè)計) 題目題目 單軸雙輪自平衡機器人的設(shè)計與制作單軸雙輪自平衡機器人的設(shè)計與制作 系 別 專 業(yè) 名 稱 電子信息科學(xué)與技術(shù) 年 級 學(xué) 生 姓 名 學(xué) 號 指 導(dǎo) 教 師 二一六年四月目 錄1. 緒論緒論.11.1 引言.11.2 本文研究的內(nèi)容.22.理論分析理論分析.32.1 自平衡小車的物理建模.22.2 PID 控制技術(shù).82.3 簡易對稱互補濾波技術(shù).93.系統(tǒng)設(shè)計系統(tǒng)設(shè)計.133.1 硬件設(shè)計方案論證.93.2 軟件設(shè)計方案論證.94. 綜合調(diào)試綜合調(diào)試.145. 總結(jié)總結(jié).13參考文獻參考文獻.15附錄附錄 部分程序代碼部分程序代碼.16摘要
2、:摘要:單軸雙輪自平衡機器人是一個極不穩(wěn)定的系統(tǒng),常用來檢驗控制算法的有效性。本文主要綜述了單軸雙輪自平衡系統(tǒng)的研究現(xiàn)狀,以及單軸雙輪自平衡系統(tǒng)的研究價值。然后通過物理建模得到了單軸雙輪自平衡系統(tǒng)的運動學(xué)特性,并結(jié)合傳感器技術(shù)和自動控制理論提出了一個單軸雙輪自平衡小車的設(shè)計方案。采用了陀螺儀和加速度傳感器分別對車體傾角進行檢測,利用對稱互補濾波算法對檢測到的數(shù)據(jù)進行融合得到精確的車體傾角,再引入 PID 技術(shù)對車體姿態(tài)進行精確控制。最后對論文所做的工作進行了總結(jié),對未來的研究和發(fā)展做出了展望。關(guān)鍵詞:關(guān)鍵詞:自平衡 電機驅(qū)動 PID 技術(shù) 陀螺儀 簡易對稱互補濾波器Abstract:The u
3、niaxial two-wheeled self-balancing robot is a very unstable system, so often used to test the effectiveness of the control algorithm.In recent years many experts from home and abroad have had a deep research on the theory of uniaxial two-wheeled self-balancing,and the theory was greatly promoted. Th
4、en through the physical modeling the kinematic characteristics was found,and Combined with sensor technology and automatic control theory a design was Presented. The gyroscope and accelerometer sensors are respectively on robot inclination detection, complementary symmetry filtering algorithm was us
5、ed to deal with data and get the precise body inclination ,Then introduce PID technology on vehicle attitude control. Finally the paper makes a conclusion, implications for future research and development prospects.Key words: self-balance motor-drives PIDtechnology gyroscope simple complementary fil
6、tering1.緒論緒論1.1 引言引言近年來,隨著人工智能理論和傳感器技術(shù)的發(fā)展,機器人理論得到了很大的發(fā)展。做為移動機器人中的一個重要分支,單軸雙輪自平衡系統(tǒng)也引起了國內(nèi)外的科研機構(gòu)和企業(yè)以及一些機器人 DIY 愛好者的關(guān)注。它是一個絕對不穩(wěn)定系統(tǒng),必須施加強有力的控制手段才能保重其平衡,所以它可以用于檢驗控制算法的有效性。由于引入了人工智能技術(shù)和傳感器技術(shù)所以可以完成復(fù)雜環(huán)境下的復(fù)雜任務(wù),只需要在硬件上做很少的改動就可以增加載人功能,成為單軸雙輪自平衡代步車。2002 年瑞士聯(lián)邦技術(shù)學(xué)院工業(yè)電子實驗室的研究人員研制的名為 JOE 的基于倒立擺的小型自平衡兩輪車模型,是由 DSP 芯片進行
7、控制的。它由車架上方所附的重物模擬實際車中的駕駛者。研究人員通過陀螺儀和光電編碼器測量的數(shù)據(jù),用線性狀態(tài)反饋控制器控制整個系統(tǒng)的平衡穩(wěn)定1。同年,美國 kgo 公司的 SteveHassenplug 設(shè)計了兩輪自平衡傳感式機器人Lcgway。這個設(shè)計引入了電機的差動驅(qū)動方式,它可以工作在傾斜面甚至不規(guī)則表面上,可遙控操作。通過對電動機進行遙控,Legway 可以在前行,后退和轉(zhuǎn)彎時保持平衡,可以實現(xiàn)零半徑轉(zhuǎn)彎和 U 型回轉(zhuǎn)。同年三洋電機展示了可依靠上體倒立來保持平衡的雙輪行走機器人“FLATHRU” ,大小為602463564mm,重 20Kg。移動速度方面,平地行走時最大 30cm/s,可搬
8、運重量最大為 10Kg,運行時間約為 1 小時。車輪中嵌有一個輸出功率為 90W的直流電動機,頭部則嵌入了兩個相同的電動機。為了檢測上體的平衡情況,使用了 3 個陀螺儀和 1 個 3 軸加速度傳感器。同年,美國 Segway 公司開發(fā)了世界上第一部能夠自平衡的兩輪電動車,時速高達 20Km/h。該電動車把人們從傳統(tǒng)的“三點平衡”和以低重心、大而穩(wěn)的底盤設(shè)計來避免傾斜的束縛中解脫出來。通過檢測車體的角度和角速度,用適當?shù)幕貜?fù)轉(zhuǎn)矩來避免傾斜摔倒。Segway 使用的是航空級陀螺儀、一組傾斜傳感器、一套復(fù)雜的“直覺軟件” 、一個加速度計、十個微處理器、兩個鎳氫電池組、一臺電動機和每秒檢測一百多次駕駛
9、者重心的傳感器。2007 年,日本早稻田大學(xué)的 RyoWatanabe 在 Legway 的啟發(fā)下設(shè)計制作了NXTway,美國麻省理工學(xué)院的幾名學(xué)生設(shè)計制作出了一臺自平衡小車,中心處理器采用 PIC 單片機2。 以上是國內(nèi)外兩輪自平衡機器人和自平衡代步車的研究現(xiàn)狀。這些機器人和代步車對本課題的研究提供了很好的指導(dǎo)作用。為下面的研究工作提供了很好的參考。1.2 本文研究的主要內(nèi)容本文研究的主要內(nèi)容本文研究主要的內(nèi)容包括:1)雙輪自平衡機器人的物理建模;2)對幾種常用的直流有刷電機驅(qū)動電路進行分析對比,選取一款合適的電機驅(qū)動電路;3)對幾種常用的測量電機轉(zhuǎn)速的方法進行分析和對比,選取一種合理的測量
10、電機轉(zhuǎn)速的方案;4)仔細研究系統(tǒng)中使用的多個不同電壓值的電源,對常用的穩(wěn)壓電路進行分析和對比,選取一種合適的電源方案;5)研究 PID 算法的基本原理,并將 PID 算法應(yīng)用在直流有刷電機的控制中;6)對幾種常用的陀螺儀和加速度計等慣性元件的性能進行分析對比,并深入研究互補對稱濾波數(shù)據(jù)融合技術(shù),選出合適的陀螺儀和加速度計;7)采用 Altium Designer 軟件繪制電路原理圖和 PCB 板,搭建 STM32 最小硬件系統(tǒng),利用 RVMDK V4.2 編譯調(diào)試軟件,以及 STM32 固件庫完成 STM32 的軟件開發(fā);8)仔細研究系統(tǒng)中各個模塊之間的通信協(xié)議以及實現(xiàn)方法,選取合適的通信方案
11、。2.理論分析理論分析2.自平衡小車的物理建自平衡小車的物理建模模圖 2-1 單軸雙輪自平衡機器人的受力示意圖機器人受力分解圖如圖 2-1 所示。其中規(guī)定質(zhì)心為,水平方向為垂直O(jiān)x方向為,機器人支架中心軸線規(guī)定為軸,與其垂直方向的軸線規(guī)定為,ymn為機器人的偏角。機器人本質(zhì)不穩(wěn)定,車體傾斜的原因源于重力在水平方向的分量。為了保持平衡, 機器人方向的驅(qū)動力必須等于或大于重力沿著水平xf方向軸的分力。當機器人實現(xiàn)動態(tài)平衡時,水平方向的推力3。xHf)()(tftfHF由圖 2-1 得,重力沿著水平方向的分量為: (2-( )() tanHftMm g1)電機產(chǎn)生的水平方向的驅(qū)動力為:)(tf (2
12、-2( )( )gKf ttR)其中,為車輪半徑,減速比,電機扭矩。RgK)(t如果已知電機的最大扭矩,可求得單軸雙輪自平衡機器人達到動態(tài)平衡時MgxymnOgsingHf的傾角為: (2-3gmMtf)()(arctan)將電機的最大扭矩代入式 2-2,可以得到最大驅(qū)動力,再將代maxmaxfmaxf入式 2-3 可得到單軸雙輪自平衡機器人的最大可控角度。上面的計算是在max系統(tǒng)沒有動能損失的情況下, 即小車在調(diào)整平衡過程中沒有運動, 如果考慮這些因素, 系統(tǒng)的控制范圍要小一些, 因此可以最終確定系統(tǒng)的控制范圍為: (2-4)maxmax5454以上的物理建模完成了對單軸雙輪自平衡機器人的受
13、力分析和最大可控角度推導(dǎo),旨在為 PID 控制提供理論指導(dǎo)。.PID 控制技術(shù)控制技術(shù)PID 是比例(Proportion)、積分(Integration)、微分(Differentiation)的英文縮寫。PID 控制技術(shù)是工程應(yīng)用中最為廣泛的調(diào)節(jié)器控制規(guī)律,簡稱 PID 控制或 PID調(diào)節(jié)。PID 控制器問世至今已有近 70 年歷史,其結(jié)構(gòu)簡單、穩(wěn)定性好、工作可靠、調(diào)整方便,因而成為工業(yè)控制的主要技術(shù)之一。當被控對象的結(jié)構(gòu)和參數(shù)不能完全掌握,或得不到精確的數(shù)學(xué)模型時,控制理論的其它技術(shù)難以采用時,系統(tǒng)控制器的結(jié)構(gòu)和參數(shù)必須依靠經(jīng)驗和現(xiàn)場調(diào)試來確定,這時應(yīng)用 PID 控制技術(shù)最為方便。即當我
14、們不完全了解一個系統(tǒng)和被控對象,或不能通過有效的測量手段來獲得系統(tǒng)參數(shù)時,最適合用 PID 控制技術(shù)。當被控對象的結(jié)構(gòu)和參數(shù)不能完全掌握,或得不到精確的數(shù)學(xué)模型時,控制理論的其它技術(shù)難以采用時,系統(tǒng)控制器的結(jié)構(gòu)和參數(shù)必須依靠經(jīng)驗和現(xiàn)場調(diào)試來確定,這時應(yīng)用 PID 控制技術(shù)最為方便。而本系統(tǒng)是一個復(fù)雜的非線性系統(tǒng),其約束條件不確定,很難通過物理建模直接得到系統(tǒng)的精確數(shù)學(xué)模型。因此本系統(tǒng)中選用的控制策略為 PID 算法。 比例積分微分+被控對象)( r t+)( e t)(u t)(ty-圖 3-1 PID 控制系統(tǒng)原理圖如圖 3-1 所示 PID 控制器就是根據(jù)系統(tǒng)的誤差,利用比例、積分、微分計
15、算出控制量進行控制的。其中為給定值,為系統(tǒng)的實際輸出值,給定)(tr)(ty值與實際輸出值構(gòu)成控制偏差)( e t (3-1))()()( etrtyt作為 PID 控制的輸入,作為 PID 控制器的輸出和被控對象的輸入。所)( e t)(ty以模擬 PID 控制器的控制規(guī)律為: (3-2))()(1)()(u0dttdeTddtteTiteKptt其中:控制器的比例系數(shù)Kp 控制器的積分時間,也稱積分系數(shù)Ti控制器的微分時間,也稱微分系數(shù)Td將偏差的比例(Proportion) 、積分(Integral)和微分(Differential)通過線性組合構(gòu)成控制量,用這一控制量對被控對象進行控制
16、,這樣的控制器稱 PID控制器。由于計算機的出現(xiàn),計算機進入了控制領(lǐng)域。人們將模擬 PID 控制規(guī)律引入到計算機中來。對式 3-2 的 PID 控制規(guī)律進行適當?shù)淖儞Q,就可以用軟件實現(xiàn) PID 控制,即數(shù)字 PID 控制。數(shù)字 PID 可分為:位置式 PID 算法和增量式PID 算法。本系統(tǒng)是一個基于嵌入式微處理器的數(shù)字控制系統(tǒng),因此引入的PID 為數(shù)字式 PID,再結(jié)合本系統(tǒng)的特性,最終選取了增量式 PID 算法為本系統(tǒng)的核心控制策略。所謂增量式PID是指數(shù)字控制器的輸出只是控制量的增量4。當執(zhí)行機ku構(gòu)需要的控制量是增量,而不是位置量的絕對數(shù)值時,可以使用增量式PID控制算法進行控制。增量
17、式PID可以表達為: (3-321212111)21 ()1 ()2(kkkkkkkkkkkkkkkCeBeAeeTTdKpeTTdKpeTTdTiTKpTeeeTdeTiTeeKpuuu)其中 ;)1 (TTdTiTKpA;)21 (TTdKpBTTdKpC 由式 3-3 可以看出,如果計算機控制系統(tǒng)采用恒定的采樣周期 T,一旦確定 A、B、C,只要使用前后三次測量的偏差值,就可以由式求出控制量。增量式 PID 控制算法與位置式 PID 算法相比,計算量小的多,因此在實際中得到廣泛的應(yīng)用。而位置式 PID 控制算法也可以通過增量式控制算法推出遞推計算公式: (3-4)kkkuuu1式 3-4
18、 就是目前在計算機控制中廣泛應(yīng)用的數(shù)字遞推 PID 控制算法。有了控制算法后最主要的就是控制器參數(shù)整定,即決定調(diào)節(jié)器的比例系數(shù)、積分時間、微分時間和采樣周期的具體數(shù)值。整定的實質(zhì)是通過改變TiTdTs調(diào)節(jié)器的參數(shù),使其特性和過程特性相匹配,以改善系統(tǒng)的動態(tài)和靜態(tài)指標,取得最佳的控制效果。整定調(diào)節(jié)器參數(shù)的方法很多,歸納起來可分為兩大類,即理論計算整定法和工程整定法。理論計算整定法有對數(shù)頻率特性法和根軌跡法等;工程整定法有湊試法、臨界比例法、經(jīng)驗法、衰減曲線法和響應(yīng)曲線法等。工程整定法特點不需要事先知道過程的數(shù)學(xué)模型,直接在過程控制系統(tǒng)中進行現(xiàn)場整定方法簡單、計算簡便、易于掌握。本系統(tǒng)的建模十分復(fù)
19、雜,無法得出一個精確的物理模型,所以在本系統(tǒng)的PID 算法參數(shù)選取采用工程整定法。通過實驗調(diào)試來不斷的優(yōu)化控制參數(shù),提高單軸雙輪自平衡機器人的穩(wěn)定度。2.3 簡易對稱互補濾波簡易對稱互補濾波為進行實時控制,單軸雙輪自平衡機器人系統(tǒng)的主控制器必須對工作環(huán)境和任務(wù)有足夠的了解,這樣就離不開相應(yīng)的傳感器。機器人姿態(tài)檢測系統(tǒng)中通常使用的傳感器為慣性傳感器,本系統(tǒng)用到的慣性傳感器有加速度傳感器和陀螺儀,另外還要用到光電碼盤測速模塊,他們分別用于檢測車身傾斜角、傾斜角速度和車體實時速度。這三種信號主要反應(yīng)了機器人的位姿和運動狀態(tài)。本節(jié)主要討論如何對來自慣性傳感器的數(shù)據(jù)進行融合處理,以得到最優(yōu)的車體姿態(tài)信息
20、。2.3.1 加速度傳感器數(shù)據(jù)處理加速度傳感器數(shù)據(jù)處理加速度傳感器可以測量動態(tài)和靜態(tài)的線性加速度,靜態(tài)加速度的一個典型例子就是重力加速度,用加速度傳感器來直接測量物體靜態(tài)重力加速度可以確定傾斜角度。當加速度出于靜止狀態(tài)時,加速度傳感器的輸出為其三個敏感軸上的重力加速度分量。 圖 3-2 加速度傳感器加速度分解圖當我們選取加速傳感器的 X 敏感軸作為測量主軸,如圖 所示,則 X 敏感軸上的加速度為: (3-5sinagx)所以,求得車體傾角: (3-6gaxarcsin)X 軸g加速度計動態(tài)響應(yīng)慢,不適合跟蹤動態(tài)角度運動;如果期望快速的響應(yīng),又會引入較大的噪聲。再加上其測量范圍的限制,使得單獨應(yīng)
21、用加速度計檢測車體傾角并不合適,需要與其它傳感器共同使用。2.3.2 陀螺儀數(shù)據(jù)處理陀螺儀數(shù)據(jù)處理單軸雙輪自平衡控制系統(tǒng)除了需要實時的傾角信號,還要用到角速度以給出控制量。理論上可以對加速度計測得的傾角求導(dǎo)得到角速度,但實際上這樣求得的結(jié)果往往偏差很大。陀螺儀具有動態(tài)性能好測量精度高等優(yōu)點,但是由于溫度變化、摩擦力和不穩(wěn)定力矩等因素,陀螺儀會產(chǎn)成漂移誤差。兩輪自平衡機器人控制系統(tǒng)除了需要實時的傾角信號,還要用到角速度以給出控制量。理論上可以對加速度計測得的傾角求導(dǎo)得到角速度,但實際上這樣求得的結(jié)果遠遠低于陀螺儀測值的精度,陀螺儀具有動態(tài)性能好的優(yōu)點。陀螺儀的直接輸出值是相對靈敏軸的角速率,角速
22、率對時間積分即可得到圍繞靈敏軸旋轉(zhuǎn)過的角度值。由于系統(tǒng)采用微控制器循環(huán)采樣程序獲取陀螺儀角速率信息,即每隔一段很短的時間采樣一次,所以采用累加的方法實現(xiàn)積分的功能來計算角度值: (3-7)dtgyroangleanglennn1為陀螺儀采樣到第 n 次的角度值;為陀螺儀第 n-1 次采樣時nangle1nangle的角度值;為陀螺儀的第 n 次采樣得到的瞬時角速率值;為主循環(huán)程ngyrodt序運行一遍所用時間??梢?,用陀螺儀輸出值積分計算角度,要求處理器運算速度足夠快,采樣程序應(yīng)盡量簡練,程序循環(huán)一遍所用時間越小,采樣頻率dt越高,最后積分得到的角度值才能越精確。陀螺儀是用來測量角速度信號的,
23、通過對角速度積分,能得到角度值。但由于溫度變化、摩擦力和不穩(wěn)定力矩等因素,陀螺儀會產(chǎn)成漂移誤差。而無論多么小的常值漂移通過積分都會得到無限大的角度誤差。因而,也不能單獨使用陀螺儀作為本機器人傾角傳感器。綜上所述,對于姿態(tài)檢測系統(tǒng)而言,單獨使用陀螺儀或者加速度計,都不能提供有效而可靠的信息來保證車體的平衡。陀螺儀雖然動態(tài)性能良好,能夠提供瞬間的動態(tài)角度變化,不受加速度變化的影響,但是由于其本身固有的特性、溫度及積分過程的影響,存在累積漂移誤差,不適合長時間單獨工作;加速度計靜態(tài)響應(yīng)好,能夠準確提供靜態(tài)的角度,但受動態(tài)加速度影響較大,不適合跟蹤動態(tài)角度運動。為了克服這些困難,采用一種簡易互補濾波方
24、法來融合陀螺儀和加速度計的輸出信號,補償陀螺儀的漂移誤差和加速度計的動態(tài)誤差,得到一個更優(yōu)的傾角近似值。2.3.3 傳感器數(shù)據(jù)融合傳感器數(shù)據(jù)融合經(jīng)過融合的多傳感器系統(tǒng)能完善地、精確地反映檢測對象特性,消除信息的不確定性,提高傳感器的可靠性5。針對于陀螺儀數(shù)據(jù)噪聲小,短時間內(nèi)誤差小,溫度漂移大,積分積累誤差較大的特性,加速度傳感器對震動敏感,無積累誤差,長時間穩(wěn)定的特性。加速度傳感器需要采用濾波算法濾除短時性快速變化的信號,保留長時性緩慢變化的信號,所以對加速度計應(yīng)用低通濾波算法。對于陀螺儀,情況正好相反,應(yīng)用高通濾波方法處理陀螺儀數(shù)據(jù),來抑制陀螺儀積分的漂移。針對加速度計和陀螺儀的姿態(tài)檢測系統(tǒng)
25、濾波器結(jié)構(gòu)如圖 3-3所示 圖 3-3 簡易互補濾波器設(shè)計框圖簡易互補濾波器可表示為: (3-8)acceaccenngyronadtgyroangleaangle1式中為陀螺儀的高通濾波系數(shù),為加速度計的低通濾dtgyroadtdtaacce波系數(shù)。 為濾波器的時間常數(shù)。對于低通濾波而言,變化周期大于時間常數(shù)的信號可以完整的通過;變化周期小于時間常數(shù)的信號被過濾掉;高通濾波剛陀螺儀加速度傳感器積分器低通濾波器高通濾波器數(shù)據(jù)融合角速度角度值好相反。 這個時間常數(shù),是更相信陀螺儀還是更相信加速度計的一個界限值。變化周期比 短的,陀螺儀積分的角度更讓人相信,而加速度計噪聲被過濾掉;變化周期比 長的
26、,加速度計測定的角度值比陀螺儀更重要,因為此時陀螺儀會發(fā)生漂移了。針對陀螺儀的高通濾波和針對加速度計的低通濾波兩部分恰好可組成一個互補濾波器。可以看到,兩個濾波系數(shù)相加結(jié)果為 1,所以濾波結(jié)果是一個比較精確的、線性的角度估計值。濾波器設(shè)計完成后,時間常數(shù) 的選取是十分重要的,通過對陀螺儀和加速度傳感器的輸出特性的分析,結(jié)合實驗法選取一個合適的 值就完成了濾波器的設(shè)計。3.系統(tǒng)設(shè)計系統(tǒng)設(shè)計根據(jù)以上對單輪自平衡機器人運動學(xué)特性的分析,提出三種可行性較大的實現(xiàn)方案:方案一:使用一個型號為 STC12C5A60S2 的單片機和兩個型號為 E18-D30NK的紅外傳感器實現(xiàn)的簡易單軸雙輪自平衡機器人。
27、圖 3-1 基于紅外傳感器的雙輪自平衡機器人E18-D30NK 紅外傳感器是一種開關(guān)式的紅外傳感器,它由一個紅外的發(fā)射電路發(fā)射調(diào)制的紅外光,經(jīng)地面反射后進入接收光敏傳感器電路,利用發(fā)射光的強度來測傳感器和地面之間的距離。它測距的方式是一種比較式的測距方式,即開始通過調(diào)節(jié)電位器來為傳感器設(shè)定一個閾值,當傳感器與地面之間的距離大于閾值時傳感器輸出高電平,當傳感器與地面之間的距離小于閾值時傳感器輸出低電平。如圖 4-1 所示,將兩個 E18-D30NK 紅外傳感器裝在車的兩臂上,當車體向左傾斜的時候 H1小于閾值,紅外傳感器 A 將輸出低電平,當主控單片機 STC12C5A60S2 檢測到此低電平的
28、時候會通過電機驅(qū)動電路驅(qū)動電機使車體向左運動,以維持平衡。車體向右傾斜時有類似的控制過程。方案一的優(yōu)點:結(jié)構(gòu)簡單,成本低,控制算法也相對簡單,而且可以反應(yīng)單軸H1H2紅外傳感器A紅外傳感器B雙輪自平衡的動力學(xué)過程。方案一的缺點:紅外傳感器 E18-D30NK 為反射式的紅外傳感器,測量的結(jié)果受地面的顏色、平整度等各種因素的影響。紅外傳感器 E18-D30NK 為二值化得信號輸出,導(dǎo)致在對電機的控制時無法引入 PID 控制技術(shù)。方案二:使用 STC12C5A60S2 單片機和兩個超聲波測距模塊實現(xiàn)的單軸雙輪自平衡機器人。圖 3-2 基于超聲波傳感器的單軸雙輪自平衡機器人超聲波傳感器由超聲波的發(fā)射
29、頭和發(fā)射電路以及接收頭和接受電路構(gòu)成,超聲波傳感器的測距原理是聲波在均勻的介質(zhì)中的傳播速度是一個常數(shù)(在V25時為 340m/s),只要知道了聲波從發(fā)出到接收到回波的時間就可以用 (4-1)2tVS求的距離。利用 STC12C5A60S2 單片機對超聲波傳感器發(fā)出超聲波到接收到S回波的時間進行計時,就可以得到圖 4-2 中的和的值,從而就可以推算1H2H出車體的傾角 (4-2LHH12sinarc)H1H2超聲波傳感器A超聲波傳感器BL這個計算的過程可以由 STC12C5A60S2 單片機完成,在求得傾角后單片機可以根據(jù)傾角的大小按編程時指定的 PID 算法再結(jié)合 PWM 技術(shù)使電機產(chǎn)生不同速
30、度的轉(zhuǎn)動,來維持車體的平衡。方案二的優(yōu)點:超聲的波長很大,在經(jīng)過地面反射的時候?qū)Φ孛娴念伾推秸纫蟛桓?,即采用這種方案能適應(yīng)更一般性的場合;通過連續(xù)測量到地面的距離,可以比較精確的得到車體的傾角,從而在控制電機的轉(zhuǎn)動時可以引入PID 算法,使車體平衡的調(diào)整變得更精確。方案二的缺點:超聲波在空氣中的傳播容易受到擾動,因為本系統(tǒng)是一個運動的系統(tǒng),所以受到擾動的概率更大。在傾斜的路面上,比如上坡,這種方案就顯得心有余而力不足了。方案三:使用 STM32 微處理器和陀螺儀以及加速度傳感器實現(xiàn)的單軸雙輪自平衡機器人。圖 3-3 基于陀螺儀和加速度傳感器的雙輪自平衡機器人ENC-03 陀螺儀是一種應(yīng)用
31、科氏力原理的角速度傳感器,它輸出一個和角速度成正比的模擬電壓信號,通過對角速度的積分可以得到角位移,即角度值。MMA7361QR 3 軸小量程加速傳感器是檢測物件運動和方向的傳感器,它根據(jù)物件運動和方向改變輸出信號的電壓值,通過 AD 變換就可以直接得到角度值。陀螺儀數(shù)據(jù)噪聲小,短時間內(nèi)誤差小,溫度漂移大,積分積累誤差較大;加速陀螺儀和加速度傳感器度傳感器對震動敏感,無積累誤差,長時間穩(wěn)定。鑒于陀螺儀和加速度傳感器的對稱互補特性,本方案中用陀螺儀 ENC-03 和 3 軸小量程加速傳感器MMA7361QR 進行傳感器數(shù)據(jù)融合得到車體傾角,這種方法獲得的角度值很精確,并且可以最大程度的降低車體抖
32、動對車體傾角檢測的影響。為了方便對參數(shù)的調(diào)整,本方案中的互補對稱濾波使用軟件實現(xiàn),因此需要一個高性能的微處理器做為核心處理器。出于性價比的考慮最終選擇了意法半導(dǎo)體的 STM32 微處理器做為核心處理器。陀螺儀和加速度傳感器分別得到車體傾角值,經(jīng) STM32 的處理后得到數(shù)據(jù)融合后的精確車體傾角值,STM32 根據(jù)此角度值通過 PID 算法和 PWM 技術(shù)來精確的控制電機轉(zhuǎn)動,使車體保持平衡。方案三的優(yōu)點:車體的傾角的獲取不依賴于單軸雙輪自平衡小車所處的環(huán)境,具有普遍的適用性。采用了多傳感器的數(shù)據(jù)融合技術(shù),減小了單一傳感器的固有缺陷對測量精度的影響,提高了測量精度。方案三的缺點:使用多組傳感器和
33、高性能的控制器,成本上有所增加。通過對以上三種方案的理論分析和實驗對比,最終確定使用方案 3 來實現(xiàn)單軸雙輪自平衡機器人。3.硬件設(shè)計方案硬件設(shè)計方案論證論證如圖 3-4 所示,采用模塊化的設(shè)計思想,將系統(tǒng)分為,電源模塊,主控制器模塊,角度與加速度傳感器模塊,電機驅(qū)動模塊,電機測速模塊,人機交互模塊。人機交互模塊完成各種用戶參數(shù)的輸入和自平衡機器人的當前狀態(tài)參數(shù)的顯示,其主要由一塊液晶屏和一片 STC12C5A60S2 單片機組成,人機交互模塊獲得的用戶輸入?yún)?shù)由 STC12C5A60S2 通過串口傳送給主控制器 STM32,人機交互模塊要顯示的信息由 STM32 通過串口傳送給 STC12C
34、5A60S2;陀螺儀得到的角速度模擬量由 STM32 自帶的 12 位高精度,高采樣率的 AD 轉(zhuǎn)換器將其轉(zhuǎn)化為數(shù)字信號,加速度傳感器輸出的角度值由 STM32 通過 IIC 總線讀取,在此之后 STM32 對這兩路傳感器的數(shù)據(jù)進行對稱互補濾波融合,得到準確的車體傾角,根據(jù)這個傾角值以及光電碼盤測速模塊返回電機轉(zhuǎn)速參數(shù),STM32 按照PID 算法得電機轉(zhuǎn)動的速度和角度,再通過串口給電機驅(qū)動模塊發(fā)送相應(yīng)的命令,使其轉(zhuǎn)動來維持單軸雙輪自平衡系統(tǒng)的穩(wěn)定。電機驅(qū)動模塊中運用了PWM 技術(shù)對電機的速度進行控制。同時光電碼盤測速模塊對電機的轉(zhuǎn)速進行測量,并反饋到系統(tǒng)中,輔助系統(tǒng)完成 PID 控制算法。圖
35、 3-4 單軸雙輪自平衡機器人的原理框圖3.1 電源設(shè)計電源設(shè)計本系統(tǒng)是一個移動的系統(tǒng),又有電機等大功率器件,因此采用四塊 6V 10Ah 的鉛酸電池做為系統(tǒng)的電源,接法為兩串兩并,形成一個 12V 20Ah 的直流電源。由于系統(tǒng)中存在著多種微控制器,需要 5V 和 3.3V 的電壓源。這兩個電壓源用 12V 直流電源通過穩(wěn)壓模塊獲得。目前比比較常用的電源穩(wěn)壓芯片從工作原理上分為兩種,一種為線性穩(wěn)壓,另一種為開關(guān)穩(wěn)壓。如圖 5-1、圖 5-2 所示是兩種典型的穩(wěn)壓電路。 圖-2576 開關(guān)穩(wěn)壓芯片應(yīng)用電路圖 4-2 7805 線性穩(wěn)壓芯片應(yīng)用電路從電路中很明顯可以看出他們之間的差別,開關(guān)電源穩(wěn)
36、壓芯片的外圍電路器件相對較多,比較復(fù)雜;而線性穩(wěn)壓電源的外圍電路相對簡單,更節(jié)省 PCB板空間。開關(guān)穩(wěn)壓芯片的輸出紋波系數(shù)一般比較大,而線性穩(wěn)壓芯片的輸出紋波系數(shù)一般比較小。但是線性穩(wěn)壓芯片的轉(zhuǎn)換效率很低,特別是當需要降低的電壓范圍比較大的時候,往往低于 50%;而開關(guān)穩(wěn)壓芯片的轉(zhuǎn)換效率通??梢赃_到 95%。轉(zhuǎn)換效率低還帶來了一個問題就是穩(wěn)壓芯片自身會發(fā)熱,使其穩(wěn)壓性能迅速惡化。以上分析并不能說明開關(guān)穩(wěn)壓芯片就一定好,要根據(jù)具體的應(yīng)用場合合理的選取。在本系統(tǒng)中 5V 的電壓源負載比較重,對電壓紋波也不是很敏感,所以 12V 到 5V 的穩(wěn)壓模塊采用開關(guān)電源穩(wěn)壓芯片,電路如圖 4-1 所示。3.
37、3V 電壓源的負載很輕,主要給加速度傳感器供電,對電壓紋波敏感,所以選用線性穩(wěn)壓芯片 ASM1117,電路如圖 5-3 所示。 圖 5-3 系統(tǒng)中 3.3V 電源穩(wěn)壓電路3.1.2 主控模塊設(shè)計主控模塊設(shè)計主控模塊采用意法半導(dǎo)體的 STM32F103ZET6 芯片搭建的一個硬件平臺。STM32F103ZET6 是一款 ARM 32 位的 Cortex-M3 內(nèi)核的微處理器,512K 字節(jié)的閃存程序存儲器,高達 64K 字節(jié)的 SRAM,最高時鐘頻率為 72MHz,三個12 為模數(shù)轉(zhuǎn)換器,多達 21 通道,支持 12 通道的 DMA ,多達 13 個通信接口其中有 5 個 USART,多達 11
38、2 各通用 IO 口。由于本系統(tǒng)涉及到了一些數(shù)字信號處理,使用專用的 DSP 芯片成本會很高,而且開發(fā)難度也很大。所以采用了一種折中的芯片選型方案,選擇了一款高性價比的嵌入式微處理器做主控板。從 STM32F103ZET6 的指令的吞吐量和存儲空間上看,此款芯片很適合做為本系統(tǒng)的主控芯片。通其豐富的外部設(shè)備,如ADC 為陀螺儀的輸出模擬信號的 AD 轉(zhuǎn)換提供了方便,5 個 USART 為各模塊和主控電路之間的通信提供了方便的接口6。圖 5-5 STM32 主控板原理圖(部分)圖 5-6 為 STM32F103ZET6 的時鐘電路,OS1 為高速時鐘,為STM32F103ZET6 內(nèi)核和外部設(shè)備
39、提供工作時鐘。OS2 為一個低頻晶振,為STM32F103ZET6 提供實時時鐘。圖 5-7 為 STM32F103ZET6 的復(fù)位電路,采用積分型復(fù)位電路,復(fù)位為低電平有效,此電路具有上電復(fù)位和按鍵復(fù)位的功能8。 圖 5-6 STM32 主控板時鐘電路 圖 5-7 STM32 復(fù)位電路 圖 5-8 STM32 JTAG 仿真接口電路圖 5-8 為 STM32 的 JTAG 仿真接口電路,在一個復(fù)雜系統(tǒng)中,軟件調(diào)試往往很花費時間,如果系統(tǒng)上留有 JTAG 接口,可以通過 JTAG 對系統(tǒng)進行在線調(diào)試,可以讓程序單步執(zhí)行,從而可以查看程序的運行路徑,很容易定位軟件中的邏輯錯誤,提高開發(fā)效率。3.
40、1.3 電機驅(qū)動模塊電機驅(qū)動模塊通過近一段時間的研究,直流有刷電機的正反轉(zhuǎn)驅(qū)動電路常用的有以下四種9,下面就對他們的特性進行分析。方案一:繼電器搭建的 H 橋電路; 圖 5-9 繼電器 H 橋電路在大功率電機驅(qū)動中繼電器實現(xiàn)的 H 橋電路是一種性價比很高的設(shè)計方案,它能承受的電流很大,同時能實現(xiàn)編程控制電機的正反轉(zhuǎn)。但是繼電器動作過程中有機械運動,所以其能達到的響應(yīng)速度不高,繼電器的典型響應(yīng)時間為2ms,不適合高速的應(yīng)用場合。同時繼電器的觸點容易產(chǎn)生火花,影響繼電器的壽命。方案二:L298 搭建的直流電機驅(qū)動電路L298N 是 SGS 公司的產(chǎn)品,內(nèi)部包含 4 通道邏輯驅(qū)動電路。是一種二相和四
41、相電機的專用驅(qū)動器,內(nèi)含二個 H 橋的高電壓大電流雙全橋式驅(qū)動器,接收標準 TTL 邏輯電平信號,可驅(qū)動 46V、2A 以下的電機。用 L298 搭建的電機驅(qū)動電路的穩(wěn)定性很好,但是其能承受的電流比較小。 圖 5-10 L298 直流電機驅(qū)動電路方案三:大功率 MOS 管搭建的 H 橋電路 圖 5-11 大功率 MOS 管 H 橋電路這個電路是在研究單軸雙輪自平衡小車的時候自行設(shè)計的電機驅(qū)動電路,兩個 PMOS 和兩個 NMOS 管搭建了一個 H 橋,為了防止 PMOS 和 NMOS 同時導(dǎo)通形成短路現(xiàn)象,利用 LM324 形成互鎖的驅(qū)動機制,使沒一邊的 PMOS 和NMOS 始終只有一個處于
42、導(dǎo)通狀態(tài)。但是在測試的時候發(fā)現(xiàn) MOS 管還是發(fā)燙,經(jīng)過仔細分析發(fā)現(xiàn),原因是 LM324 的輸出端得電平變化沿不是陡峭,既兩個MOS 管存在同時導(dǎo)通的現(xiàn)象,雖然這個過程十分的短暫,但是短路電流很大,所以 MOS 管發(fā)燙。改進辦法是在 NMOS 管和地之間插入一個 NMOS 管。在LM324 電平轉(zhuǎn)變的時候先是插入的 NMOS 管截至。這樣就防止了短路發(fā)生,MOS 也不發(fā)燙了。方案四: 基于 BTS7960 的 H 橋驅(qū)動電路 圖 5-12BTS7960 H 橋驅(qū)動電路智能功率芯片 BTS7960 是應(yīng)用于電機驅(qū)動的大電流半橋高集成芯片,它帶有一個 P 溝道的高邊 MOSFET、一個 N 溝道的
43、低邊 MOSFET 和一個驅(qū)動 IC,集成的驅(qū)動 IC 具有邏輯電平輸入、電流診斷、斜率調(diào)節(jié)、死區(qū)時間產(chǎn)生和過溫、過壓、欠壓、過流及短路保護的功能。BTS7960 通態(tài)電阻典型值為 16m,驅(qū)動電流可達 43A。上圖是由四個 BTS7960 搭建的一個雙電機驅(qū)動電路,可同時驅(qū)動兩個直流有刷電機。通過對上面四個電路特性分析和對比后發(fā)現(xiàn),繼電器 H 橋電路的響應(yīng)速度太慢無法滿足本系統(tǒng)的實時性要求;L298 電機驅(qū)動電路其電流驅(qū)動那能力太差,無法滿足本系統(tǒng)功率要求;大功率 MOS 管 H 橋電路,性能很不錯,但是體積過大,不利于潛入到本系統(tǒng)中;本系統(tǒng)選取了性能穩(wěn)定的基于 BTS7960 的 H 橋驅(qū)
44、動電路作為電機的驅(qū)動電路。BTS7960 的 H 橋驅(qū)動電路采用了模塊化設(shè)計,將 STC12C5A60S2 單片機集成到驅(qū)動板上,四個 BTS7960 芯片直接受 STC12C5A60S2 的控制,STC12C5A60S2E 通過串口從 STM32 主控板接收到電機控制命令后,產(chǎn)生相應(yīng)的電機驅(qū)動電路控制時序。電機調(diào)速采用脈沖寬度調(diào)制(PWM)方式實現(xiàn),PWM 是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。本系統(tǒng)中,PWM 主要用于電機調(diào)速,屬于 PWM 在功率控制中的應(yīng)用。STC12C5A60S2 單片機含有兩路硬件 PW
45、M 發(fā)生器,可以產(chǎn)生最高頻率為 150KHz 的 PWM 調(diào)制輸出。STC12C5A60S2 的PWM 輸出引腳為 P1.3 和 P1.4,將這兩引腳連接到 BTS7960 芯片的 INH 引腳上,只需在軟件中設(shè)置比較寄存器 CCAP0H、CCAP0L 進行設(shè)置就可以完成PWM 調(diào)制。3.1.4 碼盤測速模塊碼盤測速模塊為了精確地控制電機的轉(zhuǎn)動,為 PID 控制算法提供反饋信號,必須對電機的轉(zhuǎn)速進行測量。常用的非接觸轉(zhuǎn)速的測量方法有兩種,一種是利用霍爾傳感器,另一種方案是利用光電碼盤10?;魻杺鞲衅鞲袘?yīng)的是磁場強度的變化,需要和磁鋼配合使用才能完成對轉(zhuǎn)速的測量;它的優(yōu)點是能工作于灰塵多等惡劣的
46、環(huán)境中,它的不足之處是做高精度的測量時,需要大量的磁鋼,安裝麻煩。光電碼盤利用反射式紅外傳感器進行測量,碼盤的制作和傳感器安裝都比較容易,但是涉及到了光電器件,在多灰塵等惡劣環(huán)境中無法正常工作??紤]到本系統(tǒng)是用于實驗室環(huán)境,所以選取光電碼盤方式對電機的轉(zhuǎn)速進行測量。 圖 4-13 光電測速碼盤根據(jù)控制精度的要求,采用 60 線的碼盤作為測速碼盤,如圖 5-13 所示,碼盤的基板采用 ABS 板制作,作用黑色記號筆畫上線條。圖 5-14 為光電碼盤測速模塊的電路原理圖,反射式紅外傳感器 ST188 的發(fā)射管發(fā)射出紅外光進過碼盤的反射后進入 ST188 的紅外接收管,接收管按上圖中的接法偏置后,在
47、接收到紅外光信號時 ST188 的 C 管腳上的電壓將會降低,當沒有接收到紅外光信號時,ST188 的 C 管腳呈現(xiàn)高電平。一般的情況下按圖 5-14 中電路配置,ST188 的 C 管腳輸出的低電平可以直接觸發(fā)單片機的中斷,但是為了增加系統(tǒng)的穩(wěn)定性,在紅外傳感 ST188 和 STC11F04E 之間加入了一個電壓比較器LM324 對 ST188 的 C 管腳輸出的信號進行二值化,得到一個脈沖序列。當碼盤轉(zhuǎn)動的時候就可以形成如圖 5-15 所示的脈沖序列,用單片機對脈沖序列進行計數(shù),將該數(shù)值除以對應(yīng)的時間就可以求的電機的轉(zhuǎn)動速度。單片機完成每次的速度檢測后通過串口把速度數(shù)據(jù)發(fā)送給主控微處理器
48、。圖 4-1 光電碼盤測速模塊電路圖 圖 4-15 二值化紅外傳感器測速信號3.1.5 傾角檢測模塊傾角檢測模塊MEMS 傳感器是采用微電子和微機械加工技術(shù)制造出來的新型傳感器。與傳統(tǒng)的傳感器相比,它具有體積小、重量輕、成本低、功耗低、可靠性高、適于批量化生產(chǎn)、易于集成和實現(xiàn)智能化的特點7。本系統(tǒng)中采用了 MEMS 類型的加速傳感器和陀螺儀兩個傳感器構(gòu)成,以下是對它們的詳細介紹:1.加速度傳感器加速度傳感器Freescale 公司的 MMA8451Q 是 14 位/8 位智能低功耗三軸數(shù)字加速度計,工作電壓 1.95V-3.6V,接口電壓 1.6V-3.6V,動態(tài)可選擇滿刻度為2g/4g/8g
49、,輸出數(shù)據(jù)速率(ODR)從 1.56 Hz 到 800 Hz, 噪音為 99 ug/Hz,14 位和 8 位數(shù)字輸出, MMA8451 使用 I2C 串行通信和外部交換數(shù)據(jù), 由于 MMA7260 加速度傳感器可準確測量三軸向下降、傾斜、移動、定位、撞擊和震動,因此主要用在電子羅盤,靜態(tài)姿態(tài)、運動檢測,筆記本電子書等便攜設(shè)備的翻滾、自由落體檢測,實時的方向檢測可用于虛擬現(xiàn)實設(shè)備或 3d 游戲中的位置檢測,便攜設(shè)備的節(jié)能應(yīng)用中的運動檢測等等。表 5-1 引腳定義如下:引腳編號引腳名稱引腳描述引腳狀態(tài)1VDDIO內(nèi)部電源供電(1.623.6v)輸入2BYP旁路電容輸入3NC懸空引腳開路4SCLI2
50、C 串行時鐘漏極開路5GND接地輸入6SDAI2C 串行數(shù)據(jù)漏極開路7SA0I2C 最低有效位地址輸入8NC懸空引腳開路9INT2中斷請求引腳 2輸出10GND接地輸入11INT1中斷請求引腳 1輸出12GND接地輸入13NC懸空引腳開路14VDD電源(1.953.6v)輸入15NC懸空引腳開路16NC懸空引腳開路MMA8451Q 有四種可選加速度范圍,分別對應(yīng)不同的靈敏度,以適應(yīng)不同的應(yīng)用環(huán)境和系統(tǒng)要求,配置參數(shù)表 5-2 所示。設(shè)置方法通過 IIC 總線接口想XYZ 數(shù)據(jù)設(shè)置寄存器 XYZ_DATA_CFG 寫入相應(yīng)的值。MMA8451Q 的寫操作器件地址為 0011100,讀操作器件地址
51、為 0011101。FS1FS0量程002g014g108g11保留表 5-2 MMA8451Q 模式配置參數(shù):2.陀螺儀陀螺儀ENC03RC,是日本村田公司(murata)開發(fā)生產(chǎn)的一款以陶瓷材料為主要原料的角速度傳感器,又名陀螺儀,該產(chǎn)品是一種應(yīng)用科氏力原理的角速度傳感器,它輸出一個和角速度成正比的模擬電壓信號。芯片特性:1)供電電壓:2.75.25V2)最大角速度 deg./sec.+/-3003)輸出(當角速度=0): 1.35 V4)比例系數(shù):0.67 mV/deg./sec5)線性度:+/-5%FS6)響應(yīng)頻率:50 Hz 7)重量:0.4g如圖 5-17 所示,左側(cè)的三個為 EN
52、C03RC,其輸出的角速度信號經(jīng)過濾波和放大后被引到了模塊的輸出引腳上,由主控模塊對此信號進行 AD 轉(zhuǎn)換,得到數(shù)字化的加速度值,對角速度積分就可以求取角度。右側(cè)的為電源穩(wěn)壓電路和 AMM4851Q 加速度傳感器。AMM4851Q 加速度傳感器是數(shù)字接口器件,可以通過 IIC 總線協(xié)議設(shè)置 AMM4851Q 的工作模式和讀取角度值。 圖 5-17 加速度傳感器和陀螺儀構(gòu)成的傾角檢測模塊電路原理圖 3.1.6 人機交互模塊人機交互模塊圖 5-18 人機交互模塊原理圖如圖 5-18 所示,人機交互模塊由 STC12C5A60S2 單片機、Nokia 5110 液晶、矩陣鍵盤構(gòu)成。Nokia 511
53、0 液晶用于顯示系統(tǒng)當前的狀態(tài),如當前時間、速度、傾角、電量等信息;矩陣鍵盤用于時間等用戶初始化信息的調(diào)整。用戶輸入信息先有單片機緩存,在用戶確定之后通過串口發(fā)送給主控模塊 STM32;液晶屏顯示的數(shù)據(jù)是 STM32 通過串口發(fā)送給單片機的。單片機完成了液晶屏的驅(qū)動14、矩陣鍵盤的掃描,這樣不會消耗主處理器的資源,減輕了主控制器的程序設(shè)計難度。 3.1.7 通信模塊通信模塊本系統(tǒng)采用了模塊化設(shè)計方案,將整個單軸雙輪自平衡小車自頂向下的劃分為主控器 STM32 模塊,人機交互模塊,陀螺儀模塊、加速度傳感器模塊、電機驅(qū)動模塊、光電碼盤測速模塊。主控模塊采用了 STM32 微處理器,其他的模塊都采用
54、宏晶公司的 51 內(nèi)核的單片機實現(xiàn)。在設(shè)計通信協(xié)議的時候為了方便起見,加速度傳感器和 STM32 主控板之間的通信采用了 IIC 通信協(xié)議??紤]到本系統(tǒng)使用的宏晶公司的 51 內(nèi)核單片機基本上都有硬件串口,而且 STM32 有 5 個USART 所以人機交互模塊、電機驅(qū)動模塊、光電碼盤測速模塊與 STM32 主控模塊之間的數(shù)據(jù)交換全部采用串口通信方式進行,波特率設(shè)置為 9600,數(shù)據(jù)位為 8 位,無奇偶校驗。3.2 軟件設(shè)計方案軟件設(shè)計方案軟件部分也采用模塊化設(shè)計方法,先在各個硬件模塊上完成相應(yīng)功能的程序模塊的設(shè)計,之后再添加通信模塊,并將各子模塊掛在 STM32 上進行聯(lián)調(diào)。人機交互模塊,光
55、電碼盤測速模塊,電機驅(qū)動模塊所使用的微控制器都是STC12C5A60S2 單片機,主要就是驅(qū)動一些常用的外部設(shè)備,所以編程相對來說比較容易。而 STM32 要進行互補對稱濾波數(shù)據(jù)融合以及 PID 控制算法的實現(xiàn),編程較為復(fù)雜,但是 STM32 微處理器的生產(chǎn)商意法半導(dǎo)體公司提供了友好的固件庫, ;里面封裝了很多好用的 API 函數(shù),降低了頂層模塊的編程難度。這也是為什么選擇 STM32 這款微處理器的一個原因。3.2.1 STM32 主控制器程序模塊主控制器程序模塊如圖 6-1 所示 STM32 主控制器先調(diào)用 STM32 固件庫中啟動代碼和初始化函數(shù)完成的對其自身的初始化,完成初始化之后,對
56、陀螺儀和加速度傳感器的輸出信號進行采樣,同時從光電碼盤測速模塊中讀出單軸雙輪自平衡機器人的實際速度。之后再計算出當前的角度值和設(shè)置參考值(0)之間的偏差和偏差的變化率,再調(diào)用 PID 算法子程序模塊,算出要輸出的控制量大小,最后形成電機驅(qū)動的控制命令來控制電機的轉(zhuǎn)動。傾 傾傾 傾 傾 傾 傾傾 傾 傾 傾 傾傾 傾 傾 傾 傾傾 傾 傾 傾 傾 傾傾 傾 傾 傾 傾 傾 傾 傾 傾 傾PI D 傾 傾 傾 傾傾 傾 傾 傾傾 傾 傾傾 傾Y YN N圖 6-1 STM32 主控制器程序模塊流程圖3.2.2 人機交互程序模塊人機交互程序模塊人機交互模塊采用 STC12C5A60S2 單片機為微控
57、制器,程序設(shè)計的主要流程為 STC12C5A60S2 單片機接收到頂層主控處理器 STM32 發(fā)過來命令,產(chǎn)生串口中斷,再根據(jù)命令的內(nèi)容,如果是顯示更新命令就調(diào)用 Nokia 5110 液晶驅(qū)動程序,顯示主控器要求更新的顯示信息;如果接收到的是用戶信息輸入命令,STC12C5A60S2 單片機就通過串口將緩存的用戶輸入信息傳送給主處理器STM32。3.2.3 光電碼盤測速程序模塊光電碼盤測速程序模塊光電碼盤測速模塊也是采用了 STC12C5A60S2 單片機為微控制器,紅外傳感器 ST188 的輸出脈沖觸發(fā)單片機的外部中斷,在中斷服務(wù)程序中對脈沖進行計數(shù),每隔 100ms 取出計數(shù)器中的值計算
58、車輪當前的速度,并對計算器進行清零處理,準備進入下一次測速11。假設(shè)計數(shù)器當前的值為,則車輪轉(zhuǎn)速為:n (6-1)1 . 060n每完成一次測速以后,就通過串口將轉(zhuǎn)速值發(fā)送給主處理器 STM32。3.2.4 傾角檢測程序模塊傾角檢測程序模塊因為加速度傳感器的數(shù)據(jù)通信接口是 IIC 總線協(xié)議,陀螺儀為電壓模擬量輸出,而 STM32 含有高精度的 AD 轉(zhuǎn)換器和硬件 IIC 接口,所以直接將這兩個傳感器掛接在主處理器 STM32 上。軟件主要完成的是調(diào)用 STM32 固件庫中的IIC 接口函數(shù)完成對 MMA8451 的配置和從 MMA8451 中讀取加速度傳感器的數(shù)據(jù);調(diào)用 AD 接口函數(shù)完成對陀
59、螺儀輸出的 AD 轉(zhuǎn)換;再將它們分別轉(zhuǎn)化成角度值。最后選取合適的時間常數(shù)和采樣時間,用簡易的互補對稱濾波算法dt對角度值進行處理,以得到最優(yōu)的車體姿態(tài)信息。簡易對稱互補濾波器的軟件設(shè)計只要是有 C 語言完成對式 3-8 的描述。3.2.5 電機驅(qū)動程序模塊電機驅(qū)動程序模塊電機驅(qū)動模塊的微控制器為 STC12C5A60S2 單片機,STC12C5A60S2 具有硬件 PWM 所以軟件編寫變的比較容易,主要是接收來自主處理器 STM32 的電機控制命令,在接收到控制命令之后裝載 PWM 比較寄存器,控制 BTS7960 引腳電平,完成電機正反轉(zhuǎn)。3.2.6 PID 算法程序模塊算法程序模塊選取合適的比例系數(shù)、積分時間、微分時間和采樣周期的具體數(shù)TiTdTs值。用 C 語言程序完成對 3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 壽司餐館服務(wù)行業(yè)營銷策略方案
- 碳素材料細分市場深度研究報告
- 彈花齒條產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 危機管理培訓(xùn)行業(yè)相關(guān)項目經(jīng)營管理報告
- 發(fā)行有價證券行業(yè)營銷策略方案
- PET塑料瓶的回收利用行業(yè)營銷策略方案
- 刻度機產(chǎn)品供應(yīng)鏈分析
- 塑料加工機器產(chǎn)品供應(yīng)鏈分析
- 聲音和影像的數(shù)字化行業(yè)營銷策略方案
- 裝釣魚假餌用盒商業(yè)機會挖掘與戰(zhàn)略布局策略研究報告
- 出口退稅風險點
- ZL10裝載機的使用說明書(共27頁)
- 8糖尿病的綜合管理
- 消防安裝工程監(jiān)理細則(完整版)
- 催化裂化裝置結(jié)焦分析和防結(jié)焦措施
- 塑膠粒子切粒分析與RCA紙帶耐磨測試
- 語句連貫銜接的解題思路及方法
- 地圖專題復(fù)習PPT優(yōu)秀課件
- 工程監(jiān)理質(zhì)量管理體系
- 寧波建筑企業(yè)信用評價標準
- 海鷗島旅游策劃與城市設(shè)計規(guī)劃說明書
評論
0/150
提交評論