freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的微型四旋翼飛行器設(shè)計(參考版)

2024-11-16 14:56本頁面
  

【正文】 if(n_Speed_Y0) Speed_Out_Y_R=n_Speed_Y。 n_Speed_Y=nP_Y+nD_Y。 nP_Y=Aircraft_Angle_Y*Aircraft_P_Y。} //矢量輸出 if(n_Speed_X0) {Speed_Out_X_R=n_Speed_X。 //角度融合 OutData[3]=n_Speed_X。 //微分 OutData[2]=nD_X。 OutData[1]=nI_X 。 if(Integration_Error_X1600)Integration_Error_X=1600。 Integration_Error_X+=Error_Angle_X[0]。 nP_X=Aircraft_Angle_X*Aircraft_P_X。//。 Value_Register = (Air_AcceVal_Y Aircraft_Angle_Y)。 煙臺大學(xué)畢業(yè)論文(設(shè)計) 32 Value_Register =Get_GYRO_X*。 Value_Register =Get_ACCE_Y*。 Aircraft_Angle_X+=(Air_GyroVal_X+Value_Register)*。 Error_Angle_X[2]=Error_Angle_X[1]。 //數(shù)值歸一 Air_GyroVal_X =(Gyro_Revise_Val_XValue_Register)。 //數(shù)值歸一 Air_AcceVal_X =(Value_RegisterAcce_Revise_Val_X)。 endif void Angle_calculate(void) { float Value_Register。 float Aircraft_I_Y=0。//。 float Aircraft_I_X=。 define Filter_Method 1 // 濾波方式選擇, 0:卡爾曼濾波 其他:互補濾波 if Filter_Method == 0 //卡爾曼濾波 else //互補濾波 float Aircraft_P_X=。 float Speed_X=0。 煙臺大學(xué)畢業(yè)論文(設(shè)計) 31 float Error_Angle_Y[4]={0}。 //修正后的角速度 float Air_GyroVal_Y。 float Speed_Out_X_L_Old,Speed_Out_X_R_Old,Speed_Out_Y_L_Old,Speed_Out_Y_R_Old。 float Set_Angle_X=0。 float Error_Angle_X[4]={0,0,0}。 //修正后的角速度 float Air_GyroVal_X。 } } SPI_NRF_WriteReg(NRF_WRITE_REG+STATUS,state)。 BACK=0。 DOWN=0。 STOP=0。 HOVER=0。 FORWARD=0。 UP=0。 } 煙臺大學(xué)畢業(yè)論文(設(shè)計) 30 if(rxbuf[0]==0xDF) { START=1。 BACK=0。 DOWN=0。 STOP=0。 HOVER=0。 FORWARD=0。 UP=0。 } if(rxbuf[0]==0xF7) { START=1。 BACK=0。 DOWN=0。 STOP=0。 HOVER=0。 FORWARD=0。 UP=0。 } if(rxbuf[0]==0xFD) { START=0。 BACK=0。 DOWN=0。 STOP=0。//讀取數(shù)據(jù) Uart1Purchar(rxbuf[0])。 /*判斷是否接收到數(shù)據(jù) */ if(stateamp。 //MCU 與 NRF 不正常連接 } void NRF_Rx_Dat(u8 *rxbuf) { u8 state。 } if(i==5) Uart1Purchar(0x11)。i5。 /*讀出寫入的地址 */ SPI_NRF_ReadBuf(TX_ADDR,buf1,5)。 u8 i。 // } void NRF_Check(void) { u8 buf[5]={0xC2,0xC2,0xC2,0xC2,0xC2}。 //讀取高 8 位數(shù)據(jù) geted_date|=I2C_Read(Addr+1)。 2g } 煙臺大學(xué)畢業(yè)論文(設(shè)計) 28 short getdata(uint8_t Addr) { short geted_date=0。 /s I2C_Write(ACCEL_CONFIG, 0x01)。 //設(shè)置陀螺儀的量程為177。 //設(shè)置陀螺儀的采樣頻率 I2C_Write(CONFIG, 0x06)。 } } void Init_MPU6050() { I2C_Write(PWR_MGMT_1, 0x00)。 NRF_Check()。 Init_MPU6050()。 UART_Configuration()。 EXTI_Configuration()。 TIM3_Configuration()。 GPIO_Configuration()。//J2 電機(jī) CCR3_Val=0。//J4 電機(jī) CCR1_Val=0。 SPI_Configuration()。 當(dāng)然還有 王 **院長及所有給我上過課的老師們,是你們將我的自動化知識體系一點一點筑起來的,這些知識,足以讓我在社會立足,找到作為自動化人的自信!謝謝! 煙臺大學(xué)畢業(yè)論文(設(shè)計) 26 參考文獻(xiàn) [1]劉杰 .四軸飛行器研究與設(shè)計 [D].南京:南京郵電大學(xué) . [2] Unmanned Aerial Vehicles Dynamic Model[R]. [3]梁延德,程敏,何福本,李航 .互補濾波器的四旋翼飛行器姿態(tài)解算 [J].大連:大連理工 大學(xué) .2020:3011 [4]聶博文,馬宏緒,王劍, 王建文 .微小型四旋翼飛行器的研究現(xiàn)狀與關(guān)鍵技術(shù) [J].長沙 國防科學(xué)技術(shù)大學(xué) .:146 [5]楊慶華,宋召青,時磊 .四旋翼飛行器建模、控制與仿真平 [J].煙臺:海軍航空工程學(xué) 學(xué)報 .:524 [6]楊素行 .模擬電子技術(shù)基礎(chǔ)簡明教程(第三部版) [M].北京:高等教育出版社 . [7]張樹粹,孟佳娜,劉迎軍 .C/C++程序設(shè)計 [M].北京:清華大學(xué)出版社 . [8]劉勝,張紅梅 .最優(yōu)估計理論 [M].北京:科學(xué)出版社 .2101 [9]秦永元,張洪鉞,汪叔華 .卡爾曼濾波與組合導(dǎo)航原理 [M].西安:西北工業(yè)大學(xué)出版 社 . 煙臺大學(xué)畢業(yè)論文(設(shè)計) 27 附錄 A 部分代碼 int main(void) { CCR0_Val= ADC_Configuration()。 本次設(shè)計讓我學(xué)到了很多飛行 器的知識,在今后工作之余,我會把四旋翼飛行器的控制策略進(jìn)一步完善,我始終相信生命不息,奮斗不止! 關(guān)于本次設(shè)計的四旋翼飛行器,有需要改進(jìn)的地方,比如飛行器的重量是 48g 而外國的四軸重量僅僅 19g;飛行器的空心杯電機(jī)我們也沒有設(shè)備去選擇特性相似的;很多參數(shù)都是憑感覺設(shè)計的,量化這一塊做的比較差,這是值得反思解決的問題?;蛟S中間改個簡單的題目可以安逸的答辯,安逸的領(lǐng)到畢業(yè)證,但是這樣做的意義都不大。 整定了一輪參數(shù)后,四旋翼飛行器基本能平衡,但是擾動過大是飛行器還是會不受控制,總結(jié)了一下原因,在今后再設(shè)計時注意這些問題: ( 1) 飛行器質(zhì)量過大,電機(jī)控制的余量不夠; ( 2) 互補濾波滯后嚴(yán)重導(dǎo)致飛行器空心杯電機(jī)響應(yīng)滯后,在角度變化時,輸出量沒法及時修正導(dǎo)致偏差過大而無法再平衡; ( 3) PID 參數(shù)整定不合適; ( 4) 空心杯電機(jī)選型與負(fù)載不匹配; 如果時間允許,筆者會在以后將這些問題一一驗證,在筆者的生命里有一個信條:生命不息,奮斗不止,總有一天飛行器會穩(wěn)定的飛 翔于藍(lán)天之上! 圖 懸線調(diào)試法 煙臺大學(xué)畢業(yè)論文(設(shè)計) 24 結(jié) 束 語 一個月來,每天起早貪黑的研究四旋翼飛行器控制算法,一直到畢業(yè)設(shè)計答辯的這一天,我們還在整定參數(shù),結(jié)果可能沒有達(dá)到我們事前預(yù)期的效果,但是近段時間過得很充實,枯燥的調(diào)試過程,夾雜著各種喜怒哀樂,有過放棄換簡單題目的念頭,后面還是咬牙做到了現(xiàn)在。先調(diào)試 X 軸的參數(shù),是飛行器能在該軸上趨于平衡,在調(diào)試 Y 軸參數(shù)。 四旋翼飛行器自平衡飛行功能 自平衡調(diào)試的參數(shù)有 P、 I、 D 的系數(shù),先調(diào) P 值到飛行器能自主的回到平衡位置且出現(xiàn)了一定的振蕩,在調(diào)節(jié) D 參數(shù),此處微分相當(dāng)于一個阻尼器,能抑制因為比例參數(shù)調(diào)節(jié)過大產(chǎn)生的震蕩, D 值也不是越大越好,當(dāng)飛行器振蕩減小,找到一個合適的值時,如果存在靜態(tài)誤差,則適當(dāng)?shù)脑黾臃e分 I 的系數(shù),積分在此處有消除靜態(tài)誤差的作用。 需要整定的參數(shù)前面 2 個相對簡單,后面的這個 是比較麻煩的,調(diào)大了會過沖如圖 所示,調(diào)小了會跟隨緩慢,如圖 所示,這樣的滯后波形是無法應(yīng)用到飛行器上的;只有調(diào)節(jié)合適了才會得到如圖 所示的平滑曲線。飛行器能不能穩(wěn)定飛行,靠的就是這些參數(shù)。電機(jī)輸出方向必須正確 ,否則飛行器無法正常飛行,測試任何一個量,在不確定符號的情況下,需要將別的輸出量屏蔽掉,找對方向了再加回原來的量,這樣不易出錯。經(jīng)過 PID 算出的電機(jī) PWM 值要經(jīng)過判斷,才能疊加到相應(yīng)的電機(jī)上,在將多維度控制量輸出融合算法時已經(jīng)講過如何融合,調(diào)試部分重點講如何讓電機(jī)按照正確的方向輸出轉(zhuǎn)速。選 購 NRF 模塊一定要弄清楚具體的參數(shù)。 ( 3) 四個電機(jī)同時帶負(fù)載運行,導(dǎo)致電源電壓拉低使 NRF 無法正常工作:做了額外的電源芯片并用第二塊電池供電,通信完全正常。 提出假設(shè)并實驗驗證,排查結(jié)果如下: ( 1) 最小系統(tǒng)板設(shè)計電磁兼容性差,高頻信號影響了通信: NRF24L01 通信頻段為,最小系統(tǒng)板上沒有能達(dá)到該頻段的器件,該假設(shè)不成立。 四旋翼飛行器遙控功能 NRF24L01 與控制器應(yīng)用 SPI 協(xié)議進(jìn)行通訊,初始化程序及通訊的相關(guān)子程序比較多,故附在附錄 A 部分代碼中,本部分主要講調(diào)試的過程中遇到的問題及解決方案。經(jīng)過一番艱苦的專研后,完美的數(shù)據(jù)被采集回來如圖 所示。 圖 MPU6050 初始化及數(shù)據(jù)采集子程序 圖 MPU6050XY 軸加速度計陀螺儀數(shù)據(jù)采集結(jié)果 煙臺大學(xué)畢業(yè)論文(設(shè)計) 21 數(shù)據(jù)讀取子程序 Short getdata( uint8_t Addr)在剛開始編程時定義函數(shù)數(shù)據(jù)類型為:uint16 getdata(uint8_t Addr) ,多走了不少彎路,按照常理來看,這樣定義似乎沒有問題,但是這樣定義的數(shù)據(jù)類型采集回來的數(shù)據(jù)轉(zhuǎn)換成浮點型后,通過虛擬示波器看,是一個跳躍的量,當(dāng)數(shù)值達(dá)到上限,數(shù)據(jù)從正最大值跳變到負(fù)的最大值。讀取 MPU6050 需要先對芯片控制寄存器寫入控制字,設(shè)定工作模式后,才能從存儲相應(yīng)軸數(shù)據(jù)的寄存器讀取測量值。 X , Y X , Y X , Y X , Y圖 四旋翼飛行器 控制量坐標(biāo)系分解圖 圖 多維度角度融合軟件實現(xiàn) 煙臺大學(xué)畢業(yè)論文(設(shè)計) 20 6 四旋翼飛行器 綜合 調(diào)試 基本 功能 實現(xiàn) 基本功能是飛行器飛行的基礎(chǔ), 如果調(diào)試不好,飛行器后續(xù)的飛行動作將很難實現(xiàn),本部分將介紹姿態(tài)角度數(shù)據(jù)采集、飛行器遙控調(diào)試、空心杯
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1