www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]引言  固定翼飛機(jī)水平飛行是最常見(jiàn)的飛行狀態(tài),讓其做大仰角飛行則動(dòng)作不能一直保持,如讓其垂直于地面飛行能保持的時(shí)間則更短。本項(xiàng)目要實(shí)現(xiàn)的是一個(gè)可以讓飛機(jī)垂直于地面飛行并可以穩(wěn)定在固定高度的控制系統(tǒng)。利

引言

  固定翼飛機(jī)水平飛行是最常見(jiàn)的飛行狀態(tài),讓其做大仰角飛行則動(dòng)作不能一直保持,如讓其垂直于地面飛行能保持的時(shí)間則更短。本項(xiàng)目要實(shí)現(xiàn)的是一個(gè)可以讓飛機(jī)垂直于地面飛行并可以穩(wěn)定在固定高度的控制系統(tǒng)。利用在機(jī)身加入的三軸向加速度傳感器來(lái)檢測(cè)垂直于地面飛行的飛機(jī)的姿態(tài)。當(dāng)檢測(cè)到飛機(jī)前后搖擺時(shí),控制水平尾翼使飛機(jī)保持前后方向的穩(wěn)定性;當(dāng)檢測(cè)到飛機(jī)左右搖擺時(shí),控制垂直尾翼使飛機(jī)保持左右方向的穩(wěn)定性;當(dāng)檢測(cè)到飛機(jī)上下竄動(dòng)時(shí),控制油門的大?。绰菪龢霓D(zhuǎn)速)來(lái)保持飛機(jī)飛行高度的穩(wěn)定性。當(dāng)這些控制都很精準(zhǔn)到位時(shí),固定翼飛機(jī)也可以像直升機(jī)一樣穩(wěn)穩(wěn)地懸停在空中了。利用本文設(shè)計(jì)的控制系統(tǒng)可以讓飛機(jī)在做垂直飛行減速的同時(shí)順時(shí)針或逆時(shí)針轉(zhuǎn)90°(投影面積很小),這樣就可以減小暴露給后面飛機(jī)的投影面積,減小被擊中的幾率。

設(shè)計(jì)概述

  為了讓飛機(jī)能豎直飛行,控制電路需要有以下功能:

  判斷飛機(jī)是否要豎直飛行 對(duì)于真飛機(jī),它可能只是一個(gè)可防止誤觸發(fā)的撥動(dòng)開(kāi)關(guān);在本項(xiàng)目的實(shí)驗(yàn)品遙控飛機(jī)里,它就是某一個(gè)通道的脈寬信號(hào)。當(dāng)脈寬大于某一設(shè)定值時(shí),控制電路就知道它該上場(chǎng)了。

  判斷自身姿態(tài) 這是本控制電路的核心部分之一,在控制飛機(jī)保持豎直飛行之前必須先判斷自身的姿態(tài)。本項(xiàng)目用MMA7260QT傳感器檢測(cè)飛機(jī)的姿態(tài)。

  控制 這是本項(xiàng)目設(shè)計(jì)制作過(guò)程中最耗時(shí)的部分,但其原理很容易理解:姿態(tài)電路已經(jīng)了解了飛機(jī)的姿態(tài),控制電路只要做相應(yīng)動(dòng)作就可以了。飛機(jī)前傾它就讓飛機(jī)向前移動(dòng)一些,后傾就向后移動(dòng)一些。還有一個(gè)需要控制的量——高度,飛機(jī)在做此動(dòng)作時(shí)高度是要保持穩(wěn)定的,機(jī)身上沖時(shí)要減小油門,下降時(shí)要加大油門。要完成如此控制,要用兩片MC9S08QG8。為了達(dá)到上述功能,本項(xiàng)目應(yīng)有如圖1所示的電路框圖。

  

  選用兩片MC9S08QG8是因?yàn)樵诒卷?xiàng)目里有兩處對(duì)時(shí)間要求比較嚴(yán)格的地方:一是讀從遙控器送出的脈寬;二是把經(jīng)過(guò)運(yùn)算的脈寬精確地發(fā)送出去,兩處都要10μS以內(nèi)的誤差,如用一片來(lái)做即使用中斷也會(huì)有沖突。本項(xiàng)目里兩片MC9S08QG8工作的大體分配是:一片作為主控,用于讀取遙控器送來(lái)的由接收機(jī)收到的脈寬(高實(shí)時(shí)性)、讀取飛機(jī)姿態(tài)(低實(shí)時(shí)性)、控制運(yùn)算(PID運(yùn)算)和數(shù)據(jù)發(fā)送(把需要對(duì)飛機(jī)如何控制的數(shù)據(jù),也就是PID運(yùn)算的結(jié)果送給另一片MCU);另外一片作為輔助,只要把讀到的數(shù)據(jù)實(shí)時(shí)發(fā)給飛機(jī)的執(zhí)行機(jī)構(gòu)就可以了。

