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

正文內容

基于avr的四旋翼無人機控制畢業(yè)設計(編輯修改稿)

2024-09-30 17:34 本頁面
 

【文章內容簡介】 輸出最終輸出值 ? 執(zhí)行機構由電調和電機組成,負責真正控制飛機的飛行和姿態(tài)調整 ( 2) 連接方式: 各部分由電線物理連接 ? 無線控制系統(tǒng)與中央處理單元通過 PWM 信號線交互信息 ? 姿態(tài)傳感器與中央處理單元通過 IIC 總線 與一個處理器中斷 交互信息 ? 中央處理 器與電調單元通過 PWM 信號 線 完成信息交互 姿態(tài)傳感器 姿態(tài)傳感器實時報告當前飛行器 的翻滾角,俯仰角,偏航角 。 本文采用MPU6050 三軸加速度計與陀螺儀集成芯片 模塊。 基于 AVR的四旋翼 無人機控制 12 MPU6050 模塊 姿態(tài)傳感器采用 MPU6050 電路模塊, 模塊電路圖 如圖 32 圖 32: MPU6050模塊電路圖 使用時需要把 VCC 接入 +5V 到 + 之間的電壓, GND 接地。 IIC 總線的 SDA 與 SCL 引腳分別與處理器 SDA 與 SCL 引腳相連。 AD0 接低電平時,傳感器 IIC地址為 0x68,接高電平時,傳感器 IIC 地址為0x69,圖中 AD0 引腳接地,所以傳感器 IIC 地址為 0x68。 INT 引腳為 MPU6050 DMP 數據輸出中斷,當 DMP 完成一份姿態(tài)角度計算后會拉高 INT 引腳以通知處理器數據準備完成。 本設計使用到了 INT 引腳接控制器INT0 引腳。 XDA 與 XCL 為連接其他 IIC 總線傳感器接口 ,本文沒有使用 。 傳感器量程: ? 加速度量程范圍 177。 2g 177。 4g 177。 8g 177。 16g ? 陀螺儀量程范圍 177。 250176。/s 177。 500176。/s 177。 1000176。/s 177。 2020176。/s 感器缺省設置 量程 為177。 2g,177。 250176。/s 運動引擎 DMP( Digital Motion Processing) 是 MPU6050 傳感器內部 數字 運動引擎 [5],它將采集自身傳感器數據,對 數據 融合濾波后轉換為四元數( quaternion)形式放進 FIFO 緩沖池等待處理器 讀取 。 如圖 33為 MPU6050 傳感器內部 結構 關系 圖 基于 AVR的四旋翼 無人機控制 13 圖 33: MPU6050內部結構 ? MPU 通過用戶定義的速率, 讓 DMP 采集三軸加速度計數據與三軸陀螺儀數據 。所有能夠從 MPU 傳感器的數據有 3 軸加速度值, 3 軸陀螺儀值和溫度值。 ? FIFO 隊列保存完整的 DMP 處理后 的姿態(tài) 數據,允許系統(tǒng)處理器 突發(fā)地 讀取 他們 , 以減少系統(tǒng)處理器讀取數據 時間 開銷 。當讀取完 FIFO 數據后系統(tǒng)處理器 可進入休眠模式以節(jié)約能源,直到 MPU 再次提供完整 的姿態(tài) 數據。 ? DMP 還包含數字可編程的低通濾波器 。 主控芯片 從姿態(tài)傳感器接受到的數據與遙控器數據的需要進行計算后 才能 交給執(zhí)行單元完成實際控制 。 對 本實驗目標 四旋翼飛行器進行控制需要 對處理器有 以 下要求: ? 4 路輸出 PWM 引腳 ? IIC 總線接口 ? 硬件中斷 引腳 ? 至少 4 個引腳用于遙控器信號接收 由于 AVR 編程簡便、速度快 、價格 也 適用, 本文采用 ATmega328p 芯片作為主控芯片 。 圖 34為 ATmega328p 芯片引腳定義說明 [3]。 基于 AVR的四旋翼 無人機控制 14 圖 34ATmega328引腳定義 圖 35為 本實驗選用 ATmega328p 最小系統(tǒng)電路圖 [6] 圖 35ATmega328p最小系統(tǒng) ? RESET 引腳接高電平,當需要復位時按下按鍵使 RESET 引腳為低電平 ? XTAL XTAL2 接外部 16MHz 晶振 ? AREF 為 AD 參考電壓輸入端,本實驗沒使用 AD 單元,接地 ? AVCC、 AGND 為模擬單元電壓與地 ? VCC、 GND為數字電壓 ? PD PB PB PB3 引腳驅動電調 4路 PWM 信號 ? PC0、 PC PC PC3 接收 遙控系統(tǒng)接收機信號 ? PC PC5為 IIC 總線接口 ? PD1 引腳為 MPU6050 DMP 數據處理中斷引腳 無線模塊 無線模塊采用 、 PPM信號發(fā)送機和接收機,如圖 36為六通道 接收機,每一通道發(fā)送出一個 PWM 信號,高電平持續(xù)時間代表遙控器遙感位置。 接收機接基于 AVR的四旋翼 無人機控制 15 到遙控器 PPM信號并解碼為 PWM 信號 從六個引腳輸出 。 圖 36:無線接收機 本實驗 將 接收機 14通道接 單片機 Channel14,通過 軟件 解碼 1得到遙控 位置。 驅動電調 電調在項目中的作用為接受處理器 PWM 信號,通過改變電壓控制電機轉速。如圖 37電調連接圖, 選用 電調接收 12ms 高電平信號,分別對應 05V 電壓即電機的停和最高轉速, 轉速刷新率 范圍 為 50500Hz。 圖 37:電調 1 見 基于 AVR的四旋翼 無人機控制 16 第四 章 程序 設計 本章說明控制程序的各個模塊組成與信息交流方式,重點討論姿態(tài)數據的獲得。 程序 整體設計 軟件系統(tǒng)由 5部分構成:初始化模塊、遙控器解碼、姿態(tài)處理、綜合處理單元和電機驅動。 如圖 41 綜 合 處 理 單 元遙 控 器 解 碼姿 態(tài) 處 理初 始 化 模 塊電 機 驅 動 圖 41:程序 整體結構 ? 初始化模塊進行處理器引腳初始化,定時器初始化, IIC 端口初始化等工作,為整個系統(tǒng)工作所需操作做鋪墊 ? 遙控器解碼單元解碼接收機發(fā)來的 PWM 信號,轉化成 規(guī)則數據,用于綜合處理單元 ? 姿態(tài)處理接受 MPU6050 發(fā)送的數據并換算成歐拉角 ? 綜合處理單元結合所有數據確定當前應輸出量 ? 電機驅動模塊 根據輸出值 直接控制定時器寄存器,控制電機轉速 系統(tǒng)初始化 系統(tǒng) 初始化完成對 IIC 總線初始化,串口初始化(僅調試 ) ,普通端口設置,以及定時器設定。 初始化流程圖如圖 42 基于 AVR的四旋翼 無人機控制 17 開 始普 通 端 口 初 始 化IIC總 線 初 始 化MPU6050初 始 化定 時 器 初 始 化結 束 圖 42:初始化流程圖 ? 普通端口初始化完成對引腳的輸入輸出定義,使能上拉電阻等操作。 在本程序中設置遙控器接收端口為輸入方向, PWM端口 為 輸出方向 ? IIC 總線初始化完成 IIC 總線 的使能,使能 IIC 總線后 PC PC5 則從普通端口變?yōu)?SCL、 SDA 信號線。其中 SCL 為 IIC 總線時鐘線, SDA 為 IIC 總線信號線 ? MPU6050 初始化 完成對姿態(tài)傳感器的初始化任務。其中 設置 DMP 輸出頻率為40Hz, 實驗發(fā)現 高頻率輸出對信號 將影響 濾波效果 。 ? 定時器初始化初始 Timer Timer2 兩個定時器作為 PWM 信號產生控制器,其中 Timer1 在 PB PB2 輸出 2路 PWM信號, Timer2 在 PB PD3 引腳輸出兩外 2 路 PWM 信號 。 每路 PWM 分別 控制 某個電機轉速。 PWM( Pulse Width Modulation)及脈沖寬度調制,根據高電平占整個周期的比例控制功率的輸出。如圖 411 圖 411: PWM占空比 基于 AVR的四旋翼 無人機控制 18 由于 本實驗所選 電調接受 12ms 高電平信號作為輸入,分別對應最低功率和最高功率輸出,轉速刷新率在 50500Hz。根據以上要求設定定時器值。 已知處理器晶振為 16MHz, 8 位定時器,采用 256 分頻可以 達到16000000/256/256=244Hz 刷新速度,滿足 50500Hz 刷新率要求。 12ms 高電平在 8 位比較寄存器中為 ,為方便 定義 65125 共 60個 轉速 控制量 。 定時器 PWM 功能 初始化代碼: 遙控器解碼 本實驗遙控器與接收機 之間為 PPM 信號 [4],由遙控器發(fā)送接收機接收。 如圖43為 PPM 信號 樣式。 圖 43: PPM信號說明 PPM 信號為周期為 20ms 的邏輯脈沖。 相隔兩個高電平 之間 為一個通道信號,代表一個搖桿位置 , 其中 每個通道 高電平時間 在 1ms2ms之間 ,所以理論上最多基于 AVR的四旋翼 無人機控制 19 可支持 10 通道信號傳輸 。 接收到的 PPM 信號由接收機解碼為 PWM 信號通過引腳發(fā)送給處理器, 每通道對應一個引腳。 處理器接受到的 PWM 信號依次出現在各個引腳上,對其進行解碼就是對高電平時間的記錄。 圖 44為信號解碼流程圖 開 始結 束上 升 沿記 錄 時 間 T1是下 降 沿記 錄 時 間 T2是否否返 回 T=T2T1 圖 44:信號解碼流程圖 姿態(tài)處理 姿態(tài)處理單元基于 MPU6050 姿態(tài)傳感器,通過 IIC 總線得到四元數數據,并通過四元數向歐拉角的轉換得到 姿態(tài)角。 ? 數據獲得 MPU6050 數據手冊中 說明 最大 IIC總線 速度為 400kHz,根據 IIC 總線時鐘計算公式 SCL = ????????????????????????????????????16+2(????????)(????????????????????????????)設定 TWBR 寄存器值為 24。 IIC 總線信息傳輸需要遵循規(guī)則,根據 MPU6050 數據手冊可得到如圖 45,46信息 基于 AVR的四旋翼 無人機控制 20 圖 45: IIC總線數據發(fā)送規(guī)則 圖 46: IIC總線數據接收規(guī)則 傳送數據中系統(tǒng)處理器始終為主機, MPU6050 傳感器始終為從機。 當 MPU6050 運動引擎 DMP 處理完一次姿態(tài)數據后,便拉高 INT 引腳通知系統(tǒng)處理器數據的到來,系統(tǒng)處理器通過 IIC 總線訪問 MPU6050 傳感器 FIFO 隊列,得到姿態(tài)傳感器準備好的四元數數據。四元數獲得代碼為: 基于 AVR的四旋翼 無人機控制 21 此時四元數 Q = w +x +y+ z全部數據在 Quaternion 數據結構中。 ? 四元數轉歐拉角 四元數 、 姿態(tài)矩陣 關系為 : 22332 2 2 22 2 2 22 2 2 2( | | | | ) 2 2 [ ] ( ) ( )2( ) 2( )2( ) 2( )2( ) 2( )TA w Q I w Q q qx y z w x y zw x z y wx y zw x y z w y z x wx z y w y z x w x y z w?? ? ? ? ? ? ? ???? ? ? ? ???? ? ? ? ? ? ?? ? ? ? ? ??? () 其 中 3*3 []()Tw I Qq Q??????????? () 3*3 []()Tw I Qq Q??????????? () 0[ ] 00zyQ z xyx?????? ? ??? () 并且 ??3?3為單位矩陣 2 式( ) 中 ??????與式( )比較可知 22222 ( )a r c ta n1 2 ( )a r c ta n ( 2 ( ) )2 ( )a r c ta n ( )1 2 ( )w x y zxyw y zxw z x yyz?????? ??????? ? ??? ???????????? () 2 單位額矩陣 為對角線為 1 的矩陣,如 3*3 單位矩陣為 [1 0 00 1 00 0 1] 基于 AVR的四旋翼 無人機控制 22 arctan與 arcsin的值為 [???2, ??2],因此要用 atan2代替 arctan,及式( )變?yōu)? 2222ta n 2 ( 2 ( ) , 1 2 ( ) )a r c s in ( 2 ( ) )ta n 2 ( 2 ( ) , 1 2 ( ) )a w x y z x yw y z xa w z x y y z??? ? ? ??? ????? ? ?????? ? ? ??? ?? () 以 式 ()用 C 語言描述為 這樣 Roll, Pitch, Yaw 角就都確定了下來,完成了姿態(tài) 解算 。 決策 模塊 遙控器控制信息和當前姿態(tài)信息獲得之后就到了將他們
點擊復制文檔內容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1