




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、本 科 畢 業(yè) 設 計( 2013屆)題 目: 帆板控制系統(tǒng)的設計 學 院: 物理與電子信息工程學院 專業(yè): 電子信息科學與技術 班級: 09 電科本 姓 名: 沈珂敏 學 號: 09110113111 指導老師: 楊衛(wèi)波 完成日期: 2013/03/01 物理與電子信息學院本科生畢業(yè)設計(論文)誠信承諾書1、本人鄭重地承諾所呈交的畢業(yè)設計(論文),是在指導教師 楊衛(wèi)波 老師的指導下嚴格按照學校和學院有關規(guī)定完成的。2、本人在畢業(yè)論文(設計)中引用他人的觀點和參考資料均加以注釋和說明。3、本人承諾在畢業(yè)論文(設計)選題和研究過程中沒有抄襲他人研究成果和偽造相關數(shù)據(jù)等行為。4、在畢業(yè)論文(設計)
2、中對侵犯任何方面知識產(chǎn)權的行為,由本人承擔相應的法律責任。 畢業(yè)論文(設計)作者簽名:沈珂敏 班級:09電科本 學號: 09110113111 2013 年 3 月 1 日目 錄摘要IAbstractII1 緒論11.1 課題的背景及意義11.2 論文研究的基本內(nèi)容11.3 開發(fā)環(huán)境概述21.4 論文組織結構22 系統(tǒng)設計方案32.1 設計思路32.2 各模塊方案的比較與選擇32.2.1 主控模塊的比較與選擇32.2.2 角度模塊的比較與選擇32.2.3 顯示模塊的比較與選擇42.2.4 鍵盤模塊的比較與選擇42.2.5 風扇的比較與選擇42.2.6 電源模塊的比較與選擇52.3 最終設計方案
3、53 系統(tǒng)硬件的基本組成部分63.1 系統(tǒng)設計的各硬件模塊電路63.1.1 控制模塊的最小系統(tǒng)板63.1.2 ADXL345角度傳感器模塊原理圖73.1.3 顯示模塊LCD1602引腳連接圖73.1.4 鍵盤模塊電路圖83.1.5 聲光提示部分電路圖83.2 主要硬件單元電路的設計分析93.2.1 PWM直流風扇電機的轉(zhuǎn)速控制93.2.2 ADXL345角度檢測103.2.3 串口通信104 系統(tǒng)的軟件設計及框圖描述114.1 PWM信號的產(chǎn)生114.2 I²C總線的組成及工作原理124.2.1 起始和終止信號124.2.2 典型信號134.3 按鍵輸入軟件接口設計144.4 PID
4、控制154.5 軟件設計流程圖174.5.1 PWM波產(chǎn)生流程圖174.5.2 按鍵處理流程圖184.5.3 顯示模塊流程圖194.5.4 聲光提示流程圖194.5.5 系統(tǒng)總流程圖205 系統(tǒng)的調(diào)試及分析215.1 測試儀器215.2 帆板控制系統(tǒng)的實際運行測試215.2.1 角度傳感器采集的角度顯示測試215.2.2 手動控制風扇速度測試215.2.3 帆板角度自動控制測試(一)225.2.4 帆板角度自動控制測試(二)226 結 論23致謝24參考文獻25附 件26摘要本設計采用C8051F410單片機作為核心控制器,利用角度傳感器ADXL345來檢測帆板的傾斜角度,單片機通過ADXL3
5、45傳感器對信號進行采集,并處理算出其在垂直平面上的傾斜角度,應用PWM脈寬調(diào)制技術控制直流風扇的風力大小,然后在LCD1602液晶屏上實時顯示帆板轉(zhuǎn)角,實現(xiàn)對帆板轉(zhuǎn)角的控制。該系統(tǒng)主要由單片機控制、風扇調(diào)速、角度檢測模塊、液晶顯示、鍵盤控制以及聲光提示等模塊組成。測量距離在7cm15cm范圍內(nèi),轉(zhuǎn)角能夠于5秒內(nèi)達到設定值,絕對誤差5°。關鍵詞:帆板控制,C8051F410,PWM調(diào)速,角度檢測,PID算法IIAbstractThe design uses a C8051F410 microcomputer as the core controller, detecting the
6、angle of inclination of the sailboard with the angle transducer ADXL345. The single chip microcomputer collects the signals through ADXL345, handles and calculates its tilt angle in the vertical plane, applies the pulse width modulation technology to control the wind force of DC fans, and then carri
7、es out real-time display of sailboard corner on the LCD1602, realizing the control of sailboard corner. The system mainly consists of MCU control module, fan speed control module, angle detection module, LCD display module, keyboard control module and sound-light alarm module etc. In the range 7 - 1
8、5 cm, the angle can reach to the set angle within 5 seconds. The absolute error can 5°.Key words:sailboard control system,C8051F410,PWM,angle detection,PID1 緒論1.1 課題的背景及意義隨著科技的不斷發(fā)展,自動控制系統(tǒng)已廣泛應用于工業(yè)、航天、新能源研究等高科技領域。單片機以其造價低,體積小,功能強大,開發(fā)周期短等特點而成為一些智能化產(chǎn)品設計的核心控制研究對象,也是設備能否正常運作的先決條件。是否可以進行聲光提示、人機交互又成為越來
9、越感興趣的研究方向。帆板控制系統(tǒng)的設計來自于全國大學生電子設計競賽題,它可以實現(xiàn)按鍵操作、聲光提醒、LCD顯示等功 能。傳統(tǒng)的電機調(diào)速系統(tǒng)因其硬件設計復雜,調(diào)試困難,控制靈活性差而不能滿足日常簡單的小型直流電機的調(diào)速控制,因此采用PWM調(diào)制技術控制直流風扇,具有簡單易實現(xiàn)的優(yōu)點1。傳感器作為一種檢 測裝置在現(xiàn)代生活中有著至關重要的作用。它能將感 測到的信息按照某種特 定規(guī) 律轉(zhuǎn)換成電信號或其他非電信號形式的信息,從而滿足信息的傳輸、顯示、處理和存儲等功能要求。利用帆板控制系統(tǒng)中的單片機處理器可以時刻掌握風扇實際轉(zhuǎn)速,加入角度傳感器可以精確測量當前的帆板偏轉(zhuǎn)角度,從而反饋、比較、算出所需風力大小
10、,實現(xiàn)該系統(tǒng)的自動控制。因此帆板控制系統(tǒng)有其現(xiàn)實意義的研究價值和一定范圍的發(fā)展前景。1.2 論文研究的基本內(nèi)容設計并制作一個系統(tǒng)具體如圖1-1所示,通過調(diào)節(jié)與設置風扇的轉(zhuǎn)速,能夠控制風力大小,從而使帆板轉(zhuǎn)角發(fā)生的相應變化。 圖1-1 整體示意圖當用手轉(zhuǎn)動帆板時,系統(tǒng)能夠以數(shù)字形式實時顯示帆板的轉(zhuǎn)角(0到90°),當距離d=10cm時,利用按鍵調(diào)節(jié)風扇轉(zhuǎn)速,能夠使帆板轉(zhuǎn)角在060°變化且帆板轉(zhuǎn)角在5秒內(nèi)穩(wěn)定,轉(zhuǎn)角達到預設角度的±5°范圍內(nèi)時會聲光提示,當距離d在715cm范圍內(nèi)任意選擇時,通過按鍵設定帆板轉(zhuǎn)角,能使帆板在5秒內(nèi)到達設定值并保持穩(wěn)定2。1.3
11、 開發(fā)環(huán)境概述系統(tǒng)選用基于USB接口的C8051F系列單片機調(diào)試仿真器U-EC6,開發(fā)環(huán)境選擇KEIL C51,其支持8位機的匯編語言和C語言,編譯效率高。支持用戶在調(diào)試過程中能夠進行相應變量數(shù) 值與類 型的檢 查修改、堆棧與寄 存器的靈活運用、存 儲器與寄 存器的配 置;同時也支持程序斷 點、觀察點設置,下載代 碼到Flash存 儲器,根據(jù)不同操作使程序選擇全 速運 行或連續(xù)單 步等功能。1.4 論文組織結構第一部分 為緒論,介紹了論文背景、意義及主要研究工作。第二部分 總體介紹了系統(tǒng)方案的設計與最終確定。第三部分 具體介紹了硬件的組成及主要電路的分析。第四部分 具體介紹了軟件設計過程及其程
12、序流程框圖。第五部分 為調(diào)試,介紹了系統(tǒng)的測試方法及結果的記錄與分析。第六部分 為結論,對本文做出概括性總結,并討論了系統(tǒng)的可優(yōu)化之處。302 系統(tǒng)設計方案系統(tǒng)的設計方案分別由設計思路、各主要模塊電路的比較與選擇、總體方案的論證組成。2.1 設計思路課題要求設 計的該 帆 板系統(tǒng),其垂直平面與帆板平面的夾 角的改變,可以通過控 制風扇的轉(zhuǎn) 速調(diào)節(jié)風 力大小來實現(xiàn)。具體思路是采用單 片機輸出PWM方 式控制直 流電機,從而改變風扇的風 力大小,帆板因受到風 力大小的不同,會使帆板偏 轉(zhuǎn)的角度發(fā)生相應變化,角度傳感器把檢測到的帆板偏轉(zhuǎn)角信號送給單片機型號為C8051F410進行處理使其達到設計所需
13、的要求并可用鍵盤操作進行調(diào)整,液晶屏上可以實時顯示帆板當前風力、角度以及自動控制模式下所設置的角度。2.2 各模塊方案的比較與選擇2.2.1 主控模塊的比較與選擇方案一:采用AT89C51系列單片機,整個設計過程中由于要求是功率顯示,而此單片機雖然價格低廉,但過于陳舊,內(nèi)存小,速度不夠快,無內(nèi)置開門狗,內(nèi)部沒有自帶AD轉(zhuǎn)換器,所以得外部擴展AD轉(zhuǎn)換器,會使整個設計復雜化。方案二:采用ATmega16單片機,該單片機屬于AVR系列,其性能同STC89C52類似,基本能滿足設計要求,內(nèi)部雖有AD采樣,但是體積偏大,且從未嘗試過,實際操作起來、功能的實現(xiàn)方面需要重新研究,所需學習周期過長,不是很適合
14、3。方案三:采用C8051F410單片機,它擁有24個數(shù)字I/O端口,可耐5.25V,有弱上拉、推挽兩種輸出方式,內(nèi)設交叉開關,可靈活配置;該芯片擁有4個通用定時/計數(shù)器,16位可編程計數(shù)器/定時器陣列(PCA),片內(nèi)看門狗,2304字節(jié)內(nèi)部數(shù)據(jù)RAM,32K FLASH,SMBus(兼容I²C)、UASRT串口4。C8051F410單片機采用流水線結構兼容CIP-51內(nèi)核,速度可達50MIPS,比前兩者更快,體積更小,功能更強大,考慮到本人對該款單片機較為熟悉,課程學習中有應用,且該控制器易于實現(xiàn)設計要求、下載方便,足以勝任本系統(tǒng)的主控芯片。綜上所述,選擇方案三。2.2.2 角度模
15、塊的比較與選擇方案一:采用SCA60C單軸傾角傳感器,該集成芯片具有體積小、靈敏度高等優(yōu)點5。但直接與單片機連接會使IO口占用較多,因其承受重量較小,所以對帆板質(zhì)量的要求相對較高,且價格昂貴,不適合使用。方案二:采用高靈敏度電位器WWD35,將電位器的旋轉(zhuǎn)軸固定在帆板的轉(zhuǎn)軸上,當帆板轉(zhuǎn)動時電位器的轉(zhuǎn)軸也會隨之轉(zhuǎn)動,此時通過測量電位器的電壓變化即可得到近似線性的帆板角度6。該傳感器阻值范圍寬、線性精度高、分辨力強、壽命長,但將電位器與帆板轉(zhuǎn)軸固定在一起,會使帆板轉(zhuǎn)動時受到一定的阻力,降低了帆板的旋轉(zhuǎn)靈活性且價格偏貴7。所測得的電壓為模擬信號,需要進行A/D轉(zhuǎn)換成數(shù)字信號再輸送給單片機進行處理,或
16、者將信號直接輸出送給單片機進行A/D處理,但這樣會增加程序的編程量和單片機的工作負荷。方案三:采用ADXL345數(shù)字加速度傳感器,該傳感器是一款小而輕薄的超低功耗的3軸加速度計,可測量帆板在斜面所受到的重力加速度在斜面上的垂直分量,進而轉(zhuǎn)換成傾斜角度,測量精度高8。ADXL345輸出信號直接就是數(shù)字信號,避免了AD轉(zhuǎn)換,操作簡單,且整個模塊只需要用到兩個I/O口,占用資源相對而言較少??紤]到成本問題及優(yōu)劣比較,選擇方案三。2.2.3 顯示模塊的比較與選擇方案一:采用七段數(shù)碼管(LED)顯示,數(shù)碼管具有亮度高、工作電壓小、功耗低、驅(qū)動簡單、耐沖擊且性能穩(wěn)定等特點,并且硬件調(diào)試方便易行,可采用BC
17、D數(shù)字編碼顯示,編程實現(xiàn)簡單。但是此次設計中所需設定的參數(shù)較多,還需要顯示字符,而LED數(shù)碼管的顯示無法滿足眾多功能設計。方案二:采用LCD12864液晶屏顯示,該顯示器所耗功率低、驅(qū)動方法和硬件電路連接都較為復雜,屏幕大能顯示漢字,但本次設計可以不需要顯示漢字就可滿足設計要求,且占用IO口多。方案三:采用LCD1602液晶屏顯示,該顯示器控制方法簡單、功率同LCD12864一樣也低、硬件電路比LCD12864簡單許多,占用IO口的資源也較少,可顯示數(shù)字和字符,不能顯示漢字,但能達到本次設計的要求。因此,選擇方案三。2.2.4 鍵盤模塊的比較與選擇方案一:采用4×4矩陣鍵盤,該鍵盤外
18、型美觀,輸入直觀易見,但是這種鍵盤使用于所需設定功能多的場合,硬件與軟件結構都較為復雜。方案二:采用復合式鍵盤,其中一個按鍵用于選擇PWM模式或自動控制角度模式,另外兩個按鍵為一加一減,雖然理解簡單,但是考慮到復用模式,會使程序略顯復雜,且不易實現(xiàn)或誤操作頻繁,所以不適合。方案三:采用獨立式鍵盤,使用時直接連線,較為方便,且本設計只需4個按鍵,足夠滿足要求。因此,選擇方案三。2.2.5 風扇的比較與選擇方案一:采用步進電機控制,自己制作風扇葉片,但是制作起來復雜,風扇葉片選材困難,不好固定,且風力較為擴散,使得帆板的轉(zhuǎn)角不穩(wěn),難以進行測量與控制。方案二:采用USB風扇,外型美觀,選擇類型多樣,
19、但是風力嚴重不足,不適合此設計要求。方案三:采用PWM波控制的直流電機風扇,無需額外的驅(qū)動電路,操作簡單,控制方便,風力強弱可達到設計要求。因此,選擇方案三。2.2.6 電源模塊的比較與選擇方案一:采用自己制作的電源模塊,但考慮到硬件電路略顯復雜,制作需要花費一定時間,調(diào)試過程可能存在安全隱患,且本次設計只需要5V和12V電壓供電,特意制作一個電源模塊沒多大必要。方案二:采用直接用直流電壓源提供12V電壓,單片機引腳輸出5V電壓,對電路和風扇進行供電,簡單易行。因此,選擇方案二。2.3 最終設計方案經(jīng)過以上各方案的論 證與比較,最后得出系 統(tǒng)組 成的各個模 塊如下:(1) 控制模塊方案:選用C
20、8051F410單片機作為主控芯片。(2) 角度模塊方案:選用ADXL345加速度傳感器作為角度檢測模塊的傳感器。(3) 顯示模塊方案:選用LCD1602液晶屏顯示。(4) 鍵盤模塊方案:選用互不干擾的4個獨立按 鍵控制。(5) 風扇選擇方案:選用PWM控制的直流電機風扇。(6) 電源模塊方案:直接選用實驗室里直流電壓源提供12V電壓。(7) 聲光提示部分由LED燈與蜂鳴器組合實現(xiàn)。系統(tǒng)基本組成框圖如下:PWM C8051F410 單片機直流風扇帆板轉(zhuǎn)角角度傳感器鍵盤輸入直流電源LCD顯示聲光提示圖2-1 帆板控制系統(tǒng)的基本組成框圖3 系統(tǒng)硬件的基本組成部分3.1 系統(tǒng)設計的各硬件模塊電路3.
21、1.1 控制模塊的最小系統(tǒng)板圖3-1 單片機的最小系統(tǒng)所用到的部分功能圖單片機最小系統(tǒng)板主要由C8051F410單片機芯片、復位電路、串口通信電路及IO引腳組成。C8051F410單片機是由 Silicon Laboratories 公司開發(fā)的其中一款高性能SOC單片機, MAX232芯片是MAXIM公司專為RS-232標準串口設計的單電源電平轉(zhuǎn)換芯片,相當于架起PC機與單片機之間的橋梁。根據(jù)電路圖進行實物連接: IO引腳P0.0、 P0.1分別接ADXL345傳感器中的I²C時鐘引腳、I²C數(shù)據(jù)引腳;P0.4、P0.5分別與232TXD、232RXD相連;P0.7與風扇P
22、WM線相連;P1與LCD1602數(shù)據(jù)端口相連;P2.0-P2.3與四個按鍵相連;P2.5-P2.7與LCD1602命令端口相連。3.1.2 ADXL345角度傳感器模塊原理圖圖3-2 角度傳感器ADXL345模塊原理圖ADXL345內(nèi)部工作電壓為3.3V,而單片機提供的電壓為5V,所以首先要將電壓進行轉(zhuǎn)換。本設計采用的ADXL345模塊自帶電壓轉(zhuǎn)換模塊,所以無需再去討論設計其內(nèi)部電路圖的原理與構造,只要連接好5V、GND、SCL、SDA四線即可。3.1.3 顯示模塊LCD1602引腳連接圖圖3-3 顯示模塊LCD1602引腳圖本設計所用到的1602字符型液晶由點陣組成,能夠同時顯示16
23、5;2即32個字符。文字部分用英文縮寫替代,連 接方式如圖3-3。3.1.4 鍵盤模塊電路圖圖3-4 鍵盤模塊電路圖圖中S1、S2、S3和S4分別與單片機IO引腳P2.0、P2.1、P2.2和P2.3相連,S1表示選擇角度設置模式,此時通過S2、S3分別輸入角度值的十位和個位值,根據(jù)所按次數(shù)進行循環(huán)相加設定,可輸入最大值為60;S4表示選擇選擇PWM模式,即通過S2、S3分別可以使占 空比變小、變大,從而手 動 控 制風 扇的轉(zhuǎn) 速。3.1.5 聲光提示部分電路圖圖3-5 聲光提示部分電路圖在自動控制模式下,當帆板實際轉(zhuǎn)角與設置角度在5°范圍內(nèi)時,單片機的P0.6腳輸出為低電平,D1
24、燈亮,蜂鳴器Buzzer開始鳴叫。3.2 主要硬件單元電路的設計分析3.2.1 PWM直流風扇電機的轉(zhuǎn)速控制此系統(tǒng)所選擇的風扇內(nèi)置直流電機,外形美觀,連線方便,驅(qū)動良好。直流電機的轉(zhuǎn)速調(diào)控方法有以下三種:調(diào)節(jié)電樞供電的電壓、減弱勵磁磁通和改變電樞回路電阻9,其優(yōu)點是具有良 好的調(diào) 變 特 性,能 繁復快 速地實 現(xiàn) 電機的無 極 起 動、反轉(zhuǎn)與制 動,調(diào) 速 范圍 寬,承 受沖 擊 負荷能 力大,平 穩(wěn) 不 易 過 載。下面主要介紹的是直流風扇電機PWM調(diào) 速模塊的實現(xiàn)方法。根據(jù)PWM控制的基本原理可知,一段時間內(nèi)加在慣性負載兩端的PWM脈沖與相同時間內(nèi)沖量相等的直流電加在負載上的電壓等效,那
25、么如果在短時間 T內(nèi)脈沖寬度為,幅值為U,由此可以求得此段時間內(nèi)脈沖的等效直流電壓為,若令,則即為占空比,公式簡化為(U為脈沖幅值)10。圖3-6 PWM單脈沖要改變風扇兩端等效直流電壓的大小,可以通過改變脈沖幅值U或占空比來實現(xiàn),因為在實際系統(tǒng)設計中脈沖幅值一般是恒定的11,所以通過控制占空比的大小實現(xiàn)等效直流電壓在0-U之間的任意調(diào)節(jié)是最常見的方法。采用脈寬調(diào)制(PWM)控制電機的時候,電源其實是在特定頻率下以方波脈沖向直流電動機提供電能,而不是連續(xù)形式供電。不同占空比的方波能對電機起到調(diào)速作用,這是因為電機實際上是一個大電感,它有阻礙輸入電流和電壓突變的能力,因此脈沖輸入信號被平均分配到
26、作用時間上,這樣,改變電機始能端上輸入方波的占空比就能改變加在電機兩端的電壓大小,從而達到利用PWM控制實現(xiàn)對直流電機轉(zhuǎn)速進行調(diào)節(jié)12,控制風扇的目的。本設計所選用的是四線PWM調(diào)速風扇,有四個輸入IO口,分別是黑色負極、紅色正極、黃色測速、藍色PWM線,額定電壓為12V。其直流電機已經(jīng)安裝在風扇內(nèi)部,無需再考慮內(nèi)部電路結構,所以只要將電源接通,單片機輸出不同占空比的PWM波便可實現(xiàn)風扇的調(diào)速功能。3.2.2 ADXL345角度檢測ADXL345加速度傳感器具有兩個可編程中斷引腳,INT1和INT2,共計八個中斷源;DATA_READY、SINGLE_TAP、DOUBLE_TAP、Activi
27、ty、inactivity、FREE_FALL、Watermark和Overrun。各個中斷均可獨立使能或禁用,只需設置INT_ENABLE寄存器中的相應位即可,通過INT_MAP寄存器的相應位來選擇映射INT1引腳或INT2引腳。而且ADXL345是一款超低功耗3軸加速度計,分辨率高,測量范圍廣,數(shù)據(jù)輸出為補碼格式,可用I2C 或 SPI總線與單片機進行連接即數(shù)字接口訪問,模擬輸出的加速度傳感器則需要使用 ADC 進行采樣13?,F(xiàn)在,普遍使用的單片機中基本都有內(nèi)置的ADC通道,所以無論是數(shù)字輸出還是模擬輸出的加速度傳感器都可以非常容易地和單片機連接,以實現(xiàn)測量功能。由于加速度傳感器有受到重力
28、的作用,因此在靜止放置時會產(chǎn)生 1g的重力加速度。利用該特性,可以測量ADXL345模塊重力加速度在X、Y 軸上的分量,然后根據(jù)公式計算出其在垂直平面上的傾斜角度,由此可以將ADXL345加速度計作為測量角度的傳感器使用,適合本設計。平面傾 斜角具體轉(zhuǎn)換如下所示:圖3-7 平面傾斜角這樣,一個3 軸加速度計根據(jù)上述原理可以轉(zhuǎn)化成測量一個平面的傾斜角度。 (3-1)由于采用模擬輸出,經(jīng)C8051F410單片機的AD轉(zhuǎn)換實現(xiàn)角度采集,在方案比較中已經(jīng)說明其不足之處是會加重單片機的負擔,而且設計中采用的ADXL345模塊可以直接數(shù)字輸出數(shù)據(jù),就不需要再將設計復雜化。因此,本設計采用I²C總
29、線通信方式控制ADXL345角度傳感器進行角度的數(shù)字量采集與顯示。3.2.3 串口通信由單片機最小系統(tǒng)板電路圖3-1可知,串行通信通過RS-232與MAX232芯片實現(xiàn)C8051F410單片機與電腦安裝的串口小助手的交互功能。ADXL345角度模塊所采集到的信號和PWM的占空比(此處用PCA0CPHn代替)通過調(diào)試助手進行采集,為帆板的精確控制提供有效的數(shù)據(jù)支持。4 系統(tǒng)的軟件設計及框圖描述程序的模塊化設計思路清晰,可移植性強,檢查與修改方便,是編寫過程中普遍采取的框架結構。按照程序模塊的劃分,整個系統(tǒng)的軟件設計包括主程序、風扇驅(qū) 動模塊、串口通信模塊、角 度采集轉(zhuǎn)換模塊、聲光提 示模塊、按鍵
30、輸入及液 晶顯示模塊。所有的程序均采用C語言編寫,易于調(diào)試和下載14。本系統(tǒng)中帆板角度的測量與顯示、PWM的產(chǎn)生是程序設計的關鍵部分。其主要思想是通過角度傳感器測得的角度與設置的初始角度進行比較,使PWM占空比發(fā)生改變,從而使風扇轉(zhuǎn)速發(fā)生變化,直至達到要求后穩(wěn)定。利用簡單的閉環(huán)系統(tǒng)需要進行大量的數(shù)據(jù)記錄,程序通過查表法或公式法將對應的PWM占空比反饋給直流電機進行速度的改變。該方法增加了實驗量,控制精確度也不高,特別是因風壓與轉(zhuǎn)速不成線性關系,直接采用公式法會造成很大的誤差,所以需在閉環(huán)系統(tǒng)的基礎上加入PID控制算法。這樣,不但減少了實驗的數(shù)據(jù)測量,而且通過調(diào)試PID參數(shù),會使控制更加精確、快
31、速。I²C總線是ADXL345傳感器與單片機進行通信的方式,所以其工作原理及時序傳送是不可或缺的。LCD1602的實時顯示需要掌握液晶顯示的讀寫順序、忙檢測等。按鍵的輸入應防止操作不當所引起的誤差,此處最好的方法是根據(jù)狀態(tài)機的原理對其動作和確認的過程進行分析判斷并加入消除抖動設計,即利用延時判斷。4.1 PWM信號的產(chǎn)生一般情況下,PWM信號的產(chǎn)生多采用定時器定時計數(shù)的方法進行純軟件控制,比硬件PWM信號產(chǎn)生電路的制作簡單可行,但定時器的使用會占用中斷時間,降低CPU的效率。若用C8051F410中可編程計數(shù)器陣列提供的增強型定時器,可以比標準定時器需要更少的CPU干預,程序簡單、易
32、于配置,輸出信號的抖動性小15。因此,為了減小CPU負荷,使系統(tǒng)更優(yōu)化,程序設計中采用PCA捕捉模塊實現(xiàn)PWM信號的產(chǎn)生。系統(tǒng)采用的是定頻調(diào)寬的方法實現(xiàn)對風扇轉(zhuǎn)速穩(wěn)定的控制。頻率取決于PAC0定時器/計數(shù)器的計數(shù)時鐘源,此處為24.5MHz的單片機內(nèi)部時鐘。輸出信號的占空比可以通過PCA0CPLn來改變。當PCA0L和PCA0CPLn值一樣時,CEX0輸出高電平;當PCAL中計數(shù)值從0xFF一直加1到0x00溢出時,CEX0輸出為低電平,與此同時,保存在PCA0CPHn中的值自動裝入到PCA0CPLn中,無需軟件干預。通過按鍵操作或PID算法改變PCA0CPHn的值改變占空比。8位PWM方式的
33、占空比由下面的方程給出: (4-1)PWM產(chǎn)生部分代碼:void PCA0_Init() EIE1 |= 0x08; /中斷使能 PCA0MD = 0x09; PCA0L=0x80; /設初值0x80 PCA0CPM0 = 0x4b; /8位PCA0 PWM波 PCA0CPH0 = 0x80;PCA0CN = 0x40; /啟動PCA0void PCA0_ISR (void) interrupt 11 CCF0=0; CF=0;4.2 I²C總線的組成及工作原理I²C總線只有兩根雙向信 號線,一根是時 鐘線SCL,另一根是數(shù) 據(jù)線SDA,具有低高速同 步電 子器件和總線裁判
34、斷定功能。圖4-1 I²C信號線本設計所用到I²C總線的主機為C8051F410單片機,從機為ADXL345角度傳感器模塊。4.2.1 起始和終止信號SCL線為“1”時,SDA線由“1”向“0”的變化表示起始信號,SCL線為“1”時,SDA線由“0”向“1”的變化表示終止信號16。 圖4-2 起始信號與終止信號4.2.2 典型信號標準I²C總線的數(shù)據(jù)傳送須嚴格按照時序要求執(zhí)行,這樣數(shù)據(jù)傳送的可靠性就有了保證。圖4-3 模擬時序圖ADXL345發(fā)送與接收代碼:void ADXL345_SendByte(uchar dat) uchar k; for (k=0; k&
35、lt;8; k+) /8位計數(shù)器 dat <<= 1; SDA = CY;DelayUs(1); /送數(shù)據(jù)口 SCL = 1; /拉高時鐘線 DelayUs(5); /延時 SCL = 0; /拉低時鐘線 DelayUs(5); /延時 ADXL345_RecvACK();uchar ADXL345_RecvByte() uchar k; uchar dat = 0; SDA = 1; for (k=0; k<8; k+) /8位計數(shù)器 dat <<= 1; SCL = 1; /拉高時鐘線 DelayUs(5); /延時 dat |= SDA; /讀數(shù)據(jù) SCL
36、= 0; /拉低時鐘線 DelayUs(5); /延時 return dat;ADXL345數(shù)據(jù)采集部分代碼:void display_adxl()Init_ADXL345(); /初始化ADXL345 Multiple_Read_ADXL345(); /連續(xù)讀出數(shù)據(jù),存儲在BUF中 data_xyz0=(BUF1<<8)+BUF0; /合成數(shù)據(jù) data_xyz1=(BUF3<<8)+BUF2; /合成數(shù)據(jù) data_xyz2=(BUF5<<8)+BUF4; /合成數(shù)據(jù) Q=(float)data_xyz0*3.9; T=(float)data_xyz1*
37、3.9; K=(float)data_xyz2*3.9; Q=-Q; Roll=(float)(atan2(K,Q)*180)/3.14159265)+180-5); /X軸角度值4.3 按鍵輸入軟件接口設計按鍵的操作存在一定的不確定性,所以需要通過軟件方式也就是用程序代碼的循環(huán)讀寫對其進行周而復始的查詢。而按鍵在檢測時不可避免抖動的發(fā)生,可能會使程序?qū)Π存I產(chǎn)生誤判斷而影響整個系統(tǒng),且它的穩(wěn)定閉合時間是0.3-0.5s,因此狀態(tài)機的時間序列周期不僅要遠小于0.3s使按鍵操作過程不被丟失,又要能使其抖動跳過,綜合考慮,設置一個時間序列為10ms即可解決以上復雜問題。顯而易見,系統(tǒng)的輸入信號與按鍵
38、輸出電平有關,“1”表示按鍵處于開放狀態(tài),“0”表示按鍵處于閉合狀態(tài),而系統(tǒng)的輸出信號則表示檢測和確認到一次按鍵的閉合操作,也用“1”表示17。狀態(tài)轉(zhuǎn)換圖如下:圖4-4 按鍵的狀態(tài)轉(zhuǎn)換圖4.4 PID控制為了使帆板快速達到設定角度,并且穩(wěn)態(tài)誤差要小,本人考慮運用數(shù)字PID算法控制帆板角度穩(wěn)定。對一般控制系統(tǒng)來說PID算法的穩(wěn)定效果比較好,但參數(shù)整定是一個很繁復的過程,需要經(jīng)過多次調(diào)試與計算才能確定,其模型框圖如圖4-5所示:圖4-5 PID控制模型框圖PID控制器的作用是線 性調(diào)節(jié)輸出,保 證偏差值為零,使系統(tǒng)預先達到一個理想穩(wěn)定的狀態(tài),其中偏差值由設定值與輸出的反饋值進行比較產(chǎn)生,控制量由微
39、分、比例、積分組 合構成?;驹頌檫\用比例、積分、微分算法,對回路中的偏差進行修正,然后通過執(zhí)行器調(diào)節(jié)參數(shù)輸出u(t),再經(jīng)過被控對象的處理后使測量值穩(wěn)定在設定值附近18。模 擬 微 分表 達 式為: (4-2) 式中各參數(shù)和變量分別是:utt時刻的調(diào)節(jié)器輸出;Kp比例系數(shù);e(t)t時刻的調(diào)節(jié)器輸入;Ti積分時間常數(shù);Td微分時間常數(shù)。PID控制器三個環(huán)節(jié)的作用如下:(1) 比例環(huán)節(jié):能以比 例 形式反映控制系統(tǒng)的偏 差,也就是說一有偏差信號,控制器就會立即有動作進行調(diào)節(jié),這樣就可以減小,使調(diào)節(jié)過程趨于穩(wěn)定。(2) 積分環(huán)節(jié):主要用于消 除被 調(diào) 量的穩(wěn) 態(tài)誤差,但會存在一定風險比如造成不
40、穩(wěn)定或者往 返 振 蕩,其影響程 度的強 弱由決定,基本上越小,發(fā)揮的影響能 力就越強。(3) 微分環(huán)節(jié):反映的變化快慢,而且為了加快控制速度,能提前引入一個有效的矯正 信 號,以便減小本設計的調(diào)節(jié)時間和,該環(huán)節(jié)的差異直接制約著系統(tǒng)性 能的好壞。PID算法中最常見的有兩種形式,分別為位置式PID控制算法和增量式PID控制算法19。本設計采用的是位置式PID算法,其離散PID表達式為: (4-3)實驗時,由RS232串口通信采集到的PWM與角度數(shù)據(jù)的對應關系可知,兩者在0-60°范圍內(nèi)近似認為是線性關系,且PCA0CPHn約是角度的-4倍,所以可根據(jù)該關系式先確定,即令,=0,只運用比
41、例環(huán)節(jié),得到一個愈逼近目標控 制的穩(wěn)定的震 蕩參數(shù),然后根據(jù)這個和震 蕩周期來計算,完成整個參數(shù)的確定。此次設計用經(jīng)典PID控制算法中的PD能滿足設計要求就不再考慮積分系數(shù)的進一步設定,可直接令其等于零,這樣大大簡化了根據(jù)實驗測 量所得數(shù) 據(jù)進行系數(shù)調(diào) 整的過程。位置式PID算法部分代碼:float PIDCalc(float NextPoint) float Error,out,dError; Error = pp->SetPoint - NextPoint; / 偏差 pp->SumError += Error; / 積分 dError = pp->LastError -
42、 pp->PrevError; / 當前微分 pp->PrevError = pp->LastError; pp->LastError = Error; out=pp->Proportion * Error / 比例項 + pp->Integral * pp->SumError / 積分項 + pp->Derivative * dError; / 微分項 if(PCA0CPH0-4*out>=250|PCA0CPH0-4*out<0) return 0; else return out;float rOut; / PID Respon
43、se (Output)float rIn; / PID Feedback (Input)void PID_SET(void) sPID.Proportion =0.325; / Set PID Coefficients sPID.Integral =0; sPID.Derivative =0.117;void pid() sPID.SetPoint = change_ang; / Set PID Setpoint if(abs(change_ang-Roll)>0&&detal=0) rIn =Roll; / Read Input rOut = PIDCalc (rIn)
44、; / Perform PID Interation PCA0CPH0=PCA0CPH0-4*rOut; else PCA0CPH0=PCA0CPH0;4.5 軟件設計流程圖4.5.1 PWM波產(chǎn)生流程圖NNYY開始設置初始占空比開啟總中斷設置要取占空比的值計數(shù)是否數(shù)到PID設置值是否數(shù)到按鍵設置值產(chǎn)生PWM波圖4-6 PWM波產(chǎn)生流程圖4.5.2 按鍵處理流程圖 NYYNYN開始按鍵設置是否確認按鍵設定PWM調(diào)整風扇轉(zhuǎn)速是否|設定角-實際角|<=2°設定角度自動調(diào)整PWM調(diào)整風扇轉(zhuǎn)速PID控制是否|設定角-實際角|<=2°按鍵結束圖4-7 按鍵處理流程4.5.
45、3 顯示模塊流程圖YN開始初始化LCD1602寫入數(shù)據(jù)顯示的起始地址寫入顯示的數(shù)據(jù)代碼液晶顯示是否忙執(zhí)行顯示圖4-8 顯示模塊流程4.5.4 聲光提示流程圖YN開 始PWM波控制風力帆板轉(zhuǎn)角是否|設定角-實際角|<=4°蜂鳴器響LED亮圖4-9 聲光提示流程圖4.5.5 系統(tǒng)總流程圖YNYN開 始I/O初始設置液晶屏初始設置是否自動控制顯示基本畫面是否輸入值按鍵掃描輸入角度讀取角度值進行PID算法輸出PWM波結束圖4-10 系統(tǒng)總流程圖5 系統(tǒng)的調(diào)試及分析5.1 測試儀器萬用表、秒表、直流電源、示波器、量角器、尺。5.2 帆板控制系統(tǒng)的實際運行測試5.2.1 角度傳感器采集的角
46、度顯示測試 用手擺動帆板,同時目測量角器讀出實際的帆板轉(zhuǎn)角,與液晶屏上的顯示值(系統(tǒng)測量值)進行比較,測量數(shù)據(jù)如表5-1所示,帆板與風扇的距離d=10cm。表5-1 角度測量數(shù)據(jù)表(單位:度)量角器值05102030405060測量值第1組06122030404958測量值第2組051019303949575.2.2 手動控制風扇速度測試通過鍵盤選擇PWM模式,然后進行按鍵輸入加或減,改變PWM脈寬占空比大小,使帆板轉(zhuǎn)角穩(wěn)定在 45°±5°范圍內(nèi),帆板與風扇距離d=10cm,測量三次。表5-2 角度值的比較數(shù)據(jù)表組數(shù)顯示角度實際角度絕對誤差5s內(nèi)達到要求有無聲光提
47、示143°45°-2°能有245°44°1°能有34845°3°能有5.2.3 帆板角度自動控制測試(一)設定角度即通過鍵盤選擇角度控制模式,然后進行按鍵輸入加或減,通過PID算法自動調(diào)節(jié)風力大小,使帆板轉(zhuǎn)角能夠穩(wěn)定在設置值±5°范圍內(nèi),帆板與風扇距離d=10cm。表5-3 角度自動控制測試數(shù)據(jù)表(一)設定角度實時顯示角度絕對誤差能否在5s內(nèi)達到要求20°19°1°能30°32°-2°能40°41°-1°能
48、 50°51°-1°能60°62°-2°能5.2.4 帆板角度自動控制測試(二)先按鍵設定角度值,然后通過PID自動控制調(diào)節(jié)風扇的轉(zhuǎn)速,從而改變風力大小,帆板與風扇的距離d=7cm15cm。(實驗時設d=12cm)。表5-4 角度自動控制測試數(shù)據(jù)表(二)設定角度實時顯示角度絕對誤差能否在5s內(nèi)達到要求20°18°2°能30°31°-1°能40°40°0°能50°49°1°能60°60°0°
49、;能通過以上數(shù)據(jù)的測量與分析可以發(fā)現(xiàn),完成時間和誤差均滿足系統(tǒng)設計要求。 6 結 論本文詳細介紹了如何通過8位單片機實現(xiàn)帆板控制系統(tǒng)的設計,并從軟件和硬 件 兩方面闡述了該系統(tǒng)的具體實現(xiàn)方案和基本過程。經(jīng)過三個多月的調(diào)研、學習、分析、設計和實現(xiàn),本系統(tǒng)完成了以下的功能:1 實現(xiàn)了帆板轉(zhuǎn)角及風速值在LCD1602液晶屏上的實時顯示;2. 通過I²C通信方式使ADXL345實時采集帆板當前角度并通過單片機處理輸出,分辨力小于2°;3. 可以通過串口調(diào)試助手采集系統(tǒng)的PWM輸出值與帆板轉(zhuǎn)角;4. 當帆板轉(zhuǎn)角達到預設角度時,系統(tǒng)能進行聲光提示,范圍在預設角度的±5
50、6;;5. 通過4個按鍵能設置風速及角度;6. 運用PID算法使帆板能在5秒內(nèi)達到所設定的角度并平穩(wěn)運行,實現(xiàn)帆板的自動控制。在此次帆板控制系統(tǒng)的制作中,嚴格按照課題所要求的每一項指標進行設計,始終關注系統(tǒng)運行的穩(wěn)定性,完成了任務規(guī)定的基本部分和發(fā)揮部分的各項要求,基本達到了發(fā)揮部分的各項性能指標。而且本系統(tǒng)整體設計構架合理,電路性能穩(wěn)定、優(yōu)良,系統(tǒng)功能實現(xiàn)理想,較好達到課題要求的各 項指 標。系統(tǒng)仍需完善之處:實際操作中當帆板吹到一定角度穩(wěn)定后,若此時使風扇轉(zhuǎn)速為0,則帆板無法回到垂直位置,有一定的偏差。產(chǎn)生該狀況的可能因素有平臺本身轉(zhuǎn)軸可能存在摩擦,角度傳感器與C8051F410最小系統(tǒng)板
51、之間的連線以及帆板質(zhì)量問題。經(jīng)多次試驗,包括從最初的松螺絲連桿作為轉(zhuǎn)軸,到后來用軸承進行連接,該情況無改善;角度傳感器未連線,則偏轉(zhuǎn)角度在5°內(nèi);當帆板偏下部位加載重物后,偏轉(zhuǎn)角度在3°范圍內(nèi)。所以綜上情況的研究及分析,可以知道,有部分原因是泡沫板質(zhì)量過輕使其重心偏上但主要是由于角度傳感器與C8051F410最小系統(tǒng)板之間的連線使帆板無法回到垂直位置。經(jīng)改進可以使帆板歸零偏置角度小于5°,但卻無法消除,也成為該系統(tǒng)設計的一大遺憾。致謝衷心感謝我的導師楊衛(wèi)波先生在我的畢業(yè)設計和論文寫作過程中對我的悉心指導。楊老師的耐心指導和支持是我不斷解決問題的動力,也正是在他的督
52、促和幫助下,我才能這么順利地按時完成畢業(yè)設計。也正是在楊老師的指導下,我學會了如何結合自身能力選擇合適的畢業(yè)課題;又應該如何去查閱文獻找出能為我所用的可靠資料,并依據(jù)有用信息制定出一個比較可行的設計方案;在實踐中遇到問題時,如何找出問題所在予以解決。非常感謝他的辛勤付出。此外還要感謝在制作過 程中曾經(jīng)幫 助過我的同 學和朋友,正因為有他們才讓我在迷茫和困境中能夠茅塞頓開,欣然面對。最后感謝老師認真評閱!參考文獻1 邱丹, 王東, 高振東.直流電機PWM閉環(huán)調(diào)速系統(tǒng)J. 青島大學學報, 2000, 15(1):10-12.2 藺鵬, 胡玫, 王宏斌. 帆板自動控制系統(tǒng)設計J.蘭州工業(yè)高等??茖W校學報, 2012,19(2).3 鄭揚冰, 薛曉. 帆板控制系統(tǒng)的設計與實現(xiàn)J. 制造業(yè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇揚州歷年中考作文題與審題指導(2006-2023)
- 保時捷應聘測試題及答案
- 2024年紡織品檢驗員學習方法試題及答案
- 張衡傳教學課件
- 服裝與實際穿著體驗的結合試題及答案
- 病原檢測面試題目及答案
- 安全測試面試題目及答案
- 商業(yè)美術設計師市場推廣試題及答案
- 2024年紡織品檢驗員考試亮點試題及答案
- 提升考試水平的國際商業(yè)美術設計師試題及答案
- 小學數(shù)學《分數(shù)除法》50道計算題包含答案
- 仿制藥與原研藥競爭分析
- 腦洞大開背后的創(chuàng)新思維學習通超星期末考試答案章節(jié)答案2024年
- 科傻平差軟件說明指導書
- 臨時聘用司機合同范本
- ipo上市商業(yè)計劃書
- 抖音短陪跑合同范本
- HJ 636-2012 水質(zhì) 總氮的測定 堿性過硫酸鉀消解紫外分光光度法
- 山東省青島市市北區(qū)2023-2024學年七年級下學期英語期末考試試題
- 拔牙技巧必成高手
評論
0/150
提交評論