久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

風力擺控制系統賽題解析與stm32源代碼

[復制鏈接]
跳轉到指定樓層
樓主
第一步,控制系統選型:剛才說了,我們需要做一個伺服隨動控制系統,通常衡量伺服系統
性能的指標有“帶寬”、“精度”、“抗干擾能力”等。先說系統帶寬,帶寬反映風力擺跟蹤的快 速性。帶寬越大,快速性越好。風力擺控制系統的帶寬主要受到控制對象和執行機構的慣性 的限制。慣性越大,帶寬越窄。根據題目要求做“自由擺運動”,由單擺周期公式可以求得風 力擺的擺動周期 T 在 1.3-1.6 秒之間,換算成頻率 f 在 0.625-0.77Hz 之間,大家可以自己掐 表計算一下擺動的周期。由此可知我們需要設計出一個帶寬大于 0.77Hz 的控制系統(取0.8Hz)即可完成題目的要求。出題的專家制定的這個指標還是簡單的,要知道現代伺服控 制系統帶寬已經超過了 50Hz。角度采樣率根據奈奎斯特采樣定理,理論上選取 fs>2f 即可, 但是題目中要求了系統最大調節時間,為了使得控制效果更好,需要取 fs>10f 甚至更高, 在本次設計中采樣率選取 200Sa/s,控制周期 5ms。


第二步,電機選型:這是本題的最大爭議,在此我也不想把這個爭議擴大,所以我不討論電 機是否違規的問題。現在從實現效果這個角度來討論電機的選型,不管黑貓白貓,抓到老鼠 就是好貓!
我把軸流電機、空心杯電機、無刷電機做成一個表格。
電機
重量
推重比
頻率響應
機動性
抗干擾能力


軸流電機




<0.5


<2Hz


較低




空心杯




3~8


4-8Hz


較高


很弱
無刷電機
7~12
3-7Hz
適中
主要看推重比和機動性這一欄,推重比、機動性是航空器的專業術語,發動機在水平面上的
最大推力和發動機的凈重之比稱為推重比。機動性是指風力擺在一定時間內改變運動速度、 方向的能力。


從這個表格來看,推重比是我們選擇電機的重要指標,而機動性是整個風力擺靈活性的重要 指標。注意到賽題目說明部分的第 9 條:“賽題中要求的各項動作完成時間越短越好”。毫無 疑問,出題人已經說明了要盡可能的提高系統的機動性。從最優實現效果來看,無刷電機和 空心杯電機是更優的選擇。但是為什么有人用軸流電機也能完成題目要求呢?答案就在頻率 響應上,第一步已經分析了系統帶寬 0.8Hz 即可滿足題目要求。如果題目規定 15 秒內完成20 個單擺運動,這個難度就上來了,因為用軸流電機的系統帶寬不夠了。但是采用軸流電 機有個好處,在圓周運動時即使做開環控制風扇干擾幾乎吹不動。

第三步,傳感器選型:我們再說說精度(檢測誤差),檢測誤差包括傳感器的誤差和機械誤 差,是傳感器和機械本身所固有的,控制系統無法克服。根據題目給出的±2.5cm 偏差可以知傳感器精度只要達到 0.5°就可以了,所以用 MPU6050 傳感器是可以達到題目要求的。機 械誤差則要求機械完美的對稱,所有的東西都要對稱,機械做的越好,最后出來的效果就越 好。至于傳感器的數據融合、濾波器設計部分請看程序貼圖:計算三次角度然后求平均值, 再經過卡爾曼濾波器濾波的角度值就可以使用了。角度數據一定要穩定,無高頻干擾![/hide]

算法設計
當硬件 OK 以后算法就是整個系統的核心靈魂了,俗話說條條大路通羅馬,能夠達到題目要 求的方法有很多,這次比賽童鞋們用的算法大概有幾種方式:邏輯判斷法、查表法,定點 PID 法,力合成法,矢量方程法等等。有的隊直接采用查表法開環控制也能取得不錯的成績, 只要能夠達到要求的算法都是OK 的。

