欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13379|回復: 12
打印 上一主題 下一主題
收起左側

簡易旋轉倒立擺及控制裝置設計論文下載 含程序 原理圖等

  [復制鏈接]
跳轉到指定樓層
樓主
摘要
倒立擺控制系統是一個復雜的、不穩定的、非線性系統。本設計在研究倒立擺運動規律的基礎上,構建其運動軌跡的數學模型,使用MATLAB進行仿真分析,在對倒立擺模型認識以后,使用k60微控制器結合PID算法給出信號驅動直流減速電機,進而對倒立擺系統進行控制,在倒立的過程中使用編碼器采集擺桿角度,對擺桿反饋的角度進行處理,針對角度,角速度的方向,電機運行方向進行處理,運用PD算法調節擺桿倒立,PI參數調節電機速度,通過雙回路PD\PI控制方案實現了對旋轉臂位置和擺桿偏角的同時閉環控制。

目    錄

一、系統方案    1
1.1 主控芯片的論證與選擇    1
1.2 擺桿的角度測量的論證與選擇    1
1.3 電機的論證與選擇    1
二、系統結構    2
    2.1機械結構    2
    2.2測控電路結構    2
三、理論分析與計算    3
3.1倒立擺的基本模型    3
    3.2模型分析與參數測量    3
    3.3基于狀態反饋的倒立控制    4
四、電路與程序設計    5
    4.1系統的硬件設計    5
    4.2系統軟件設計    7
五、測試方案與測試結果    10
    5.1基本要求(1)    10
    5.2基本要求(2)    10
    5.3基本要求(3)    10
    5.4發揮要求(1)    10
    5.5發揮要求(2)    11
    5.6發揮要求(3)    11
六.其他的拓展部分    12
七、參考文獻    12
附錄    13

一、系統方案    本系統主要有五大部分組成,即控制部分、電機部分、傳感器部分、電源部分和人機交互部分。傳感器采用兩個光電式旋轉編碼器,分別用于測量擺桿角度、電機轉速。結合傳感器反饋信息運用PID算法將控制信號傳輸給電機驅動使電機運行,帶動旋轉臂轉動,進而控制擺桿,形成雙閉環控制網絡。
1.1 主控芯片的論證與選擇方案一:采用AT89S52單片機

優點:AT89S52是CMOS8位微控制器,具有8K 在系統可編程Flash 存儲器。具有低功耗,價格便宜,控制簡單等一系列優點。

缺點:片內資源少,沒有集成的正交解碼寄存器,需要外擴才能實現,而且難以實現快速和精準的反映控制。

方案二:采用飛思卡爾KinetisK60微控制器。

優點:是一款高性能的32位微控制器,片內資源豐富,內置PIT定時器、FTM定時器,有兩路編碼器AB相正交解碼的功能,時鐘頻率50MHZ,具有高速的計運算能力。
缺點:頻率的提高功耗也隨之增大。
總結:由以上方案分析,為了可以高精度、高速度的進行系統控制,同時由于編碼器使用過程中需要正交解碼功能,AT89S52不滿足以上要求,故本系統選擇方案二,使用飛思卡爾Kinetis K60微控制器。
1.2 擺桿的角度測量的論證與選擇    方案一:采用光電編碼器。
    優點:無累計誤差,精度高、數字信號接口。
    缺點:價格偏高。
    方案二:采用傾角傳感器。
    優點:無累計誤差。
    缺點:被測物體有其他加速度則無法準確計算。
    方案三:  采用角速度傳感器。
    優點:直接測出角速度,理論上不受移動等其他運動影響。
    缺點:角度由積分產生,累計誤差可能導致系統不穩定。
總結:由以上方案分析,為提高測量精度,同時考慮到傳感器安裝的難易程度,所以我們選擇方案一測量擺桿角度。
1.3 電機的論證與選擇方案一:采用空心杯直流減速電機。
    優點:空心杯電動機屬于直流、永磁、伺服微特電機。空心杯電動機具有杰出的節能特性、靈敏方便的控制特性和穩定的運行特性。
缺點:輻射產生電磁波干擾,減速箱存在機械虛位。
方案二:采用步進電機。

優點:步進電機是純粹的數字控制電動機,它將電脈沖信號轉變為角位移,步進電機屬于開環控制,累計誤差小,成本相對低廉。