硬件描述

  硬件電路如圖2所示。


·傳感器MMA7260QT輸出的三個(gè)軸的數(shù)據(jù)分別送入主控MCU的三個(gè)A/D輸入端ADP0、ADP1和ADP2,電源接一個(gè)電阻和電感可防止電源對(duì)傳感器的干擾。

  ·整個(gè)電路的電源由J1從接收機(jī)引入,通過(guò)78FC33變?yōu)?.3V后給MCU和傳感器供電,J2、J3、J4分別是左右、油門和前后控制。

  ·主控MCU的第二路TPM的捕捉輸入端TPMCH1接接收機(jī)的信號(hào)輸出端。本遙控系統(tǒng)是9通道的,也就是可同時(shí)控制9個(gè)機(jī)構(gòu),這種9通道的信號(hào)見(jiàn)圖3。它是由間隔為20ms的一個(gè)個(gè)脈沖串組成,每個(gè)脈沖串有9個(gè)脈沖,連續(xù)兩個(gè)脈沖的上升沿的間隔就是遙控器送出的有效控制信號(hào),此間隔最小1ms、最大2ms。TPM捕捉到9個(gè)脈沖的寬度后,就可以根據(jù)需要直接送給舵機(jī)或經(jīng)PID運(yùn)算后再送給舵機(jī)了。至于如何識(shí)別某一脈沖是上一個(gè)脈沖串的結(jié)尾還是下一個(gè)脈沖串的開(kāi)頭,這里涉及到一個(gè)同步脈沖的概念,屬于軟件內(nèi)容,在此先不作解釋。

  

  ·主控MCU的串行輸出端接輔助MCU的串行輸入端。主控MCU想如何控制飛機(jī)動(dòng)作,只要通過(guò)串口把數(shù)據(jù)發(fā)送給輔助MCU就可以了,發(fā)送格式如表1所示,共8個(gè)字符,其中0xAA、0x55為引導(dǎo)位……

  

  ·三個(gè)LED,D1是電源指示燈,D3用于指示“我是控制電路,我已經(jīng)開(kāi)始控制飛機(jī)豎直飛行了”,D2是“出錯(cuò)了,小心出問(wèn)題,快切換回由你控制吧。”

      ·輔助MCU有兩個(gè)工作:一是讀主控MCU送來(lái)的串行數(shù)據(jù),找到引導(dǎo)字符后,把前后左右上下(油門)的數(shù)據(jù)送入相應(yīng)的數(shù)組貯存;二是每20ms把相應(yīng)的數(shù)組里的數(shù)據(jù)以脈沖形式發(fā)送出去。脈沖最小1ms、最大2ms。這個(gè)信號(hào)送入飛機(jī)的執(zhí)行機(jī)構(gòu)——舵機(jī)后對(duì)應(yīng)的輸出規(guī)律見(jiàn)圖4。1ms的脈沖使舵機(jī)搖臂在最左邊的位置,1.5ms的脈沖使舵機(jī)搖臂位于中位,2ms的脈沖使舵機(jī)搖臂在最右邊的位置。舵機(jī)的搖臂連接飛機(jī)的各執(zhí)行機(jī)構(gòu),搖臂搖動(dòng)時(shí)飛機(jī)的執(zhí)行機(jī)構(gòu)(如尾翼等)也跟著擺動(dòng)。

  

