單級倒立擺畢業(yè)論文_第1頁
單級倒立擺畢業(yè)論文_第2頁
單級倒立擺畢業(yè)論文_第3頁
單級倒立擺畢業(yè)論文_第4頁
單級倒立擺畢業(yè)論文_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 . 摘 要本系統(tǒng)以atmega16為平臺,主要由機(jī)械倒立裝置與單片機(jī)自動控制組成,將裝在擺桿的角度傳感器GY-61得到的數(shù)據(jù)進(jìn)行處理,利用擺桿倒立擺動過程中受力的分析和實驗數(shù)據(jù)總結(jié)對擺桿板調(diào)節(jié)一定的角度,提高了倒立擺裝置自動控制的穩(wěn)定性。通過PWM技術(shù)動態(tài)控制電機(jī)的轉(zhuǎn)速、方向和PID控制調(diào)節(jié),實現(xiàn)裝置設(shè)計的各種要求,達(dá)到了設(shè)計目的,完成了設(shè)計功能。關(guān)鍵詞:角度傳器;電動機(jī);倒立擺;反饋;倒立控制;PID控制Abstract The system taking ATmega16 as the platform, mainly composed of a mechanical device an

2、d microcomputer automatic control system, for processing will be installed in the GY-61 pendulum angle sensor data, summarize the pendulum plate adjusting certain angle by analysis and experiment data force pendulum inverted the oscillating process, improves the stability of inverted swing device fo

3、r automatic control. By adjusting the speed, control the direction and PID dynamic PWM technology to control the motor, to achieve a variety of device design requirements, achieve the design purpose, completed the design function.Keywords:Angle sensor;Motor; Inverted pendulum;inverted control; Feedb

4、ack; PID control目 錄1 方案論證11.1 電機(jī)的選擇32 總體方案33 電路設(shè)計43.1 Atmega16與其AD電路43.2部PWM發(fā)生模式53.3 直流電機(jī)驅(qū)動電路73.4 PID控制84 軟件設(shè)計95 系統(tǒng)測試96 誤差分析與改進(jìn)方法107 小結(jié)10參考文獻(xiàn)11附錄一:元件明細(xì)表11附錄二:儀器設(shè)備清單11附錄三:電路圖圖紙1216 / 191 方案論證方案一:AT89C51為8位單片機(jī),具有一定算術(shù)運算功能,編程軟件靈活、自由度大;具有功耗較低、體積小、技術(shù)成熟和成本低等優(yōu)點,得到了廣泛應(yīng)用;使用AT89C51與AD采集芯片PCF8591,通過AD采集芯片PCF859

5、1對角度傳感器信號進(jìn)行采集傳給單片機(jī),單片通過PID控制算法使定時器產(chǎn)生變化的PWM波與波形持續(xù)時間,輸入電機(jī)驅(qū)動板控制電機(jī)的轉(zhuǎn)速和角度。運算速度較慢。引腳圖,如下圖1-1:圖1-1 8051引腳圖缺點:51單片部資源有限,部沒有集成的A/D轉(zhuǎn)換器,在一些需要數(shù)據(jù)采的應(yīng)用場合,需要外擴(kuò)A/D轉(zhuǎn)換器,硬件連接較復(fù)雜,給系統(tǒng)設(shè)計過程帶來不便。方案二:使用atmega16部集成了10位A/D轉(zhuǎn)換器,可對角度傳感器信號進(jìn)行采集與處理,還集成了PWM的功能,硬件電路連接較簡單,系統(tǒng)運行穩(wěn)定。運算速度較快。Atmega16簡介:ATmega16是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8 位CMOS微控制器

6、。由于其先進(jìn)的指令集以與單時鐘周期指令執(zhí)行時間,ATmega16 的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以減緩系統(tǒng)在功耗和處理速度之間的矛盾。ATmega16 AVR 核具有豐富的指令集和32 個通用工作寄存器。所有的寄存器都直接與運算邏單元(ALU) 相連接,使得一條指令可以在一個時鐘周期同時訪問兩個獨立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC 微控制器最高至10 倍的數(shù)據(jù)吞吐率。ATmega16 有如下特點:16K字節(jié)的系統(tǒng)可編程Flash(具有同時讀寫的能力,即RWW),512 字節(jié)EEPROM,1K 字節(jié)SRAM,32 個通用I/O 口線,32 個通用工作寄