缺點:步進電機角度分辨率低,且轉動時伴隨著強烈的振動,這對旋轉臂及擺桿的穩定性是不利的。
   方案三:采用伺服電機。
   優點:伺服電機是一種補助馬達間接變速裝置。其用作執行元件,把所收到的電信號轉換成電動機軸上的角位移或角速度輸出,可使控制速度,位置精度非常準確。
    缺點:減速箱存在機械虛位。
    總結:由以上方案分析,考慮到系統的穩定性,性價比等因素,我們選擇方案一,采用空心杯減速電機。該電機自帶精密行星減速箱和光電式編碼器,同時通過對減速箱的改造可以減少機械虛位的影響,完全可以滿足題目相關要求。
二、 系統結構
2.1機械結構機械結構的穩定性直接影響系統的穩定性。故該倒立擺采用鋼底座,穩固性能好,支架和擺桿采用鋁合金打造,具有密度小、強度高、易加工等特點。機械結構圖如下:

三、理論分析與計算3.1倒立擺的基本模型
    旋轉臂由轉軸處的直流減速電機驅動, 可繞轉軸在垂直于電機轉軸的鉛直平面內轉動. 旋臂和擺桿之間由關節相連, 當旋臂轉動時, 擺桿可繞關節在垂直于關節轉軸的鉛直平面內轉動,根據一定的控制算法, 計算出控制規律, 并轉化為電壓信號提供給驅動電路, 以驅動直流減速電機的運動, 通過電機帶動旋轉臂的于關節轉軸的鉛直平面內轉動,進而通過電機帶動旋轉臂的轉動來控制擺桿的運動。

     圖3 倒立擺的模型結構


3.2模型分析與參數測量
建立比較精確的數學模型是控制系統設計的基礎. 如圖3所示, 在非慣性系S2 中對擺桿有:


…………此處省略內容請下載51hei附件查看…………

可知系統是不穩定的, 且是完全能控和完全能觀的. 因此可以設計一個基于狀態反饋的控制器對系統進行極點配置 , 使得系統在原點附近保持穩定. 由于倒立擺裝置中沒有直接測量角速度的器件, 我們采用角度的差分進行近似,在角度測量上, 硬件和軟件部分都采用了濾波手段.
經過極點配置設計, 得到態反饋矩陣為:

由以上可知倒立擺系統是一個不穩定但能控能觀系統。

四、電路與程序設計4.1系統的硬件設計系統的硬件主要由四大部分組成,即電源部分、主控部分、電機驅動部分、人機交互部分。各部分電路設計和功能介紹如下:
4.1.1電源部分
該系統電源部分有2部分組成,分別由一塊7.2V蓄電池和一塊11.1V鋰電池供電。其中一塊鋰電池經穩壓后為8.5V后為電機驅動模塊供電;另一塊電池為系統提供2組電源,即5V和3.3V,其中5V用于編碼器、語音模塊等部分的供電。3.3V用于單片機、液晶顯示等部分的供電;其中8.5V和5V電源部分采用采用LM2596開關電壓調節器,其具有可靠的工作性能、較高的工作效率和較強的輸出電流驅動能力,功耗小等特點,從而為系統穩定、可靠地工作提供有力的保障,3.3V電源采用2塊LM1117系列線性穩壓器并聯,其具有穩定性好,負載響應快。輸出紋波小,價格低廉的優點。


4.1.2電機驅動部分
    電機驅動采用雙BTS7970大功率H橋驅動,其為高強度電流的半橋電機驅動芯片。我們利用兩片BTS7970B構成一個完整的全橋驅動,電流最大可達70A,并利用光耦與單片機隔離,有效保護單片機?梢院芎脤崿F電機的正轉、反轉、能耗制動。

4.1.3人機交互部分
人機交互模塊由TFT彩屏、鍵盤、語音模塊組成,實時顯示播報參數及數據的變化,也方便我們調節控制。

4.2系統軟件設計
  
        
開始
   
   
   
4.2.1系統流程圖


4.2.2 擺桿的倒立狀態檢測
擺桿狀態的檢測,即擺桿角度的檢測是本設計的重要點,角度大小檢測的精準度直接影響到電機帶動旋轉臂的旋轉,進而影響到擺桿的狀態。擺桿自由下擺在最下方進行編碼器脈沖輸出零位校準;編碼器為500線,擺桿運動一周,編碼器脈沖輸出計數為500,即當從最低點運動至最高點時,編碼器輸出脈沖計數為250,再次運動到最低點時編碼器輸出脈沖計數為500,由此判斷擺桿當前角度。為了提高精度,通過將編碼器A相和B相4倍頻后,正交解碼,測量步距變為原來的1/4,精度提高4倍。如此根據脈沖計數值可以判定擺桿擺動方向和擺動度數,進而反饋給單片機,執行相關操作。
程序框圖如下:


…………此處省略內容請下載51hei附件查看…………

五 測試方案與測試結果5.1基本要求(1)    測試方案:擺桿從處于自然下垂狀態(擺角0°)開始,驅動電機帶動旋轉臂作往復旋轉使擺桿擺動,并盡快使擺角達到或超過-60°~+60°,測量角度并記錄測試結果。
    測試結果:
1 擺桿擺動的角度及時間測量
  測量次數
  
  1
  
  2
  
  3
  
  4
  
  5
  
  6
  
  7
  
  偏離角度/°
  
  115
  
  99
  
  115
  
  107
  
  108
  
  122
  
  94
  
  完成時間/s
  
  0.7
  
  0.5
  
  0.7
  
  0.6
  
  0.5
  
  0.8
  
  0.5
  
    結論:達到基本要求(1),擺桿可以快速達到或超過-60°~ +60°,達到題目要求。5.2基本要求(2)測試方案:擺桿從處于自然下垂狀態(擺角0°)開始,驅動電機帶動旋
轉臂做往復旋轉使擺桿擺動,看是否可以完成圓周運動。
    測試結果:
2擺桿擺動360度時間測量
  測量次數
  
  1
  
  2
  
  3
  
  4
  
  5
  
  6
  
  7
  
  完成時間/s
  
  1.1
  
  1.3
  
  1.3
  
  1.0
  
  1.1
  
  1.2
  
  1.1
  

測試結果及結論:目測擺桿開始起擺后迅速可以做圓周運動,并持續下去,達到基本要求(2)。
5.3基本要求(3)測試方案:當擺桿處于自然下垂狀態下,外力拉起擺桿至接165°位置,外力撤除時,啟動控制旋轉臂,測量擺桿保持倒立狀態時間,并且測量旋轉臂的轉動角度。
   測試結果:
3  擺桿保持倒立時旋轉臂的轉動角度
  測試次數
  
  1
  
  2
  
  3
  
  4
  
  5
  
  6
  
  7
  
  8
  
  角度/°
  
  12
  
  12
  
  10
  
  8
  
  11
  
  9
  
  11
  
  13
  
  倒立時間/s
  
  長期
  
  長期
  
  長期
  
  長期
  
  長期
  
  長期
  
  長期
  
  長期
  
   結論:完全達到基本要求(3),擺桿倒立后在很小的角度內轉動,系統穩定。5.4發揮要求(1)測試方案:從擺桿處于自然下垂狀態開始,控制旋轉臂作往復旋轉運動,盡快使擺桿擺起倒立,保持倒立狀態,并測量擺起的時間。
測試結果:
                3  擺桿擺起到立起的時間
  測試次數
  
  1
  
  2
  
  3
  
  4
  
  5
  
  6
  
  7
  
  8
  
  起擺時間/s
  
  1.7
  
  1.8
  
  1.7
  
  1.8
  
  1.7
  
  1.9
  
  1.8
  
  1.7
  
  倒立時間/s
  
  長期
  
  長期
  
  長期
  
  長期
  
  長期
  
  長期
  
  長期
  
  長期
  
    結論:擺桿迅速擺起倒立,擺桿擺起后,可長時間倒立下去,并且旋轉臂的轉動的角度保持在90°內,達到發揮要求(1)。
5.5發揮要求(2)測試方案:在擺桿保持倒立狀態下,我們施加干擾,即以15cm長細繩栓一只5g砝碼,在擺桿上方將砝碼拉起15°~45°,釋放后用砝碼沿擺桿的切線方向撞擊擺桿上端1~2cm處,觀察擺桿能否繼續保持倒立狀態。
測試結果:

表4砝碼拉起15°時的擺桿的擺動角度


  測試次數
  
  1
  
  2
  
  3
  
  4
  
  5
  
  6
  
  7
  
  8
  
  角度/°
  
  20
  
  22
  
  25
  
  22
  
  20
  
  19
  
  22
  
  24
  

