国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STC89C51的直流電機PWM的PID調速系統(tǒng)

2020-11-30 09:02鄭艷鵬蘇東
軟件 2020年9期
關鍵詞:PID算法

鄭艷鵬 蘇東

摘? 要: 本文設計一種基于STC89C51的直流電機PWM的PID算法調速系統(tǒng),本文首先設計了系統(tǒng)的硬件原理框圖,然后展開了調速系統(tǒng)的硬件設計。接著介紹了PWM直流電機的調速原理和PID控制算法的原理框圖和數學模型。然后,在前面硬件的基礎上進行了系統(tǒng)的軟件的設計,最后進行了實物平臺的搭建,并對直流電機的調速系統(tǒng)做了一系列實驗,主要有:三種轉速下的PWM波形測試實驗和電機編碼器A、B兩相波形測試實驗,并對實驗波形進行了分析。實驗結果表明,基于PID算法控制下的直流電機調速系統(tǒng),轉速能按設定值進行自動調速,最后趨于穩(wěn)定,超調量小,證明了該系統(tǒng)的可行性。

關鍵詞: PID算法;PWM;轉速控制;STC89C52

中圖分類號: TP27? ? 文獻標識碼: A? ? DOI:10.3969/j.issn.1003-6970.2020.09.028

本文著錄格式:鄭艷鵬,蘇東. 基于STC89C51的直流電機PWM的PID調速系統(tǒng)[J]. 軟件,2020,41(09):100104

【Abstract】: A PID speed regulating system based on STC89C51 DC motor PWM is designed by this paper. Firstly, the hardware principle diagram of the system is designed, and then the hardware design of the speed regulating system is developed. Then , The principle of PWM dc motor speed regulation and PID control algorithm principle block diagram and mathematical model is introduced. Then, on the basis of the previous hardware, we design the software of the system. Finally, the physical platform was built, and a series of experiments were carried out on the speed regulating system of DC motor. Including PWM waveform test experiments and motor encoder A, B two phase waveform test experiments under three kinds of rotating speed and the experimental waveform is analyzed. Experimental results show that:DC motor speed control system based on PID algorithm, Its speed can be automatically adjusted according to the set value, and finally tends to be stable, overshoot is small, which proves the feasibility of the system.

【Key words】: PID Algorithm; PWM; Speed Control; STC89C52

0? 引言

無論是在我們的生活中,還是在工業(yè)自動化電機控制系統(tǒng)中,電機作為其傳動裝置,在控制系統(tǒng)中扮演者重要的角色。電機最主要的參數就是轉速,很多時候,人們需要對電機的轉速進行精確的測量和控制,來滿足人們的需求。電機的轉速采集方法和調速方法有許多種,一般轉速的采集是通過帶編碼器的電機,把轉速信號轉換成脈沖信號[1]。然后,再通過單片機進行運算處理,通過一系列的換算可以得出電機的實際的轉速。

而直流電機的調速方法一般有三種:改變電機的反電勢系數、改變電機回路總電阻和改變端電機電壓[2]。反電勢系數與磁通密度有關,直流電機轉子是永久磁體,磁場固定。因此,改變反電勢系數來進行電機的調速是行不通的[3]。回路串電阻這種調速方法的機械特性較軟,一般在電機調速性能要求不高的場合使用[4]。改變端電機電壓法:通過改變控制功率開關管通斷的 PWM 波的占空比,可以在不改變直流電源電壓的情況下改變單位時間內流入繞組的電流總量,從而使電機繞組平均端電壓改變,實現對直流電機的調速[5]。PWM調制法的調速范圍較寬,調速比較平滑,目前應用比較廣泛。

