




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電氣控制技術(shù)電氣控制技術(shù)研究生課程設(shè)計(jì)報(bào)告研究生課程設(shè)計(jì)報(bào)告題題 目目 基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng) 學(xué)學(xué) 院院 機(jī)械與汽車工程學(xué)院 專業(yè)班級(jí)專業(yè)班級(jí) 車輛工程 學(xué)學(xué) 號(hào)號(hào) 221601852020 學(xué)生姓名學(xué)生姓名 李躍軒 指導(dǎo)教師指導(dǎo)教師 康 敏 完成日期完成日期 2017 年 01 月 03 日 智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告第 1 頁(yè)頁(yè)/共共 14 頁(yè)頁(yè)目錄1.緒論.12.設(shè)計(jì)方案.13系統(tǒng)硬件電路設(shè)計(jì).23.1 整體電路設(shè)計(jì) .23.2 最小單片機(jī)系統(tǒng)設(shè)計(jì) .33.2.1STM32F103 復(fù)位電路 .33.2.2 電源電路.43.3 電機(jī)驅(qū)動(dòng)電路設(shè)計(jì) .53.4
2、光電碼盤編碼器電路設(shè)計(jì) .63.5 顯示電路設(shè)計(jì) .63.6 按鍵電路設(shè)計(jì) .74.系統(tǒng)軟件設(shè)計(jì).74.1 PID 算法.74.2 電機(jī)速度采集算法 .85.系統(tǒng)調(diào)試.85.1 軟件調(diào)試 .85.2 系統(tǒng)測(cè)試與分析 .96.總結(jié)與展望.10附錄一.11附錄二.16智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告11.緒論緒論本文主要研究了利用 STM32 系列單片機(jī),通過 PWM 方式控制直流電機(jī)調(diào)速的方法。PWM 控制技術(shù)以其控制簡(jiǎn)單、靈活和動(dòng)態(tài)響應(yīng)好的優(yōu)點(diǎn)而成為電力電子技術(shù)最廣泛應(yīng)用的控制方式,也是人們研究的熱點(diǎn)。由于當(dāng)今科學(xué)技術(shù)的發(fā)展已經(jīng)沒有了學(xué)科之間的界限,結(jié)合現(xiàn)代控制理論思想或?qū)崿F(xiàn)無(wú)諧振軟開關(guān)技術(shù)將會(huì)
3、成為PWM 控制技術(shù)發(fā)展的主要方向之一。本文就是利用這種控制方式來(lái)改變電壓的占空比實(shí)現(xiàn)直流電機(jī)速度的控制。采用的芯片組成了 PWM 信號(hào)的發(fā)生系,然后通過 L298N 放大來(lái)驅(qū)動(dòng)電機(jī)。利用光電編碼盤器測(cè)得電機(jī)速度,然后反饋給單片機(jī),在內(nèi)部進(jìn)行 PID 運(yùn)算,輸出控制量完成閉環(huán)控制,實(shí)現(xiàn)電機(jī)的調(diào)速控制。2.設(shè)計(jì)方案設(shè)計(jì)方案根據(jù)系統(tǒng)設(shè)計(jì)的任務(wù)和要求,設(shè)計(jì)系統(tǒng)方框圖如圖 1 所示。圖中控制器模塊為系統(tǒng)的核心部件,鍵盤和顯示器用來(lái)實(shí)現(xiàn)人機(jī)交互功能,其中通過鍵盤將速度參數(shù)輸入到單片機(jī)中,并且通過控制器顯示到顯示器上。在運(yùn)行過程中控制器產(chǎn)生PWM 脈沖送到電機(jī)驅(qū)動(dòng)電路中,經(jīng)過放大后控制直流電機(jī)轉(zhuǎn)速,同時(shí)利
4、用速度檢測(cè)模塊將當(dāng)前轉(zhuǎn)速反饋到控制器中,控制器經(jīng)過數(shù)字 PID 運(yùn)算后改變 PWM 脈沖的占空比,實(shí)現(xiàn)電機(jī)轉(zhuǎn)速實(shí)時(shí)控制的目的。按鍵模塊顯示模塊控制器模塊電機(jī)驅(qū)動(dòng)模塊直流電機(jī)碼盤PWM脈沖圖 1 系統(tǒng)方案框圖智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告23系統(tǒng)硬件電路設(shè)計(jì)系統(tǒng)硬件電路設(shè)計(jì)3.1 整體電路設(shè)計(jì)整體電路設(shè)計(jì)單片機(jī)直流調(diào)速系統(tǒng)可實(shí)現(xiàn)對(duì)直流電動(dòng)機(jī)的平滑調(diào)速。PWM 是通過控制固定電壓的直流電源開關(guān)頻率,從而改變負(fù)載兩端的電壓,進(jìn)而達(dá)到控制要求的一種電壓調(diào)整方法。在 PWM 驅(qū)動(dòng)控制的調(diào)整系統(tǒng)中,按一個(gè)固定的頻率來(lái)接通和斷開電源,并根據(jù)需要改變一個(gè)周期內(nèi)“接通”和“斷開”時(shí)間的長(zhǎng)短。通過改變直流電機(jī)電樞
5、上電壓的“占空比”來(lái)改變平均電壓的大小,從而控制電動(dòng)機(jī)的轉(zhuǎn)速。因此,PWM 又被稱為“開關(guān)驅(qū)動(dòng)裝置” 。本系統(tǒng)以 STM32 單片機(jī)為核心,通過單片機(jī)控制,C 語(yǔ)言編程實(shí)現(xiàn)對(duì)直流電機(jī)的平滑調(diào)速。本直流電機(jī)調(diào)速系統(tǒng)以單片機(jī)系統(tǒng)為依托,根據(jù) PWM 調(diào)速的基本原理,以直流電機(jī)電樞上電壓的占空比來(lái)改變平均電壓的大小,從而控制電動(dòng)機(jī)的轉(zhuǎn)速為依據(jù),實(shí)現(xiàn)對(duì)直流電動(dòng)機(jī)的平滑調(diào)速,并通過單片機(jī)控制速度的變化。本文所研究的直流電機(jī)調(diào)速系統(tǒng)主要是由硬件和軟件兩大部分組成。硬件部分是前提,是整個(gè)系統(tǒng)執(zhí)行的基礎(chǔ),它主要為軟件提供程序運(yùn)行的平臺(tái)。而軟件部分,是對(duì)硬件端口所體現(xiàn)的信號(hào),加以采集、分析、處理,最終實(shí)現(xiàn)控制器
6、所要實(shí)現(xiàn)的各項(xiàng)功能,達(dá)到控制器自動(dòng)對(duì)電機(jī)速度的有效控制。本系統(tǒng)硬件資源分配見圖 2 所示。采用 STM32F103 單片機(jī)作為核心器件,轉(zhuǎn)速檢測(cè)模塊作為電機(jī)轉(zhuǎn)速測(cè)量裝置,通過 STM32F103 的 PA1(A 相)將電脈沖信號(hào)送入單片機(jī)處理,L298 作為直流電機(jī)的驅(qū)動(dòng)模塊,利用 320240TFTLCD 顯示器和3 個(gè)獨(dú)立按鍵作為人機(jī)接口。智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告3S ST TM M3 32 2F F1 10 03 3Z ZE ET T6 6碼盤測(cè)速直流電機(jī)電機(jī)驅(qū)動(dòng)模塊L298NTFT顯示屏按鍵模塊PA1PA3 RESET:PE1KEY-3:PE3KEY-2:PE2PGPDGND圖
7、2 系統(tǒng)電路連接及硬件資源分配圖3.2 最小單片機(jī)系統(tǒng)設(shè)計(jì)最小單片機(jī)系統(tǒng)設(shè)計(jì)STM32F103ZETT6 作為 MCU,該芯片是 STM32F103 里面配置非常強(qiáng)大的了,它擁有的資源包括:64KB SRAM、512KB FLASH、2 個(gè)基本定時(shí)器、4 個(gè)通用定時(shí)器、2 個(gè)高級(jí)定時(shí)器、2 個(gè) DMA 控制器(共 12 個(gè)通道) 、3 個(gè) SPI、2 個(gè) IIC、5 個(gè)串口、1 個(gè) USB、1 個(gè) CAN、3 個(gè) 12 位 ADC、1 個(gè) 12 位 DAC、1 個(gè) SDIO 接口、1 個(gè) FSMC 接口以及 112 個(gè)通用 IO 口。該芯片的配置十分強(qiáng)悍,并且還帶外部總線(FSMC)可以用來(lái)外
8、擴(kuò) SRAM 和連接 LCD 等,通過 FSMC 驅(qū)動(dòng) LCD,可以顯著提高 LCD 的刷屏速度,是 STM32F1 家族常用型號(hào)里面,最高配置的芯片了。3.2.1STM32F103 復(fù)位電路復(fù)位電路STM32F103 的復(fù)位電路如圖 3 所示:智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告4 圖 3 復(fù)位電路圖因?yàn)?STM32 是低電平復(fù)位的,所以我們?cè)O(shè)計(jì)的電路也是低電平復(fù)位的,這里的R3 和 C12 構(gòu)成了上電復(fù)位電路。同時(shí),開發(fā)板把 TFT_LCD 的復(fù)位引腳也接在RESET 上,這樣這個(gè)復(fù)位按鈕不僅可以用來(lái)復(fù)位 MCU,還可以復(fù)位 LCD。3.2.2 電源電路電源電路STM32F103板載的電源供電部
9、分,其原理圖如圖4所示:圖 4 電源電路圖中,總共有3個(gè)穩(wěn)壓芯片:U12/U13/U15,DC_IN用于外部直流電源輸入,范圍是DC624V,輸入電壓經(jīng)過U13 DC-DC芯片轉(zhuǎn)換為5V電源輸出,其中D4是防反接二極管,避免外部直流電源極性搞錯(cuò)的時(shí)候,燒壞開發(fā)板。K2為開發(fā)板的總電源智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告5A1A2SE N111Y 121Y 23Vs41A 151E N61A 27GN D8Vcc92A 1102A 2122E N112Y 1132Y 214SE N215U5L298ND4D3D1D2C1020FC920F+5V+12V+12VR1470R25KR45KR3470R54
10、70MG 1P2.7P2.6P2.5開關(guān),F(xiàn)1為1000ma自恢復(fù)保險(xiǎn)絲,用于保護(hù)USB。U12為3.3V穩(wěn)壓芯片,給開發(fā)板提供3.3V電源,而U15則是1.8V穩(wěn)壓芯片,供VS1053的CVDD使用。3.3 電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)驅(qū)動(dòng)模塊是控制器與執(zhí)行器之間的橋梁,在本系統(tǒng)中單片機(jī)的 I/O 口不能直接驅(qū)動(dòng)電機(jī),只有引入電機(jī)驅(qū)動(dòng)模塊才能保證電機(jī)按照控制要求運(yùn)行,在這里選用L298N 電機(jī)驅(qū)動(dòng)芯片驅(qū)動(dòng)電機(jī),該芯片是由四個(gè)大功率晶體管組成的 H 橋電路構(gòu)成,四個(gè)晶體管分為兩組,交替導(dǎo)通和截止,用單片機(jī)控制達(dá)林頓管使之工作在開關(guān)狀態(tài),通過調(diào)整輸入脈沖的占空比,調(diào)整電動(dòng)機(jī)轉(zhuǎn)速。其中輸出腳(
11、SENSEA 和SENSEB)用來(lái)連接電流檢測(cè)電阻,Vss 接邏輯控制的電源。Vs 為電機(jī)驅(qū)動(dòng)電源。IN1-IN4 輸入引腳為標(biāo)準(zhǔn) TTL 邏輯電平信號(hào),用來(lái)控制 H 橋的開與關(guān)即實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn),ENA、ENB 引腳則為使能控制端,用來(lái)輸入 PWM 信號(hào)實(shí)現(xiàn)電機(jī)調(diào)速。其電路如圖 5 所示,利用兩個(gè)光電耦合器將單片機(jī)的 I/O 與驅(qū)動(dòng)電路進(jìn)行隔離,保證電路安全可靠。這樣單片機(jī)產(chǎn)生的 PWM 脈沖控制 L298N 的選通端,使電機(jī)在PWM 脈沖的控制下正常運(yùn)行,其中四個(gè)二極管對(duì)芯片起保護(hù)作用。圖 5 電機(jī)驅(qū)動(dòng)電路智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告63.4 光電碼盤編碼器電路設(shè)計(jì)光電碼盤編碼器電路設(shè)計(jì)
12、在本系統(tǒng)中由于要將電機(jī)本次采樣的速度與上次采樣的速度進(jìn)行比較,通過偏差進(jìn)行 PID 運(yùn)算,因此速度采集電路是整個(gè)系統(tǒng)不可缺少的部分。本次設(shè)計(jì)中應(yīng)用了比較常見的光電測(cè)速方法來(lái)實(shí)現(xiàn),其具體做法是將電機(jī)軸上固定一圓盤,且其邊緣上有 N 個(gè)等分凹槽如圖 6 所示,在圓盤的一側(cè)固定一個(gè)發(fā)光二極管,其位置對(duì)準(zhǔn)凹槽處,在另一側(cè)和發(fā)光二極光平行的位置上固定一光敏三極管,如果電動(dòng)機(jī)轉(zhuǎn)到凹槽處時(shí),發(fā)光二極管通過縫隙將光照射到光敏三極管上,三極管導(dǎo)通,反之三極管截止,電路如圖 7 所示,從圖中可以得出電機(jī)每轉(zhuǎn)一圈在 PA3 的輸出端就會(huì)產(chǎn)生N 個(gè)低電平。這樣就可根據(jù)低電平的數(shù)量來(lái)計(jì)算電機(jī)此時(shí)轉(zhuǎn)速了。例如當(dāng)電機(jī)以一定
13、的轉(zhuǎn)速運(yùn)行時(shí),PA3 將輸出如圖 7 所示的脈沖,若知道一段時(shí)間 t 內(nèi)傳感器輸出的低脈沖數(shù)為 n,則可求出電機(jī)轉(zhuǎn)速。 圖 6 電機(jī)速度采集方案 圖 7 傳感器輸出脈沖波形3.5 顯示電路設(shè)計(jì)顯示電路設(shè)計(jì)根據(jù)設(shè)計(jì)要求要對(duì)電機(jī)的轉(zhuǎn)速進(jìn)行讀取,因此在電路中加入顯示模塊是很有必要的。在系統(tǒng)運(yùn)行過程中需要顯示的數(shù)據(jù)比較多,而且需要漢字顯示,在這里選用320240 液晶顯示器比較適合,它是一種圖形點(diǎn)陣液晶顯示器,主要由行驅(qū)動(dòng)器/列驅(qū)動(dòng)器及 320240 全點(diǎn)陣液晶顯示器組成,可完成漢字顯示。圓盤 光敏三極管發(fā)光二極管+5VP3.3470200R1R2智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告7TFTLCD 模塊采用
14、 16 位的并方式與外部連接,之所以不采用 8 位的方式,是因?yàn)椴势恋臄?shù)據(jù)量比較大,如果用 8 位數(shù)據(jù)線,就會(huì)比 16 位方式慢一倍以上,我們當(dāng)然希望速度越快越好,所以我們選擇 16 位的接口。3.6 按鍵電路設(shè)計(jì)按鍵電路設(shè)計(jì)根據(jù)設(shè)計(jì)需求,本系統(tǒng)中使用了 3 個(gè)獨(dú)立按鍵用以實(shí)現(xiàn)對(duì)電機(jī)轉(zhuǎn)速的設(shè)定以及復(fù)位功能。鍵盤操作說明:在系統(tǒng)開始運(yùn)行時(shí),320240TFTLCD 將顯示開機(jī)界面,按KEY_2 增加速度,按 KEY_3 減少速度,按 KEY_RESET 鍵是復(fù)位,使程序回到初始狀態(tài)。4.系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)4.1 PID 算法算法本系統(tǒng)設(shè)計(jì)的核心算法為 PID 算法,它根據(jù)本次采樣的數(shù)據(jù)與設(shè)
15、定值進(jìn)行比較得出偏差,對(duì)偏差進(jìn)行 P、I、D 運(yùn)算最終利用運(yùn)算結(jié)果控制 PWM 脈沖的占空)(ne比來(lái)實(shí)現(xiàn)對(duì)加在電機(jī)兩端電壓的調(diào)節(jié),進(jìn)而控制電機(jī)轉(zhuǎn)速。其運(yùn)算公式為: 1( ) (n)(n1)(n) (n)2 (n1)(n2)pdutK eeKeK eee(1)如何選擇控制算法的參數(shù),要根據(jù)具體過程的要求來(lái)考慮。一般來(lái)說,要求被控過程是穩(wěn)定的,能迅速和準(zhǔn)確地跟蹤給定值的變化,超調(diào)量小,在不同干擾下系統(tǒng)輸出應(yīng)能保持在給定值,操作變量不宜過大,在系統(tǒng)和環(huán)境參數(shù)發(fā)生變化時(shí)控制應(yīng)保持穩(wěn)定。顯然,要同時(shí)滿足上述各項(xiàng)要求是很困難的,必須根據(jù)具體過程的要求,滿足主要方面,并兼顧其它方面。PID 調(diào)節(jié)器是一種線
16、性調(diào)節(jié)器,它根據(jù)給定值與實(shí)際輸出值構(gòu)成的控)(tr)(tc制偏差: = )(te)(tr)(tc(2)智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告8將偏差的比例、積分、微分通過線性組合構(gòu)成控制量,對(duì)控制對(duì)象進(jìn)行控制,故稱為 PID 調(diào)節(jié)器。在實(shí)際應(yīng)用中,常根據(jù)對(duì)象的特征和控制要求,將 P、I、D 基本控制規(guī)律進(jìn)行適當(dāng)組合,以達(dá)到對(duì)被控對(duì)象進(jìn)行有效控制的目的。例如,P 調(diào)節(jié)器,PI 調(diào)節(jié)器,PID 調(diào)節(jié)器等。模擬 PID 調(diào)節(jié)器的控制規(guī)律為 )()(1)()(0dttdeTdtteTteKtuDtIp(3)式中,為比例系數(shù),為積分時(shí)間常數(shù),為微分時(shí)間常數(shù)。PKITDT簡(jiǎn)單的說,PID 調(diào)節(jié)器各校正環(huán)節(jié)的作用是
17、:(1)比例環(huán)節(jié):即時(shí)成比例地反應(yīng)控制系統(tǒng)的偏差信號(hào),偏差一旦產(chǎn)生,)(te調(diào)節(jié)器立即產(chǎn)生控制作用以減少偏差;(2)積分環(huán)節(jié):主要用于消除靜差,提高系統(tǒng)的無(wú)差度。積分作用的強(qiáng)弱取決于積分時(shí)間常數(shù),越大,積分作用越弱,反之則越強(qiáng);ITIT(3)微分環(huán)節(jié):能反映偏差信號(hào)的變化趨勢(shì)(變化速率) ,并能在偏差信號(hào)的值變得太大之前,在系統(tǒng)中引入一個(gè)有效的早期修正信號(hào),從而加快系統(tǒng)的動(dòng)作速度,減少調(diào)節(jié)時(shí)間。4.2 電機(jī)速度采集算法電機(jī)速度采集算法本系統(tǒng)中電機(jī)速度采集是一個(gè)非常重要的部分,它的精度直接影響到整個(gè)控制的精度。在設(shè)計(jì)中采用了光電傳感器做為測(cè)速裝置,其計(jì)算公式為: v= r/min 60tNn(3
18、)式中,速度 v 的誤差主要是由圓盤邊緣上的凹槽數(shù)的多少?zèng)Q定的,為了減少系統(tǒng)誤差應(yīng)盡量提高凹槽的數(shù)量,在本次設(shè)計(jì)中取凹槽數(shù) N 為 260,采樣時(shí)間 t 為10ms。智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告95.系統(tǒng)調(diào)試系統(tǒng)調(diào)試5.1 軟件調(diào)試軟件調(diào)試在程序編寫的過程中,出現(xiàn)了很多問題,包括鍵盤掃描處理、PWM 信號(hào)發(fā)生電路的控制、以及單片機(jī)控制直流電機(jī)的轉(zhuǎn)動(dòng)方向等問題,雖然問題不是很大,但是也讓我研究了好長(zhǎng)時(shí)間,在解決這些問題的時(shí)候,我不斷向老師和同學(xué)請(qǐng)教,希望能通過大家一塊的努力把軟件編寫的更完整,讓系統(tǒng)的功能更完備。經(jīng)過多天的努力探索,也經(jīng)過老師的指導(dǎo),大部分問題都已經(jīng)解決,就是程序還是不能實(shí)現(xiàn)應(yīng)
19、該實(shí)現(xiàn)的功能,這讓我很著急。后來(lái)經(jīng)過一點(diǎn)一點(diǎn)的調(diào)試,并認(rèn)真總結(jié),發(fā)現(xiàn)了問題其實(shí)在編寫中斷處理程序時(shí)出現(xiàn)了錯(cuò)誤,修改后即可實(shí)現(xiàn)直流電機(jī)調(diào)速的目的??偨Y(jié)這次軟件調(diào)試,讓我認(rèn)識(shí)到了做軟件調(diào)試的基本方法與流程:(1)認(rèn)真檢查源代碼,看是否有文字或語(yǔ)法錯(cuò)誤(2)逐段子程序進(jìn)行設(shè)計(jì),找出錯(cuò)誤出現(xiàn)的部分,重點(diǎn)排查(3)找到合適的方法,仔細(xì)檢查程序,分步調(diào)試直到運(yùn)行成功5.2 系統(tǒng)測(cè)試與分析系統(tǒng)測(cè)試與分析為了確定系統(tǒng)與設(shè)計(jì)要求的符合程度,需要進(jìn)行系統(tǒng)測(cè)試與分析,下面以 PID調(diào)節(jié)器為例,具體說明經(jīng)驗(yàn)法的整定步驟:讓調(diào)節(jié)器參數(shù)積分系數(shù)=0,實(shí)際微分系數(shù)=0,控制系統(tǒng)投入閉環(huán)運(yùn)IKDK行,由小到大改變比例系數(shù),讓
20、擾動(dòng)信號(hào)作階躍變化,觀察控制過程,直到獲PK得滿意的控制過程為止。取比例系數(shù)為當(dāng)前的值乘以 5,由小到大增加積分系數(shù),同樣讓擾動(dòng)PKIK信號(hào)作階躍變化,直至求得滿意的控制過程。積分系數(shù)保持不變,改變比例系數(shù),觀察控制過程有無(wú)改善,如有IKPK改善則繼續(xù)調(diào)整,直到滿意為止。否則,將原比例系數(shù)增大一些,調(diào)整積分系PK智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告10數(shù),力求改善控制過程。如此反復(fù),直到找到滿意的比例系數(shù)和積分系數(shù)IKPK為止。IK引入適當(dāng)?shù)膶?shí)際微分系數(shù)和實(shí)際微分時(shí)間,此時(shí)可適當(dāng)增大比例系DKDT數(shù)和積分系數(shù)。和前述步驟相同,微分時(shí)間的整定也需反復(fù)調(diào)整,直到控PKIK制過程滿意為止。根據(jù)上訴方法,通
21、過觀察得出該系統(tǒng)比較合適的 P、I、D 三者的參數(shù)值為: =5, =0.00105, =0。PKIKDK6.總結(jié)與展望總結(jié)與展望這一段時(shí)間過的無(wú)比的充實(shí),每天都在忙碌著,查閱資料,翻看文檔,了解相關(guān)的知識(shí),每一個(gè)設(shè)計(jì)細(xì)節(jié)都要仔細(xì)的考慮,每一個(gè)環(huán)節(jié)都要查閱相關(guān)的資料,爭(zhēng)取做到完美。在這個(gè)系統(tǒng)中以前學(xué)的很多東西現(xiàn)在都用上了,數(shù)碼管的移位顯示等等都是在以前學(xué)習(xí)的基礎(chǔ)上慢慢調(diào)試出來(lái)的,所以在寫這篇論文的時(shí)候又讓我對(duì)以前的知識(shí)進(jìn)行了一次回顧,對(duì)知識(shí)又有了新的認(rèn)識(shí)!真是受益匪淺!通過本次課程設(shè)計(jì),我學(xué)到了許多了東西,知道光靠書本上的東西是不夠的,需額外去查資料。無(wú)論是在硬件、軟件還是設(shè)計(jì)思路上,我都遇到了
22、不少的問題,在克服困難的過程中,我學(xué)到了許多。知道了 PID 算法的應(yīng)用,以前總覺得 PID 就是像做數(shù)學(xué)一樣,不知道實(shí)際應(yīng)用。通過本次設(shè)計(jì),讓我很好的鍛煉了理論與具體項(xiàng)目、課題相結(jié)合開發(fā)、設(shè)計(jì)產(chǎn)品的能力。既讓我們懂得了怎樣把理論應(yīng)用于實(shí)際,又讓我們懂得了在實(shí)踐中遇到的問題怎樣用理論去解決。智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告11附錄一附錄一 部分程序源程序#include stm32f10 x.h#include delay.h#include exti.h#include lcd.h#include text.h#include #include float WishSpeedMax=360;f
23、loat WishSpeedMin=0;float WishSpeed;extern float U_Out2;u8 WishSpeedChar11;u8 RealSpeedChar11;int main(void)SystemInit();delay_init(72);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);EXTI_Config();PID_ParameterReckon();Tim3_Init();DCMotor_Init(); DCMotor_Out(U_Out0);WishSpeed=200; POINT_COLOR=BLUE;B
24、ACK_COLOR=WHITE; LCD_Init();LCD_Clear(WHITE);LCD_ShowString(30,50,Wished Speed,POINT_COLOR);WishSpeedLCDShow();LCD_ShowString(30,90,Real Speed,POINT_COLOR);智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告12while(1)Add_PID_Control();PID_Controller.c#include #include extern float WishSpeed;extern float RealSpeed;float U_OutMAX=1000;/
25、100%float U_OutMIN=0;float Kp;float Ki;float Kd;float Error3;float U_Out2;float U_Add;void PID_ParameterReckon(void)Kp=5;Ki=0.00105;Kd=0; U_Out0=0.0;Error2=0.0;Error1=0.0;Error0=0.0;void Add_PID_Control(void)Error2=WishSpeed-RealSpeed;if(Error2(-0.05*WishSpeed)&(Error2U_OutMAX)U_Out1=U_OutMAX;if(U_O
26、ut1U_OutMIN)U_Out1=U_OutMIN;DCMotor_Out(int16_t)(U_Out1); U_Out0=U_Out1;Error0=Error1;Error1=Error2;Dcmotor_PWM.c#include #include delay.hextern float U_Out2;int InPWM_HzNew;int InPWM_HzOld;int16_t OutPWM;static void Tim2_Init(void)TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_
27、OCInitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); TIM_TimeBaseStructure.TIM_Period=1000-1; TIM_TimeBaseStructure.TIM_Prescaler=4-1; TIM_TimeBaseStructure.TIM_ClockDivision=0; TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure); T
28、IM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse=0; TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High; TIM_OC4Init(TIM2,&TIM_OCInitStructure); TIM_OC4PreloadConfig(TIM2,TIM_OCPreload_Enable); TIM_ARRPreloadC
29、onfig(TIM2,ENABLE); TIM_Cmd(TIM2,ENABLE); 智能控制基礎(chǔ)研究生課程設(shè)計(jì)報(bào)告14static void Tim5_Init(void)TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_ICInitTypeDef TIM_ICInitStructure;GPIO_InitTypeDef GPIO_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE); RCC_A
30、PB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_ResetBits(GPIOA,GPIO_Pin_0);TIM_TimeBaseStructure.TIM_Period=65536-1; TIM_TimeB
31、aseStructure.TIM_Prescaler=72-1; TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInit(TIM5,&TIM_TimeBaseStructure);TIM_ICInitStructure.TIM_Channel=TIM_Channel_2;TIM_ICInitStructure.TIM_ICPolarity=TIM_ICPolarity_Rising;TIM_IC
32、InitStructure.TIM_ICSelection=TIM_ICSelection_DirectTI;TIM_ICInitStructure.TIM_ICPrescaler=TIM_ICPSC_DIV1;TIM_ICInitStructure.TIM_ICFilter=0;TIM_ICInit(TIM5,&TIM_ICInitStructure);NVIC_InitStructure.NVIC_IRQChannel=TIM5_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);TIM_ITConfig(TIM5,TIM_IT_CC2,ENABLE);TIM_Cmd(TIM5,ENABLE);void Tim3_Init
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)廢水處理與排放標(biāo)準(zhǔn)研究
- 工業(yè)廢棄地生態(tài)修復(fù)案例研究
- 工業(yè)大數(shù)據(jù)分析與智能制造融合
- 工業(yè)污染源的智能監(jiān)控與治理
- 工業(yè)機(jī)器人技術(shù)的應(yīng)用領(lǐng)域
- 工業(yè)污染防治與環(huán)境監(jiān)測(cè)技術(shù)
- 工業(yè)自動(dòng)化中的數(shù)據(jù)結(jié)構(gòu)與可視化應(yīng)用
- 工業(yè)物聯(lián)網(wǎng)的實(shí)時(shí)數(shù)據(jù)采集與分析技術(shù)
- 工業(yè)污染防治策略
- 工業(yè)級(jí)機(jī)房的抗震設(shè)計(jì)與質(zhì)量管理
- 2025年高考真題-化學(xué)(黑吉遼卷) 含答案(黑龍江、吉林、遼寧、內(nèi)蒙古)
- 2025年高考英語(yǔ)全國(guó)二卷(解析)
- 2025年新高考1卷(新課標(biāo)Ⅰ卷)英語(yǔ)試卷
- 2025上半年水發(fā)集團(tuán)社會(huì)招聘(391人)筆試參考題庫(kù)附帶答案詳解
- 華為項(xiàng)目管理高級(jí)培訓(xùn)教材
- 堅(jiān)守廉潔底線弘揚(yáng)清風(fēng)正氣
- 建設(shè)項(xiàng)目全過程工程咨詢-第一次形成性考核-國(guó)開(SC)-參考資料
- 中建EPC工程總承包項(xiàng)目全過程風(fēng)險(xiǎn)清單(2023年)
- GB 18613-2020電動(dòng)機(jī)能效限定值及能效等級(jí)
- 蛇形管制造典型工藝
- 阿曼原油評(píng)價(jià)
評(píng)論
0/150
提交評(píng)論