滾球控制系統(tǒng)設計報告10頁_第1頁
滾球控制系統(tǒng)設計報告10頁_第2頁
滾球控制系統(tǒng)設計報告10頁_第3頁
滾球控制系統(tǒng)設計報告10頁_第4頁
滾球控制系統(tǒng)設計報告10頁_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2017年全國大學生電子設計競賽設計報告滾球控制系統(tǒng)(B題)【本科組】 摘要:本系統(tǒng)采用STM32F103ZET6最小系統(tǒng)板為控制中心,利用OV7670攝像頭、顯示器、按鍵、S010舵機、小球、萬向節(jié)、平板支架構成滾球控制系統(tǒng)。單片機利用攝像頭采集到的數(shù)據(jù),確定小球的位置坐標,通過PID閉環(huán)控制舵機PWM輸出打角拉動支撐桿,控制平板傾斜度達到小球滾到指定區(qū)域停留等狀態(tài)??刂葡到y(tǒng)采用PID算法組成閉環(huán)控制系統(tǒng)具有很好的穩(wěn)定性,此外通過TFT顯示屏顯示小球位置,各個功能的實現(xiàn)可以通過按鍵輸入。I一、系統(tǒng)方案本系統(tǒng)主要由單片機控制模塊、攝像頭模塊、LCD顯示屏模塊、電源模塊、舵機及平板機械支架構成組

2、成。STM32作為滾球系統(tǒng)的控制核心,利用攝像頭采集過來的數(shù)據(jù)通過黑白二值化,以此判別平板和黑色球并顯示在LCD上。攝像頭對滾球準確定位,確定其坐標位置,同時記錄平板規(guī)定的9個區(qū)域坐標,單片機通過返回的坐標位置結合PID算法,給定舵機PWM輸出形成閉環(huán)控制系統(tǒng),從而控制小球去到指定區(qū)域保持平衡。同時,可通過矩陣按鍵選擇功能模式,與設計任務一一對應的,系統(tǒng)的總體方案框圖見圖1。圖1 系統(tǒng)總體方案框圖1、主控制器件的論證與選擇方案一:采用STC89C52單片機作為控制模塊的核心。STC89C52使用經(jīng)典的MCS-51內核,但做了很多的改進使得芯片具有傳統(tǒng)51單片機不具備的功能。但其能使用的I/O口

3、很少,ROM空間不足,不適合采用STC89C52為主控芯片。方案二:采用STM32103FZET6單片機為主控器。STM32運行速度快,片上資源豐富,具有很多外圍接口,可拓展性強,靈活性高。完全可以實現(xiàn)本系統(tǒng)的各個設計任務,具有良好的響應速度。 通過比較,我們選擇方案二。2、滾球控制系統(tǒng)方案選擇方案一:采用MPU6050三軸陀螺儀。利用三軸陀螺儀可以算出平板的當前位置姿態(tài),具有測量精確、結構簡單等優(yōu)點,但考慮到小球需要到平板指定的9個區(qū)域,MPU6050傳感器很難確定其準確位置,可靠性差。方案二:選用攝像頭對小球準確定位,根據(jù)題目給出的具體要求,采集攝像頭檢測到的數(shù)據(jù)傳給單片機二值化處理,以此

4、確定小球的位置坐標以及與目的坐標的偏差,反饋給單片機,實現(xiàn)更加精確的控制,而且通過LCD顯示,更加直接有利于調試。綜合以上兩個方案,本系統(tǒng)選擇方案二。 3、滾球運動控制的論證與選擇方案一:采用推桿直線電機。電推桿是通過將電動機的旋轉運動轉變?yōu)橥茥U往復直線運動的電力驅動裝置。利用多個電推桿可推動平板進行上下運動,但電推桿響應速度慢,而且需要很大的驅動電流,消耗功率大,還要加裝繼電器保護,比較繁瑣。方案二:采用S010舵機。該舵機為伺服電機,通過舵柄轉換成旋轉運動來打到不同的角度,再加上裝支撐桿就可以控制平板的上下運動。舵機三條控制線,分別為:電源、地及信號線,不需要驅動模塊,只要單片機輸出信號P