但是本方法存在缺點,在實際應用中會發(fā)現,當控制系統(tǒng)給定一個固定的PWM占空比時,由于外部的干擾等因素的影響,實際的PWM占空比會發(fā)生波動,這樣電機的轉速就會波動,以至于電機轉速不能達到一個較穩(wěn)定的狀態(tài)[6]。PID控制算法歷史悠久,控制性能相對優(yōu)越,只要選擇合適的增益系數,它能滿足大部分對控制精度要求不是很高的控制系統(tǒng),本文使用該算法來對電機的轉速進行控制[7]。

1? 直流電機調速系統(tǒng)硬件設計

1.1? 直流電機調速系統(tǒng)框圖的設計

本控制系統(tǒng)以STC89C51為整個控制系統(tǒng)的核心,進行了直流電機調速系統(tǒng)的設計。系統(tǒng)原理框圖如圖1所示。整個控制系統(tǒng)主要由按鍵電路、復位電路、時鐘電路、數碼管顯示電路、直流電機驅動電路、編碼器直流電機和5 V直流電源組成。

采集,并能通過按鍵來設定電機的轉速值,通過軟件的編程把電機的實時轉速值通過數碼管顯示出來??刂品椒ㄊ峭ㄟ^把PID控制器的輸出值作為PWM的占空比的方法,來實現直流電機的轉速的自動調節(jié)。

1.2? 直流電機調速系統(tǒng)硬件原理圖設計

在圖1中,設計了STC89C51直流電機調速系統(tǒng)的原理框圖,本小節(jié)對原理圖進行硬件展開設計,內容主要有:電機加減速按鍵電路、數碼管顯示電路、ULN2003電機驅動電路的設計等。整個電路的設計原理圖,如圖2所示。本系統(tǒng)采用現成的5V直流電源供電,因此沒有給出電源電路的設計。下面對各個電路模塊的功能進行介紹。

在圖2中,STC89C51為核心的控制器主要實現PID算法、PWM波輸出、INT0中斷脈沖計數、定時器T0、T1的定時中斷功能;SB1和SB2為按鍵電路,實現電機的加速與減速的設定;ULN2003為直流電機驅動模塊,該模塊集成度強可同時驅動7個額定電壓為5 V,額定電流為0.5 A電流的直流電機;encode motor模塊為帶編碼盤電機,A、B兩相分別為編碼盤A、B兩相脈沖輸出端,相位相差π/2。圖2中,A相接入單片機的P3.2 INT0引腳,利用外部中斷0,實現碼盤的脈沖計數,計數目的實現轉速的測量;74HC245為數碼管顯示驅動芯片,把單片機信號放大,實現數碼管的顯示;數碼管負責顯示電機的轉速測量及電機的轉速設定。

2? 理論分析

2.1? 直流電機PWM調速原理

PWM調速原理,簡單來說,就是通過控制功率開關管子的接通與關斷的時間,這樣就會改變直流電動機電樞上電壓的占空比,從而來改變電機上平均電壓的大小,即PWM調壓來控制電動機的轉速[8]。本控制系統(tǒng)就是通過PWM(脈沖寬調制)技術來實現的,直流電機調速原理圖如圖3所示,輸入輸出電壓如圖4所示。

在圖2中,我們假設加在電機兩端的脈沖電壓的占空比為,則電機兩端的電壓平均值U0為[9]:

由上面的式子可知改變直流電機脈沖電壓占空比,直流電機兩端的平均電壓就可以改變。由直流電機的轉速公式,可知直流電壓和電機的轉速成正比關系,直流電壓改變后,電機轉速也隨之改變。

2.2? 直流電機的PID調速原理及數學模型

直流電機PID控制原理框圖,如圖5所示。調速原理:首先設定電機的轉速r(t),直流電機反饋的轉速信號轉化成脈沖信號送入單片機INT0,在定時器T0的作用下一定時間內對外部輸入脈沖進行計數,然后算出當前轉速,然后可得出轉速偏差,接著把偏差信號送入PID控制器,進行PID調節(jié),然后,計算出控制量輸出,然后,將PID調節(jié)輸出的值賦給PWM來更新PWM占空比,接著將最新的PWM信號,送入直流電機驅動模塊ULN2003的輸入IN1端,來驅動電機旋轉。在調速過程中,當實際轉速小于設定轉速r(t)時,PID控制器控制PWM的輸出脈寬增大,來提高電機的轉速,當實際轉速大于設定轉速時,PID控制器使PWM脈沖寬度減小,來降低電機的轉速,直到偏差信號消除為止,就這樣如此循環(huán)下去,直到最后使電機的轉速趨于設定值為止。

