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

正文內(nèi)容

基于單片機(jī)的四軸飛行器畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-07-21 16:21 本頁面
 

【文章內(nèi)容簡介】 用5V工作電壓時(shí),CH340芯片的VCC引腳輸入外部5V電源。,CH340芯片的V3引腳應(yīng)該與VCC引腳相連接。,所以V3直接跟VCC連接。 PCB設(shè)計(jì)硬件電路原理圖設(shè)計(jì)完畢之后,接下來就是PCB的設(shè)計(jì)。本次設(shè)計(jì)采用雙層電路板印制,遙控器和飛行器均不加外殼,直接使用PCB板作為支架外形,焊接上元器件直接可以使用。 PCB設(shè)計(jì)技巧規(guī)則對于IC、非定位接插件等大器件,可以選用50~100mil的格點(diǎn)精度進(jìn)行布局,而對于電阻電容和電感等無源小器件,可采用25mil的格點(diǎn)進(jìn)行布局。大格點(diǎn)的精度有利于器件的對齊和布局的美觀。1.PCB布局規(guī)則(1)在通常情況下,所有的元件均應(yīng)布置在電路板的同一面上,只有頂層元件過密時(shí),才能將一些高度有限并且發(fā)熱量小的器件,如貼片電阻、貼片電容、貼片IC等放在底層。(2)在保證電氣性能的前提下,元件應(yīng)放置在柵格上且相互平行或垂直排列,以求整齊、美觀,在一般情況下不允許元件重疊;元件排列要緊湊,元件在整個(gè)版面上應(yīng)分布均勻、疏密一致。(3)電路板上不同組件相臨焊盤圖形之間的最小間距應(yīng)在1MM以上。(4),長寬比為3:2或4:3。電路板面尺大于200MM乘150MM時(shí),應(yīng)考慮電路板所能承受的機(jī)械強(qiáng)度。2.布局技巧在PCB的布局設(shè)計(jì)中要分析電路板的單元,依據(jù)起功能進(jìn)行布局設(shè)計(jì),對電路的全部元器件進(jìn)行布局時(shí),要符合以下原則:(1) 按照電路的流程安排各個(gè)功能電路單元的位置,使布局便于信號流通,并使信號盡可能保持一致的方向。(2)以每個(gè)功能單元的核心元器件為中心,圍繞他來進(jìn)行布局。元器件應(yīng)均勻、整體、緊湊的排列在PCB上,盡量減少和縮短各元器件之間的引線和連接。(3)在高頻下工作的電路,要考慮元器件之間的分布參數(shù)。一般電路應(yīng)盡可能使元器件并行排列,這樣不但美觀,而且裝焊容易,易于批量生產(chǎn)。 PCB設(shè)計(jì)步驟1.布局設(shè)計(jì)在PCB中,特殊的元器件是指高頻部分的關(guān)鍵元器件、電路中的核心元器件、易受干擾的元器件、帶高壓的元器件、發(fā)熱量大的元器件,以及一些異性元器件,這些特殊元器件的位置需要仔細(xì)分析,做帶布局合乎電路功能的要求及生產(chǎn)的需求。不恰當(dāng)?shù)姆胖盟麄兛赡墚a(chǎn)生電路兼容問題、信號完整性問題,從而導(dǎo)致 PCB設(shè)計(jì)的失敗。在設(shè)計(jì)中如何放置特殊元器件時(shí)首先考慮PCB尺寸大小。快易購指出PCB尺寸過大時(shí),印刷線條長,阻抗增加,抗燥能力下降,成本也增加;過小時(shí),散熱不好,且臨近線條容易受干擾。在確定PCB的尺寸后,再確定特殊元件的擺放位置。最后,根據(jù)功能單元,對電路的全部元器件進(jìn)行布局。特殊元器件的位置在布局時(shí)一般要遵守以下原則:(1)盡可能縮短高頻元器件之間的連接,設(shè)法減少他們的分布參數(shù)及和相互間的電磁干擾。易受干擾的元器件不能相互離的太近,輸入和輸出應(yīng)盡量遠(yuǎn)離。(2)一些元器件或?qū)Ь€有可能有較高的電位差,應(yīng)加大他們的距離,以免放電引起意外短路。高電壓的元器件應(yīng)盡量放在手觸及不到的地方。(3)重量超過15G的元器件,可用支架加以固定,然后焊接。那些又重又熱的元器件,不應(yīng)放到電路板上,應(yīng)放到主機(jī)箱的底版上,且考慮散熱問題。熱敏元器件應(yīng)遠(yuǎn)離發(fā)熱元器件。(4)對與電位器、可調(diào)電感線圈、可變電容器、微動(dòng)開關(guān)等可調(diào)元器件的布局應(yīng)考慮整塊扳子的結(jié)構(gòu)要求,一些經(jīng)常用到的開關(guān),在結(jié)構(gòu)允許的情況下,應(yīng)放置到手容易接觸到的地方。元器件的布局到均衡,疏密有度,不能頭重腳輕。一個(gè)產(chǎn)品的成功,一是要注重內(nèi)在質(zhì)量。而是要兼顧整體的美觀,兩者都比較完美的扳子,才能成為成功的產(chǎn)品。2.放置順序(1)放置與結(jié)構(gòu)有緊密配合的元器件,如電源插座、指示燈、開關(guān)、連接器等。(2)放置特殊元器件,如大的元器件、重的元器件、發(fā)熱元器件、變壓器、IC等。(3)放置小的元器件。3.布局檢查(1)電路板尺寸和圖紙要求加工尺寸是否相符合。(2)元器件的布局是否均衡、排列整齊、是否已經(jīng)全部布完。(3)各個(gè)層面有無沖突。如元器件、外框、需要私印的層面是否合理。(4)常用到的元器件是否方便使用。如開關(guān)、插件板插入設(shè)備、須經(jīng)常更換的元器件等。 PCB外形設(shè)計(jì)經(jīng)過兩周的時(shí)間準(zhǔn)備硬件電路模塊選擇以及PCB的設(shè)計(jì),按照最初的構(gòu)思,根據(jù)硬件設(shè)計(jì)框圖,最終設(shè)計(jì)好遙控器和飛行器的PCB電路版,本次設(shè)計(jì)將采用制作出的電路版作為外型尺寸不做外包裝。在設(shè)計(jì)過程中,遙控器外設(shè)計(jì)靈感來自游戲手柄,這樣設(shè)計(jì)的目的是把遙控器能直接握在手里,同時(shí)非常有手感。飛行器外形設(shè)計(jì)比較復(fù)雜,直接用Altium Designer 09軟件無法達(dá)到效果,要求飛行器外形的四個(gè)電機(jī)位置必須是關(guān)于中心對稱,以免不對稱導(dǎo)致平衡更加的難以控制,再考慮到這些因素之后,設(shè)計(jì)采用CAD專業(yè)繪圖軟件繪制飛行器外形,最終把繪制好的外框?qū)氲紸ltium Designer 09軟件里面PCB設(shè)計(jì)的keepoutplayer層作為外形切割,如圖31315分別為遙控器和飛行器的PCB圖。 圖313 遙控器PCB圖 圖314 飛行器PCB圖 實(shí)物介紹本次畢業(yè)制作了實(shí)物,實(shí)物圖如圖31316所示。圖315 遙控器實(shí)物圖圖316 飛行器實(shí)物圖 實(shí)物操作細(xì)節(jié)如下所示:上電:首先給遙控器上電,等待遙控器LED信號燈閃爍之后再給飛行器上電。第一步必須要這樣做,這樣做是為防止飛行器先上電之后接收到無線信號不準(zhǔn)確從而導(dǎo)致飛行器出現(xiàn)不確定的飛行情況。解鎖:解鎖過程需要雙手同時(shí)操作,雙手握住搖桿,左邊搖桿控制油門,右邊搖桿控制方向,當(dāng)雙手遙桿同時(shí)往下掰到最下方,持續(xù)2S左右,可以看到飛行器四周的LED燈開始閃爍,說明解鎖成功。上鎖:上鎖過程也需要雙手同時(shí)操作,左手把搖桿掰到最左邊位置同時(shí)右手把搖桿掰到最低位置,等待遙控器閃爍LED熄滅電機(jī)停止轉(zhuǎn)動(dòng),說明以上鎖,飛行器停止等待重新解鎖過程。飛行操作:待飛行器解鎖成功之后,左手輕輕推動(dòng)油門,可以看見飛行器電機(jī)慢慢開始轉(zhuǎn)動(dòng)起來,繼續(xù)加大油門之后可以使飛行器飛起來,右手可以調(diào)整飛行的方向。注意:上電順序不能弄反,操作需緩慢進(jìn)行,飛行器別在狹小的空間飛行,千萬要固定好飛行器電池跟無線通信模塊。第4章 系統(tǒng)軟件設(shè)計(jì) Keil Keil MDK概述 Keil MDK,也稱MDKARM,Realview MDK、IMDK、uVision5等。目前Keil MDK 由三家國內(nèi)代理商提供技術(shù)支持和相關(guān)服務(wù)。MDKARM軟件為基于CortexM、CortexRARMARM9處理器設(shè)備提供了一個(gè)完整的開發(fā)環(huán)境。 MDKARM專為微控制器應(yīng)用而設(shè)計(jì),不僅易學(xué)易用,而且功能強(qiáng)大,能夠滿足大多數(shù)苛刻的嵌入式應(yīng)用。MDKARM有四個(gè)可用版本,分別是MDKLite、MDKBasic、MDKStandard、MDKProfessional。所有版本均提供一個(gè)完善的C / C++開發(fā)環(huán)境,其中MDKProfessional還包含大量的中間庫。 Keil MDK功能特點(diǎn) ●完美支持CortexM、CortexRARM7和ARM9系列器件;●行業(yè)領(lǐng)先的ARM C/C++編譯工具鏈;●確定的Keil RTX ,小封裝實(shí)時(shí)操作系統(tǒng)(帶源碼);●μVision5 IDE集成開發(fā)環(huán)境,調(diào)試器和仿真環(huán)境;●TCP/IP網(wǎng)絡(luò)套件提供多種的協(xié)議和各種應(yīng)用;●提供帶標(biāo)準(zhǔn)驅(qū)動(dòng)類的USB 設(shè)備和USB 主機(jī)棧;●為帶圖形用戶接口的嵌入式系統(tǒng)提供了完善的GUI庫支持;●ULINKpro可實(shí)時(shí)分析運(yùn)行中的應(yīng)用程序,且能記錄CortexM指令的每一次執(zhí)行;●關(guān)于程序運(yùn)行的完整代碼覆蓋率信息;●執(zhí)行分析工具和性能分析器可使程序得到最優(yōu)化;●大量的項(xiàng)目例程幫助你快速熟悉MDKARM強(qiáng)大的內(nèi)置特征;●符合CMSIS (Cortex微控制器軟件接口標(biāo)準(zhǔn))。 軟件設(shè)計(jì)框圖系統(tǒng)軟件設(shè)計(jì)主要包括遙控器程序設(shè)計(jì)和飛行器程序設(shè)計(jì)。遙控器主要作用就是采集操控信息發(fā)送給飛行器,飛行器的程序是最重要的也是最難的,包括接收無線數(shù)據(jù)和慣性測量單元數(shù)據(jù)讀取以及數(shù)據(jù)處理部分。遙控器和飛行器程序設(shè)計(jì)流程圖如圖442所示。 圖41 遙控器程序流程圖 圖42 飛行器程序流程圖 在遙控器程序設(shè)計(jì)中,采用循環(huán)采集ADC電壓并無線發(fā)送數(shù)據(jù)。ADC電壓取值范圍是0~,分辨率為100,采集到數(shù)據(jù)即為0~250,并把采集到的電壓值存入無線傳輸緩存Buf數(shù)組里面。Buf數(shù)組定義為8位數(shù)據(jù)類型,設(shè)置了8位長度,Buf[0]里面存入幀頭,Buf[1]里存放油門,Buf[2]存放左邊搖桿數(shù)據(jù),Buf[3]存入前后方向數(shù)據(jù),Buf[4]存入左右方向數(shù)據(jù),剩余部分存入按鍵狀態(tài)信息。NRF24L01直接將讀取的8位數(shù)據(jù)發(fā)送到飛行器端,進(jìn)行實(shí)時(shí)控制。在此次飛行器程序設(shè)計(jì)中,在主程序里面使用了三層while循環(huán),進(jìn)入初始化之后,首先循環(huán)是否檢測到NRF24L01芯片,若檢測到則往下執(zhí)行,否則循環(huán)等待;其次是循環(huán)檢測是否有解鎖信號,收到解鎖信號繼續(xù)往下執(zhí)行,否則等待;最后是主循環(huán),循環(huán)讀取數(shù)據(jù)并進(jìn)行處理,電機(jī)控制,檢測是否有上鎖信號,若收到上鎖信號,電機(jī)停止轉(zhuǎn)動(dòng),LED燈停止閃爍,使用goto語句強(qiáng)制跳轉(zhuǎn)到程序初始化,否則繼續(xù)主循環(huán)。在電機(jī)控制程序中,采用芯片自帶定時(shí)器產(chǎn)生特定的PWM,其頻率為20KHz。飛行器MCU通過定時(shí)器沒2ms產(chǎn)生一次計(jì)數(shù),計(jì)數(shù)5次即10ms讀取一次MPU6050的數(shù)據(jù)并進(jìn)行一次四元數(shù)計(jì)算以及PID計(jì)算在送給PWM,這10ms的時(shí)間里,有大約2ms在接收無線信號,2ms進(jìn)電機(jī)控制程序,剩下時(shí)間空閑。這里2ms電機(jī)控制程序時(shí)間必須是一定的,因?yàn)樵谒脑獢?shù)計(jì)算和PID計(jì)算都有微分積分時(shí)間,這里的2ms既為算法里面微積分的時(shí)間。 軟件調(diào)試仿真本次畢業(yè)設(shè)計(jì)使用的是32位ARM芯片,此類芯片都支持JLINK在線硬件仿真調(diào)試和下載,跟51相比,在線硬件仿真調(diào)試大大縮減的程序的調(diào)試時(shí)間,并且能夠更加直觀的觀察程序每一步的運(yùn)行情況,同時(shí)處理器中所使用寄存器值的變化也一目了然,非常便于使用。,其仿真速度和功能遠(yuǎn)非簡易的并口WIGGLER仿真調(diào)試器可比。JLINK支持ARMARMARM11,Cortex M0/M1/M3/M4,Cortex A4/A8/A9等內(nèi)核芯片,支持ADS、IAR、KEIL開發(fā)環(huán)境。,最大下載速度提升到1MByte/s。在程序設(shè)計(jì)過程中,通過KEIL ,下載程序也通過JLINK的SWD模式下載。程序在線仿真,主要是通過仿真器使其運(yùn)行每一步程序然后觀察寄存器值的變化來判斷程序是否有Bug,對于程序簡單的比如LED燈等這些程序,沒必要用仿真來調(diào)試了。本次畢業(yè)設(shè)計(jì)用到仿真的地方主要有ADC電壓采集程序部分,觀察采集到的電壓值是否準(zhǔn)確;另外就是無線模塊程序調(diào)試的時(shí)候,在線仿真調(diào)試數(shù)據(jù)是否發(fā)送和接收,并且判斷是否正確,最后觀察飛行器慣性測量單元MPU6050是否讀取到數(shù)據(jù)部分,這里是仿真調(diào)試運(yùn)用最多的地方。當(dāng)然,在程序調(diào)試比如無線發(fā)送和接收部分,也可以通過串口打印顯示來調(diào)試。 飛控軟件設(shè)計(jì)本次飛行器軟件設(shè)計(jì)中,最主要的程序設(shè)計(jì)部分就是姿態(tài)傳感器MPU6050數(shù)據(jù)讀取和姿態(tài)歐拉角計(jì)算再到PID電機(jī)控制算法。 MPU6050數(shù)據(jù)讀取MPU6050數(shù)據(jù)讀取是通過I2C協(xié)議跟MCU通信,程序設(shè)計(jì)直接讀取MPU6050寄存器就可以,在此過程中,除了程序本身I2C驅(qū)動(dòng)程序以外,需要編寫MPU6050初始化程序和讀取數(shù)據(jù)函數(shù)。其流程圖如圖41所示。 MPU6050初始化程序設(shè)計(jì)中,需要初始化電源管理寄存器PWR_MGMT_采樣分頻寄存器SMPLRT_DIV、MPU6050配置寄存器CONFIG、加速度計(jì)配置寄存器ACCEL_CONFIG、陀螺儀配置寄存器GYRO_CONFIG。各寄存器地址如表41所示。表41 MPU6050數(shù)據(jù)寄存器地址地址名地址地址名地址地址名地址ACCEL_XOUT_H0x3BACCEL_YOUT_H0x3DACCEL_ZOUT_H0x3FACCEL_XOUT_L0x3CACCEL_YOUT_L0x3EACCEL_ZOUT_L0x40GYRO_XOUT_H0x43GYRO_YOUT_H0x45GYRO_ZOUT_H0x47GYRO_XOUT_L0x44GYRO_YOUT_L0x46GYRO_ZOUT_L0x48其中設(shè)置采樣分頻寄存器SMPLRT_DIV初值為0x07,此時(shí)陀螺儀采樣率125Hz;寄存器CONFIG的初值設(shè)置為0x06為低通濾波5Hz;GYRO_CONFIG寄存器初值設(shè)置為0x00,則陀螺儀量程500deg/s;ACCEL_CONFIG寄存器初值為0x00,則設(shè)置成為不自檢加速度計(jì)量程2g,源代碼如下所示。void MPU6050Init (void){ const INT8U ucData[5] = {0x00,0x07,0x06,0x00,0x00}。 I2CMWriteNByte(SlaveAddress,1,PWR_MGMT_1,amp。ucData[0],1)。 delay_ms (200)。 I2CMWriteNByte(SlaveAddress,1,SMPLRT_DIV,amp。ucData[1],1)。 //0x07 I2CMWriteNByte(SlaveAddress,1,CONFIG1,amp。ucData[2],1)。 //0x06 I2CMWriteNByte(SlaveAddress,1,GYRO_CONFIG,amp。ucData[3],1)。 //0x00 I2CMWriteNByte(SlaveAddress,1,ACCEL_CONFIG,amp。ucData[4],1)。 //0x00 delay_ms (200)。}其中SlaveAddress是MPU6050的設(shè)備地址,即為0xd0。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1