說一下我的算法設計吧,出題人在第一問就告訴了要做自由擺運動,從自由擺可以聯想到
2011 年的 B 題——基于自由擺的平板控制系統。這是一個單擺,但是單擺是非線性運動, 我們通常會把非線性的東西通過某種思路去近似成線性的(如二極管的伏安特性曲線等效模 型),在單擺中,當采樣率足夠高時兩個采樣點之間的連線可以近似看成是線性的,有木有 感到很熟悉?在高中物理學過了簡諧運動,物體所受的力跟位移成正比,并且總是指向平衡 位置。這是一種由自身系統性質決定的周期性運動。(如單擺運動和彈簧振子運動)實際上簡諧振動就是正弦振動!其數學方程為θ(t)=Asin(ωt+ψ),A 是振幅,ω是頻率,ψ是相位。

好!說到這,來直接看一下題目第二問的要求(第一問直接跳過)。題目要求幅度可控,幅 度可控是啥?不就是振幅 A 可控嘛,可控范圍是多少?30-60cm 換成角度。好了,分析完 了,第二問就是一個 A 可設置的正弦運動,OK。至于線性度偏差,只要你機械搭對稱了, 這都不是問題,況且別忘了有 X,Y 兩個方向的電機呢。
把第二問的程序貼圖出來:
第三問,擺動方向可設置。這里需要介紹一個知識點了:李薩茹圖形。當風力擺同時參與兩
個相互垂直方向的簡諧振動,風力擺的位移是這兩個振動的位移的矢量和,如果兩個振動的 頻率具有整數比關系時,風力擺的運動路徑是穩定的封閉的曲線,這些曲線即李薩如圖形。 具體的理論推導和計算這里就不貼出來了,可以自行百度,現在直接把結論貼出來,李薩茹 圖形由以下參數方程定義:
x(θ)=Asinθ y(θ)=Bsin(θ+ψ)
若 A=B,ψ=任意,則曲線是橢圓;


若 A=B,ψ=π/2 或 3π/2,則曲線是圓;

若ψ=0 或π,則曲線是直線段。

直接看圖清晰明了,第三問我們只需要在 X,Y 方向分別進行頻率相同,相位ψ=0 或π,振幅A,B 可設置的簡諧運動即可很好的完成題目的要求。 例如,想要 45°怎么辦?tan45=1,設置振幅 A/B=1 即可:
x(θ)=10*sinθ y(θ)=10*sinθ
例如,想要 60°怎么辦?tan60=根號 3,設置振幅 A/B=根號 3 即可:
x(θ)=根號 3*sinθ y(θ)= 1*sinθ
例如,想要 120°怎么辦?tan120=-根號 3,設置振幅 A/B=-根號 3 即可:
x(θ)=-根號 3*sinθ y(θ)= 1*sinθ 細心的童鞋一定會發現,出題人對第三問的要求簡單了,只要求擺動角度可控,但是通過上 述方法不僅角度可控,擺長也是可控的!

把第三問的程序貼圖出來:

第四問,5 秒內能夠制動。這個沒有什么運動路徑可言,純粹是考察大家的 PID 是否熟練掌
握,PID 目標值設為 0°即可。注意 D 要給大一些,不要有積分。 第四問的程序圖:

第五問,畫圓。出題人通過基礎部分一步一步引導完成畫圓,真是用心良苦。如果能夠領 會出題人的想法,把第二問、第三問完成好,這一問是水到渠成的事情。再次把第三問的圖 貼出來,如何畫圓?
若 A=B,ψ=π/2 或 3π/2,則曲線是圓! OK!完成了,這是圓,而且畫出來很圓!如果畫出了橢圓,一定是相位ψ有偏差,調節一下 相位即可!
第五問的程序貼圖:
細心的童鞋會發現,題目做到這一步,θ(t)=Asin(ωt+ψ)這個方程就是貫穿本題的核 心!如果你的系統做得足夠好,就會發現這個方程的每一個參數你都可以自由的控制,結果 就是你不僅可以讓擺幅可控、擺動周期可控、擺動方向可控,而且可以畫出以下這些曲線:

第六問:畫圓抗干擾。考察伺服系統的抗擾動能力,出題人用這一問來把開環,半開環控制
和閉環控制的隊伍拉開距離。當一個干擾過來的時候,風力擺的運動方程肯定不是 θ(t)=Asin(ωt+ψ)了,題目給出了系統最大調節時間為 5 秒,能夠在 5秒內恢復 Asin(ωt+ψ) 即可。這就牽扯到了伺服控制系統的重要指標——快速跟蹤和準確定位。有很多種算法可以 選擇,例如常見的 LQR、自適應、模糊控制、神經網絡等等。相信絕大部分還是用了經典 的 PID 算法,簡單,快速,效果尚可!就看誰的 PID 調得熟練了,這個需要功夫在平時, 多調多想多看就 OK!PID 需要調成大概是這樣的波形,能夠在一個周期之內快速跟蹤正弦 運動:
如果你調成這樣的波形是不行的,需要把 K 降下來,D 調高:

如果調成這樣,波形相似相位跟不上,系統慣性大,請把 D 調高。

第七問:其他部分,今年出題人給其他項分配了 10 分,想拿高分的隊伍是必須拿下這 10 分的。前面說了,如果你的控制器做得足夠好,是能夠畫出花樣百出的圖形的,有很大的發 揮余地。有的隊伍是畫三角形、正方形、畫 8 字,有的是做跟蹤物體、手寫寫字、畫斜直線, 做漂亮的 GUI 界面等等都有。根據以往經驗,在有限的時間內建議不要把時間花在漂亮的 GUI 界面上,要放在更多的運動控制上,牢牢把握題目考察的側重點拿分!

總的來看,今年這道題目難度適中,出題人還是考慮得比較周全的,讓各種風機各種算法都 能夠達到要求,眾口難調,確實不簡單。同時也反映了電賽控制類的趨勢。從 2011 年的小 車這種純邏輯判斷的題目到 2013 年倒立擺這種定點穩態系統再到 2015 年風力擺的動態跟 蹤系統,實現了從邏輯到算法、從靜態到動態、從二維到三維的轉變,準備 2017 年電賽控 制類的同學要多多留心了。個人感覺功夫還需在平時,搞突擊是不行的,多參加比賽,多接 觸實際的項目好處多多,機會留給有準備的人,相信你也可以!