2.3? PID控制器的數學模型

基于PID控制的直流電機調速系統(tǒng),其核心就是PID控制算法,上小節(jié)中介紹了速度PID直流電機調速原理,給出了調速原理框圖,在圖4中,我們定義為系統(tǒng)的給定輸入量,為系統(tǒng)的實際輸出量。是和的差,我們稱為偏差信號,公式可以表示為。PID調節(jié)器的時域表達式可表示為[10]:

式中:系統(tǒng)的輸出信號;系統(tǒng)的輸入信號;系統(tǒng)的比例增益系數;系統(tǒng)的積分時間();系統(tǒng)的微分時間()。

在單片機控制系統(tǒng)中,對電機的轉速進行控制時,需要以采樣周期對轉速進行實時采樣,這屬于離散時間控制系統(tǒng)。因此需要數字PID的數學模型,將時域方程(3-1)離散化,可得到位置型數字PID控制器的數學表達式[11]:

第次采樣時刻計算機的輸出值;第次采樣時刻輸入的偏差值;

為采樣周期;—采樣序號。

從位置型PID數學表達式中可以看出,在計算輸出量時,的值需要不斷的進行累加,計算量大,對數字信號處理器的性能要求較高,并且占用處理器的存儲空間。計為了避免這種情況的產生,因此出現了增量型PID控制算法。由遞推公式,(3-3)可變?yōu)閇12]:

用(3-3)式減去(3-4)式,可得增量式PID控制表達式為:

增量型PID控制算法,只需要根據前后三次采樣所得到的偏差、、就可以確定系統(tǒng)的輸出,從計算的復雜程度來說,增量型PID算法計算更加簡單,具有一定的優(yōu)勢,所以本控制系統(tǒng)采用此方法實現直流電機的轉速調節(jié)控制。采用PID控制器對電機的轉速進行調節(jié)時,需要對比例P環(huán)節(jié)、積分I環(huán)節(jié)和微分D環(huán)節(jié)進行參數的整定。

比例P環(huán)節(jié),能對系統(tǒng)的偏差信號立刻做出反應,轉速偏差一旦產生,調節(jié)器會迅速的減少偏差信號,是系統(tǒng)快速到達轉速給定值。但比例P環(huán)節(jié)系數值越大,系統(tǒng)相應速度越快,值過大時會引系統(tǒng)的大幅度震蕩,超調量增加,調節(jié)時間變長[13]。積分I環(huán)節(jié)能改善系統(tǒng)的穩(wěn)態(tài)性能,使系統(tǒng)的靜態(tài)誤差減小到足夠小。只要系統(tǒng)的偏差存在,積分控制作用就會不斷的積累,控制器輸出就會發(fā)生變化,調節(jié)機構就會動作,直至偏差消除為止[14]。積分的作用與積分常數有密切關系,減小,系統(tǒng)的積分作用會加強,系統(tǒng)過渡過程中容易產生振蕩,但調節(jié)時間變短。微分D環(huán)節(jié)具有超前控制的作用,它對系統(tǒng)的嚴重超調有超前抑制作用,但它的加入會使系統(tǒng)響應變慢,微分作用的強弱取決于時間常數的大小,越大系統(tǒng)抑制變化作用越強,越小系統(tǒng)抑制變化作用越弱[15]。上述可見PID控制器的三個參數互相矛盾,在使用PID控制器時,需根據三個參數的控制特點,進行適量的增加會減小,多次實驗后一般可滿足常用的現行控制系統(tǒng)的需求。