軟件描述

  主控MCU部分,流程圖見(jiàn)圖5。


·讀取遙控信號(hào):這個(gè)遙控信號(hào)見(jiàn)圖5右上角,是9個(gè)脈沖組成的脈沖串,每20ms一串,讀取的方法如下,由TPM捕捉到脈沖的上升沿進(jìn)入模定時(shí)器捕捉中斷程序后,先看是不是脈沖串里的第一個(gè),若是就把定時(shí)器清零,然后把捕捉值存入數(shù)組,這樣9次后,數(shù)組里就由低到高地存下了每個(gè)脈沖發(fā)生的時(shí)間,用減法一算,各脈沖寬度就出來(lái)了。為防止出錯(cuò),附加了脈沖數(shù)錯(cuò)誤預(yù)防,就是對(duì)脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),如果在一個(gè)脈沖串里讀到了多于9個(gè)脈沖就意味著有干擾了,需要盡快把所有脈寬按中間值1.5ms處理。這樣雖然和遙控器發(fā)出的指令不一樣,但減少了出大問(wèn)題的機(jī)會(huì)。

      ·8ms定時(shí)中斷:系統(tǒng)有一個(gè)模定時(shí)器18ms中斷程序,因?yàn)檎5拿}沖串9個(gè)脈沖不會(huì)超過(guò)18ms,所以可以讓定時(shí)器在第一個(gè)脈沖開(kāi)始時(shí)計(jì)數(shù),計(jì)到18ms就認(rèn)為一個(gè)脈沖串結(jié)束,把脈沖數(shù)計(jì)數(shù)器清零。模定時(shí)器捕捉中斷程序里看到這個(gè)計(jì)數(shù)器被清零了就知道下一個(gè)脈沖串開(kāi)始了。這個(gè)中斷還為PID的定時(shí)運(yùn)算提供時(shí)間標(biāo)志,每進(jìn)入一次中斷就把標(biāo)志置位,主程序讀到標(biāo)志被置位就進(jìn)行PID運(yùn)算,這樣就保證了PID運(yùn)算的周期是固定的。

  ·1.67ms中斷程序和A/D中斷程序:為了讀取MMA7260QT輸出的數(shù)據(jù)需要用A/D讀值,這里每1.6667ms進(jìn)入中斷一次設(shè)定A/D通道,讀完三個(gè)通道用時(shí)5ms,在兩個(gè)脈沖串的標(biāo)準(zhǔn)間隔20ms內(nèi)可以各讀4次,用滑動(dòng)平均值算法后可以濾除干擾。