5   砝碼拉起30°時的擺桿的擺動角度

  測試次數
  
  1
  
  2
  
  3
  
  4
  
  5
  
  6
  
  7
  
  8
  
  角度/°
  
  28
  
  31
  
  30
  
  28
  
  30
  
  32
  
  31
  
  32
  

6   砝碼拉起45°時的擺桿的擺動角度

  測試次數
  
  1
  
  2
  
  3
  
  4
  
  5
  
  6
  
  7
  
  8
  
  角度/°
  
  47
  
  48
  
  42
  
  44
  
  39
  
  45
  
  42
  
  50
  
     結論:擺桿在有干擾情況下仍能保持直立,在干擾時旋轉臂會有不同程度的旋轉,同時隨著砝碼拉起角度的增大,擺桿轉動的角度增大,達到發揮要求(2)。
5.6發揮要求(3測試方案:在擺桿保持倒立狀態的前提下,旋轉臂做圓周運動,看是否能夠單方向轉過的角度達到或超過360°
測試結果:
7  擺桿倒立轉一周的時間的測量

  測試次數
  
  1
  
  2
  
  3
  
  4
  
  5
  
  6
  
  7
  
  8
  
  時間/s
  
  2.1
  
  2.2
  
  1.8
  
  1.9
  
  2.1
  
  2.2
  
  2.0
  
  1.9
  
結論:達到發揮要求(3)要求。
六.其他的拓展部分1)該設計在滿足題目要求的情況下,還對擺桿的穩定度實現了更高的控制和優化,使擺桿可以很快的達到直立狀態,達到更好的指標。
2)我們采用自制的控制板,添加了了語音模塊,液晶顯示,有良好的人機界面,同時方便測試時觀察。
3為此我們增添了兩個測試:一為高強度抗干擾測試,即使用50g砝碼,在擺桿上方將砝碼拉起15°~45°,釋放后用砝碼沿擺桿的切線方向撞擊擺桿上端1~2cm處,觀察擺桿能否繼續保持倒立狀態。二為快速360°旋轉測試,即盡可能快使擺桿倒立旋轉N周。
測試結果:高強度干擾下,擺桿仍能保持直立。力度增加后,擺桿可能會失去倒立平衡,但會迅速恢復。倒立狀態下,可以快速進行旋轉。
    結論:倒立擺整體性能相當穩定。
七、參考文獻1】從爽,張東軍,單級倒立擺三種控制方法對比研究【J】。系統工程與電子技術,2001,23(1):47-49。
【2】王輝,一類非線性系統的模糊自適應控制器設計【J】。湖南大學學報(自然科學版),2004,31(6)41-45。
【3】馮艷賓,崔紅梅,李鳳,模糊控制理論及其倒立擺中的應用【J】。數學通報,2003,6:1-3。
4】黃智偉,全國大學生電子設計競賽訓練教程【M】,北京:電子工業出版社,2010。