3? 直流電機調速系統(tǒng)的軟件設計

在1.2小節(jié)中,介紹了直流電機的硬件控制系統(tǒng),硬件的設計離不開軟件的設計,本小節(jié)主要完成直流電機調速系統(tǒng)的軟件系統(tǒng)設計,其內容主要包括:主程序、定時器T0中斷程序、PID算法控制程序流程圖的設計,分別如圖6、圖7、圖8所示。

其中,主程序是一個無限的循環(huán)程序,一開始需要進行系統(tǒng)初始化(定時器T0初始化、INT0初始化、變量賦值初始化)等;然后進入while(1)無限循環(huán)程序,循環(huán)體內調用轉速設定函數,數碼管顯示函數、PWM輸出函數;定時器T0中斷,是對INT0外部中斷捕捉的脈沖數量,進行計時運算,定時時間為200 ms,即每200 ms來計算一次外部中斷INT0中斷函數內變量Ipulse(掃描的碼盤脈沖數)的次數;PID控制算法是轉速調節(jié)的核心控制程序,運算步驟:首先計算轉速誤差接著計算和,最后賦值給PWM,來更新PWM占空比,去控制直流電機旋轉。INT0中斷中只有一個Inpulse++變量比較簡單,因此上面沒有給出INT0中斷流程圖。

軟件程序中,一分鐘的圈數為:num=((Inpluse*5)/30)*60,inpulse為外部中斷INT0采集的脈沖數,每來一個下降沿,Inpulse加1,定時器T0每200 ms掃描一次脈沖數進行轉速計算更新,inpulse*5為每秒內的脈沖數,再除以30為每秒轉的圈數,最后乘以60得出每分鐘的圈數。

4? 實驗平臺搭建與波形測試實驗

4.1? 實驗平臺搭建

本控制系統(tǒng)的實驗開發(fā)平臺實物圖9所示,主要由編碼器電機、單片機、數碼管顯示模塊、直流電機驅動模塊和數碼管顯示驅動芯片組成。按1.2小節(jié)的硬件電路圖進行接線,使用keil4軟件開發(fā)平臺進行程序編寫,然后生成PID.hex文件下載到單片機,進行了PWM波形和編碼器脈沖波形測試實驗。

實驗包括:轉速設定在500轉時,單片機PWM波形測試,編碼器A、B路脈沖測試實驗;轉速設定在800轉,單片機PWM波形測試,編碼器A、B路脈沖測試實驗;轉速設定在1200轉,單片機PWM波形測試,編碼器A、B路脈沖測試實驗。下面介紹試驗步驟,及波形測試和分析。

4.2? 波形測試實驗

實驗步驟:將線路按硬件原理圖連接好,PID控制器經反復調試,三個增益系數設為P=10;I=12;D=1.5,將生成的PID.hex文件下載到單片機,設定轉速為500 r/min,將示波器的1通道、2通道分別接編碼器A、B兩相,可得到電機轉速在500 r/min時的編碼器輸出脈沖波形,如圖10,圖b)所示。測完后,將示波器一通道紅表筆介入單片機的P1.0引腳,電機設定在500 r/min時,輸出的PWM波形,如圖9,圖a)所示。用同樣的方法可得出電機轉速在800 r/min、 1200 r/min時的PWM波形和編碼器AB兩相測試波形分別如圖c)、圖d)、圖e)和圖f)所示。

結果分析:從圖(a)中可看出,電機在500 r/min時,PWM輸出頻率為14.83 Hz,占空比達到25.7%,由于直流電機供電電壓為Us 5 V,由2.1節(jié)直流電機電壓輸出公式可得。從A、B兩相編碼器脈沖信號可以看出,他們之間相位相差/2,A路編碼器脈沖可看出,它的頻率是253 Hz,根據頻率和轉速的換算關系,編碼器電機碼盤是30線的,所以每轉一圈碼盤反饋30個脈沖(上升沿或下降沿)給單片機,253 Hz即每秒反饋253個脈沖,所以每秒中轉的圈數為253/30,則一分鐘電機轉的圈數為 n=(253/30)*60=506 r/min。通過此方法,同樣可以得到電機在800 r/min、1200 r/min時,電機端電壓的端電壓和轉速,端電壓分別為33.5%*5 V=1.675 V和42.2%*5 V=2.1 V,轉速分別為811.8 r/min和1217.8 r/min。