7、存器,用于邊界掃描的JTAG 接口,支持片調(diào)試與編程,三個具有比較模式的靈活的定時器/ 計數(shù)器(T/C),片/外中斷,可編程串行USART,有起始條件檢測器的通用串行接口,8路10位具有可選差分輸入級可編程增益(TQFP 封裝) 的ADC ,具有片振蕩器的可編程看門狗定時器,一個SPI 串行端口,以與六個可以通過軟件進(jìn)行選擇的省電模式。工作于空閑模式時CPU 停止工作,而USART、兩線接口、A/D 轉(zhuǎn)換器、SRAM、T/C、SPI 端口以與中斷系統(tǒng)繼續(xù)工作;停電模式時晶體振蕩器1停止振蕩,所有功能除了中斷和硬件復(fù)位之外都停止工作;在省電模式下,異步定時器繼續(xù)運行,允許用戶保持一個時間基準(zhǔn),而

8、其余功能模塊處于休眠狀態(tài); ADC 噪聲抑制模式時終止CPU 和除了異步定時器與ADC 以外所有I/O 模塊的工作,以降低ADC 轉(zhuǎn)換時的開關(guān)噪聲; Standby 模式下只有晶體或諧振振蕩器運行,其余功能模塊處于休眠狀態(tài),使得器件只消耗極少的電流,同時具有快速啟動能力;擴(kuò)展Standby 模式下則允許振蕩器和異步定時器繼續(xù)工作。引腳圖如圖1-2:圖1-2 Atmega16引腳圖缺點:價格稍顯昂貴,編程較復(fù)雜。方案三:使用STM32F103部集成了1s的雙12位ADC,可對角度傳感器信號進(jìn)行采集與處理。硬件電路連接較簡單,低功耗,系統(tǒng)運行穩(wěn)定。最高工作頻率72MHz,運算速度較快。STM32引

9、腳如圖1-3:圖1-3 STM32引腳圖缺點:價格昂貴,編程復(fù)雜。最終選擇方案:方案二。因倒立擺擺動速度快,對ADC采樣速率與運算速度要求較高,所以我們這里選擇方案二。方案三因價格昂貴,編程復(fù)雜,所以在這里我們不做考慮。1.1 電機(jī)的選擇方案一:采用步進(jìn)電機(jī),步進(jìn)電機(jī)具有控制簡單、定位精度高、無累計誤差等優(yōu)點。缺點:扭矩較小,反應(yīng)動作較慢,價格昂貴。方案二:機(jī)構(gòu)動力部分選用伺服電機(jī),能精確控制轉(zhuǎn)動角度、速度。缺點:扭矩較大,反應(yīng)動作較慢,價格昂貴。方案三:采用直流電機(jī),直流電機(jī)具有最優(yōu)越的調(diào)速性能,主要表現(xiàn)在調(diào)速方便(可無級調(diào)速)、調(diào)速圍寬、低速性能好、運行平穩(wěn)、噪音低、效率高的優(yōu)點。最終選擇

10、方案:方案三。由于系統(tǒng)中電機(jī)控制平板傾角需要較高的控制精度,基于直流電機(jī)和步進(jìn)電機(jī)的特點,所以這里選擇直流電機(jī)。2 總體方案當(dāng)角度傳感器隨擺桿轉(zhuǎn)動的時候,通過atmega16集成的ADC讀取到相應(yīng)的數(shù)據(jù)傳給atmega16的PID控制算法,算出相應(yīng)的值用以控制PWM發(fā)生器產(chǎn)生相應(yīng)控制的PWM實現(xiàn)調(diào)節(jié),如圖2-1:PID控制Atmega16處理采樣信號發(fā)送已處理數(shù)據(jù)ADC采集信號角度傳感器控制PWM輸出作用電機(jī)圖2-1總體方案框圖3 電路設(shè)計3.1 Atmega16與其AD電路,如圖3-1:圖3-1 Atmega16與其AD電路ATmega16有一個10位的逐次逼近型ADC。ADC與一個8通道的