stm32單片機源程序如下(主程序):
  1. /*-------------------------------------------------------------------------------------------
  2.                                                    風力擺控制系統(2015-8-12)

  3. 硬件平臺:
  4.                          主控器: STM32F103VET6 64K RAM 512K ROM
  5.                         驅動器: LMD18200T
  6.                     電源:   DC +12V

  7. 軟件平臺:
  8.                          開發環境: RealView MDK-ARM uVision4.10
  9.                         C編譯器 : ARMCC
  10.                         ASM編譯器:ARMASM
  11.                         連接器:   ARMLINK
  12.                         底層驅動: 各個外設驅動程序      

  13. 時間: 2015年8月12日      

  14. 作者: BoX
  15. -------------------------------------------------------------------------------------------*/   
  16. #include "stm32f10x.h"
  17. #include "usart1.h"                                         
  18. #include "delay.h"
  19. #include "led.h"
  20. #include "timer.h"
  21. #include "motor_control.h"
  22. #include "motor_pwm.h"
  23. #include "motor_pid.h"
  24. #include "stdlib.h"
  25. #include "indkey.h"
  26. #include "mpu6050.h"
  27. #include "ahrs.h"
  28. #include "math.h"
  29. #include "usart2.h"
  30. /*------------------------------------------
  31.                                  全局變量                                
  32. ------------------------------------------*/
  33. extern uint8_t Q1_Start;
  34. extern uint8_t Q2_Start;
  35. extern uint8_t Q3_Start;
  36. extern uint8_t Q4_Start;
  37. extern uint8_t Q5_Start;
  38. extern uint8_t Q6_Start;
  39. extern uint8_t CurMode;
  40. /*-----------------------------------------
  41.                             初始化外設
  42. ------------------------------------------*/
  43. void BSP_Init(void)
  44. {
  45.         DelayInit();
  46.         LED_GPIO_Config();
  47.         Key_IO_Init();        
  48.         PID_M1_Init();
  49.         PID_M2_Init();
  50.         M1TypeDef_Init();
  51.         M2TypeDef_Init();        
  52.         PWM_Init();
  53.         TIM1_Config(10000-1,71);  /* TIM1 10ms Inturrupt  */
  54.         TIM5_Config(5000-1,71);   /* TIM5 5ms Inturrupt 采樣率200Hz 不能更改*/
  55.         USART1_Config();
  56.         USART1_printf(USART1," 系統啟動成功!");
  57.         USART2_Config();
  58.         Display_Title();
  59.         MPU6050_Init();                  //MPU6050                                                                           
  60.         TIM_Cmd(TIM5,ENABLE);            //電機控制都在TIM5完成
  61.         TIM_Cmd(TIM1,ENABLE);
  62. }
  63. /*-----------------------------------------
  64.                                 主 函 數
  65. ------------------------------------------*/
  66. int main(void)   
  67. {   
  68.         BSP_Init();
  69.         //角度采樣和運動控制都在TIM5_IRQHandler()中完成
  70.         while(1)  
  71.         {         
  72.                 if(Q1_Start == 1)
  73.                 {
  74.                         CurMode = 1;
  75.                 }
  76.                 else if(Q2_Start == 1)
  77.                 {
  78.                         CurMode = 2;
  79.                 }
  80.                 else if(Q3_Start == 1)
  81.                 {
  82.                          CurMode = 3;
  83.                 }
  84.                 else if(Q4_Start == 1)
  85.                 {
  86.                          CurMode = 4;
  87.                 }
  88.                 else if(Q5_Start == 1)
  89.                 {
  90.                         CurMode = 5;
  91.                 }
  92.                 else if(Q6_Start == 1)
  93.                 {
  94.                         CurMode = 6;
  95.                 }
  96.                 else
  97.                 {
  98.                         CurMode = 0;
  99.                 }        
  100.         }     
  101. }

  102.         
復制代碼

所有資料51hei提供下載地址(完整源碼+pdf):
http://www.zg4o1577.cn/bbs/dpj-92234-1.html





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

使用道具 舉報

沙發
ID:405033 發表于 2019-4-10 16:36 | 只看該作者
樓樓,請問這個主控板是什么型號的呢
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 干干干操操操 | 国产日韩欧美一区二区 | 在线看av网址 | 精品久久久久久久久久久久 | 亚洲五码在线 | 国产一区二区三区视频在线观看 | 天堂视频一区 | 亚洲精品乱码久久久久久蜜桃91 | 国产亚洲精品久久久久久豆腐 | 色婷婷亚洲国产女人的天堂 | 紧缚调教一区二区三区视频 | 日韩一区二区三区视频在线观看 | 中文字幕av在线播放 | 三级av在线 | 欧美精品网站 | 久久精品视频在线观看 | 亚洲视频中文字幕 | 欧美99 | 狠狠ri | 男人的天堂在线视频 | 亚洲二区在线 | 野狼在线社区2017入口 | 成人福利片 | 欧美日韩视频在线 | 嫩草视频在线免费观看 | 青青久久 | 做a视频在线观看 | 91精品国模一区二区三区 | 黑人巨大精品 | 男人天堂网址 | 久久久久久久久久一区 | 国产91久久久久久久免费 | 91porn在线 | 91麻豆久久久 | 日本a级大片 | 亚洲欧美一区二区三区在线 | 国产午夜精品一区二区三区嫩草 | 亚洲精品一区二区三区中文字幕 | 成人一区二区三区在线 | 国产999精品久久久久久绿帽 | 亚洲精品18 |