由占空比、電機端電壓和轉速值的數據可知,當電機的轉速不斷提高時,PWM占空比不斷的加大,其電機的端電壓也在不斷增大,驗證了占空比和電機端電壓計算公式的正確性。為了清楚的看到不同轉速時電機的超調量百分比,列出了PID算法轉速超調量數據表,如表1所示。

5? 結論

本文設計了基于STC89C51的直流電機PWM的PID算法調速系統(tǒng),介紹了直流電機PWM調速原理和PID控制算法的原理框圖和PID數學模型,給出了系統(tǒng)的硬件設計和軟件設計,并進行了一些實驗,實驗結果表明,在PID算法作用下,直流電機能按照其設定的轉速值,進行自動的調節(jié),并且超調量小,證明了系統(tǒng)的可行性,有一定的應用價值。

參考文獻

[1]應力恒, 陳子珍. 基于STC12C5A60S2的轉速測量實驗平臺開發(fā)[J]. 寧波職業(yè)技術學院學報, 2012(5): 8-12.

[2]楊靖. 用單片機控制的直流電機調速系統(tǒng)[J]. 機床電器, 2008(01): 45-47.

[3]李婷. 基于單片機的直流電機控制方法研究[J]. 集成電路應用, 2019, 36(07): 58-59.

[4]徐志勇, 蘇文瑾. 直流無刷電機控制系統(tǒng)[J]. 科技視界, 2016(14): 137.

[5]徐坤, 周子昂, 吳定允. 基于DSP 直流無刷電機控制系統(tǒng)的設計與實現[J]. 信陽師范學院學報(自然科學版), 2016, 29(02): 249-252.

[6]焦玉朋. 基于51單片機的 PWM 直流電機調速系統(tǒng)[D]. 呼和浩特: 內蒙古大學, 2013.

[7]丁少云, 薛達. 無刷直流電機的 PID 調速控制系統(tǒng)[J]. 變頻器世界, 2019(2): 12-14.

[8]楊春旭, 林若波, 彭燕標. 基于 PWM 控制的直流電機調速系統(tǒng)的設計[J]. 齊齊哈爾大學學報(自然科學版), 2011, 27(3): 10-13.

[9]劉紫晶. 基于 STC89C52 單片機 PWM 調速控制系統(tǒng)的硬件設計[J]. 2012(13): 24-25.

[10]黃健. 基于PI 控制的直流電機調速控制系統(tǒng)的研制. 西京學院, 2017, 30(1) : 35-37.

[11]姜文彪, 吳堅. 直流電機雙閉環(huán) PI 控制技術研究[J]. 機床與液壓, 2012, 40(11) : 21-24.

[12]劉峰. 基于先進 PID 控制的電動機調速系統(tǒng)研究[J]. 科技創(chuàng)新與應用, 2014(15): 34.

[13]田苗, 史玉琴. 基于PID技術的工業(yè)自動控制系統(tǒng)的優(yōu)化改進研究[J]. 現代電子技術, 2015.

[14]趙高超, 楊鴻武, 裴東, 等. 基于TMS320F2812的電機增量式PID控制系統(tǒng)[J]. 儀表技術與傳感器, 2014(6): 106-112.

[15]朱嶸濤, 武洪濤. 基于增量式PID算法的直流電機調速系統(tǒng). 儀表技術與傳感器, 2017(7): 33-35.

猜你喜歡
PID算法
基于AVR單片機的旋轉倒立擺設計