5、WM就可以控制舵機打角。綜合考慮采用方案二。4、顯示器的論證與選擇方案一:采用OLED顯示器。該顯示屏可顯示漢字,不需用到背光板,具有輕薄短小、低耗電量,但為單色顯示,界面效果受限。方案二:選用TFTLCD顯示器。TFTLCD顯示屏分辨率高,真彩顯示,可顯示的界面豐富。方便繪圖和編程控制,更有利于人機界面的操作控制,適用于較為功能性強的的控制系統(tǒng)。綜合以上兩種方案,選擇方案二。二、系統(tǒng)理論分析與計算1、小球的精準定位分析 通過OV7670攝像頭采集圖像進行二值化處理,用兩個嵌套for循環(huán)可以計算得出小球在x軸和y軸上被掃描到最邊上的兩個值x-min、x-max和y-min、y-max,然后分別

6、將x軸和y軸的最大最小值求和,再除以2,就可以得出小球的坐標x和y值。2、執(zhí)行機構裝置的分析 方案一:采用4個舵機作為執(zhí)行機構,對稱分布在平板四周,通過4個舵機不同的PWM輸出來控制平板的運動從而控制小球的滾動,但4個舵機控制存在很大的不確定性,算法較為復雜。方案二:采用2個舵機和一根帶萬向節(jié)的支撐桿等邊三角形分布,構成執(zhí)行機構。采用二維平面X,Y方向來控制平板的運動,另外一根帶萬向節(jié)的支撐桿起到很好的連動作用,機械上更加簡單,易于PID算法控制。綜上以上方案,選擇方案二。3、控制PID的計算 在系統(tǒng)控制中,按偏差的比例(P)、積分(I)和微分(D)進行控制的PID控制。以下是PID的公式:u

7、(t)=Kpet+1Ti0tetdt+Tdde(t)dt控制點目前包含三種比較簡單的PID控制算法,分別是:增量式算法,位置式算法,微分先行。鑒于本系統(tǒng)通過小球坐標與目標位置坐標的偏差,只調節(jié)比例P、微分D的PD的增量式算法,即利用目的坐標與偏差的PD調節(jié),控制滾球閉環(huán)控制系統(tǒng),達到穩(wěn)態(tài)無靜差。三、電路與程序設計1、電路的設計采用STM32ZET6最小系統(tǒng)板,外接攝像頭模塊、顯示模塊、按鍵模塊、電源模塊及舵機執(zhí)行機構。外設接口模塊電路見圖2。圖2 外設接口電路(2)電源模塊單片機采用3.3V供電,顯示器5V供電以及舵機6V供電。電源電路見附錄1。2、程序的設計(1)程序功能描述與設計思路1、程

8、序功能描述根據(jù)題目要求軟件部分主要實現(xiàn)鍵盤的設置和顯示。1)鍵盤實現(xiàn)功能:采用3乘3的矩陣鍵盤,從左到右,從上到下依次排序,按鍵1至7依次控制開啟和關閉任務1-7的要求,按鍵9為PID調節(jié)模式控制按鈕。PID調節(jié)模式中按鍵4和7為調節(jié)平板內部區(qū)域的KP1值大小,按鍵5和8為調節(jié)平板內部區(qū)域的KD1值大小,按鍵5和8為調節(jié)平板邊緣區(qū)域的KP2值大小;2)顯示部分:顯示小球的在平板上坐標,任務需要到達的坐標,實時坐標值與目標坐標值的差值,平板上的9個區(qū)域,小球的模擬圖像,兩個舵機的輸出值,任務序號,任務計時時間,小球在區(qū)域停留的時間。2、程序設計思路進入系統(tǒng),先選擇進入校準模式,按鍵調節(jié)舵機的輸出