11、模擬多路復(fù)用器連接,能對來自端口A 的8 路單端輸入電壓進(jìn)行采樣。單端電壓輸入以0V (GND) 為基準(zhǔn)。器件還支持16 路差分電壓輸入組合。兩路差分輸入(ADC1、ADC0 與ADC3、ADC2)有可編程增益級,在A/D 轉(zhuǎn)換前給差分輸入電壓提供0dB(1x)、20dB(10x) 或46dB(200x)的放大級。七路差分模擬輸入通道共享一個通用負(fù)端(ADC1), 而其他任何ADC 輸入可做為正輸入端。如果使用1x 或10x 增益,可得到8 位分辨率。如果使用200x 增益,可得到7 位分辨率。ADC 包括一個采樣保持電路,以確保在轉(zhuǎn)換過程中輸入到ADC 的電壓保持恒定。當(dāng)ATmega16的3

12、1腳接VCC時,則5V作為部AD的參考電壓。懸空時,部AD參考電壓為部2.56V作為參考電壓晶振選擇為16MHz,提高AD采集速度。這里我們采用的是10位部2.56V作為參考電壓。ADC轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)束后(ADIF 為高),轉(zhuǎn)換結(jié)果被存入ADC 結(jié)果寄存器(ADCL, ADCH)。單次轉(zhuǎn)換的結(jié)果如下,式3-1:(3-1)式中,VIN 為被選中引腳的輸入電壓,VREF 為參考電壓。 0x000 代表模擬地電平, 0x3FF 代表所選參考電壓的數(shù)值減去1LSB。如果使用差分通道,結(jié)果如式3-2:(3-2)式中,VPOS 為輸入引腳正電壓,VNEG 為輸入引腳負(fù)電壓,GAIN 為選定的增益因子,且V

13、REF 為參考電壓。結(jié)果用2 的補(bǔ)碼形式表示,從0x200 (-512d) 到 0x1FF (+511d)。如果用戶希望對結(jié)果執(zhí)行快速極性檢測,它充分讀結(jié)果的MSB( ADCH 中ADC9 )。如果該位為1,結(jié)果為負(fù);該位為0,結(jié)果為正。3.2部PWM發(fā)生模式Atmega16的PWM模式分為:普通模式、CTC( 比較匹配時清零定時器)模式、快速PWM模式、相位修正PWM模式。這里我們選擇的是快速PWM模式??焖貾WM模式工作原理:快速PWM 模式(WGM01:0 = 3) 可用來產(chǎn)生高頻的PWM 波形??焖貾WM 模式與其他PWM模式的不同之處是其單斜坡工作方式。計數(shù)器從BOTTOM計到MAX

14、,然后立即回到BOTTOM重新開始。對于普通的比較輸出模式,輸出比較引腳OC0在TCNT0與OCR0匹配時清零,在BOTTOM 時置位;對于反向比較輸出模式, OC0 的動作正好相反。由于使用了單斜坡模式,快速PWM 模式的工作頻率比使用雙斜坡的相位修正PWM 模式高一倍。此高頻操作特性使得快速PWM 模式十分適合于功率調(diào)節(jié),整流和DAC 應(yīng)用。高頻可以減小外部元器件( 電感,電容) 的物理尺寸,從而降低系統(tǒng)成本。工作于快速PWM 模式時,計數(shù)器的數(shù)值一直增加到MAX,然后在后面的一個時鐘周期清零。具體的時序圖為Figure 32。圖中柱狀的TCNT0 表示這是單邊斜坡操作。方框圖同時包含了普

15、通的PWM 輸出以與反向PWM 輸出。TCNT0 斜坡上的短水平線表示OCR0和TCNT0 的比較匹配。快速PWM模式時序圖,如圖3-2:圖3-2 快速PWM模式時序圖計時器數(shù)值達(dá)到MAX 時T/C 溢出標(biāo)志TOV0 置位。如果中斷使能,在中斷服務(wù)程序可以更新比較值。工作于快速PWM 模式時,比較單元可以在OC0 引腳上輸出PWM 波形。設(shè)置COM01:0為2 可以產(chǎn)生普通的PWM 信號;為3 則可以產(chǎn)生反向PWM 波形。要想在引腳上得到輸出信號還必須將OC0 的數(shù)據(jù)方向設(shè)置為輸出。產(chǎn)生PWM 波形的機(jī)理是OC0 寄存器在OCR0 與TCNT0 匹配時置位( 或清零),以與在計數(shù)器清零( 從M

16、AX變?yōu)锽OTTOM) 的那一個定時器時鐘周期清零( 或置位)。輸出的PWM 頻率可以通過如下公式計算得到,如式3-3:(3-3)變量N 代表分頻因子(1、 8、 64、 256 或1024)。OCR0寄存器為極限值時表示快速PWM模式的一些特殊情況。若OCR0等于BOTTOM,輸出為出現(xiàn)在第MAX+1 個定時器時鐘周期的窄脈沖; OCR0 為MAX 時,根據(jù)COM01:0的設(shè)定,輸出恒為高電平或低電平。通過設(shè)定OC0 在比較匹配時進(jìn)行邏輯電平取反(COM01:0 = 1),可以得到占空比為50%的周期信號。OCR0 為0 時信號有最高頻率foc2 = fclk_I/O/2。這個特性類似于CT

