




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計計算機(jī)控制技術(shù)課程設(shè)計計算機(jī)控制技術(shù)課程設(shè)計題題 目:目: 基于基于 STM32STM32 的直流電機(jī)的直流電機(jī) PIDPID 調(diào)速調(diào)速 學(xué)院:學(xué)院: 計算機(jī)與電子信息學(xué)院計算機(jī)與電子信息學(xué)院 專業(yè):專業(yè): 電氣工程及其自動化電氣工程及其自動化 班級:班級: 電氣電氣 12-512-5 學(xué)號:學(xué)號: 1203432051512034320515 姓名:姓名: 任課教師:任課教師: 完成時間:完成時間: 2015.11.182015.11.182015.12.302015.12.30 基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計基于基于 S
2、TM32STM32 的直流電機(jī)的直流電機(jī) PIDPID 調(diào)速調(diào)速摘要摘要電機(jī)轉(zhuǎn)速控制在運動控制系統(tǒng)中占有至關(guān)重要的地位,本設(shè)計將電機(jī)轉(zhuǎn)速控制作為研究對象;以 PID 為基本控制算法,STM32F103 單片機(jī)為控制核心,產(chǎn)生受 PID算法控制的 PWM 脈沖實現(xiàn)對直流電機(jī)轉(zhuǎn)速的控制。同時利用光電傳感器將電機(jī)速度轉(zhuǎn)換成脈沖頻率反饋到單片機(jī)中,實現(xiàn)轉(zhuǎn)速閉環(huán)控制,達(dá)到轉(zhuǎn)速無靜差調(diào)節(jié)的目的。在系統(tǒng)中采 320240TFTLCD 顯示器作為顯示部件,通過 4 個按鍵通過界面切換方式設(shè)置 P、I、D、V 四個參數(shù)和正反轉(zhuǎn)控制,啟動后可以通過顯示部件了解電機(jī)當(dāng)前的運行狀態(tài)和系統(tǒng)的 CPU 溫度。該系統(tǒng)控制精
3、度高,具有很強(qiáng)的抗干擾能力。關(guān)鍵詞:關(guān)鍵詞:PID 直流電機(jī) 反饋 調(diào)節(jié)基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計Based on the STM32 PID speed control of dc motorAbstractMotor speed control occupies a crucial position in the motion control system, the design of the motor speed control for the study; in the basic PID control algorithm, STM32F103 microc
4、ontroller core, by the PID control algorithm generates a PWM pulse to achieve DC speed control. At the same time the use of photoelectric sensors to convert the motor speed to pulse frequency feedback to the microcontroller to achieve closed-loop speed control, to speed static error adjustment purpo
5、ses. Mining 320 240TFTLCD monitor as a display unit in the system, through four key settings P, I, D, V four parameters and reversing control through the interface switching mode, start to understand the current state of the motor and the system through the display unit CPU temperature. The system c
6、ontrol and high precision, has a strong anti-jamming capability.Keywords: PID DC motor feedback regulation基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計目錄目錄1. 緒論緒論.11.1 研究背景與意義.11.2 本文主要研究方法.12. 設(shè)計方案與論證設(shè)計方案與論證.22.1 系統(tǒng)設(shè)計方案.22.2 控制器模塊設(shè)計方案.23. 系統(tǒng)硬件電路設(shè)計系統(tǒng)硬件電路設(shè)計.33.1 整體電路設(shè)計.33.1.1 整體理論.33.1.2 整體簡單結(jié)構(gòu)圖和資源分配圖.33.2 最小單片機(jī)系統(tǒng)設(shè)計.43.
7、2.1 STM32F103 復(fù)位電路.63.2.2 電源電路.63.3 電機(jī)驅(qū)動電路設(shè)計.73.4 光電碼盤編碼器電路設(shè)計.73.5 顯示電路設(shè)計.83.6 按鍵電路設(shè)計.104. 系統(tǒng)軟件設(shè)計系統(tǒng)軟件設(shè)計.104.1 PID 算法.104.2 PID 參數(shù)整定方法.114.3 電機(jī)速度采集算法.124.4 程序流程圖.12基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計5. 系統(tǒng)調(diào)試系統(tǒng)調(diào)試.135.1 軟件調(diào)試.135.2 系統(tǒng)測試與分析.146. 總結(jié)與展望總結(jié)與展望.15參考文獻(xiàn)參考文獻(xiàn).16附錄一附錄一 部分程序源程序部分程序源程序.17附錄二附錄二 系統(tǒng)界面實物圖和系統(tǒng)界面實物圖
8、和 PCBPCB 圖圖.20基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計11.1.緒論緒論1.11.1研究背景與意義研究背景與意義電動機(jī)在現(xiàn)代的工業(yè)中,是主要的驅(qū)動設(shè)備,尤其是直流電動機(jī),由于它的平滑調(diào)速性和結(jié)構(gòu)上的簡單,使其成為許多電器,如洗衣機(jī),電梯等的驅(qū)動 。而對于直流電機(jī)的控制,最流行的莫過于采用可控硅裝置向電動機(jī)供電,即KZD 拖動系統(tǒng)。起初的控制系統(tǒng)是發(fā)電機(jī)電動機(jī)系統(tǒng),相當(dāng)?shù)谋恐?。隨著電力電子技術(shù)和單片機(jī)的成熟應(yīng)用1,使得直流電機(jī)調(diào)速系統(tǒng)從模擬化向數(shù)字化轉(zhuǎn)變。而 PWM 脈寬調(diào)制,是現(xiàn)在應(yīng)用最成熟的方法。它來源于電力電子的橋式電路,通過單片機(jī)可進(jìn)行簡單的模擬,而將它們結(jié)合起來
9、,由電力電子元件組橋進(jìn)行方向控制,而由單片機(jī)產(chǎn)生 PWM 波控制晶閘管的門極。調(diào)節(jié)占空比就能夠控制電機(jī)的平均電壓,從而控制電機(jī)的轉(zhuǎn)速。直流電動機(jī)調(diào)速應(yīng)用于實際中各個方面,工業(yè),家電等,因為它能夠在一個相當(dāng)大的范圍內(nèi)進(jìn)行平滑調(diào)速。但是早起以模擬元件為控制裝置的系統(tǒng),由于模擬元件本身的缺陷,導(dǎo)致硬件復(fù)雜,功能簡單,不靈活,誤差大,無法實行精確的調(diào)速。單片機(jī)的應(yīng)用解決了這個問題的一部分,誤差可由許多完善的算法來解決,而且減小了硬件的復(fù)雜性2。使得直流調(diào)速逐步由模擬化向數(shù)字化轉(zhuǎn)變,使直流調(diào)速進(jìn)入一個更加智能與可靠的新階段。1.21.2本文主要研究方法本文主要研究方法本文主要研究了利用 STM32 系列
10、單片機(jī),通過 PWM 方式控制直流電機(jī)調(diào)速的方法3。PWM 控制技術(shù)以其控制簡單、靈活和動態(tài)響應(yīng)好的優(yōu)點而成為電力電子技術(shù)最廣泛應(yīng)用的控制方式,也是人們研究的熱點。由于當(dāng)今科學(xué)技術(shù)的發(fā)展已經(jīng)沒有了學(xué)科之間的界限,結(jié)合現(xiàn)代控制理論思想或?qū)崿F(xiàn)無諧振軟開關(guān)技術(shù)將會成為 PWM 控制技術(shù)發(fā)展的主要方向之一4。本文就是利用這種控制方式來改變電壓的占空比實現(xiàn)直流電機(jī)速度的控制。文章中采用了專門的芯片組成了 PWM 信號的發(fā)生系統(tǒng)5,然后通過 L298N 放大來驅(qū)動電機(jī)。利用光電編碼盤器測得電機(jī)速度,然后反饋給單片機(jī),在內(nèi)部進(jìn)行PID 運算,輸出控制量完成閉環(huán)控制,實現(xiàn)電機(jī)的調(diào)速控制?;?STM32 的直
11、流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計2鍵盤模塊控制器模塊顯示模塊電機(jī)驅(qū)動模塊直流電機(jī)速度檢測模塊PWM脈沖2.2.設(shè)計方案與論證設(shè)計方案與論證2.12.1 系統(tǒng)設(shè)計方案系統(tǒng)設(shè)計方案根據(jù)系統(tǒng)設(shè)計的任務(wù)和要求,設(shè)計系統(tǒng)方框圖如圖 1 所示6。圖中控制器模塊為系統(tǒng)的核心部件,鍵盤和顯示器用來實現(xiàn)人機(jī)交互功能,其中通過鍵盤將需要設(shè)置的參數(shù)和狀態(tài)輸入到單片機(jī)中,并且通過控制器顯示到顯示器上。在運行過程中控制器產(chǎn)生 PWM 脈沖送到電機(jī)驅(qū)動電路中,經(jīng)過放大后控制直流電機(jī)轉(zhuǎn)速,同時利用速度檢測模塊將當(dāng)前轉(zhuǎn)速反饋到控制器中,控制器經(jīng)過數(shù)字 PID 運算后改變 PWM脈沖的占空比,實現(xiàn)電機(jī)轉(zhuǎn)速實時控制的目的7。圖 1
12、系統(tǒng)方案框圖2.22.2 控制器模塊設(shè)計方案控制器模塊設(shè)計方案根據(jù)設(shè)計任務(wù),控制器主要用于產(chǎn)生占空比受數(shù)字 PID 算法控制的 PWM 脈沖,并對電機(jī)當(dāng)前速度進(jìn)行采集處理,根據(jù)算法得出當(dāng)前所需輸出的占空比脈沖。對于控制器的選擇有以下二種方案。方案一:采用 FPGA(現(xiàn)場可編輯門列陣)作為系統(tǒng)的控制器,F(xiàn)PGA 可以實現(xiàn)各種復(fù)雜的邏輯功能,模塊大,密度高,它將所有器件集成在一塊芯片上,減少了體積,提高了穩(wěn)定性,并且可應(yīng)用 EDA 軟件仿真、調(diào)試,易于進(jìn)行功能控制。FPGA 采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模實時系統(tǒng)的控制核心。通過輸入模塊將參數(shù)輸入給 FPGA,F(xiàn)PGA
13、 通過程序設(shè)計控制 PWM 脈沖的占空比,但是由于本次設(shè)計對數(shù)據(jù)處理的時間要求不高,F(xiàn)PGA 的高速處理的優(yōu)勢得不到充分基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計3體現(xiàn),并且由于其集成度高,使其成本偏高,同時由于芯片的引腳較多,實物硬件電路板布線復(fù)雜,加重了電路設(shè)計和實際焊接的工作8。方案二:采用 STM32F103 作為系統(tǒng)控制的方案。STM32F103 單片機(jī)算術(shù)運算功能強(qiáng),軟件編程靈活、自由度大,可用軟件編程實現(xiàn)各種算法和邏輯控制。相對于FPGA 來說,它的芯片引腳少,在硬件很容易實現(xiàn)。并且它還具有功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點,在各個領(lǐng)域中應(yīng)用廣泛。綜合上述兩種方案比較
14、,采用 STM32F103 作為控制器處理輸入的數(shù)據(jù)并控制電機(jī)運動較為簡單,可以滿足設(shè)計要求。因此在本次設(shè)計選用方案二。3 3系統(tǒng)硬件電路設(shè)計系統(tǒng)硬件電路設(shè)計3.13.1 整體電路設(shè)計整體電路設(shè)計3.1.1 整體理論整體理論 單片機(jī)直流電機(jī)調(diào)速簡介:單片機(jī)直流調(diào)速系統(tǒng)可實現(xiàn)對直流電動機(jī)的平滑調(diào)速。PWM 是通過控制固定電壓的直流電源開關(guān)頻率,從而改變負(fù)載兩端的電壓,進(jìn)而達(dá)到控制要求的一種電壓調(diào)整方法。在 PWM 驅(qū)動控制的調(diào)整系統(tǒng)中,按一個固定的頻率來接通和斷開電源,并根據(jù)需要改變一個周期內(nèi)“接通”和“斷開”時間的長短。通過改變直流電機(jī)電樞上電壓的“占空比”來改變平均電壓的大小,從而控制電動機(jī)
15、的轉(zhuǎn)速。因此,PWM 又被稱為“開關(guān)驅(qū)動裝置”。本系統(tǒng)以 89C52 單片機(jī)為核心,通過單片機(jī)控制,C 語言編程實現(xiàn)對直流電機(jī)的平滑調(diào)速9。 系統(tǒng)控制方案的分析:本直流電機(jī)調(diào)速系統(tǒng)以單片機(jī)系統(tǒng)為依托,根據(jù) PWM 調(diào)速的基本原理,以直流電機(jī)電樞上電壓的占空比來改變平均電壓的大小,從而控制電動機(jī)的轉(zhuǎn)速為依據(jù),實現(xiàn)對直流電動機(jī)的平滑調(diào)速,并通過單片機(jī)控制速度的變化。本文所研究的直流電機(jī)調(diào)速系統(tǒng)主要是由硬件和軟件兩大部分組成。硬件部分是前提,是整個系統(tǒng)執(zhí)行的基礎(chǔ),它主要為軟件提供程序運行的平臺。而軟件部分,是對硬件端口所體現(xiàn)的信號,加以采集、分析、處理,最終實現(xiàn)控制器所要實現(xiàn)的各項功能,達(dá)到控制器自
16、動對電機(jī)速度的有效控制。.2 整體簡單結(jié)構(gòu)圖和資源分配圖整體簡單結(jié)構(gòu)圖和資源分配圖本系統(tǒng)硬件資源分配見圖 2 所示,簡單結(jié)構(gòu)如圖 4。采用 STM32F103 單片機(jī)作基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計4為核心器件,轉(zhuǎn)速檢測模塊作為電機(jī)轉(zhuǎn)速測量裝置10,通過 STM32F103 的 PA(A 相)和 PA7(B 相)將電脈沖信號送入單片機(jī)處理,L298 作為直流電機(jī)的驅(qū)動模塊,利用320240TFTLCD 顯示器和 4 個獨立按鍵作為人機(jī)接口。圖 2 系統(tǒng)電路連接及硬件資源分配圖3.23.2 最小單片機(jī)系統(tǒng)設(shè)計最小單片機(jī)系統(tǒng)設(shè)計STM32F103ZETT6 作為
17、 MCU,該芯片是 STM32F103 里面配置非常強(qiáng)大的了,它擁有的資源包括:64KB SRAM、512KB FLASH、2 個基本定時器、4 個通用定時器、2 個高級定時器、2 個 DMA 控制器(共 12 個通道)、3 個 SPI、2 個 IIC、5 個串口、1個 USB、1 個 CAN、3 個 12 位 ADC、1 個 12 位 DAC、1 個 SDIO 接口、1 個 FSMC 接口以及 112 個通用 IO 口。該芯片的配置十分強(qiáng)悍,并且還帶外部總線(FSMC)可以用來外擴(kuò) SRAM 和連接 LCD 等,通過 FSMC 驅(qū)動 LCD,可以顯著提高 LCD 的刷屏速度,是 STM32F
18、1 家族常用型號里面,最高配置的芯片了。MCU 部分的原理圖如圖 3 所示:PGPD320 x240TFTLCD顯示模塊PE1PE0電機(jī)驅(qū)動模塊54個獨立按鍵UP: PA0Left: PE2 PA7STM32PA6電機(jī)轉(zhuǎn)速檢測Down: PE3Right: PE4PA2out2out1pwm基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計5圖 3 MCU 最小系統(tǒng)設(shè)計圖基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計.1 STM32F103STM32F103 復(fù)位電路復(fù)位電路STM32F103 的復(fù)位電路如圖 4 所示: 圖 4 復(fù)位電路圖因為 STM32 是低電平復(fù)位的
19、,所以我們設(shè)計的電路也是低電平復(fù)位的,這里的R3 和 C12 構(gòu)成了上電復(fù)位電路。同時,開發(fā)板把 TFT_LCD 的復(fù)位引腳也接在 RESET上,這樣這個復(fù)位按鈕不僅可以用來復(fù)位 MCU,還可以復(fù)位 LCD。.2 電源電路電源電路STM32F103板載的電源供電部分,其原理圖如圖5所示:圖 5 電源電路基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計7A1A2SE N111Y 121Y 23Vs41A 151E N61A 27GN D8Vcc92A 1102A 2122E N112Y 1132Y 214SE N215U5L298ND4D3D1D2C1020FC920F+5V+
20、12V+12VR1470R25KR45KR3470R5470MG 1P2.7P2.6P2.5圖中,總共有3個穩(wěn)壓芯片:U12/U13/U15,DC_IN用于外部直流電源輸入,范圍是DC624V,輸入電壓經(jīng)過U13 DC-DC芯片轉(zhuǎn)換為5V電源輸出,其中D4是防反接二極管,避免外部直流電源極性搞錯的時候,燒壞開發(fā)板。K2為開發(fā)板的總電源開關(guān),F(xiàn)1為1000ma自恢復(fù)保險絲,用于保護(hù)USB。U12為3.3V穩(wěn)壓芯片,給開發(fā)板提供3.3V電源,而U15則是1.8V穩(wěn)壓芯片,供VS1053的CVDD使用。3.33.3電機(jī)驅(qū)動電路設(shè)計電機(jī)驅(qū)動電路設(shè)計驅(qū)動模塊是控制器與執(zhí)行器之間的橋梁,在本系統(tǒng)中單片機(jī)的
21、 I/O 口不能直接驅(qū)動電機(jī),只有引入電機(jī)驅(qū)動模塊才能保證電機(jī)按照控制要求運行,在這里選用L298N 電機(jī)驅(qū)動芯片驅(qū)動電機(jī),該芯片是由四個大功率晶體管組成的 H 橋電路構(gòu)成,四個晶體管分為兩組,交替導(dǎo)通和截止,用單片機(jī)控制達(dá)林頓管使之工作在開關(guān)狀態(tài),通過調(diào)整輸入脈沖的占空比,調(diào)整電動機(jī)轉(zhuǎn)速11。其中輸出腳(SENSEA 和SENSEB)用來連接電流檢測電阻,Vss 接邏輯控制的電源。Vs 為電機(jī)驅(qū)動電源。IN1-IN4 輸入引腳為標(biāo)準(zhǔn) TTL 邏輯電平信號,用來控制 H 橋的開與關(guān)即實現(xiàn)電機(jī)的正反轉(zhuǎn),ENA、ENB 引腳則為使能控制端,用來輸入 PWM 信號實現(xiàn)電機(jī)調(diào)速。其電路如圖 6 所示,
22、利用兩個光電耦合器將單片機(jī)的 I/O 與驅(qū)動電路進(jìn)行隔離,保證電路安全可靠。這樣單片機(jī)產(chǎn)生的 PWM 脈沖控制 L298N 的選通端12,使電機(jī)在 PWM 脈沖的控制下正常運行,其中四個二極管對芯片起保護(hù)作用。圖 6 電機(jī)驅(qū)動電路3.43.4光電碼盤編碼器電路設(shè)計光電碼盤編碼器電路設(shè)計基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計8在本系統(tǒng)中由于要將電機(jī)本次采樣的速度與上次采樣的速度進(jìn)行比較,通過偏差進(jìn)行 PID 運算,因此速度采集電路是整個系統(tǒng)不可缺少的部分。本次設(shè)計中應(yīng)用了比較常見的光電測速方法來實現(xiàn),其具體做法是將電機(jī)軸上固定一圓盤,且其邊緣上有 N 個等分凹槽如圖 7 所示,在圓盤
23、的一側(cè)固定一個發(fā)光二極管,其位置對準(zhǔn)凹槽處,在另一側(cè)和發(fā)光二極光平行的位置上固定一光敏三極管,如果電動機(jī)轉(zhuǎn)到凹槽處時,發(fā)光二極管通過縫隙將光照射到光敏三極管上,三極管導(dǎo)通,反之三極管截止,電路如圖 8 所示,從圖中可以得出電機(jī)每轉(zhuǎn)一圈在 PA6(或 PA7)的輸出端就會產(chǎn)生 N 個低電平。這樣就可根據(jù)低電平的數(shù)量來計算電機(jī)此時轉(zhuǎn)速了13。例如當(dāng)電機(jī)以一定的轉(zhuǎn)速運行時,PA6(或 PA7)將輸出如圖 3.5 所示的脈沖,若知道一段時間 t 內(nèi)傳感器輸出的低脈沖數(shù)為 n,則可求出電機(jī)轉(zhuǎn)速。 圖 7 電機(jī)速度采集方案 圖 8 傳感器輸出脈沖波形3.53.5 顯示電路設(shè)計顯示電路設(shè)計根據(jù)設(shè)計要求要對系
24、統(tǒng)各項參數(shù)和電機(jī)運行狀態(tài)進(jìn)行顯示,因此在電路中加入顯示模塊是非常必要的14。在系統(tǒng)運行過程中需要顯示的數(shù)據(jù)比較多,而且需要漢字顯示,在這里選用 320240 液晶顯示器比較適合,它是一種圖形點陣液晶顯示器,主要由行驅(qū)動器/列驅(qū)動器及 320240 全點陣液晶顯示器組成,可完成漢字顯示和圖形顯示,模塊原理圖如圖 9。圓盤 光敏三極管發(fā)光二極管+5VP3.3470200R1R2基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計9圖 9 2.8 寸 TFTLCD 模塊原理圖從圖 9 可以看出,ALIENTEK TFTLCD 模塊采用 16 位的并方式與外部連接,之所以不采用 8 位的方式,是因為彩屏
25、的數(shù)據(jù)量比較大,尤其在顯示圖片的時候,如果用 8 位數(shù)據(jù)線,就會比 16 位方式慢一倍以上,我們當(dāng)然希望速度越快越好,所以我們選擇 16 位的接口。圖 10 還列出了觸摸屏芯片的接口。圖 10 2.8 寸 TFTLCD 模塊接口圖基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計100)2() 1(2)()()1()(uneneneKneKneneKDIP比 例微 分積 分執(zhí)行機(jī)構(gòu)對象r(t)+-+u(t)c(t)e(t)3.63.6按鍵電路設(shè)計按鍵電路設(shè)計根據(jù)設(shè)計需求,本系統(tǒng)中使用了 4 個獨立按鍵用以實現(xiàn)對 P、I、D 三個參數(shù)和電機(jī)正反轉(zhuǎn)的設(shè)定,以及對電機(jī)啟動、停止、暫停、繼續(xù)的控制,其
26、電路原理圖如圖 11 所示。圖 11 按鍵與 STM32 連接原理圖鍵盤操作說明:在系統(tǒng)開始運行時,320240TFTLCD 將顯示開機(jī)界面,按KEY_DOWN 控制正反轉(zhuǎn),按 KEY_LIFT 減少速度,按 KEY_RIGHT 增加速度,若按住設(shè)置鍵(KEY_UP)不放顯示屏進(jìn)入?yún)?shù)設(shè)置界面,并且可以顯示當(dāng)前 CPU 溫度,待所有量設(shè)置完成后放開設(shè)置鍵,設(shè)置完成。4.4.系統(tǒng)軟件設(shè)計系統(tǒng)軟件設(shè)計4.14.1 PIDPID 算法算法本系統(tǒng)設(shè)計的核心算法為 PID 算法,它根據(jù)本次采樣的數(shù)據(jù)與設(shè)定值進(jìn)行比較得出偏差,對偏差進(jìn)行 P、I、D 運算最終利用運算)(ne結(jié)果控制 PWM 脈沖的占空比來
27、實現(xiàn)對加在電機(jī)兩端電壓的調(diào)節(jié)15,進(jìn)而控制電機(jī)轉(zhuǎn)速。其運算公式為:)(nu因此要想實現(xiàn) PID 控制在單片機(jī)就必須存在上述算法,其程序流程如圖 12 所示,PID 控制原理圖如圖 13。 圖 13 PID 控制原理圖計算e(n)計算KIe(n)計算KP(e(n)-e(n-1)計算KD(e(n)-2e(n-1)+e(n-2)計算u(n)計算u(n)u(n-1)e(n-1)e(n-2)e(n)e(n-1)u(n)u(n-1)返回圖4.1PID程序流程基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計114.24.2PIDPID 參數(shù)整定方法參數(shù)整定方法如何選擇控制算法的參數(shù),要根據(jù)具體過程的要求來
28、考慮16。一般來說,要求被控過程是穩(wěn)定的,能迅速和準(zhǔn)確地跟蹤給定值的變化,超調(diào)量小,在不同干擾下系統(tǒng)輸出應(yīng)能保持在給定值,操作變量不宜過大,在系統(tǒng)和環(huán)境參數(shù)發(fā)生變化時控制應(yīng)保持穩(wěn)定。顯然,要同時滿足上述各項要求是很困難的,必須根據(jù)具體過程的要求,滿足主要方面,并兼顧其它方面。PID 調(diào)節(jié)器是一種線性調(diào)節(jié)器,它根據(jù)給定值與實際輸出值構(gòu)成的控)(tr)(tc制偏差: = )(te)(tr)(tc(1)將偏差的比例、積分、微分通過線性組合構(gòu)成控制量,對控制對象進(jìn)行控制,故稱為 PID 調(diào)節(jié)器。在實際應(yīng)用中,常根據(jù)對象的特征和控制要求,將 P、I、D 基本控制規(guī)律進(jìn)行適當(dāng)組合,以達(dá)到對被控對象進(jìn)行有效
29、控制的目的。例如,P 調(diào)節(jié)器,PI 調(diào)節(jié)器,PID 調(diào)節(jié)器等。模擬 PID 調(diào)節(jié)器的控制規(guī)律為 )()(1)()(0dttdeTdtteTteKtuDtIp(2)式中,為比例系數(shù),為積分時間常數(shù),為微分時間常數(shù)。PKITDT簡單的說,PID 調(diào)節(jié)器各校正環(huán)節(jié)的作用是:(1)比例環(huán)節(jié):即時成比例地反應(yīng)控制系統(tǒng)的偏差信號,偏差一旦產(chǎn)生,)(te調(diào)節(jié)器立即產(chǎn)生控制作用以減少偏差;(2)積分環(huán)節(jié):主要用于消除靜差,提高系統(tǒng)的無差度。積分作用的強(qiáng)弱取決于積分時間常數(shù),越大,積分作用越弱,反之則越強(qiáng);ITIT(3)微分環(huán)節(jié):能反映偏差信號的變化趨勢(變化速率),并能在偏差信號的值變得太大之前,在系統(tǒng)中引入
30、一個有效的早期修正信號,從而加快系統(tǒng)的動作速度,減少調(diào)節(jié)時間。PID 參數(shù)調(diào)節(jié)有下面的口訣:參數(shù)整定找最佳,從小到大順序查;先是比例后積分,最后再把微分加;基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計12t=0.5s?計算r=n/120計算v=(r/0.5)*60返回NY曲線振蕩很頻繁,比例度盤要放大;曲線漂浮繞大灣,比例度盤往小扳;曲線偏離回復(fù)慢,積分時間往下降;曲線波動周期長,積分時間再加長;曲線振蕩頻率快,先把微分降下來;動差大來波動慢,微分時間應(yīng)加長。4.34.3電機(jī)速度采集算法電機(jī)速度采集算法本系統(tǒng)中電機(jī)速度采集是一個非常重要的部分,它的精度直接影響到整個控制的精度17。在設(shè)計
31、中采用了光電傳感器做為測速裝置,其計算公式為: v= r/min60tNn從這里可以看出速度 v 的誤差主要是由圓盤邊緣上的凹槽數(shù)的多少決定的,為了減少系統(tǒng)誤差應(yīng)盡量提高凹槽的數(shù)量,在本次設(shè)計中取凹槽數(shù) N 為 120,采樣時間 t 為 0.5s,則速度計算具體程序流程如圖 14 所示。 圖 14 測速程4.44.4程序流程圖程序流程圖基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計13開始初始化調(diào)用清屏子程序電機(jī)運行狀態(tài)界面設(shè)置鍵按下不放?調(diào)用清屏子程序設(shè)置界面顯示根據(jù)設(shè)置計算參數(shù)YN設(shè)置鍵按松開?N電機(jī)運行狀態(tài)界面Y加速正反減速在一個完整的系統(tǒng)中,只有硬件部分是不能完成相應(yīng)設(shè)計任務(wù)的,所
32、以在該系統(tǒng)中軟件部分是非常重要的,按照要求和系統(tǒng)運行過程設(shè)計出主程序流程如圖 15 所示。 圖 15 主程序流程5. 系統(tǒng)調(diào)試系統(tǒng)調(diào)試5.15.1 軟件調(diào)試軟件調(diào)試基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計14在程序編寫的過程中,出現(xiàn)了很多問題,包括鍵盤掃描處理、PWM 信號發(fā)生電路的控制、以及單片機(jī)控制直流電機(jī)的轉(zhuǎn)動方向等問題,雖然問題不是很大,但是也讓我研究了好長時間,在解決這些問題的時候,我不斷向老師和同學(xué)請教,希望能通過大家一塊的努力把軟件編寫的更完整,讓系統(tǒng)的功能更完備。經(jīng)過多天的努力探索,也經(jīng)過老師的指導(dǎo),大部分問題都已經(jīng)解決,就是程序還是不能實現(xiàn)應(yīng)該實現(xiàn)的功能,這讓我很著
33、急。后來經(jīng)過一點一點的調(diào)試,并認(rèn)真總結(jié),發(fā)現(xiàn)了問題其實在編寫中斷處理程序時出現(xiàn)了錯誤,修改后即可實現(xiàn)直流電機(jī)調(diào)速的目的。總結(jié)這次軟件調(diào)試,讓我認(rèn)識到了做軟件調(diào)試的基本方法與流程:(1)認(rèn)真檢查源代碼,看是否有文字或語法錯誤(2)逐段子程序進(jìn)行設(shè)計,找出錯誤出現(xiàn)的部分,重點排查(3) 找到合適的方法,仔細(xì)檢查程序,分步調(diào)試直到運行成功5.2 系統(tǒng)測試與分析系統(tǒng)測試與分析為了確定系統(tǒng)與設(shè)計要求的符合程度,需要進(jìn)行系統(tǒng)測試與分析,下面以 PID調(diào)節(jié)器為例,具體說明經(jīng)驗法的整定步驟:讓調(diào)節(jié)器參數(shù)積分系數(shù)=0,實際微分系數(shù)=0,控制系統(tǒng)投入閉環(huán)運行,IKDK由小到大改變比例系數(shù),讓擾動信號作階躍變化,觀
34、察控制過程,直到獲得滿PK意的控制過程為止。取比例系數(shù)為當(dāng)前的值乘以 0.83,由小到大增加積分系數(shù),同樣讓擾PKIK動信號作階躍變化,直至求得滿意的控制過程。積分系數(shù)保持不變,改變比例系數(shù),觀察控制過程有無改善,如有改IKPK善則繼續(xù)調(diào)整,直到滿意為止。否則,將原比例系數(shù)增大一些,再調(diào)整積分系PK數(shù),力求改善控制過程。如此反復(fù)試湊,直到找到滿意的比例系數(shù)和積分IKPK系數(shù)為止。IK引入適當(dāng)?shù)膶嶋H微分系數(shù)和實際微分時間,此時可適當(dāng)增大比例系數(shù)DKDT和積分系數(shù)。和前述步驟相同,微分時間的整定也需反復(fù)調(diào)整,直到控制PKIK過程滿意為止。根據(jù)上訴方法,通過觀察得出該系統(tǒng)比較合適的 P、I、D 三者
35、的參數(shù)值為: 基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計15=4.0, =0.9, =1.0。PKIKDK6.6.總結(jié)與展望總結(jié)與展望這一段時間過的無比的充實,每天都在忙碌著,查閱資料,翻看文檔,了解相關(guān)的知識,每一個設(shè)計細(xì)節(jié)都要仔細(xì)的考慮,每一個環(huán)節(jié)都要查閱相關(guān)的資料,爭取做到完美。在這個系統(tǒng)中以前學(xué)的很多東西現(xiàn)在都用上了,數(shù)碼管的移位顯示等等都是在以前學(xué)習(xí)的基礎(chǔ)上慢慢調(diào)試出來的,所以在寫這篇論文的時候又讓我對以前的知識進(jìn)行了一次回顧,對知識又有了新的認(rèn)識!真是受益匪淺!通過本次課程設(shè)計,我學(xué)到了許多了東西,知道光靠書本上的東西是不夠的,需額外去查資料。無論是在硬件、軟件還是設(shè)計思路
36、上,我都遇到了不少的問題,在克服困難的過程中,我學(xué)到了許多。知道了 PID 算法的應(yīng)用,以前總覺得 PID 就是像做數(shù)學(xué)一樣,不知道實際應(yīng)用。通過本次設(shè)計,讓我很好的鍛煉了理論與具體項目、課題相結(jié)合開發(fā)、設(shè)計產(chǎn)品的能力。既讓我們懂得了怎樣把理論應(yīng)用于實際,又讓我們懂得了在實踐中遇到的問題怎樣用理論去解決。基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計16參考文獻(xiàn)參考文獻(xiàn)1李建忠,余新拴,吳耀華.單片機(jī)原理及應(yīng)用(第二版)M.西安電子科技大學(xué)出版社,2011.291.2劉軍,張洋,嚴(yán)漢字. STM32F1 開發(fā)指南-庫函數(shù)版本_V3.1M.北京航空航天大學(xué)出版社,20譚浩強(qiáng).
37、C 程序設(shè)計(第三版)M.清華大學(xué)出版社,2007.20.4閻石.數(shù)字電子技術(shù)基礎(chǔ)(第五版)M.高等教育出版社,2010.3.5張友德.單片機(jī)原理應(yīng)用與實驗M.復(fù)旦大學(xué)出版社,1992.42.6張毅剛,彭喜源,譚曉鈞,曲春波. MCS51 單片機(jī)應(yīng)用設(shè)計M.哈爾濱工業(yè)大學(xué)出版社,2001.35.7宋慶環(huán),才衛(wèi)國,高志.89C51 單片機(jī)在直流電動機(jī)調(diào)速系統(tǒng)中的應(yīng)用M.唐山學(xué)院,2008.578陳錕,危立輝.基于單片機(jī)的直流電機(jī)調(diào)速器控制電路J.中南民族大學(xué)學(xué)報,自然科學(xué)版,2003.5.9李維軍 韓小剛 李 晉.基于單片機(jī)用軟件實現(xiàn)直流電機(jī) PWM 調(diào)速系統(tǒng)J.維普資訊,2007.32.10
38、李杰. 51 系列單片機(jī)輸出 PWM 的兩種方法DB/DL. http:/.2002-2-14/2008-5-9.11 張俊謨. 單片機(jī)中級教程M. 北京:北京航空航天大學(xué)出版社,2006:96.12 何立民 . MCS-51 系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計系統(tǒng)配置與接口技術(shù)M. 北京:北京航空航天大學(xué)出版社,1990:83-87.13 風(fēng)標(biāo)電子. Proteus 使用手冊DB/OL. http:/.2007-7-4/2008-5-9.14 王偉,張晶濤,柴天佑. PID 參數(shù)先進(jìn)整定方法綜述J.自動化學(xué)報,2000,(3):347-35.15 韓京清. 非線性 PID 控制器J.自動化學(xué)報,1994
39、,(4):487-490.16 萬佑紅,李新華. 用遺傳算法實現(xiàn)PID參數(shù)整定J.自動化技術(shù)與應(yīng)用,2004,23 (7):7-基于 STM32 的直流電機(jī) PID 調(diào)速系統(tǒng)設(shè)計178.17 Behzad Razavi.Design of Analog CMOS and Integrated CircuitsM.McGraw-Hill Companies,2001:28-36.附錄一附錄一 部分程序源程序部分程序源程序主程序:主程序:#include text.h#include encoder.h #include motor.h#include tsensor.h /顯示內(nèi)部溫度的頭文件#
40、include time.h /定時器 4 用于內(nèi)部溫度檢測#include pid.h int main(void) u8 key; delay_init(); /延時函數(shù)初始化 /NVIC_Configuration(); /設(shè)置 NVIC 中斷分組 2:2 位搶占優(yōu)先級,2 位響應(yīng)優(yōu)先級uart_init(9600); /串口初始化為 9600 LED_Init(); /LED 端口初始化LCD_Init(); /初始化液晶 /usmart_dev.init(72);/usmart 初始化 把中斷服務(wù)函數(shù)注釋掉了BSP_Configuration(); /編碼器測速相關(guān)配置 mem_in
41、it(SRAMIN); /初始化內(nèi)部內(nèi)存池 exfuns_init();/為 fatfs 相關(guān)變量申請內(nèi)存 f_mount(0,fs0); /掛載 SD 卡 f_mount(1,fs1); /掛載 FLASH./控制電機(jī)轉(zhuǎn)速的 PWM 初始化TIM2_PWM_Init();MOTOR_GPIO_Config(); KEY_Init(); /按鍵初始化 EXTIX_Init(); /外部中斷初始化/T_Adc_Init(); /ADC 初始化,內(nèi)部溫度檢測/TIM4_Int_Init(19999,7199);/10Khz 的計數(shù)頻率,計數(shù)到 20000 為 2s 基于 STM32 的直流電機(jī) P
42、ID 調(diào)速系統(tǒng)設(shè)計18 /按 KEY_UP 或者自動更新字庫,不可省略 while(font_init() /檢查字庫 LCD_Clear(WHITE); /清屏 POINT_COLOR=RED;/設(shè)置字體為紅色 LCD_ShowString(60,50,200,16,16,Warship STM32);while(SD_Initialize()/檢測 SD 卡LCD_ShowString(60,70,200,16,16,SD Card Failed!);delay_ms(200);LCD_Fill(60,70,200+60,70+16,WHITE);delay_ms(200); LCD_ShowString(60,70,200,16,16,SD Card OK);LCD_ShowString(60,90,200,16,16,Font Updating.);key=update_font(20,110,16,0);/從 SD 卡更新while
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45216-2025危險貨物自反應(yīng)物質(zhì)和有機(jī)過氧化物包裝件爆燃試驗方法
- 共用墻合同范本
- 兼職防疫保安合同范本
- 出售吊車合同范例
- 加裝電梯托管合同范本
- 光伏銷售質(zhì)保合同范本
- 單位二手房交易合同范本
- 勞動合同范例 河南
- 買賣交易正規(guī)合同范本
- 個人買賣住房合同范本
- 無光纖傳輸技術(shù)Er:YAG激光口腔臨床應(yīng)用規(guī)范
- 醫(yī)療信息共享與互聯(lián)網(wǎng)醫(yī)療管理制度
- 人教版高中英語必修二詞匯表(默寫版)
- 汽車電器線束DFMEA范例
- 船模航模車模社團(tuán)教案
- 【基于上市公司數(shù)據(jù)的康芝藥業(yè)盈利能力探析(定量論文)11000字】
- 幼兒園小班學(xué)情分析案例及分析
- 2024年社區(qū)工作者考試題庫及答案
- 2024年義務(wù)教師考試招聘考試試題及答案
- 無人機(jī)紅外技術(shù)培訓(xùn)
- 2024中考英語1500詞匯默寫匯總表練習(xí)(含答案)
評論
0/150
提交評論