9、值,以達到平板的平衡,并保存為平衡值;通過OV7670攝像頭采集平板的圖像二值化,并把二值化圖像顯示在LCD屏上以找到區(qū)域1、5、9并保存重新定義區(qū)域位置來減少調節(jié)平板和攝像頭因碰撞或搬運的而產(chǎn)生的誤差。通過二值化尋到小球坐標,與目標坐標的差值,通過PD算法,調節(jié)舵機的輸出值來調節(jié)平板的上下運動,讓小球達到任務所需要的目標坐標。(2)程序流程圖1、主程序流程圖四、測試方案與測試結果1、測試方案(1)硬件測試檢測焊接的單片機外接設備能否正常工作,攝像頭采集顯示到顯示屏是否穩(wěn)定并判別平板和小球;檢測電源提供的電壓、電流供模塊使用是否達到穩(wěn)壓值;平板及舵機裝置靜置是否平衡;檢測按鍵能否實現(xiàn)不同任務。

10、(3)硬件軟件聯(lián)調通過按鍵和TFTLCD顯示器達到人機交互,測試滾球運動與實際偏差可以按按鍵選擇調節(jié)KP1、KD1系數(shù),控制舵機PWM輸出,調試滾球控制系統(tǒng)。2、測試條件與儀器測試條件:檢查多次,仿真電路和硬件電路必須與系統(tǒng)原理圖完全相同,并且檢查無誤,硬件電路保證無虛焊。測試儀器:萬用表、水平儀、秒表。3、測試結果及分析(1)測試結果(數(shù)據(jù))滾球控制系統(tǒng)工作,將小球置于平板區(qū)域1上,記錄平板開始運動使小球達到中心區(qū)域平衡的時間,測定其最佳的PD參數(shù)。 KP KD67891.36s7s6s10s1.64s5s6s6s1.97s7s8s9s 任務1:穩(wěn)定小球在區(qū)域2,停留不少于5s。任務2:控制

11、小球由區(qū)域1進入?yún)^(qū)域5,在區(qū)域5停留不少于2s。 測試次數(shù)第一次測試第二次測試第三次測試第四次測試時間(s)4554任務3:控制小球由區(qū)域1進入?yún)^(qū)域4,在區(qū)域4停留不少于2s,再進入?yún)^(qū)域5停留不少于2s。測試次數(shù)第一次測試第二次測試第三次測試第四次測試達到區(qū)域4時間4555停于區(qū)域5時間1091210任務4:控制小球由區(qū)域1進入?yún)^(qū)域9,在區(qū)域9停留不少于2s。測試次數(shù)第一次測試第二次測試第三次測試第四次測試時間(s)20191514(2)測試分析與結論根據(jù)上述測試數(shù)據(jù),通過調節(jié)PD參數(shù),控制平板的傾斜程度,使小球進入?yún)^(qū)域和沖過區(qū)域的不同狀態(tài)具有良好的跟隨性、準確性、快速性,由此可以得出以下結論

12、:1、單獨增大KP,KD不變,平板傾斜度更大,小球滾動趨勢大,當小球距離目的坐標近時,平板也會有大的傾角。2、微分KD起到微調和超調的作用,當小球靠近區(qū)域圓時,有剎車防止小球沖過區(qū)域的作用。結合適當?shù)谋壤齂P參數(shù),微調微分KD,系統(tǒng)可以有較好的跟隨性和穩(wěn)定性。3、通過實驗證明,當小球在規(guī)定的9個圓形區(qū)域時,設置比例參數(shù)KP為1.6,微分參數(shù)KD為6,小球達到目標區(qū)域時間短;當小球在圓形區(qū)域外時,KP取值為5,使平板有大的傾角,足夠將小球拉回來。4、采用動態(tài)P,設計小球從1到9區(qū)域的路線使其有較好的緩沖,克服因P值太大給小球的慣性沖出平板。綜上所述,本設計達到設計要求。五、參考文獻1譚浩強.C語

