




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、雙輪自平衡車設計報告學院。.。.。.班級姓名.。手機號.姓名.手機號.。姓名。.手機號。目錄一、 雙輪自平衡車原理二、 總體方案三、 電路和程序設計四、 算法分析及參數(shù)確定過程一. 雙輪自平衡車原理1.控制小車平衡的直觀經(jīng)驗來自于人們日常生活經(jīng)驗。一般的人通過簡單練習就可以讓一個直木棒在手指尖上保持直立。這需要兩個條件:一個是托著木棒的手掌可以移動;另一個是眼睛可以觀察到木棒的傾斜角度和傾斜趨勢(角速度)。通過手掌移動抵消木棒的傾斜角度和趨勢,從而保持木棒的直立。這兩個條件缺一不可,讓木棒保持平衡的過程實際上就是控制中的負反饋控制.圖1 木棒控制原理圖2.小車的平衡和上面保持木棒平衡相比,要簡
2、單一些。因為小車是在一維上面保持平衡的,理想狀態(tài)下,小車只需沿著輪胎方向前后移動保持平衡即可.圖2 平衡小車的三種狀態(tài)3。根據(jù)圖2所示的平衡小車的三種狀態(tài),我們把小車偏離平衡位置的角度作為偏差;我們的目標是通過負反饋控制,讓這個偏差接近于零。用比較通俗的話描述就是:小車往前傾時車輪要往前運動,小車往后傾時車輪要往后運動,讓小車保持平衡。4.下面我們分析一下單擺模型,如圖4所示.在重力作用下,單擺受到和角度成正比,運動方向相反的回復力.而且在空氣中運動的單擺,由于受到空氣的阻尼力,單擺最終會停止在垂直平衡位置.空氣的阻尼力與單擺運動速度成正比,方向相反。圖4 單擺及其運動曲線類比到我們的平衡小車
3、,為了讓小車能靜止在平衡位置附近,我們不僅需要在電機上施加和傾角成正比的回復力,還需要增加和角速度成正比的阻尼力,阻尼力與運動方向相反。 5 平衡小車直立控制原理圖 5.根據(jù)上面的分析,我們還可以總結得到一些調試的技巧:比例控制是引入了回復力;微分控制是引入了阻尼力,微分系數(shù)與轉動慣量有關.在小車質量一定的情況下,重心位置增高,因為需要的回復力減小,所以比例控制系數(shù)下降;轉動慣量變大,所以微分控制系數(shù)增大。在小車重心位置一定的情況下,質量增大,因為需要的回復力增大,比例控制系數(shù)增大;轉動慣量變大,所以微分控制系數(shù)增大.二. 總體方案小車總框圖 三電路和程序設計1。主要元器件選型A. STM32
4、F103RCT6最小核心板小容量增強型,32位基于ARM核心的帶16或32K字節(jié)閃存的微控制器USB、CAN、6個定時器、2個ADC 、6個通信接口功能。 內核:ARM 32位的Cortex-M3 CPU 最高72MHz工作頻率,在存儲器的0等待周期訪問時可達1。25DMips/MHz(Dhrystone2。1)。 單周期乘法和硬件除法. 存儲器 從16K到32K字節(jié)的閃存程序存儲器。 從6K到10K字節(jié)的SRAM。 時鐘、復位和電源管理 2。03.6伏供電和I/O引腳。 上電/斷電復位(POR/PDR)、可編程電壓監(jiān)測器(PVD)。 416MHz晶體振蕩器. 內嵌經(jīng)出廠調校的8MHz的RC振
5、蕩器。 產(chǎn)生CPU時鐘的PLL 帶校準功能的32kHz RTC振蕩器 低功耗 睡眠、停機和待機模式 VBAT為RTC和后備寄存器供電 2個12位模數(shù)轉換器,1s轉換時間(多達16個輸入通道) 轉換范圍:0至3。6V 雙采樣和保持功能 溫度傳感器 DMA: 7通道DMA控制器 支持的外設:定時器、ADC、SPI、I2C和USART 多達80個快速I/O端口 26/37/51個I/O口,所有I/O口可以映像到16個外部中斷;幾乎所有端口均可容忍5V信號B。 L298N雙直流電機驅動模塊板載一個L298N馬達控制芯片和一個7805穩(wěn)壓芯片.模塊可以同時驅動2個直流電機或者一個五線四相式步進電機。模塊
6、輸入電壓612V常用的電機驅動 功能夠用 切資料也很好找.C。傳感器MPU6050模塊此六軸模塊采用先進的數(shù)字濾波技術(卡爾曼濾波),能有效降低測量噪聲,提高測量精度.模塊內部集成了運動引擎DMP,獲取四元數(shù)得到當前姿態(tài)。姿態(tài)測量精度0。01度,穩(wěn)定性極高,性能甚至優(yōu)于某些專業(yè)的傾角儀!采用高精度的陀螺加速度計 MPU6050通過IIC協(xié)議輸出保證數(shù)據(jù)的準確性。電壓:3V6V 。電流:10mA .體積:17.8mm X 17.8mm 重量:1。1g測量維度:加速度:3 維,角速度:3 維,姿態(tài)角:3 維量程:加速度:± 16g,角速度:± 2000°/s.分辨率:
7、加速度:6。1e-5g,角速度:7.6e-3°/s.穩(wěn)定性:加速度:0.01g,角速度 0.05°/s。數(shù)據(jù)輸出頻率 100Hz(波特率 115200)/20Hz(波特率 9600)。 波特率 115200kps/9600kps.D.HC-05藍牙主從一體模塊供電電壓3.3V3.6V;支持AT指令集配置模塊; 采用CSR主流藍牙芯片,藍牙V2.0協(xié)議標準; 波特率最高為1382400bps; 配對以后當全雙工串口使用,無需了解任何藍牙協(xié)議,但僅支持8位數(shù)據(jù)位、1位停止位、無奇偶校驗的通信格式,這也是最常用的通信格式,不支持其他格式。
8、2電路設計STM32核心板原理圖電機驅動原理圖MPU6050原理圖藍牙模塊原理圖四算法分析及參數(shù)確定 小車直立環(huán)使用 PD(比例微分)控制器,其實一般的控制系統(tǒng)單純的P 控制或者 PI 控制就可以了,但是那些對干擾要做出迅速響應的控制過程需要 D(微分)控制。 直立控制的PD代碼int balance(float Angle,float Gyro)float Bias,kp=300,kd=1;int balance;Bias=Angle0; /計算直立偏差balance=kp*Bias+Gyrokd; /計算直立 PWMreturn balance; /返回直立 PWM 參數(shù)是平衡小車傾角和
9、Y 軸陀螺儀(這個取決于 MPU6050 的安裝),調試過程包括確定平衡小車的機械中值、確定 kp 值的極性(也就是正負號)和大小、kd 值的極性和大小等步驟.在調試直立環(huán)的時候,我們要在定時中斷服務函數(shù)里面屏蔽速度環(huán)和轉向環(huán)。確定平衡小車的機械中值把平衡小車放在地面上,繞電機軸旋轉觀察小車什么時候平衡 用量角器量大概中值在哪.本小車為2度。確定 kp 值的極性(令 kd=0)首先我們估計kp的取值范圍。我們的PWM設置的是7200代表占空比100%,假如我們設定 kp 值為 720,那么平衡小車在±10°的時候就會滿轉。根據(jù)我們的感性認識,這顯然太大了,那我們就可以估計
10、kp 值在 0720 之間,首先大概我們給一個值 kp=-200,我們可以觀察到,小車往哪邊倒,電機會往那邊加速讓小車到下,就是一個我們不愿看到的正反饋的效果.說明 kp 值的極性反了,接下來我們設定 kp=200,這個時候可以看到平衡小車有直立的趨勢,雖然響應太慢,但是,我們可以確定 kp 值極性是正的.具體的數(shù)據(jù)接下來再仔細調試。確定 kp 值的大?。?kd=0)確定參數(shù)的原則是:kp 一直增加,直到出現(xiàn)大幅度的低頻抖動。 定 kp=200,這個時候我們可以看到,小車雖然有平衡的趨勢,但是顯然響應太慢了。 定 kp=680,這個時候我們可以看到,小車的響應明顯加快,而且來回推動小車的時候
11、,會有大幅度的低頻抖動。說明這個時候 kp 值已經(jīng)足夠大了,需要增加微分控制削弱 p 控制,抑制低頻抖動。確定 kd 值的極性(令 kp=0)我們得到的 MPU6050 輸出的陀螺儀的原始數(shù)據(jù),通過觀察數(shù)據(jù),我們發(fā)現(xiàn)最大值不會超過 4 位數(shù)(正常應用在平衡小車上的時候),再根據(jù) 7200 代表占空比 100,所以我們估算 kd 值應該在 03 之間,我們先設定 kd=-0.5,當我們拿起小車旋轉的時候,車輪會反向轉動,并沒有能夠實現(xiàn)跟隨效果.這說明了 kd的極性反了。接下來,我們設定 kd=0。5,這個時候我們可以看到,當我們旋轉小車的時候,車輪會同向以相同的速度跟隨轉動,這說明我們實現(xiàn)了角速
12、度閉環(huán),至此,我們可以確定 kd 的極性是正的。具體的數(shù)據(jù)接下來再仔細調試.確定 kd 值的大?。?kp=500)確定參數(shù)的原則是:kd 一直增加,直到出現(xiàn)高頻抖動.設定 kd=0。5,這個時候我們可以看到,低頻大幅度頻抖動已經(jīng)基本消除。設定 kd=1,這個時候我們可以看到,整體性能已經(jīng)非常棒。設定 kd=3.8,這個時候我們可以看到,小車開始出現(xiàn)劇烈抖動至此,我們可以確定得到 kp=500,kd=1。7 是 P、D 參數(shù)的最大值。然后我們進行最關鍵的一步,對每個系數(shù)乘以 0.6,取整得到 kp=680,kd=2,這就是最終我們需要的參數(shù),這樣做的原因是,我們之前得到的參數(shù)是 kp、kd 最
13、對每個數(shù)據(jù)乘以 0。6 得到。這個時候我們可以看到,小車沒有任何的抖動,非常平穩(wěn),但是依然無法保持長時間的直立,直立很短一段時間后會往一個方向加速倒下。這個等我們下面加上速度環(huán)才能得到更好的性能。只有直立環(huán)是很難讓小車達到很好的直立效果的.平衡小車速度控制調試平衡小車速度環(huán)使用 PI(比例積分)控制器,這也是速度控制最常使用的控制器。PI 控制器是一種線性控制器,它根據(jù)給定值與實際輸出值構成控制偏差,將偏差的比例(P)和積分(I)通過線性組合構成控制量對被控對象進行控制.計算速度偏差根據(jù)公式偏差=測量值目標值測量值我們使用左右編碼器之和表示,我們沒有必要糾結于是否要除以 2,因為這樣就引入舍去
14、誤差,我們需要的其實是一個可以表示速度變化的變量。另外,我們的目標速度設置為零。所以,可以得到Encoder_Least =(Encoder_Left+Encoder_Right)0;然后,我們對速度值進行低通濾波,具體的系數(shù)由工程經(jīng)驗得到。這樣做的目的是為了減緩速度值的變化,防止速度控制對直立造成干擾,因為平衡小車系統(tǒng)里面,直立控制是主要的,其他控制對于直立來說都是一種干擾。確定 kp 與 ki 值的極性為了調試方便,接下來我們先關閉之前已經(jīng)調試好的直立控制部分,積分項由偏差的積分得到,所以積分控制和比例控制的極性是相同的.的平衡小車速度控制系統(tǒng)里面,一般我們可以把 ki 值設置為 ki=k
15、p/200;這樣,只要我們可以得到 kp 值的大小和極性,就可以完成速度控制部分的參數(shù)整定了.顯然,這樣大大縮短了 PID 參數(shù)整定的時間。另外要說明的是,雖然這里的 PI 控制器是速度控制常用的一種控制器,但是和普通的調速系統(tǒng)不一樣,這里的速度控制是正反饋的,當小車以一定的速度運行的時候,我們要讓小車停下來,小車需要行駛更快的速度去“追”,小車運行的速度越快,去“追"的速度也就越快,所以這是一個正反饋的效果.如果使用常規(guī)的速度負反饋,當小車以一定的速度運行的時候,我們通過減速讓小車慢下來,小車會因為慣性向前倒下。下面介紹一種確定速度控制是正反饋還是負反饋的方法。根據(jù)之前的估計,先設
16、定 kp=50,ki=kp/200,當我們拿起小車,旋轉其中一個小車輪胎的時候,根據(jù)我們設定的速度偏差Encoder_Least =(Encoder_Left+Encoder_Right)0;另外一個車輪會反向轉動,讓偏差趨向于零。這就是常規(guī)的速度控制里面的負反饋,不是我們需要的效果。接下來設定 kp=165,ki=kp/200,此時,當我們旋轉其中一個小車輪胎的時候,兩個輪胎會往相同的方向加速,直至電機的最大速度,這是典型的正反饋效果,也是我們期望看到的。至此,我們可以確定 kp,ki的符號應該是正的。確定 kp 與 ki 的大小(開啟直立控制) 我們進行平衡小車速度控制 kp 與 ki 值
17、的整定,此時需要打開直立環(huán),因為我們需要結合直立環(huán)觀察速度環(huán)對直立環(huán)的影響。 衡小車速度控制系統(tǒng)里面,一般我們可以把 ki 值設置為 ki=kp/200,所以我們只需要對 kp 值進行整定即可.在調試的過程中設定速度控制的目標為零,所以,調試的理想結果應該是:小車保持平衡的同時,速度接近于零。實際上,小車存在比較大的轉動慣量和慣性,并且齒輪減速器存在死區(qū),很難調試到讓小車完全保持靜止的,我們調試平衡小車只是為了學習 PID 控制算法,所以,并在這個過程對 PID 有進一步的了解即可。 kp=40,ki=kp/200 這個時候我們可以看到,小車的速度控制比較弱,很難讓速度恒定。 kp=60,ki
18、=kp/200 這個時候我們可以看到,小車的速度控制的響應有所加快,但是來回擺動還是有點大,還是不足以讓小車保持接近于靜止的狀態(tài)。此處略去好多手寫的數(shù)據(jù).。.。.。 kp=80,ki=kp/200 這個時候我們可以看到,小車已經(jīng)性能很完美了,我們接下來嘗試加大 kp 值看一下效果。 kp=165,ki=kp/200 這個時候我們可以看到,小車雖然回正力度增大了,而且響應更加快了,但是稍微加入一點的干擾都會讓小車大幅度擺動,抗干擾能力明顯不足,所以這組參數(shù)不可取. 此處經(jīng)過大量的實驗 大量的測試數(shù)據(jù)的都是手寫。至此,我們可以確定得到 kp=165,kd=0。789 是速度控制 P、I 參數(shù)的理想
19、值.我 們 再 來 體 檢 一 下 速 度 控 制 負 反 饋 在 平 衡 小 車 里 面 的 效 果 .加入遙控前進后退功能的話,速度 PI 控制函數(shù)應該改成如下所示(其中加粗部分為是實現(xiàn)遙控功能的代碼):int velocity(int encoder_left,int encoder_right)static float Velocity,Encoder_Least,Encoder,Movement;static float Encoder_Integral;float kp=80,ki=0.4;if(1=Flag_Qian) Movement=90; /如果前進標志位置 1 位移為負e
20、lse if(1=Flag_Hou) Movement=90; /如果后退標志位置 1 位移為正 else Movement=0;Encoder_Least =(Encoder_Left+Encoder_Right)-0; /獲取最新速度偏差=測量速度(左右編碼器之和)-目標速Encoder = 0.7; /一階低通濾波器Encoder += Encoder_Least*0.3; /一階低通濾波器Encoder_Integral +=Encoder; /積分出位移 積分時間:10msEncoder_Integral=Encoder_Integral-Movement; /接收遙控器數(shù)據(jù),控制前
21、進后退if(Encoder_Integral>10000) Encoder_Integral=10000; /積分限幅if(Encoder_Integral<10000) Encoder_Integral=-10000; /限制遙控最大速度Velocity=Encoder*kp+Encoder_Integralki; /速度控制if(Turn_Off(Angle_Balance,Voltage)=1) Encoder_Integral=0; /電機關閉后清除積分return Velocity;關于這個包括了遙控前進后退的速度控制函數(shù),做如下解析:1.在 usart3。c 中的串口
22、3 接收中斷函數(shù),改變 Flag_Qian 和 Flag_Hou,進而遙控小車.2。Encoder_Integral=Encoder_Integral-Movement; 遙控的速度通過積分融入速度控制器,減緩了速度突變對直立控制的影響。3。積分限幅是增加了遙控之后必不可少的,如果沒有積分限幅,就無法限制小車的最大前進速度。這樣在遙控的過程中,小車很容易倒下。換句話說積分的最大賦值決定了小車的最大前進速度,而 Movement 值決定了小車的給定速度。平衡小車轉向控制調試 小車轉向環(huán)使用 P(比例)控制器或者 P(比例)D(微分)控制器,我們前面說過,一般的控制系統(tǒng)單純的 P 控制或者 PI
23、控制就可以了,轉向環(huán)就是這種“一般的控制系統(tǒng)”,對響應要求不高,所以我們只使用 P 控制即可。其實轉向信息可以通過編碼器和陀螺儀獲取,所以轉向環(huán)有多種控制方式.總結如下: 用左右輪編碼器數(shù)據(jù)之差的積分值作為偏差,以 Z 軸陀螺儀作為微分控制的輸入進行 PD 控制,目標是保持轉向角為設定值。優(yōu)點是算法比較科學,引入微分控制可以增大比例控制系數(shù)以提高系統(tǒng)的響應.缺點是較復雜,積分項影響用戶體驗、編碼器對車輪滑動無法檢測、陀螺儀存在漂移. Z 軸陀螺儀的數(shù)據(jù)積分得到轉向角作為偏差,以 Z 軸陀螺儀作為微分控制的輸入進行 PD 控制,目標是保持轉向角為設定值。優(yōu)點是避免了編碼器對車輪滑動無法檢測現(xiàn)象,
24、引入微分控制可以增大比例控制系數(shù)以提高系統(tǒng)的響應.缺點是陀螺儀的漂移長時間積分導致系統(tǒng)誤差增大。使用左右輪編碼器數(shù)據(jù)之差作為轉向速度偏差進行 P 控制,目標是保持轉向速度為設定值。優(yōu)點是簡單,缺點是編碼器對車輪滑動無法檢測,對編碼器精度有較高要求。使用 Z 軸陀螺儀的數(shù)據(jù)作為轉向速度偏差進行 P 控制,目標是保持轉向速度為設定值。優(yōu)點是算法簡單、避免了編碼器對車輪滑動無法檢測現(xiàn)象、陀螺儀漂移等問題,缺點是陀螺儀對高頻信號采樣失真.我們本次調試使用了簡單可靠的第 4 套方案。在平衡小車里面,相比于直立環(huán)和速度環(huán),轉向環(huán)是最不重要的,如果缺少了直立環(huán)和速度環(huán),小車無法長時間保持直立.轉向環(huán)的作用是
25、使小車行駛的過程中,跟隨我們給定的 Z 軸角速度,具體來說,如果我們設定的 Z 軸目標角速度為零,那么小車應該走一個直線,這也是我們本次實驗需要完成的目標.調試過程包括確定 kp 極性和大小。確定 kp 的極性為了方便本小節(jié)的實驗,我們先關閉之前調試好的直立環(huán)和速度環(huán)。我們得到的 MPU6050 輸出的陀螺儀的原始數(shù)據(jù),通過觀察數(shù)據(jù),我們發(fā)現(xiàn)最大值不會超過 4 位數(shù)(正常應用在平衡小車上的時候),再根據(jù) 7200 代表占空比 100%,所以我們估算 kp 值應該在 02 之間.先設定 kp=-0.6,我們可以看到,當我們把小車摁在地上旋轉的時候,我們可以很輕易的轉動小車,說明目前小車沒有通過負
26、反饋把目標角速度控制在零附近,而是通過正反饋幫助我們旋轉小車,說明了這個時候小車的轉向系統(tǒng)是正反饋的。然后我們設定 kp=0。6,這個時候我們把小車摁在地上旋轉會發(fā)現(xiàn)使用很大的力也難以轉動小車,小車會反抗我們,并通過電機保持角速度為零,這就是典型的角速度負反饋效果,也是我們需要看到的效果。確定 kp 的大小下面我們進行平衡小車轉向控制 kp 值的整定,此時需要打開直立環(huán)和速度環(huán)。 首先設定 kp=0.2,這個時候我們可以看到,小車的轉向控制比較弱,走直線的偏差非常大.設定 kp=0。6,這個時候我們可以看到,小車的角速度控制的響應有所加快,但是走直線還不是特別理想。設定 kp=1,這個時候我們可以看到,小車走直
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑工程安全生產(chǎn)責任追究合同
- 2025年度外貿合同書樣本:國際貨物運輸保險合同
- 2025年度商業(yè)地產(chǎn)產(chǎn)權轉讓與物業(yè)管理合同
- 2025年度園林綠化養(yǎng)護臨時用工合作協(xié)議
- 二零二五年度移動寬帶網(wǎng)絡用戶滿意度提升合同
- 工業(yè)園區(qū)升級補貼合同
- 2025年度建筑工程合同監(jiān)理實施辦法
- 2025年度商場顧客滿意度調查與提升合同
- 2025年度房屋租賃安全免責合同(帶寵物)
- 2025年導電銀漿行業(yè)現(xiàn)狀分析:導電銀漿市場復合年增長率為20.12%
- 標準 DB37T 3690.1-2019 液體菌種制備技術規(guī)程 第1部分:香菇規(guī)范
- 2021五年級道德與法治培優(yōu)輔差計劃3篇
- 靜脈藥物配置中心課件
- DB11T 852-2019 有限空間作業(yè)安全技術規(guī)范
- 最新2022年減肥食品市場現(xiàn)狀與發(fā)展趨勢預測
- 材料化學合成與制備技術
- 發(fā)展?jié)h語初級綜合1:第30課PPT課件[通用]
- 馬工程西方經(jīng)濟學(第二版)教學課件-(4)
- 醫(yī)療廢物管理組織機構架構圖
- cjj/t135-2009《透水水泥混凝土路面技術規(guī)程》
- 社保人事專員績效考核表
評論
0/150
提交評論