主程序介紹

  雖然傳感器都是水平放置的,但因?yàn)闇囟入妷旱鹊牟煌?,三個(gè)軸的輸出和計(jì)算的輸出是不一樣的,會(huì)有少許偏差,為了解決這個(gè)問(wèn)題,在上電后先對(duì)三個(gè)軸的值連續(xù)讀64次后平均,把這個(gè)平均值作為飛機(jī)要穩(wěn)定的目標(biāo)值,這樣飛機(jī)就基本穩(wěn)定了。

  提到穩(wěn)定,PID功不可沒(méi),主程序里的PID有兩處要提一下。一是因?yàn)閭鞲衅鞯姆€(wěn)定性問(wèn)題和飛機(jī)的抖動(dòng),A/D輸出值差2、3個(gè)數(shù)是很正常的,所以在主程序里要判斷一下,如果誤差值在3以內(nèi),則不進(jìn)行PID運(yùn)算,這樣就減少了舵機(jī)無(wú)謂的抖動(dòng);二是因?yàn)轱w機(jī)的前后左右重量不一致,所以在飛機(jī)前傾后仰左右擺動(dòng)時(shí)要用不同的P值計(jì)算。

  主程序每20ms更新一次數(shù)據(jù),數(shù)據(jù)就是前后左右上下的控制脈沖的寬度。這個(gè)數(shù)據(jù)是把模定時(shí)器捕捉中斷程序里捕捉到的數(shù)直接拿來(lái)用還是要拿PID運(yùn)算的數(shù)據(jù)來(lái)用?這由一個(gè)脈寬(決定此時(shí)飛機(jī)是否要豎直飛行的脈寬)決定,這里用到的是第7個(gè)脈沖的脈寬,也就是遙控器的第7通道,這個(gè)參數(shù)被命名為Helen,當(dāng)Helen >1500(1.5ms)時(shí)就是操縱者要豎直飛行,要把PID運(yùn)算的數(shù)據(jù)輸出;當(dāng)Helen <1500時(shí)就是正常飛行,直接把模定時(shí)器捕捉中斷程序里捕捉到的數(shù)輸出就可以了。

  要得到各個(gè)脈沖寬度,只要把從低到高的每個(gè)脈沖發(fā)生的時(shí)間做減法就可以了,這個(gè)減法運(yùn)算也是在主程序里完成的。減法完成后還要對(duì)脈沖寬度進(jìn)行出錯(cuò)處理,要檢查一下,小于1ms的按1ms算,大于2ms的按2ms算,處理完了就可以調(diào)用發(fā)送中斷發(fā)送給輔助MCU了。調(diào)用方式是把數(shù)組排列好,把發(fā)送數(shù)據(jù)計(jì)數(shù)器清零,打開(kāi)發(fā)送中斷允許位,這時(shí)發(fā)送緩沖區(qū)是空的,發(fā)送中斷一允許,它就立刻進(jìn)中斷開(kāi)始發(fā)送。

  串口發(fā)送中斷程序:程序進(jìn)入本中斷后首先把發(fā)送數(shù)據(jù)計(jì)數(shù)器指示的數(shù)送到發(fā)送緩沖區(qū)去發(fā)送,如發(fā)送完了就把發(fā)送中斷允許位清零,以防止正在發(fā)送的數(shù)據(jù)發(fā)送完后再次進(jìn)入中斷;如沒(méi)發(fā)送完就直接退出,等待下次中斷。

  輔助MCU程序流程圖見(jiàn)圖6。

  串口接收中斷:輔助MCU程序的關(guān)鍵在串口接收中斷,接收到的數(shù)要存入指定的數(shù)組,這個(gè)容易實(shí)現(xiàn),而把引導(dǎo)頭找出來(lái)就不那么容易了,因?yàn)樽鳛橐龑?dǎo)頭的0xAA、0x55也有可能是數(shù)據(jù),只有連起來(lái)的才是引導(dǎo)頭,判斷方法詳見(jiàn)圖6。

  因?yàn)楸?strong>MCU只有兩個(gè)定時(shí)器,但需要控制三路脈沖,所以有兩路脈沖用定時(shí)器的PWM功能實(shí)現(xiàn),另外一路需要用軟件模擬,本文選用的方法是用一個(gè)20ms的中斷,進(jìn)入中斷后把I/O口置位,然后在主程序里循環(huán)判斷定時(shí)器的值,當(dāng)定時(shí)器的值大于要送的脈沖值時(shí)把I/O復(fù)位。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

中國(guó)北京(2025年9月10日)—— 業(yè)界領(lǐng)先的半導(dǎo)體器件供應(yīng)商兆易創(chuàng)新GigaDevice(股票代碼 603986)亮相于深圳國(guó)際會(huì)展中心舉辦的第26屆中國(guó)國(guó)際光電博覽會(huì)(展位號(hào):12C12),全面展示GD25 SPI...

關(guān)鍵字: 光通信 MCU Flash