13、言程序設計M.北京:清華大學出版社,2012.2 張興.電力電子技術M.科學出版社,2010.3 孫林軍.基于STM32控制液晶的接口實現(xiàn)J.電視技術,2013.4 韓國棟.Altium Designer Winter 09電路設計入門與提高M.化學工業(yè)出版社,2010.附錄1:電路原理圖附錄1 系統(tǒng)電路原理圖附錄2:源程序#include stm32f10x_it.h #include led.h#include delay.h#include key.h#include sys.h#include lcd.h#include usart.h#include timer.h#include

14、dj_pwm.h#include ov7670.h#include exti.h#include extern u8 ov_sta;extern u8 ov_frame;u8 key;/按鍵標志位int test=0;/測試標志位u16 PWM_X=160,PWM_Y=150;/A1,A2腳的pwm輸出u16 PWM_X_init=160,PWM_Y_init=150;/A1,A2初始值u16 PWM_X_Min=125,PWM_Y_Min=115;/PWM輸出限幅外區(qū)域u16 PWM_X_Max=195,PWM_Y_Max=185;u16 PWM_X_Min2=135,PWM_Y_Min2=

15、125;/PWM輸出限幅內區(qū)域u16 PWM_X_Max2=185,PWM_Y_Max2=175;u8 PWM_Value=1;/按鍵可改變PWM數(shù)值u8 Task_flag=0;/任務標志u8 Task_flag2=0;/任務標志2u16 Task_time=0;/任務時間u16 Stop_time=0;/區(qū)域停留時間u8 time_Task_flag=0;u8 time_Stop_flag=0;float Kp1=1.6,Kd1=6;/1 P和D 在圓內float Kp2=3;/2 在圓外u16 GOAL_X=120,GOAL_Y=80;/目標坐標float Err_X,Err_Y=0;/

16、坐標差值float Err_X_LAST,Err_Y_LAST=0;u8 ball_r=5,QY_r=6,WC_value=1;/小球半徑,允許誤差 *0.25cmu16 X,Y=0;/小球的質心位置u16 X_MAX=0, X_MIN=240; /小球的坐標u16 Y_MAX=40, Y_MIN=280;u16 X_MAX_LSAT, X_MIN_LSAT, Y_MAX_LSAT, Y_MIN_LSAT=0; /上一次小球的坐標位置u16 X_MIN_RANGE=0,X_MAX_RANGE=240;/掃描判斷區(qū)域u16 Y_MIN_RANGE=40,Y_MAX_RANGE=280;u8 QY

17、_number=0;/所在的區(qū)域u16 QY_X1=40,QY_X2=120,QY_X3=200;/區(qū)域坐標 行X 40 120 200u16 QY_Y1=80,QY_Y2=160,QY_Y3=240;/區(qū)域坐標 列Y 80 160 240void KEY_RUN(void);void camera_refresh(void);/更新攝像頭void PWM_Control(void);/更新PWM輸出void LCD_Control(void);/更新LCD顯示void location(void);/更新位置判別void Test(void);/校準測試void Test_Blance(vo

18、id);/校準測試1平衡void Test_OV1(void);/校準測試2攝像頭1void Test_OV5(void);/校準測試3攝像頭5void Test_OV9(void);/校準測試4攝像頭9void Task(void);/任務函數(shù)void Done_Task(void);/更新任務進度void Fand_Goal(void);/尋小球坐標函數(shù) int main(void) delay_init(); /延時函數(shù)NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); uart_init(115200); LED_Init(); KEY_Init();LCD_Init(); LCD_Clear(WHITE);POINT_COLOR=BLACK; /設置字體黑色 PWM_X=PWM_X_init; /賦值PWM輸出PWM_Y=PWM_Y_init; DJ1_PWM_INIT(499,719,PWM_X,PWM_Y);/舵機頻率200HZ 50-250 60-240 中值160 160 TIM2P2-A1 TIM2P3-A2 LCD_ShowString(50,150,150,24,24,(unsigned char*)Waiting .);while(OV7670_Init(); /初始化OV76

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論