單片機源程序如下:
  1. #include "include.h"//電子設計競賽倒立擺
  2. s8 iii=1;
  3. u8 che=1,zhuan=0;
  4. extern KEY_e KEYX ;
  5. extern s16 real_L,real_R;
  6. extern float P=0,D=0,P2,D2,accL,accR;
  7. extern float I_1,I_2;
  8. extern u16 bai_flag,textdata1;
  9. extern s16 angle_bai,speed_ji,speed_bai,bai_speed,angle_ji;

  10. //電機控制PID
  11. void motor_control(s16 pwmL,s16 pwmR)
  12. {
  13.     erR1 = pwmR-speed_ji;
  14.     accR+= I_2*erR1;
  15.     real_R=(s16)(P2*erR1+real_R+D2*(erR1-erR2)+accR);//
  16. }
  17. //倒立PID
  18. void daoli_PID(s16 eagle)
  19. {
  20.     float P_1,D_1;
  21.     if(eagle<1000)
  22.         erL1=eagle-999;
  23.     else
  24.         erL1=eagle-1000;
  25.     accL+= I_1*erL1;
  26.     if(accL>5000)
  27.         accL=5000;
  28.     if(accL<-5000)
  29.         accL=-5000;
  30.     real_L =(s16)( P_1*erL1 +D_1*speed_bai +real_L+accL);
  31. }
  32. 定時器中斷2
  33. void PIT2_IRQHandler(void)
  34. {   
  35.     angle_bai=FTM2_CNT%2000;//擺桿角度
  36.     if(iii<6)if(angle_bai>850&&angle_bai<1150)bai_flag=1;
  37.    
  38.     if(iii==6)
  39.     {
  40.         if(angle_bai>0&&angle_bai<750)
  41.             bai_flag=1;
  42.         else
  43.         if(angle_bai>1250&&angle_bai<1999)
  44.             bai_flag=2;
  45.         else
  46.             bai_flag=0;
  47.     }      
  48.     PIT_Flag_Clear(PIT2);       //清中斷標志位
  49. }
  50. 定時器中斷3
  51. void PIT3_IRQHandler(void)
  52. {
  53.     count_bai++;
  54.     if(count_bai>=5)
  55.     count_bai=0;
  56.     textdata1++;
  57.     if(textdata1>=59999)
  58.         textdata1=0;
  59.     speed_ji=FTM1_CNT;//電機速度
  60.     angle_ji+=speed_ji;
  61.     FTM1_CNT=0;   
  62.     spd2=FTM2_CNT;
  63.     speed_bai=spd2-spd1;//擺桿速度
  64.     spd1=spd2;
  65.     if(angle_bai>800&&angle_bai<1300)
  66.     {   
  67.         daoli_PID(angle_bai);      
  68.         motor_control(0,bai_speed);
  69.         pwm_control(real_L-real_R,0);
  70.             
  71.     }
  72.     PIT_Flag_Clear(PIT3);           //清中斷標志位
  73. }
  74. //主函數
  75. void main()
  76. {
  77.     LCD_init();
  78.     KEY_init();
  79.     LCD_display_full(BLUE);   
  80.     motor_init();
  81.     boma_INIT(6);
  82.     iii=1;
  83.     while(1)
  84.     {   
  85.         key_check();            //檢測按鍵狀態        
  86.         if(KEYX==KEY_UP)iii++;     //準備開始
  87.         if(KEYX==KEY_DW)iii--;     //準備開始
  88.         if(iii==0)iii=7;
  89.         if(iii==8)iii=1;
  90.         for(u8 j=1;j<8;j++)
  91.         {
  92.             if(j==iii)
  93.             {
  94.                 LCD_P16x16Str(2,j-1," ",BLACK,BLUE);
  95.                 LCD_P16x16Str(7,j-1,"←",BLACK,BLUE);
  96.             }
  97.             else
  98.             {
  99.                 LCD_P16x16Str(7,j-1," ",BLACK,BLUE);
  100.                 LCD_P16x16Str(2,j-1," ",BLACK,BLUE);
  101.             }
  102.         }        //GUI(iii);//界面
  103.         if(KEYX==KEY_START)     //確認進入當前選項
  104.         {
  105.             key_check();
  106. ……………………

  107. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

完整論文下載(word格式 可編輯):
設計報告.doc (551 KB, 下載次數: 197)



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏9 分享淘帖 頂3 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2017-6-3 17:55 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

板凳
ID:298568 發表于 2018-3-28 21:09 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

地板
ID:291031 發表于 2018-3-29 13:08 | 只看該作者
好資料
回復

使用道具 舉報

5#
ID:328599 發表于 2018-5-22 23:11 | 只看該作者
需要得資料,急需
回復

使用道具 舉報

6#
ID:458192 發表于 2018-12-29 17:49 | 只看該作者
最近在一直學習倒立擺相關內容,這個有很大的幫助,多謝分享
回復

使用道具 舉報

7#
ID:477675 發表于 2019-2-18 13:23 | 只看該作者
APPRECITED IT
回復

使用道具 舉報

8#
無效樓層,該帖已經被刪除
9#
ID:484228 發表于 2019-3-4 14:28 | 只看該作者
學習學習
回復

使用道具 舉報

10#
ID:516675 發表于 2019-5-8 16:48 | 只看該作者
樓主有沒有程序的源碼,有償
回復

使用道具 舉報

11#
ID:245338 發表于 2019-5-14 17:10 | 只看該作者
是一份好的資料。
回復

使用道具 舉報

12#
無效樓層,該帖已經被刪除
13#
ID:579291 發表于 2019-7-7 10:51 | 只看該作者
感謝分享
回復

使用道具 舉報

14#
ID:688894 發表于 2020-1-30 23:56 | 只看該作者
樓主 MATLAB仿真怎么弄
回復

使用道具 舉報

15#
ID:609509 發表于 2020-2-1 21:25 | 只看該作者
想問一下 編碼器的線與轉軸如何處理的?
回復

使用道具 舉報

16#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表