瑞典烏普薩拉,2025年9月4日 — 全球領(lǐng)先的嵌入式系統(tǒng)開(kāi)發(fā)軟件解決方案供應(yīng)商IAR宣布,瑞薩最新推出的具備量產(chǎn)條件的RH850/U2A MCAL(微控制器抽象層)軟件包,已全面支持IAR的RH850工具鏈(v2.21...

關(guān)鍵字: MCU ADAS 電動(dòng)汽車

本屆年會(huì)將在上海(11月13-14日)、北京(11月19-20日)和深圳(11月27-28日)舉行,面向嵌入式設(shè)計(jì)工程師推出25門技術(shù)課程

關(guān)鍵字: 嵌入式 MCU 模擬

中國(guó)北京(2025年9月2日)—— 業(yè)界領(lǐng)先的半導(dǎo)體器件供應(yīng)商兆易創(chuàng)新GigaDevice(股票代碼 603986)受邀出席2025智能汽車基礎(chǔ)軟件生態(tài)大會(huì)暨第四屆中國(guó)汽車芯片大會(huì),并與國(guó)內(nèi)領(lǐng)先的AUTOSAR車用操作系...

關(guān)鍵字: 汽車電子 MCU 智能汽車

2025年8月26日,?Elexcon深圳國(guó)際電子展?在?深圳會(huì)展中心(福田)1號(hào)館?(展臺(tái)號(hào):1L30)盛大舉行。作為全球電子產(chǎn)業(yè)鏈的重要盛會(huì),展會(huì)匯聚創(chuàng)新技術(shù)與行業(yè)解決方案。米爾電子MYIR攜RZ系列核心板、開(kāi)發(fā)板等...

關(guān)鍵字: 核心板 開(kāi)發(fā)板 MCU

針對(duì)HMI應(yīng)用所需的段碼式LCD和電容式觸控進(jìn)行優(yōu)化,為電磁爐提供精準(zhǔn)控制;支持通過(guò)雙區(qū)閃存實(shí)現(xiàn)便捷、安全的OTA

關(guān)鍵字: MCU 智能家電 電磁爐

聚焦工業(yè)4.0及能源管理應(yīng)用對(duì)主控MCU的高性能需求,極海正式發(fā)布APM32F425/427系列高性能拓展型MCU,集合運(yùn)算性能、ADC性能、Flash控制器性能與通信接口四大維度革新,進(jìn)一步增強(qiáng)了EMC性能,重新定義C...

關(guān)鍵字: MCU 工業(yè)應(yīng)用 極海

MarketsandMarkets預(yù)測(cè),到2027年,全球嵌入式AI市場(chǎng)規(guī)模將超過(guò)200億美元,年復(fù)合增長(zhǎng)率高達(dá)30%。這一增長(zhǎng)背后,是對(duì)高算力、低功耗、實(shí)時(shí)性和安全性的迫切需求,以及技術(shù)碎片化與跨界融合的復(fù)雜挑戰(zhàn)。在這...

關(guān)鍵字: Renesas AI 瑞薩電子 嵌入式AI MCU MPU

全新產(chǎn)品滿足DLMS Suite2表計(jì)應(yīng)用安全法規(guī),提供豐富的通信選項(xiàng)、電容式觸摸界面,以及支持軟件更新的雙區(qū)閃存

關(guān)鍵字: MCU 閃存 恒溫器

由于邊緣AI是指在邊緣設(shè)備上部署和運(yùn)行AI模型,而不是將數(shù)據(jù)傳輸?shù)街醒敕?wù)器進(jìn)行處理。這種方式具有低延遲、高響應(yīng)速度、保護(hù)隱私和降低數(shù)據(jù)傳輸成本等優(yōu)勢(shì)。微控制器(MCU)作為電子設(shè)備的主控制芯片,在邊緣AI的發(fā)展中扮演著...

關(guān)鍵字: MCU AI
關(guān)閉