版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
..簡(jiǎn)易風(fēng)洞及控制系統(tǒng)〔G題〕摘要:本帆板控制系統(tǒng)由單片機(jī)ATMEGA328作為帆板轉(zhuǎn)角的檢測(cè)和控制核心,實(shí)現(xiàn)按鍵對(duì)風(fēng)扇轉(zhuǎn)速的控制、調(diào)節(jié)風(fēng)力的大小、改變帆板轉(zhuǎn)角θ、液晶顯示等功能。引導(dǎo)方式采用角度傳感器感知與帆板受風(fēng)力大小的轉(zhuǎn)角θ的導(dǎo)引線。通過PWM波控制電機(jī)風(fēng)扇風(fēng)力的大小使其改變帆板擺動(dòng)的角度θ。風(fēng)扇控制核心采用L298電機(jī)驅(qū)動(dòng)模塊,用ATMEGA328單片機(jī)為控制核心,產(chǎn)生占空比受數(shù)字PID算法控制的PWM脈沖,實(shí)現(xiàn)對(duì)直流電機(jī)轉(zhuǎn)速的控制,同時(shí)利用光電傳感器將電機(jī)速度轉(zhuǎn)化成脈沖頻率反響到單片機(jī)中,實(shí)現(xiàn)轉(zhuǎn)速閉環(huán)控制,到達(dá)轉(zhuǎn)速無靜差調(diào)節(jié)的目的。MMA7455三軸加速傳感器把角度輸出信號(hào)傳送給ATMEGA328單片機(jī)進(jìn)展處理。關(guān)鍵詞:ATMEGA328,MMA7455,PWM波,PID算法目錄1.系統(tǒng)設(shè)計(jì)1.1任務(wù)與要求1.1.1主要任務(wù)1.1.2根本要求1.1.3說明1.2總體設(shè)計(jì)方案1.2.1設(shè)計(jì)思路·1.2.2方案論證與比擬1.2.3系統(tǒng)的組成2.單元電路設(shè)計(jì)2.1風(fēng)速控制電路2.2小球測(cè)距原理2.3控制算法3.軟件設(shè)計(jì)3.1風(fēng)速控制電路設(shè)計(jì)計(jì)算3.2控制算法設(shè)計(jì)與實(shí)現(xiàn)3.3程序流程圖4.系統(tǒng)測(cè)試4.1調(diào)試使用的儀器與方法4.2測(cè)試數(shù)據(jù)完整性4.3測(cè)試結(jié)果分析4.4完畢語(yǔ)5.總結(jié)參考文獻(xiàn)附錄1元器件明細(xì)表附錄2電路圖圖紙附錄3程序清單1.系統(tǒng)設(shè)計(jì)1.1任務(wù)與要求1.1.1主要任務(wù)設(shè)計(jì)制作一簡(jiǎn)易風(fēng)洞及其控制系統(tǒng)。風(fēng)洞由圓管、連接部與直流風(fēng)機(jī)構(gòu)成,如下圖。圓管豎直放置,長(zhǎng)度約40cm,徑大于4cm且壁平滑,小球〔直徑4cm黃色乒乓球〕可在其中上下運(yùn)動(dòng);管體外壁應(yīng)有A、B、C、D等長(zhǎng)標(biāo)志線,BC段有1cm間隔的短標(biāo)志線;可從圓管外部觀察管小球的位置;連接部實(shí)現(xiàn)風(fēng)機(jī)與圓管的氣密性連接,圓管底部應(yīng)有防止小球落入連接部的格柵??刂葡到y(tǒng)通過調(diào)節(jié)風(fēng)機(jī)的轉(zhuǎn)速,實(shí)現(xiàn)小球在風(fēng)洞中的位置控制。1.1.2根本要求小球置于圓管底部,啟動(dòng)后5s控制小球向上到達(dá)BC段,并維持5s以上。當(dāng)小球維持在BC段時(shí),用長(zhǎng)形紙板〔寬度為風(fēng)機(jī)直徑的三分之一〕遮擋風(fēng)機(jī)的進(jìn)風(fēng)口,小球繼續(xù)維持在BC段。以C點(diǎn)的坐標(biāo)為0cm、B點(diǎn)的坐標(biāo)為10cm;用鍵盤設(shè)定小球的高度位置〔單位:cm〕,啟動(dòng)后使小球穩(wěn)定地處于指定的高度3s以上,上下波動(dòng)不超過±1cm。以適當(dāng)?shù)姆绞綄?shí)時(shí)顯示小球的高度位置及小球維持狀態(tài)的計(jì)時(shí)。小球置于圓管底部,啟動(dòng)后5s控制小球向上到達(dá)圓管頂部處A端,且不跳離,維持5s以上。小球置于圓管底部,啟動(dòng)后30s控制小球完成如下運(yùn)動(dòng):向上到達(dá)AB段并維持3~5s,再向下到達(dá)CD段并維持3~5s;再向上到達(dá)AB段并維持3~5s,再向下到達(dá)CD段并維持3~5s;再向上沖出圓管〔可以落到管外〕。風(fēng)機(jī)停頓時(shí)用手將小球從A端放入風(fēng)洞,小球進(jìn)入風(fēng)洞后系統(tǒng)自動(dòng)啟動(dòng),控制小球的下落不超過D點(diǎn),然后維持在BC段5s以上。其他自主發(fā)揮設(shè)計(jì)。1.1.3說明題中"到達(dá)XX段〞是指,小球的整體全部進(jìn)入該段;題中"維持〞是指,在維持過程中小球整體全部不越過該段的端線;小球的位置以其中心點(diǎn)為準(zhǔn)〔即小球的上沿切線向下移2cm,或下沿切線向上移2cm〕;直流風(fēng)機(jī)的供電電壓不得超過24V,注意防止風(fēng)機(jī)葉片旋轉(zhuǎn)可能造成的傷害;可在圓管及其周圍設(shè)置傳感器檢測(cè)管小球的位置;可將圓管、連接部與直流風(fēng)機(jī)安裝在硬質(zhì)板或支架上,以便于使圓管保持豎直狀態(tài),并保持風(fēng)洞氣流通暢。每一個(gè)工程最多進(jìn)展三次測(cè)試;對(duì)于任何測(cè)試工程,測(cè)試專家可要求進(jìn)展重復(fù)測(cè)試。風(fēng)洞制作方法參考:圓管長(zhǎng)度約40cm,可以選用透明的有機(jī)玻璃〔或亞克力材料〕圓管,也可以選用不透明的PVC圓管。圓管的直徑必須大于40mm,保證小球〔直徑為40mm的乒乓球〕在管能夠自由運(yùn)動(dòng)。如果選用不透明的PVC圓管,為了能夠方便直觀地觀察管小球的位置,可以在管臂上沿軸線方向開鑿寬度約5mm的長(zhǎng)條形槽孔,再用寬的透明膠帶貼在槽孔上,保證圓管的氣密性。開鑿長(zhǎng)條形槽孔后,應(yīng)去除管壁的殘屑,以免影響小球的運(yùn)動(dòng)。為了防止小球落入連接部,可將一根細(xì)鐵絲或?qū)Ь€,用AB膠或透明膠帶粘在圓管下端口處。連接部的材料可以采用冰箱保鮮袋。剪去袋底封口局部,得到一個(gè)兩端開口的塑料薄膜"軟管〞。將"軟管〞的一端包住圓管的下端口,并用透明膠帶將重疊局部纏緊;將軟管的另一端包住直流風(fēng)機(jī)出風(fēng)口的外沿,并用透明膠帶將重疊局部纏緊。注意直流風(fēng)機(jī)的風(fēng)向,應(yīng)向連接部方向吹風(fēng)??蓪L(fēng)洞的圓管、直流風(fēng)機(jī)局部固定在一塊硬質(zhì)板上,再固定硬質(zhì)板,使圓管保持豎直狀態(tài);也可做一個(gè)三腳支架,將風(fēng)洞的圓管局部固定在支架上并保持豎直狀態(tài),直流風(fēng)機(jī)垂掛在圓管下方。直流風(fēng)機(jī)的進(jìn)風(fēng)口處應(yīng)留有足夠的空間,保證氣流通暢。1.2總體設(shè)計(jì)方案1.2.1設(shè)計(jì)思路題目要求設(shè)計(jì)一個(gè)翻版控制系統(tǒng),通過對(duì)風(fēng)扇轉(zhuǎn)速的控制,調(diào)節(jié)風(fēng)力的大小,改變帆板轉(zhuǎn)角θ。設(shè)計(jì)中采用單片機(jī)PWM波電機(jī)控制方式,使得控制風(fēng)扇風(fēng)力的大小,帆板受到風(fēng)力的大小從而改變帆板偏轉(zhuǎn)的角度θ,角度傳感器把檢測(cè)到帆板的偏轉(zhuǎn)角度傳給ATMEGA48單片機(jī)進(jìn)展處理到達(dá)設(shè)計(jì)所需的要求再用鍵盤進(jìn)展調(diào)整,用液晶顯示屏進(jìn)展顯示。1.2.2方案論證與比擬1.電源的設(shè)計(jì)方案論證與選擇系統(tǒng)需要多個(gè)電源,ATMEGA328、L298、MMA7455都使用5V的穩(wěn)壓電源,電機(jī)驅(qū)動(dòng)需要24V電壓。方案一、采用LM2596開關(guān)電壓調(diào)節(jié)器,能夠輸出3A的輸出電流,同時(shí)具有很好的線性和負(fù)載調(diào)節(jié)特性,固定輸出3.3V、5V、12V經(jīng)過調(diào)整可輸出小于37V的電壓。方案二、采用升壓型穩(wěn)壓電路。用兩片MC34063芯片分別將3V的電池電壓進(jìn)展直流斬波調(diào)壓,得到5V和12V的穩(wěn)壓輸出。只需使用兩節(jié)電池,既節(jié)省了電池,又減小了系統(tǒng)體積重量,但該電路供電電流小,供電時(shí)間短,無法是相對(duì)龐大的系統(tǒng)穩(wěn)定運(yùn)作。方案三、采用三端穩(wěn)壓集成7805與7824分別得到5V與24V的穩(wěn)壓電壓。利用該方法方便簡(jiǎn)單,工作穩(wěn)定可靠。綜上所述,選擇方案三,采用三端穩(wěn)壓電路。2.角度傳感器的設(shè)計(jì)方案論證與選擇方案一、采用WDS35D4精細(xì)導(dǎo)電塑料角位移傳感器,利用該傳感器的輸入端加上一個(gè)直流電壓,在輸出端得到一個(gè)直流電壓信號(hào),把角度位移的機(jī)械位移量轉(zhuǎn)化成電壓信號(hào),用輸出電壓進(jìn)展角度位移的控制。用此傳感器只要測(cè)量導(dǎo)軌電阻兩端的直流電壓,不同的角度有不同的電阻值,通過電阻來算出角度,計(jì)算不方便。電刷在導(dǎo)軌上移動(dòng)獲得輸出,數(shù)值越小,精度越高。該傳感器的優(yōu)點(diǎn):對(duì)環(huán)境條件要求低,線性精度高、分辨率高、動(dòng)態(tài)的噪聲小等優(yōu)點(diǎn),由于該傳感器的各項(xiàng)精度都比擬精細(xì)使其價(jià)格過高。方案二、采用電位器進(jìn)展調(diào)角:帆板轉(zhuǎn)動(dòng)時(shí)電位器跟著轉(zhuǎn)動(dòng),電壓隨之發(fā)生變化,通過電壓的值轉(zhuǎn)換成角度值。但扭力過大,而且精度也不高。方案三、采用MMA7455三軸加速度傳感器,利用物體運(yùn)動(dòng)和方向改變輸出信號(hào)的電壓值,把檢測(cè)到的信號(hào)傳送給ATMEGA328的AD轉(zhuǎn)化器進(jìn)展轉(zhuǎn)化與讀取此輸出信號(hào)。通過不同的角度,X、Y、Z三個(gè)方向的加速度輸出不同,將電容值的變化轉(zhuǎn)化為電壓值,電容值的計(jì)算公式是:C=Ae/D,其中A是極板的面積,D是極板間的距離,e是電介質(zhì)常數(shù),再用反正弦函數(shù)把角度算出來,計(jì)算比擬方便。該傳感器的優(yōu)點(diǎn):線性精度高、體積小、工作可靠、標(biāo)識(shí)清晰、擴(kuò)展性好等優(yōu)點(diǎn)。綜上所述,選擇方案三,用MMA7455三軸加速傳感器。3.顯示方式的選擇方案一、采用LED數(shù)碼管顯示。使用數(shù)碼管動(dòng)態(tài)顯示,由于顯示的容較少,給人的視覺沖擊不怎么的舒適,具有亮度高、工作電壓低功耗小、易于集成、驅(qū)動(dòng)簡(jiǎn)單等優(yōu)點(diǎn)。但在此次設(shè)計(jì)中需要設(shè)定的參數(shù)種類多,使用LED數(shù)碼管不能完成設(shè)計(jì)任務(wù),不宜采用。方案二、采用字符型LCD顯示??梢燥@示英文及數(shù)字,利用程序去驅(qū)動(dòng)液晶顯示模塊,設(shè)計(jì)簡(jiǎn)單,且界面美觀舒適,耗電小。綜上所述,選擇方案二,用字符型LCD進(jìn)展顯示。4.帆板的設(shè)計(jì)方案論證與選擇方案一、采用電路板作為帆板。根據(jù)設(shè)計(jì)需要的要求,電路板需做成寬:10cm,長(zhǎng):15cm;在所擁有的風(fēng)扇下采取電路板作為帆板,很難滿足設(shè)計(jì)所需到達(dá)的角度??紤]風(fēng)力的大小和自身重力,不宜采用。方案二、采用泡沫作為帆板。泡沫的體積太輕,很容易滿足設(shè)計(jì)所需要的角度,缺點(diǎn):泡沫的穩(wěn)定性不高,干擾成分太多??紤]不穩(wěn)定性的因素太多此方案不宜采用。方案三、采用鋁板作為帆板。經(jīng)過屢次實(shí)驗(yàn):鋁板可以作為帆板使用,能過到達(dá)設(shè)計(jì)所需要的要求,而且鋁板的穩(wěn)定性比擬好,抗干擾能力強(qiáng),受干擾的成分比擬小。綜上所述,選擇方案三,用鋁板作為帆板使用。1.2.3系統(tǒng)的組成經(jīng)過方案比擬與論證,最終確定的系統(tǒng)組成框圖如圖1.1.1所示。其中的集成電路ATMEGA328單片機(jī)驅(qū)動(dòng)液晶顯示模塊、控制電機(jī)驅(qū)動(dòng)改變風(fēng)扇風(fēng)力的大小從而改變帆板的角度,角度傳感器把接收到的輸出信號(hào)傳送給ATMEGA328單片機(jī)進(jìn)展處理再更新顯示。圖1.1.1系統(tǒng)組成框圖PID算法:由于單片機(jī)的處理速度和RAM資源的限制,一般不采用浮點(diǎn)數(shù)運(yùn)算,而將所有參數(shù)全部用整數(shù),運(yùn)算到最后再除以一個(gè)2的N次方數(shù)據(jù)〔相當(dāng)于移位〕,作類似定點(diǎn)數(shù)運(yùn)算,可大大提高運(yùn)算速度,根據(jù)控制精度的不同要求,當(dāng)精度要求很高時(shí),注意保存移位引起的"余數(shù)〞,做好余數(shù)補(bǔ)償。遇限消弱積分:一旦控制變量進(jìn)入飽和區(qū),將只執(zhí)行削弱積分項(xiàng)的運(yùn)算而停頓進(jìn)展增大積分項(xiàng)的運(yùn)算。具體地說,在計(jì)算Ui時(shí),將判斷上一個(gè)時(shí)刻的控制量Ui-1是否已經(jīng)超出限制圍,如果已經(jīng)超出,那么將根據(jù)偏差的符號(hào),判斷系統(tǒng)是否在超調(diào)區(qū)域,由此決定是否將相應(yīng)偏差計(jì)入積分項(xiàng)積分別離法:在根本PID控制中,當(dāng)有較大幅度的擾動(dòng)或大幅度改變給定值時(shí),由于此時(shí)有較大的偏差,以及系統(tǒng)有慣性和滯后,故在積分項(xiàng)的作用下,往往會(huì)產(chǎn)生較大的超調(diào)量和長(zhǎng)時(shí)間的波動(dòng)。特別是對(duì)于溫度、成份等變化緩慢的過程,這一現(xiàn)象將更嚴(yán)重。為此可以采用積分別離措施,即偏差較大的時(shí),取消積分作用;當(dāng)偏差較小時(shí)才將積分作用投入。 離散化公式:Δu(t)=q0e(t)+q1e(t-1)+q2e(t-2)當(dāng)|e(t)|≤β時(shí)q0=Kp(1+T/Ti+Td/T)q1=-Kp(1+2Td/T)q2=KpTd/T當(dāng)|e(t)|>β時(shí)q0=Kp(1+Td/T)q1=-Kp(1+2Td/T)q2=KpTd/Tu(t)=u(t-1)+Δu(t)微分控制對(duì)系統(tǒng)性能的影響:微分作用可以改善動(dòng)態(tài)特性,Td偏大時(shí),超調(diào)量較大,調(diào)節(jié)時(shí)間較短。Td偏小時(shí),超調(diào)量也較大,調(diào)節(jié)時(shí)間也較長(zhǎng)。只有Td適宜,才能使超調(diào)量較小,減短調(diào)節(jié)時(shí)間。由于快速傅立葉變換FFT算法設(shè)計(jì)大量的浮點(diǎn)運(yùn)算,由于一個(gè)浮點(diǎn)占用四個(gè)字節(jié),所以要占用大量的存,同時(shí)浮點(diǎn)運(yùn)算時(shí)間很慢,所以采用普通的8位MCU一般難以在一定的時(shí)間完成運(yùn)算,所以綜合存的大小以及運(yùn)算速度,采用32位的單片機(jī)ATMEGA328,它擁有較大的RAM,并且時(shí)鐘頻率高達(dá)16M,所以對(duì)于浮點(diǎn)運(yùn)算不管是在速度上還是在存上都能夠很快的處理。2.單元電路設(shè)計(jì)2.1風(fēng)扇控制電路風(fēng)扇控制電路主要是由ATMEGA328、L298電機(jī)驅(qū)動(dòng)模塊組成。L298電機(jī)驅(qū)動(dòng)模塊主要由放大電路、OPAMP運(yùn)算放大電路、電機(jī)驅(qū)動(dòng)組成。用電阻和電容組成高通濾波電路,用單片機(jī)控制達(dá)林頓管使之工作在開關(guān)狀態(tài),通過調(diào)整輸入脈沖的占空比,調(diào)整電機(jī)轉(zhuǎn)速。用L298驅(qū)動(dòng)兩臺(tái)直流減速電機(jī)的電路引腳A,B分別用PWM控制。如果電機(jī)運(yùn)動(dòng)那么可將IN1,IN2和IN3,IN4兩對(duì)引腳分別接上下電平,僅用單片機(jī)的兩個(gè)端口給出PWM信號(hào)控制A,B即可。特點(diǎn):工作電壓高,可以到達(dá)46V;輸出電流大,瞬間峰值可達(dá)3A,持續(xù)工作電流2A;額定功率25W。當(dāng)步進(jìn)電機(jī)發(fā)一個(gè)控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個(gè)脈沖,它會(huì)再轉(zhuǎn)一步,兩個(gè)脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)的越快。調(diào)整單片機(jī)發(fā)出的脈沖頻率,就可以對(duì)步進(jìn)電機(jī)進(jìn)展調(diào)速,從而控制了風(fēng)扇的風(fēng)力的大小。L298電機(jī)驅(qū)動(dòng)的特點(diǎn):可以實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)及調(diào)速、啟動(dòng)轉(zhuǎn)矩大。圖1.1.2L298電機(jī)控制電路2.2角度測(cè)量原理MMA7455三軸加速傳感器是檢測(cè)物體運(yùn)動(dòng)和方向的傳感器,它根據(jù)帆板運(yùn)動(dòng)和方向改變輸出信號(hào)的電壓值。當(dāng)帆板受到風(fēng)扇風(fēng)力運(yùn)動(dòng)時(shí),三軸加速傳感器檢測(cè)到帆板運(yùn)動(dòng)的輸出信號(hào),把該輸出的電壓值用三角函數(shù)數(shù)出來在把結(jié)果送往ATMEGA328單片機(jī)進(jìn)展處理,通過按鍵控制與液晶顯示屏進(jìn)展顯示。MMA7455三軸加速傳感器:如圖1.1.3所示2.3控制算法由ATMEGA328單片機(jī)組成的數(shù)字控制系統(tǒng)控制中,PID控制器是通過PID控制算法實(shí)現(xiàn)的。ATMEGA328單片機(jī)通過AD對(duì)信號(hào)進(jìn)展采集,變成數(shù)字信號(hào),再在單片機(jī)過算法實(shí)現(xiàn)PID運(yùn)算,再通過DA把控制量反響回控制源。從而實(shí)現(xiàn)對(duì)系統(tǒng)的伺服控制。圖1.1.4位置式PID控制算法的簡(jiǎn)化示意圖A、圖B。圖1.1.4(A)圖1.1.4(B)傳遞函數(shù)為:時(shí)域的傳遞函數(shù)表達(dá)式對(duì)上式中的微分和積分進(jìn)展近似式中n是離散點(diǎn)的個(gè)數(shù)。于是傳遞函數(shù)可以簡(jiǎn)化為:其中3.軟件設(shè)計(jì)3.1風(fēng)扇控制電路設(shè)計(jì)計(jì)算由單片機(jī)ATMEGA328的處理速度和ram資源的限制,一般不采用浮點(diǎn)數(shù)運(yùn)算,而將所有參數(shù)全部用整數(shù),運(yùn)算到最后再除以一個(gè)2的N次方數(shù)據(jù)〔相當(dāng)于移位〕,作類似定點(diǎn)數(shù)運(yùn)算,可大大提高運(yùn)算速度,根據(jù)控制精度的不同要求,當(dāng)精度要求很高時(shí),注意保存移位引起的"余數(shù)〞,做好余數(shù)補(bǔ)償。圖1.1.5PID算法流程圖3.2控制算法設(shè)計(jì)與實(shí)現(xiàn)由PID控制器參數(shù)的工程整定方法,主要有臨界比例法、反響曲線法和衰減法。三種方法各有其特點(diǎn),其共同點(diǎn)都是通過試驗(yàn),然后按照工程經(jīng)歷公式對(duì)控制器參數(shù)進(jìn)展整定。但無論采用哪一種方法所得到的控制器參數(shù),都需要在實(shí)際運(yùn)行中進(jìn)展最后調(diào)整與完善?,F(xiàn)在一般采用的是臨界比例法。利用該方法進(jìn)展PID控制器參數(shù)的整定步驟如下:(1)首先預(yù)選擇一個(gè)足夠短的采樣周期讓系統(tǒng)工作;(2)僅參加比例控制環(huán)節(jié),直到系統(tǒng)對(duì)輸入的階躍響應(yīng)出現(xiàn)臨界振蕩,記下這時(shí)的比例放大系數(shù)和臨界振蕩周期;(3)在一定的控制度下通過公式計(jì)算得到PID控制器的參數(shù)。將采樣值PID通過算法轉(zhuǎn)化為PWM的占空比輸出。按鍵模塊一共5個(gè)按鍵,其中一個(gè)是單片機(jī)復(fù)位按鍵〔PC6〕,還有4個(gè)功能鍵,分別為:1號(hào)鍵〔對(duì)3個(gè)功能進(jìn)展切換〕、2號(hào)鍵〔確定功能并且確定微調(diào)值〕、3號(hào)鍵〔減號(hào)鍵〕、4號(hào)鍵〔加號(hào)鍵〕。0號(hào)功能〔通過3號(hào)鍵和4號(hào)鍵控制風(fēng)力,使帆板角度變化〕;1號(hào)功能〔控制帆板角度在45°〕;2號(hào)功能〔設(shè)定帆板角度〕;3號(hào)功能〔長(zhǎng)按2號(hào)鍵進(jìn)展自校準(zhǔn)〕。相關(guān)程序:structPID_DATApidData;volatileunsignedcharFunction_is_done=0;//系統(tǒng)功能編號(hào)staticvolatileunsignedcharSystem_Function=0;//5號(hào)功能:校準(zhǔn)角度傳感器,長(zhǎng)按2號(hào)按鍵開場(chǎng)校準(zhǔn)//0號(hào)功能:通過鍵盤控制操作風(fēng)力,使帆板轉(zhuǎn)角變化//1號(hào)功能:控制帆板在45°//2號(hào)功能:10cm時(shí)通過鍵盤設(shè)定帆板角度//3號(hào)功能:7~15cm時(shí)通過鍵盤任意設(shè)定帆板角度// 角度設(shè)定功能用PID算法調(diào)節(jié),PID到達(dá)穩(wěn)態(tài)時(shí),聲光提示//4號(hào)功能:未用//數(shù)碼管使用安排//位0:功能編號(hào)//位5、6:實(shí)時(shí)顯示角度//位2、3:按鍵設(shè)定角度時(shí)顯示設(shè)置值,調(diào)整中閃爍顯示,執(zhí)行后停頓閃爍。3.3程序流程圖圖1.1.6風(fēng)扇控制系統(tǒng)程序流程圖風(fēng)扇控制系統(tǒng)程序流程圖如圖1.1.6所示。首先系統(tǒng)開場(chǎng)初始化,然后再把MMA7444所讀取風(fēng)扇的角度值分別送給單片機(jī)進(jìn)展處理,然后通過按鍵進(jìn)展控制,然后用LED進(jìn)展顯示,蜂鳴器叫鳴。系統(tǒng)測(cè)試4、1調(diào)試使用的儀器與方法序號(hào)名稱、型號(hào)、規(guī)格數(shù)量備注1YB4363雙蹤示波器1揚(yáng)中電子儀器廠2愛使牌AS1051S函數(shù)信號(hào)發(fā)生器1愛使電子儀器廠3游標(biāo)米尺1文雅文化用品廠4角度測(cè)量計(jì)1測(cè)量?jī)x器廠用函數(shù)信號(hào)發(fā)生器給電機(jī)驅(qū)動(dòng)模塊加上12V以上的電壓,用雙蹤示波器查看單片機(jī)的PWM波的脈沖信號(hào),查看電機(jī)輸出的占空比的大小。用游標(biāo)米尺去測(cè)量風(fēng)扇與帆板的距離,風(fēng)扇吹起帆板的角度用角度測(cè)量計(jì)去測(cè)量角度的大小,并記錄相關(guān)的數(shù)據(jù)。4.2測(cè)試數(shù)據(jù)完整性距離實(shí)際角度理論角度誤差穩(wěn)定時(shí)間7cm40°±140°1°10s10cm45°±245°1°7s70°±265°3°6s40°±340°1°6s15cm50°±350°1°5s4.3測(cè)試結(jié)果分析經(jīng)過系統(tǒng)的測(cè)試發(fā)現(xiàn)該設(shè)計(jì)存在著誤差,在帆板受到風(fēng)扇風(fēng)力轉(zhuǎn)動(dòng)時(shí),帆板受力發(fā)生轉(zhuǎn)動(dòng),帆板的角度表現(xiàn)的很不穩(wěn)定,實(shí)際值與理論值相差1~3°的誤差。從而得出帆板的偏轉(zhuǎn)角值可能受到外部環(huán)境的干擾或者是電路硬件出現(xiàn)的導(dǎo)致的問題。指針和轉(zhuǎn)軸由于不同心而出現(xiàn)了一些小誤差。還有角度傳感器上的一些細(xì)軟線導(dǎo)致帆板的中心發(fā)生改變。4.4完畢語(yǔ)①d=10cm時(shí),帆板轉(zhuǎn)角θ=0~60°。②d=10cm時(shí),帆板轉(zhuǎn)角θ=45°。③d=15cm時(shí),帆板轉(zhuǎn)角θ=78°。由于系統(tǒng)架構(gòu)設(shè)計(jì)合理,功能電路實(shí)現(xiàn)較好,系統(tǒng)性能優(yōu)良、穩(wěn)定,較好地到達(dá)了題目要求的各項(xiàng)指標(biāo)。5.總結(jié)本系統(tǒng)以單片機(jī)ATMEGA328芯片為核心部件,用MMA7455三軸加速度傳感器來檢測(cè)L298電機(jī)驅(qū)動(dòng)風(fēng)扇改變帆板的偏轉(zhuǎn)角度,把這輸出的信號(hào)傳送給單片機(jī)進(jìn)展處理,利用了角度傳感技術(shù)并配合獨(dú)特的軟件算法實(shí)現(xiàn)了用按鍵控制風(fēng)力的大小使帆板轉(zhuǎn)角能夠在0~60度圍變化,并在液晶屏上進(jìn)展了顯示。在系統(tǒng)設(shè)計(jì)過程中,力求硬件線路簡(jiǎn)單,充分發(fā)揮軟件編程的靈活方便的特點(diǎn),來滿足設(shè)計(jì)的要求。因?yàn)闀r(shí)間有限,該系統(tǒng)還有許多值得改良的地方:三軸加速度傳感器對(duì)帆板偏轉(zhuǎn)角檢測(cè)不準(zhǔn)確,帆板有可能還受外部環(huán)境的影響。在本次設(shè)計(jì)的過程中,遇到了很多突發(fā)事件和各種困難,設(shè)計(jì)制作中一度中斷,但通過仔細(xì)分析和自我狀態(tài)的調(diào)整解決了很多問題。在這個(gè)過程中我們深深地體會(huì)到共同協(xié)作和團(tuán)隊(duì)精神的重要性,提高了自己解決問題的能力。參考文獻(xiàn):"晶體管電路設(shè)計(jì)上",鈴木雅臣著,:科學(xué),1997年;"模擬電子線路根底",吳運(yùn)昌著,:華南理工大學(xué),2004年;"數(shù)字電子技術(shù)根底",閻石著,:高等教育,1997年;"單片機(jī)原理及應(yīng)用",曉峰著,:理工大學(xué),2010年;附錄:附1:元器件明細(xì)表:元器件名稱型號(hào)個(gè)數(shù)單片機(jī)ATMEGA328個(gè)數(shù)三軸加速度傳感器MMA74551個(gè)電機(jī)驅(qū)動(dòng)模塊L2981個(gè)風(fēng)扇24V0.25A1個(gè)液晶顯示OCMJ4X8C1個(gè)發(fā)光二極管LED3個(gè)電阻10K4個(gè)47K1個(gè)電容貼片1045個(gè)附2:電路圖圖紙附3:程序清單unsignedcharFunction_is_begin=0;unsignedcharSettingAngle=0;staticvolatileunsignedcharTempAngle=0;staticvolatileunsignedintOpenloop_PWM=100;staticvolatileunsignedcharOpenloop_Step=5;voidKey1_Press(unsignedcharktype){ Function_is_begin=0; PWM_Off(); if(++System_Function>5) System_Function=0; switch(System_Function){ case0: Openloop_Step=5; Openloop_PWM=100; PWM_OutPut(Openloop_PWM); //Digit_Set(STEP_POS,2);LCD12864_SetXY(0,2); LCD12864_PutNumber(2); //// Digit_Number(1,Openloop_PWM); break; case1: // Digit_Off(STEP_POS); TempAngle=45; SettingAngle=45; case2: case3: LCD12864_SetXY(0,4); LCD12864_PutNumber(TempAngle/10); LCD12864_SetXY(0,5); LCD12864_PutNumber(TempAngle%10);//Digit_Set(SETTING_POS0,TempAngle/10); //Digit_Set(SETTING_POS1,TempAngle%10); // Digit_FlashMode(SETTING_POS0); //Digit_FlashMode(SETTING_POS1); break; case4: break; case5: //Digit_Off(SETTING_POS0); //Digit_Off(SETTING_POS1); break; } //Digit_Set(0,System_Function); //顯示系統(tǒng)功能編號(hào) LCD12864_SetXY(0,0); LCD12864_PutNumber(System_Function);}voidKey2_Press(unsignedcharktype){ switch(System_Function){ case0: switch(Openloop_Step){ case1: Openloop_Step=5; // Digit_Set(STE. // P_POS,2);LCD12864_SetXY(0,2); LCD12864_PutNumber(2); break; case5: Openloop_Step=10; // Digit_Set(STEP_POS,3);LCD12864_SetXY(0,2); LCD12864_PutNumber(3); break; case10: Openloop_Step=50; //Digit_Set(STEP_POS,4);LCD12864_SetXY(0,2);LCD12864_PutNumber(4); break; case50: Openloop_Step=1; // Digit_Set(STEP_POS,1); LCD12864_SetXY(0,2); LCD12864_PutNumber(1); break; } break; case1: case2: case3: // Digit_NormalMode(SETTING_POS0); // Digit_NormalMode(SETTING_POS1);LCD12864_SetXY(1,2);LCD12864_SetXY(1,3); SettingAngle=TempAngle; Function_is_done=0; break; case4: break; case5: if(ktype==eKTYPE_LPRESS) MMA7455_Calibrate(); break; } Function_is_begin=1; }voidKey3_Press(unsignedcharktype){ switch(System_Function){ case0: if(Openloop_PWM<1023-Openloop_Step) Openloop_PWM+=Openloop_Step; PWM_OutPut(Openloop_PWM); //Digit_Number(1,Openloop_PWM); break; case1: break; case2: case3: Function_is_begin=0; if(++TempAngle>=90) TempAngle=90; // Digit_Set(SETTING_POS0,TempAngle/10);LCD12864_SetXY(1,2); LCD12864_PutNumber(TempAngle/10); //Digit_Set(SETTING_POS1,TempAngle%10);LCD12864_SetXY(1,3); LCD12864_PutNumber(TempAngle/10); break; case4: break; case5: break; }}voidKey4_Press(unsignedcharktype){ switch(System_Function){ case0: if(Openloop_PWM>Openloop_Step) Openloop_PWM-=Openloop_Step; PWM_OutPut(Openloop_PWM); // Digit_Number(1,Openloop_PWM); break; case1: break; case2: case3: Function_is_begin=0; if(TempAngle>=1) TempAngle--; // Digit_Set(SETTING_POS0,TempAngle/10);LCD12864_SetXY(1,2); LCD12864_PutNumber(TempAngle/10);LCD12864_SetXY(1,3); LCD12864_PutNumber(TempAngle/10); // Digit_Set(SETTING_POS1,TempAngle%10); break; case4: break; case5: break; }}voidFunction_ParseKeyMsg(structMSG*pmsg){ switch(pmsg->parma.data[0]) { case1: Key1_Press(pmsg->parma.data[1]); break; case2: Key2_Press(pmsg->parma.data[1]); break; case3: Key3_Press(pmsg->parma.data[1]); break; case4: Key4_Press(pmsg->parma.data[1]); break; }}voidFunction_Init(void){ System_Function=6; Function_is_begin=0; SettingAngle=0; Openloop_Step=5; Openloop_PWM=100;pid_Init(K_P*SCALING_FACTOR,K_I*SCALING_FACTOR,K_D*SCALING_FACTOR,&pidData);// Digit_Set(0,System_Function); //顯示系統(tǒng)功能編號(hào) Msg_Register(Function_ParseKeyMsg,eMsg_Key,eMsg_Key);}voidSet_Input(int16_tinputValue){ uint16_ttemp=inputValue+MAX_INT; PWM_OutPut(temp>>6);}//滑動(dòng)平均濾波#defineBUFFER_SIZE 16#defineBUFFER_SIZE_BIT_COUNT 4uint8_tg_angle;voidInsert_Angle(uint8_tangle){ staticuint8_tangle_buffer[BUFFER_SIZE]; staticuint8_tbuffer_count=0; staticuint16_tsum_angle=0; sum_angle-=angle_buffer[buffer_count]; angle_buffer[buffer_count]=angle; sum_angle+=angle; g_angle=(uint16_t)sum_angle>>BUFFER_SIZE_BIT_COUNT; buffer_count++; if(buffer_count==BUFFER_SIZE) { buffer_count=0; }}voidFunction_MainLoop(void){ int16_tpwm_value=512; uint8_tangle;int16_tinputValue; if(SysTickFlag) { angle=MMA7455_Angle(); if( angle<100){ Insert_Angle(angle); // Digit_Set(ANGLE_POS0,g_angle/10);LCD12864_SetXY(1,6); LCD12864_PutNumber(g_angle/10); // Digit_Set(ANGLE_POS1,g_angle%10);LCD12864_SetXY(1,7); LCD12864_PutNumber(g_angle/10); if(System_Function==1){ //inputValue=pid_Controller(20,g_angle,&pidData); //Set_Input(inputValue); if(g_angle>45) { pwm_value=512-(int16_t)(g_angle-45)*15; if(pwm_value<0) pwm_value=0; } elseif(g_angle<45) { pwm_value=512+(int16_t)(45-g_angle)*15; if(pwm_value>1023) pwm_value=1023; } PWM_OutPut(pwm_value); } elseif(System_Function==2){ inputValue=pid_Controller(SettingAngle,g_angle,&pidData); Set_Input(inputValue); } } }}#include"KeyScan.h"#include"Message.h"#include"SysTimer.h"enumKScanState{KSCAN_IDLE=0,/*無鍵按下,鍵盤掃描初始狀態(tài)*/KSCAN_PRESS,/*鍵按下,判斷抖動(dòng),鍵按下>40ms*/KSCAN_NORMAL, /*普通按鍵,判斷是否長(zhǎng)按鍵,鍵按下>1.6s*/KSCAN_LPRESS, /*長(zhǎng)按鍵,判斷是否連發(fā),鍵按下>1s*/KSCAN_LIANFA,/*連發(fā)按鍵,判斷連發(fā),每0.4s一次連發(fā)按鍵*/};structKStateFsm{enumKScanStatekpress_next; /*鍵按下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度班組安全生產(chǎn)與應(yīng)急管理合同3篇
- 2025年度公司管理人員知識(shí)產(chǎn)權(quán)保護(hù)聘用合同3篇
- 二零二五年度農(nóng)村房屋買賣合同協(xié)議書(含農(nóng)業(yè)科技示范)
- 2025年度公司車輛維修配件供應(yīng)及質(zhì)量保證協(xié)議3篇
- 2025年度關(guān)于智能制造領(lǐng)域方協(xié)議解約的合規(guī)性指導(dǎo)與合同3篇
- 二零二五年度農(nóng)村養(yǎng)?;亟ㄔO(shè)項(xiàng)目合同2篇
- 2025年度公廁保潔服務(wù)與社區(qū)綠化合作合同3篇
- 二零二五年度商業(yè)地產(chǎn)經(jīng)營(yíng)權(quán)承包管理合同2篇
- 二零二五年度婚姻財(cái)產(chǎn)權(quán)益保障及變更協(xié)議3篇
- 2025年度智能設(shè)備試用體驗(yàn)服務(wù)全新試用協(xié)議3篇
- 新疆喀什地區(qū)巴楚縣2023-2024學(xué)年九年級(jí)上學(xué)期1月期末化學(xué)試題
- 供應(yīng)商可持續(xù)發(fā)展計(jì)劃
- 生姜的產(chǎn)地分布
- 普通高中學(xué)業(yè)水平合格性考試(會(huì)考)語(yǔ)文試題(附答案)
- 統(tǒng)編語(yǔ)文八上文言文過關(guān)小測(cè)驗(yàn)-《愚公移山》
- 12、口腔科診療指南及技術(shù)操作規(guī)范
- 醫(yī)藥電商行業(yè)發(fā)展趨勢(shì)報(bào)告
- 2020年10月自考00020高等數(shù)學(xué)一高數(shù)一試題及答案含評(píng)分標(biāo)準(zhǔn)
- 勞務(wù)派遣方案
- 電費(fèi)異常問題篩選及處理途徑
- 幼兒園中班語(yǔ)言繪本《三只蝴蝶》課件
評(píng)論
0/150
提交評(píng)論