




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、PAGE PAGE II2011年全國大學(xué)生電子設(shè)計競賽帆板控制系統(tǒng)(F 題)【120212組】2011年9月6日摘 要 本文主要介紹了一種帆板控制系統(tǒng)。通過對直流風(fēng)扇風(fēng)速的控制,調(diào)節(jié)風(fēng)力大小,改變帆板的轉(zhuǎn)角。其主控芯片為MC9S12XS128,通過PWM對電機(jī)驅(qū)動7960的控制,來調(diào)節(jié)電機(jī)的轉(zhuǎn)速,同時應(yīng)用光電編碼器和傾角傳感器作為反饋,對整個調(diào)速系統(tǒng)進(jìn)行PID閉環(huán)調(diào)節(jié),以到所預(yù)期的角度。并且介紹了在調(diào)試過程中的實(shí)時監(jiān)控、宏觀曲線分析和數(shù)據(jù)分析應(yīng)用等調(diào)試手段。文章著重介紹核心器件的選擇、各部分電路、軟件的設(shè)計和調(diào)試手段關(guān)鍵詞:PID調(diào)速 MC9S12XS128 調(diào)試手段目 錄 TOC o 1-
2、3 h z u HYPERLINK l _Toc302850618 1系統(tǒng)方案 PAGEREF _Toc302850618 h 1 HYPERLINK l _Toc302850619 1.1角度調(diào)整系統(tǒng)方案的論證與選擇 PAGEREF _Toc302850619 h 1 HYPERLINK l _Toc302850620 1.2 電機(jī)驅(qū)動方案的論證與選擇 PAGEREF _Toc302850620 h 1 HYPERLINK l _Toc302850621 1.3 MCU控制系統(tǒng)的論證與選擇 PAGEREF _Toc302850621 h 1 HYPERLINK l _Toc302850622
3、 2系統(tǒng)理論分析與計算 PAGEREF _Toc302850622 h 2 HYPERLINK l _Toc302850623 2.1 帆板受力的分析與計算 PAGEREF _Toc302850623 h 2 HYPERLINK l _Toc302850624 2.1.1帆板轉(zhuǎn)角的原理 PAGEREF _Toc302850624 h 2 HYPERLINK l _Toc302850625 2.1.2 帆板的受力分析 PAGEREF _Toc302850625 h 2 HYPERLINK l _Toc302850626 2.2傾角傳感器的分析與計算 PAGEREF _Toc302850626 h
4、 3 HYPERLINK l _Toc302850627 2.2.1 傾角傳感器系統(tǒng)原理 PAGEREF _Toc302850627 h 3 HYPERLINK l _Toc302850628 2.2.2 傾角傳感器的計算 PAGEREF _Toc302850628 h 3 HYPERLINK l _Toc302850629 2.3 電機(jī)轉(zhuǎn)速控制的分析與計算 PAGEREF _Toc302850629 h 3 HYPERLINK l _Toc302850630 2.3.1 電機(jī)轉(zhuǎn)速控制的分析 PAGEREF _Toc302850630 h 3 HYPERLINK l _Toc302850631
5、 2.3.2 數(shù)字PID控制算法的計算 PAGEREF _Toc302850631 h 3 HYPERLINK l _Toc302850632 3電路與程序設(shè)計 PAGEREF _Toc302850632 h 4 HYPERLINK l _Toc302850633 3.1電路的設(shè)計 PAGEREF _Toc302850633 h 4 HYPERLINK l _Toc302850634 3.1.1系統(tǒng)總體框圖 PAGEREF _Toc302850634 h 4 HYPERLINK l _Toc302850635 3.1.2 控制電路 PAGEREF _Toc302850635 h 5 HYPER
6、LINK l _Toc302850636 3.1.3 鍵盤管理電路 PAGEREF _Toc302850636 h 5 HYPERLINK l _Toc302850637 3.1.4 顯示系統(tǒng)電路 PAGEREF _Toc302850637 h 6 HYPERLINK l _Toc302850638 3.1.5傾角傳感器電路 PAGEREF _Toc302850638 h 7 HYPERLINK l _Toc302850639 3.1.6電機(jī)驅(qū)動電路 PAGEREF _Toc302850639 h 8 HYPERLINK l _Toc302850640 3.1.7測速反饋電路 PAGEREF
7、_Toc302850640 h 8 HYPERLINK l _Toc302850641 3.1.8電源電路 PAGEREF _Toc302850641 h 9 HYPERLINK l _Toc302850642 3.2程序的設(shè)計 PAGEREF _Toc302850642 h 9 HYPERLINK l _Toc302850643 3.2.1程序功能描述與設(shè)計思路 PAGEREF _Toc302850643 h 9 HYPERLINK l _Toc302850644 3.2.2程序流程圖 PAGEREF _Toc302850644 h 10 HYPERLINK l _Toc302850645
8、4測試方案與測試結(jié)果 PAGEREF _Toc302850645 h 12 HYPERLINK l _Toc302850646 4.1測試方案 PAGEREF _Toc302850646 h 12 HYPERLINK l _Toc302850649 4.2 測試條件與儀器 PAGEREF _Toc302850649 h 14 HYPERLINK l _Toc302850650 4.3 測試結(jié)果及分析 PAGEREF _Toc302850650 h 14 HYPERLINK l _Toc302850651 4.3.1測試結(jié)果(數(shù)據(jù)) PAGEREF _Toc302850651 h 14 HYPE
9、RLINK l _Toc302850652 4.3.2測試分析與結(jié)論 PAGEREF _Toc302850652 h 15 HYPERLINK l _Toc302850653 附錄1:電路原理圖 PAGEREF _Toc302850653 h 16 HYPERLINK l _Toc302850654 附錄2:源程序 PAGEREF _Toc302850654 h 17PAGE PAGE 22帆板控制系統(tǒng)(F 題)【高職高專組】1系統(tǒng)方案本系統(tǒng)主要由傾角傳感器模塊、電機(jī)驅(qū)動模塊、MCU控制模塊、電池組成,下面分別論證這幾個模塊的選擇。1.1角度調(diào)整系統(tǒng)方案的論證與選擇方案一:線性電位WDD35D
10、-4是360連續(xù)機(jī)械轉(zhuǎn)角的線性電位器,精度可達(dá)到1%,將電位器旋鈕和電位器分別于帆板和連桿結(jié)合,在帆板轉(zhuǎn)動的同時帶動旋鈕改變阻值,用AD測出電壓變化,從而換算出傾斜角度。方案二:飛思卡爾公司的MMA7445 三軸加速度傳感器,它MMA7260 三軸加速度傳感器功能類似,不同點(diǎn)是它輸出的是數(shù)字量,同樣擁有低功耗,高穩(wěn)定性等特點(diǎn)。 方案三:飛思卡爾公司的MMA7260 三軸加速度傳感器,它具有靈敏度可選,低功耗,高穩(wěn)定性等特點(diǎn),并且輸出模擬信號,同時它的體積小,工作可靠,調(diào)試傾角方便等特點(diǎn)也是一方面優(yōu)勢。方案一線性度好但是機(jī)械結(jié)構(gòu)比較復(fù)雜,方案三輸出的是數(shù)字量,精度不可調(diào),方案二可以改變外部AD來
11、實(shí)現(xiàn)。綜合以上三種方案,選擇方案三。1.2 電機(jī)驅(qū)動方案的論證與選擇方案一:用三極管搭建H橋來控制電機(jī)正反轉(zhuǎn),通過2個8550和2個8050三極管搭建成H橋,其原理簡單,通用,但是負(fù)載經(jīng)過電流太小。方案二:L298N是部集成的雙H橋電路,它的最高電源電壓到46 V。直流電流可達(dá)到4A。低飽和壓降。同時還有過熱保護(hù)過熱時邏輯“0”的輸入和高噪聲免疫力。是一款常用的電機(jī)驅(qū)動芯片方案三:BTS7960是一款半橋驅(qū)動芯片,就是說需要2個芯片來驅(qū)動一個電機(jī),電流最高43A,其阻很小,所以散熱不是很厲害。并且開關(guān)頻率可達(dá)到25kHz以上,同時兼容TTL控制電平。由此可見:方案三無論是最大電流和開通阻相比于
12、方案一和方案二很優(yōu)秀。綜合考慮我們選用方案三綜合以上三種方案,選擇方案三。1.3 MCU控制系統(tǒng)的論證與選擇方案一:89C52置8位中央處理單元、256字節(jié)部數(shù)據(jù)存儲器RAM、8k片程序存儲器(ROM)32個雙向輸入/輸出(I/O)口、3個16位定時/計數(shù)器和5個兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片時鐘振蕩電路。但是定時器過少,并且沒有PWM和ADC功能。方案二:AVR的MEGA16L是一款高性能、低功耗的 8 位AVR微處理器,具有高速,還有四通道PWM和8路10 位ADC以及兩個可編程的串行USART都是本系統(tǒng)所需的重要資源。方案三:MC9S12XS128擁有最高總線速度40MHz,同時
13、實(shí)現(xiàn)了8M存儲空間連續(xù)尋址,同時還有12位的ADC以及支持16位的SPI有4通道24位周期中斷定時期。通過對系統(tǒng)的綜合設(shè)計考慮以及外設(shè)的要求,我們最終選擇了MC9S12XS128這款功能更完善,速度更高的單片機(jī)。2系統(tǒng)理論分析與計算2.1 帆板受力的分析與計算 2.1.1帆板轉(zhuǎn)角的原理帆板受力情況如圖2-1-1所示,再不受外力的作用下,由于物體重力產(chǎn)生一個重力,豎直向下,所以在沒有受到風(fēng)力的作用時,帆板是豎直的,當(dāng)受到一個水平的風(fēng)力的時候,重力和風(fēng)力合成一個斜向下的力使帆板移動,與豎直方向有一個夾角,當(dāng)連桿對帆板的拉力等于重力與風(fēng)力的合力時,帆板可以保持平衡,即理論上的靜止,形成一個角度。我們
14、就是利用這一原理通過控制鋒利的大小來實(shí)現(xiàn)帆板轉(zhuǎn)動或者保留的角度。圖2.11 受力情況示意圖2.1.2 帆板的受力分析圖2.12 受力分析當(dāng)風(fēng)扇打開時,產(chǎn)生風(fēng)力F,它與重力G同時作用在翻版上,使帆板與豎直方向角度為的夾角,且 (1)由此可以通過控制F的大小來控制角的大小。當(dāng)角形成后,帆板的受風(fēng)面積S也會隨之改變 (2)且已知 (3)綜公式(1)(2)(3)所述, (4)有上述公式可看出S與G都是已知的定量,通過對K的控制就能改變的大小,從而完成系統(tǒng)的要現(xiàn)功能。 2.2傾角傳感器的分析與計算 2.2.1 傾角傳感器系統(tǒng)原理加速度傳感器的測量原理本質(zhì)是兩片彈性間距的平板電容,改變間距即改變電容,因而
15、改變輸出電壓。MMA7260Q的重力感測單元由基于半導(dǎo)體材料的微機(jī)械結(jié)構(gòu)構(gòu)造而成。MMA7260Q以重力為輸入矢量來決定物體在空間的姿態(tài),把加速度傳感器固定在物體的水平面上,當(dāng)物體姿態(tài)改變時,加速度傳感器的敏感軸隨之轉(zhuǎn)動一定角度,由于重力的作用,傳感器敏感軸上的加速度會發(fā)生改變,從而通過正交兩個加速度確定出傾角關(guān)系。2.2.2 傾角傳感器的計算當(dāng)傳感器處于水平位置時,如圖4所示,圖中,XOY平面為水平面,Z軸為重力勢方向。當(dāng)傳感器以O(shè)點(diǎn)為參考點(diǎn)繞X軸或繞Y軸轉(zhuǎn)動時,這時傳感器的輸出和傾角的關(guān)系為:式中, ,為傳感器X敏感軸和Z敏感軸的輸出;g為重力加速度值;為傳感器水平面與坐標(biāo)系水平面上X軸和
16、Y軸的傾斜角度。2.3 電機(jī)轉(zhuǎn)速控制的分析與計算 2.3.1 電機(jī)轉(zhuǎn)速控制的分析系統(tǒng)需要控制直流電機(jī)的轉(zhuǎn)速,在正常情況下,當(dāng)電機(jī)通電時速度增加;電機(jī)斷電后,速度逐漸減小??刂妻D(zhuǎn)速比較容易實(shí)現(xiàn)的就是用單片機(jī)輸出PWM波,只要按一定規(guī)律,改變占空比即可讓電機(jī)速度得到控制。在電機(jī)轉(zhuǎn)速控制的過程中,免不了的要用到各種各樣的算法。而我們?yōu)榱烁玫胤€(wěn)定電機(jī)速度使用了工業(yè)中最常用的PID控制算法。為了算法的設(shè)計方便,我們采用了數(shù)字PID控制算法。2.3.2 數(shù)字PID控制算法的計算數(shù)字PID控制算法在生產(chǎn)過程中是一種最普遍采用的控制方法,在冶金、機(jī) 械、化工等行業(yè)中獲得廣泛應(yīng)用。究其原因是:該算法蘊(yùn)涵了動態(tài)
17、控制過程中現(xiàn)在(P)、過去(I)和將來(D)的主要信息,具有本質(zhì)上的魯棒性、優(yōu)化控制特性和智能化,算法簡單明了,易于掌握。單位反饋的PID控制原理框圖如圖1: 圖2.32 PID 控制原理框圖單位反饋代表理想輸入與實(shí)際輸出的誤差,這個誤差信號被送到控制器, 控制器算出誤差信號的積分值和微分值,并將它們與原誤差信號進(jìn)行線性組合, 得到輸出量。 (5)其中,、分別稱為比例系數(shù)、積分系數(shù)、微分系數(shù)。接著被送到了執(zhí)行機(jī)構(gòu),這樣就獲得了新的輸出信號,這個新的輸出信號被再次送到感應(yīng)器以發(fā)現(xiàn)新的誤差信號,這個過程就這樣周而復(fù)始地進(jìn)行。3電路與程序設(shè)計3.1電路的設(shè)計3.1.1系統(tǒng)總體框圖系統(tǒng)總體框圖如圖3.
18、11所示,圖3.11 系統(tǒng)總體框圖3.1.2 控制電路系統(tǒng)硬件以MC9S12XS128單片機(jī)為核心,MC9S12XS128 是一種低功耗、高性能16位微控制器。傾角傳感器以電信號形式傳給單片機(jī),從而實(shí)現(xiàn)單片機(jī)對調(diào)控系統(tǒng)的控制作用。圖3.12 控制電路原理圖3.1.3 鍵盤管理電路 ZLG7289A是一片具有串行接口的,可同時驅(qū)動8為共陰式數(shù)碼管的智能顯示驅(qū)動芯片,該芯片同時還可連接多達(dá)64鍵的矩陣鍵盤,單片機(jī)即可完成LED顯示,鍵盤接口的全部功能。圖3.13 鍵盤管理電路原理圖3.1.4 顯示系統(tǒng)電路 本系統(tǒng)采用的是ILI9325為控制器的TFT液晶顯示屏,分辨率為240X320,能達(dá)到26萬
19、色,本系統(tǒng)采用STC12C5A60S2對其進(jìn)行驅(qū)動,在通過主控制器的串口與之進(jìn)行通信,實(shí)時顯示數(shù)值。 圖3.14 顯示系統(tǒng)電路3.1.5傾角傳感器電路 MMA7260Q輸出的模擬信號輸入到MC9S12XS128單片機(jī)的模擬量轉(zhuǎn)換通道,經(jīng)過ADC轉(zhuǎn)換形成對應(yīng)的數(shù)字量,從而實(shí)現(xiàn)數(shù)字傾角傳感器。圖3.15傾角傳感器電路3.1.6電機(jī)驅(qū)動電路BTS7960是一款半橋驅(qū)動芯片,就是說需要2個芯片來驅(qū)動一個電機(jī),電流最高43A,其阻很小,所以散熱不是很厲害。并且開關(guān)頻率可達(dá)到25kHz以上,同時兼容TTL控制電平。圖3.16電機(jī)驅(qū)動電路3.1.7測速反饋電路本系統(tǒng)采用150線的光電編碼器對電機(jī)進(jìn)行測速,單
20、片機(jī)通過定時器中斷來讀取脈沖數(shù),進(jìn)而控制電機(jī)的閉環(huán)反饋。圖3.17測速反饋電路3.1.8電源電路本系統(tǒng)采用7.2V的鎳鎘電池對整個系統(tǒng)進(jìn)行供電,本系統(tǒng)采用的低壓差線性穩(wěn)壓芯片LM2940,輸出電流可達(dá)到2A,能滿足系統(tǒng)的整體需要。圖3.18電源電路3.2程序的設(shè)計3.2.1程序功能描述與設(shè)計思路1、程序功能描述根據(jù)題目要求軟件部分主要實(shí)現(xiàn)鍵盤的設(shè)置、數(shù)據(jù)的顯示和帆板轉(zhuǎn)角的穩(wěn)定。1)鍵盤的設(shè)置部分:通過鍵盤設(shè)定風(fēng)力大小、設(shè)定帆板轉(zhuǎn)角。2)數(shù)據(jù)的顯示部分:顯示當(dāng)前角度、設(shè)定角度、當(dāng)前風(fēng)力、設(shè)定風(fēng)力。3)帆板轉(zhuǎn)角的穩(wěn)定部分:利用工業(yè)上常用的PID控制算法來穩(wěn)定帆板轉(zhuǎn)角。2、程序設(shè)計思路根據(jù)題目要現(xiàn)鍵
21、盤控制風(fēng)扇風(fēng)力以及帆板轉(zhuǎn)角,故設(shè)定了風(fēng)力模式和角度模式。在風(fēng)力模式下,用按鍵直接調(diào)整風(fēng)扇的轉(zhuǎn)速。在角度模式下,用按鍵調(diào)整設(shè)定角度再利用PID控制算法對角度進(jìn)行控制,進(jìn)而給出風(fēng)扇轉(zhuǎn)速的控制量再通過PID控制算法對風(fēng)扇轉(zhuǎn)速進(jìn)行穩(wěn)定,從而實(shí)現(xiàn)穩(wěn)定的帆板轉(zhuǎn)角控制。同時,為了測試方便設(shè)定45角的一鍵鎖定模式,鎖定之后進(jìn)行聲光提示。3.2.2程序流程圖1、主程序流程圖如圖3.22圖3.22 主程序流程圖2、角度、轉(zhuǎn)速雙閉環(huán)控制子程序流程圖如圖3.23圖3.23 角度、轉(zhuǎn)速雙閉環(huán)控制子程序流程圖3、鍵盤子程序流程圖如圖3.24圖3.24 鍵盤子程序流程圖4、速度控制子程序流程圖,如圖3.25圖3.25 速度
22、控制子程序流程圖4測試方案與測試結(jié)果4.1測試方案4.1.1硬件測試通過示波器對電機(jī)測速反饋電路進(jìn)行測試,其波形如下圖4.11 所示:圖4.11脈沖方波完全達(dá)到要求,可以應(yīng)用。通過萬用表對傳感器模塊電壓值進(jìn)行測量數(shù)據(jù)如下表所示電壓檔信號測試結(jié)果好下表所示: (單位/V)信號值010203040506070顯示2.452.422.412.342.272.162.051.92完全達(dá)到要求,可以應(yīng)用。4.1.2軟件仿真測試(1)在線調(diào)試工具BDM是MC9S12XS128單片機(jī)常用的調(diào)試手段,在每一部分程序調(diào)試通過后,對所有子程序進(jìn)行整合,編寫出完整的主程序,在CodeWarrior 界面完成程序編譯
23、后,通過BDM工具,將程序下載到MC9S12XS128微處理器中,然后進(jìn)行小車的調(diào)試。BDM的優(yōu)點(diǎn)是入門簡單、可觀察參數(shù)全面,特別適用于軟硬件靜態(tài)調(diào)試設(shè)計階段;缺點(diǎn)是必須與PC時刻保持有線連接,不能夠用于小車的動態(tài)調(diào)試階段,整體界面如圖4.12。圖4.12 CodeWarrior IDE V5.9.0調(diào)試界面(2)MATLAB的仿真MATLAB對于數(shù)據(jù)的處理統(tǒng)計分析能力較強(qiáng),故多作為數(shù)據(jù)的靜態(tài)分析使用。MATLAB做曲線擬合界面如圖4.13所示:圖4.13 MATLAB曲線擬合界面3、硬件軟件聯(lián)調(diào)無線串口調(diào)試工具為了解決在調(diào)試過程中能夠更清晰明確的看出數(shù)據(jù)變化,我們應(yīng)用了一套無線的調(diào)試工具。用
24、nRF24L01無線數(shù)據(jù)傳輸模塊作為數(shù)據(jù)的傳輸。把數(shù)據(jù)通過串口傳輸電腦上,再利用所做的LabVIEW上位機(jī)界面或者是MATLAB所做的上位機(jī)界面來作為整個小車監(jiān)控的一個手段。LabVIEW對于數(shù)據(jù)的實(shí)時處理能力較強(qiáng),故多作為實(shí)時動態(tài)監(jiān)控使用。LabVIEW上位機(jī)界面如圖4.31所示:圖4.31 LabVIEW上位機(jī)界面4.2 測試條件與儀器測試條件:經(jīng)多次檢查,仿真電路和硬件電路與系統(tǒng)原理圖完全相同,并且檢查無誤,硬件電路無虛焊,同時測試時保持無風(fēng)狀態(tài)。測試儀器:高精度的數(shù)字毫伏表,數(shù)字示波器,數(shù)字萬用表,直角三角板,量角器。 4.3 測試結(jié)果及分析4.3.1測試結(jié)果(數(shù)據(jù))角度距離15304
25、560時間(s)10cm153144612.17cm163347641.29cm153245621.511cm142944602.213cm132743593.115cm122742574.04.3.2測試分析與結(jié)論根據(jù)上述測試數(shù)據(jù),可以清楚地看出不同的距離、不同的風(fēng)力、不同的風(fēng)速的數(shù)據(jù)對比,由此可以得出以下結(jié)論:1、電機(jī)驅(qū)動方案和電機(jī)很重要,一般的電機(jī)驅(qū)動方案和直流電機(jī)很難把帆板吹到60;如果減輕帆板重量則抖動很厲害;如果連桿太粗糙角度不好控制。2、閉環(huán)調(diào)速系統(tǒng)很必要,完整的閉環(huán)系統(tǒng)(在電機(jī)和電源工作圍)不在乎距離和偏向角度的問題。3、數(shù)據(jù)處理手段多樣,不但要有實(shí)施監(jiān)控的,還有整體宏觀曲線,
26、同時數(shù)據(jù)的分析與擬合等多種手段。綜上所述,本設(shè)計達(dá)到設(shè)計要求。附錄1:電路原理圖主控原理圖主控PCB附錄2:源程序/*This program was produced by theCodeWarrior IDE V5.9.0Automatic Program GeneratorCopyright 1993-2007 Freescale Semiconductor,Inc.This program was edited by theEditPlus V2.12.Project : TestIntegralVersion : V1.0Date : 2011-9-3Author : 付???王杰&
27、三江Company : Electrical Make & Repair CenterComments: 整版測試系統(tǒng),用鍵盤改變速度。Chip type : MC9S12XS128MAAProgram type : ApplicationBus Clock frequency : 40.000000 MHz*/*用戶變量*#define CHANGE_NON 0#define CHANGE_ANGLE 1#define CHANGE_DUTY 2#define ONE_KEY 3/節(jié)奏extern unsigned int beat_Sensor=0,beat_Display=0,beat_
28、ect=0,beat_send=0;/ECT data unsigned int ect_data=0,speedSet=0; unsigned int keyTemp; unsigned int g_keyNum=0,g_keyDownFlag=0; unsigned int g_angle=20,g_anglePID=0,g_duty=20; unsigned int g_changeMode=0; unsigned int g_runMode=CHANGE_DUTY; unsigned int g_displayTimeCnt=0; unsigned int g_displayClrCn
29、t=0; unsigned char TxBuf13=0; unsigned int g_colorTimeCnt=0; unsigned int g_colorCnt=0; unsigned int g_soundlightFlag=0; #includeinclude.hvoid init(void) Init_PLL();/初始化PLL Init_ATD();/初始化ATD 角度測量 Init_PIT();/初始化PIT Init_PID_Data(); /初始化PID Init_ECT();/編碼器 Init_LCD5110();/液晶顯示 Init_KeyINT();/按鍵 ZLG7
30、289_init();/按鍵 Init_PWM();/電機(jī)驅(qū)動 Init_SCI(); PORTB|=0X08;void main(void) /* put your own code here */ unsigned char addrX=0,addrY=0; unsigned int ADValue=0; unsigned int SendCnt=0; float a; float hudu; float jiaodu; init(); addrX=0; addrY=0; Display_String_LCD5110(&addrX,&addrY,Current Angle:); addrX
31、=0; addrY=2; Display_String_LCD5110(&addrX,&addrY,PWM Duty:); EnableInterrupts;for(;) if (beat_Sensor=10)/350ms采集一次 控制一次 beat_Sensor=0;Process_ATD_Value(&ADValue);a=(float)(double)(ADValue/12.4-170)/80); if (a1) a=1.0;hudu=acos(a);jiaodu=(float)(hudu*180/3.14);jiaodu=DataFilter(unsigned int)jiaodu);
32、switch (g_runMode)case CHANGE_ANGLE: g_anglePID=angle_PID_Con(g_angle,(unsigned int)jiaodu); if (g_anglePID80) g_anglePID=80; if (g_anglePID=20) speedSet=0.086*g_anglePID*g_anglePID-0.04*g_anglePID+72.5; else if (g_anglePID=25)/由于角度偏低故進(jìn)行*個脈沖的修正 speedSet=0.092*g_anglePID*g_anglePID-3.32*g_anglePID+13
33、8.42;else if (g_anglePID=240)/限制%80占空比M_PWM_Data=240; if (!g_angle) M_PWM_Data=0; Set_MOTOR(M_PWM_Data);/設(shè)置電動機(jī)速度 break;case CHANGE_DUTY: break;case ONE_KEY: g_anglePID=angle_PID_Con(g_angle,(unsigned int)jiaodu); if (g_anglePID80) g_anglePID=80; if (g_anglePID=20) speedSet=0.086*g_anglePID*g_anglePI
34、D-0.04*g_anglePID+72.5; else if (g_anglePID=25)/由于角度偏低故進(jìn)行*個脈沖的修正 speedSet=0.092*g_anglePID*g_anglePID-3.32*g_anglePID+138.42; else if (g_anglePID=200)/限制%80占空比 M_PWM_Data=200; Set_MOTOR(M_PWM_Data);/設(shè)置電動機(jī)速度 if (!g_soundlightFlag&(jiaodu=40)&(jiaodu=50) g_soundlightFlag=1;TxBuf0=(unsigned char)5;TxBu
35、f1=(unsigned char)0; TxBuf2=(unsigned char)0;TxBuf3=(unsigned char)5;for (SendCnt=0;SendCnt4;SendCnt+) while(!(SCI0SR1&0 x80); SCI0DRL=TxBufSendCnt; if (g_soundlightFlag&(jiaodu50) g_soundlightFlag=0;/消除聲光提示TxBuf0=(unsigned char)6;TxBuf1=(unsigned char)0; TxBuf2=(unsigned char)0;TxBuf3=(unsigned cha
36、r)6;for (SendCnt=0;SendCnt=500)/500ms顯示一次 beat_Display=0;Display_Acsii_Senser_LCD5110(0,1,(unsigned int)jiaodu);Display_Acsii_Senser_LCD5110(25,1,g_anglePID);/取小數(shù)點(diǎn)兒后一位Display_Acsii_Senser_LCD5110(50,1,g_angle);Display_Acsii_Senser_LCD5110(0,3,g_duty);Display_Acsii_Senser_LCD5110(25,3,ect_data);Displ
37、ay_Acsii_Senser_LCD5110(50,3,speedSet);Display_Acsii_Senser_LCD5110(0,5,g_runMode);Display_Acsii_Senser_LCD5110(50,5,ADValue); if (g_displayTimeCnt=500)&g_changeMode) switch (g_changeMode)case CHANGE_ANGLE: addrX=0; addrY=0; Display_String_LCD5110(&addrX,&addrY, ); break;case CHANGE_DUTY: addrX=0; a
38、ddrY=2; Display_String_LCD5110(&addrX,&addrY, ); break; if (g_displayTimeCnt=1000)&g_changeMode) g_displayTimeCnt=0;switch (g_changeMode)case CHANGE_ANGLE: addrX=0; addrY=0; Display_String_LCD5110(&addrX,&addrY,Current Angle:); break;case CHANGE_DUTY: addrX=0; addrY=2; Display_String_LCD5110(&addrX,
39、&addrY,PWM Duty:); break;if (g_displayClrCnt=10) g_displayClrCnt=0; g_changeMode=CHANGE_NON; if (g_keyDownFlag)/if key down do it g_keyDownFlag=0;g_displayClrCnt=0;/有按鍵時清除閃爍計時switch (g_changeMode)case CHANGE_ANGLE: switch (g_keyNum) case 0: g_angle=10*g_keyNum;/角度 break;case 1: g_angle=10*g_keyNum;/角度 break;case 2: g_angle=10
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年財會崗位測試題及答案
- 2025年針推專業(yè)面試題及答案
- 2025年創(chuàng)新實(shí)驗(yàn)考試試題及答案
- 2025年貴州鄉(xiāng)村振興考試試題及答案
- 主管護(hù)師外科復(fù)習(xí)測試題
- 2025年甘孜旅游面試試題及答案
- 2025年記錄控制程序試題及答案
- 2025年工會醫(yī)院面試試題及答案
- 等級保護(hù)測評項(xiàng)目管理制度范文
- 2025年學(xué)前游戲論考試題及答案
- 機(jī)器人操作系統(tǒng)(ROS)課件 10 ROS 機(jī)器人仿真實(shí)驗(yàn)
- 【MOOC】中國傳統(tǒng)藝術(shù)-篆刻、書法、水墨畫體驗(yàn)與欣賞-哈爾濱工業(yè)大學(xué) 中國大學(xué)慕課MOOC答案
- 寧德新能源verify測試題庫
- 中國兒童呼吸道合胞病毒感染診療及預(yù)防指南(2024)解讀
- 本科畢業(yè)生登記表自我鑒定范文(8篇)
- 腦梗塞的急救護(hù)理
- 二零二四年度幼兒園學(xué)生午餐配送合同
- 讀后續(xù)寫+摯友離別:不舍與成長交織的瞬間+講義 高一上學(xué)期期中聯(lián)考英語試題
- 氧氣吸入課件
- 2024中華人民共和國學(xué)前教育法學(xué)習(xí)解讀課件
- 2024-2030年中國飾面板行業(yè)發(fā)展?fàn)顩r及前景趨勢研究報告
評論
0/150
提交評論