17、C 模式下的OC0 取反操作,不同之處在于快速PWM 模式具有雙緩沖。3.3 直流電機(jī)驅(qū)動電路 直流電機(jī)驅(qū)動電路如圖3-3所示:圖3-3 直流電機(jī)驅(qū)動電路L298是意大利SGS半導(dǎo)體公司生產(chǎn)的步進(jìn)電機(jī)專用控制器,它能產(chǎn)生4相控制信號,可用于計算機(jī)控制的兩相雙極和四相單相步進(jìn)電機(jī),能夠用單四拍、雙四拍、四相八拍方式控制步進(jìn)電機(jī)。芯片的PWM斬波器電路可開關(guān)模式下調(diào)節(jié)步進(jìn)電機(jī)繞組中的電機(jī)繞組中的電流。該集成電路采用了SGS公司的模擬/數(shù)字兼容的I2L技術(shù),使用5V的電源電壓,全部信號的連接都與TFL/CMOS或集電極開路的晶體管兼容。變換器是一個重要組成部分。變換器由一個三倍計算器加某些組合邏輯電

18、路組成,產(chǎn)生一個基本的八格雷碼(。由變換器產(chǎn)生4個輸出信號送給后面的輸出邏輯部分,輸出邏輯提供禁止和斬波器功能所需的相序。為了獲得電動機(jī)良好的速度和轉(zhuǎn)矩特性,相序信號是通過2個PWM斬波器控制電動波器包含有一個比較器、一個觸發(fā)器和一個外部檢測電阻,如圖4所示,晶片部的通用振蕩器提供斬波頻率脈沖。每個斬波器的觸發(fā)器由振蕩器的脈沖調(diào)節(jié),當(dāng)負(fù)載電流提高時檢測電阻上的電壓相對提高,當(dāng)電壓達(dá)到Uref時(Uref是根據(jù)峰值負(fù)載電流而定的),將觸發(fā)器重置,切斷輸出,直至第二個振蕩脈沖到來、此線路的輸出(即觸發(fā)器Q輸出)是一恒定速率的PWM信號,L297的CONTROL端的輸入決定斬波器對相位線A,B,C,

19、D或抑制線INH1和INH2起作用。CONTROL為高電平時,對A,B,C,D有抑制作用;為低電平時,則對抑制線INH1和INH2有抑制作用,從而可對電動機(jī)和轉(zhuǎn)矩進(jìn)行控制。引腳圖如圖3-4:圖3-4 L298引腳圖3.4 PID控制PID控制MATLAB仿真如圖3-5:圖3-5 PID控制MATLAB仿真如圖4 軟件設(shè)計主控制芯片為ATmega16,編程語言為C語言,,編程平臺采用AVR studio,.軟件流程圖,如圖4-1:采集AD值數(shù)據(jù)PID返回參數(shù)調(diào)節(jié)PWMPWM控制電機(jī)數(shù)據(jù)交PID算法處理開放ADC、PWM功能程序入口5、系統(tǒng)測試圖4-1軟件流程圖5 系統(tǒng)測試5.1 測試使用的儀器與

20、測試方法(1)測試儀器設(shè)備穩(wěn)壓電源、VC890D數(shù)字萬用表、DS1022C示波器、秒表、直尺、量角器。(2)測試方法測量當(dāng)前平板傾角值與角位移傳感器兩側(cè)電壓的A/D采樣值對應(yīng)關(guān)系,如表5-1所示:表5-1 平板傾角值與角位移傳感器兩側(cè)電壓的A/D采樣值角度-40-30-20-10010203040AD值5035406016296727097398208945.2 指標(biāo)測試和測試結(jié)果如表5-2所示:表5-2 實驗測試數(shù)據(jù)表角度-40-30-20-10010203040AD值503540601629672709739820894電壓1.251.351.501.571.681.771.842.052

21、.226 誤差分析與改進(jìn)方法誤差分析:(1) 機(jī)械結(jié)構(gòu)連接不緊湊造成的機(jī)構(gòu)震動,給單片機(jī)控制帶來較大的誤差。(2) 直流減速電機(jī)中的減速器中齒輪中存在的間隙在電機(jī)轉(zhuǎn)動的時候也會帶來較大的震動。(3) 擺桿連接位置沒用選用軸承,而是一個拆機(jī)小電機(jī)做成的,產(chǎn)生誤會較大。(4) 旋臂配重不很均勻,導(dǎo)致有些許上下擺動。改進(jìn)方法:(1) 固定完所以不必要的自由度,使結(jié)構(gòu)更加緊湊,減少一些不必要的震動。(2) 選擇不帶減速器的電機(jī)。(3) 改用軸承連接。(4) 掌握好旋臂的平衡配重比。7 小結(jié)在本次競賽中,我們各自發(fā)揮各自的優(yōu)點,經(jīng)過辛勤的努力,從而使我們能優(yōu)秀的完成了部分作品。與此同時我們積極起草各種器

22、件選型方案,確定最終的使用方案。通過這次競賽,我們將理論與實際相結(jié)合,將學(xué)習(xí)的電子方面知識充分應(yīng)用到本次設(shè)計中,充分利用了Atmega16單片機(jī)的功能,夯實了基礎(chǔ),提高了理論聯(lián)系實際的能力,更提高了電子設(shè)計方面的綜合能力。此次大賽不僅為我們提供了一次難得的檢驗自己學(xué)習(xí)知識的平臺,也鍛煉了隊員的吃苦能力。在比賽以后的時間里,我們會繼續(xù)我們電子設(shè)計的愛好,設(shè)計出更好的作品。努力向前,永不退縮。參考文獻(xiàn)1 紅剛,宋彥佑,董翠蓮. AVR單片機(jī)自學(xué)筆記M. :航天大學(xué),2012.2譚浩強(qiáng). C程序設(shè)計M. :清華大學(xué),2005年7月.3 華成英. 模擬電子技術(shù)基礎(chǔ)M,:高等教育,2000. 4 閻石.

23、 數(shù)字電子技術(shù)基礎(chǔ)M. :高等教育,2008. 5毅剛. 單片機(jī)原理與應(yīng)用M. :高等教育,2004.附錄一:元件明細(xì)表1、Atmega16單片機(jī)2、GX-61角度傳感器模塊3、L298電機(jī)驅(qū)動芯片4、1N4001二極管若干5、角鋁若干6、螺母若干7、亞克力板若干附錄二:儀器設(shè)備清單1、低頻信號發(fā)生器2、數(shù)字萬用表3、失真度測量儀4、數(shù)字示波器5、穩(wěn)壓電源6、邏輯分析儀附錄三:電路圖圖紙附錄四程序清單:/*Mega16頭文件*/#include#define FMQH PORTC|=(13);#define FMQL PORTC&=(13);void delay(unsigned char a

24、a,unsigned char bb,unsigned char cc);/*mega16_ADC初始化函數(shù)聲明*/unsigned int ADC_init(void);void delay1();unsigned int adc_l,adc_h;/*PID函數(shù)聲明*/double PIDCalc( PID *pp, double next ) ;void PIDInit (PID *pp) ;/*PID結(jié)構(gòu)體聲明*/typedef struct PID double init; / 設(shè)定目標(biāo) double Kp; / 比例常數(shù) double Ti; / 積分常數(shù)double Kd; / 微

25、分常數(shù) double first; / 一階誤差double end; / 二階誤差double sum; /誤差總和 PID; /*主函數(shù)*/int main() unsigned int a,b,i,ave8,sum_2=0,max,min,qian,bai,shi,ge; PID sPID; / PID控制結(jié)構(gòu)體 double ouput; / PID 響應(yīng)變量 double input; / PID 輸入變量 DDRC=0xff;DDRD=0xff;DDRB=0xff;TCCR0=0x6c;TCNT0=0x00; PIDInit ( &sPID ); SPID.Kp =4; sPID.Ti = 0.02; sPID.Kd= 20; sPID.init = 1700 init();while(1) ADC_init(); /*軟件濾波*/ /*for(i=0;i=7;i+) adc_l=ADCL; adc_h=ADCH; a

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論