單片機模糊PID自整定控制算法的實現(xiàn)及仿真
發(fā)布時間:2007/9/10 0:00:00 訪問次數(shù):626
來源:電子元器件應(yīng)用 作者:馮桂寧 蔣翔俊
0 引言
由于液壓伺服系統(tǒng)的固有特性(如死區(qū)、泄漏、阻尼系數(shù)的時變性以及負(fù)載干擾的存在),系統(tǒng)往往會呈現(xiàn)典型的不確定性和非線性特性。這類系統(tǒng)一般很難精確描述控制對象的傳遞函數(shù)或狀態(tài)方程,而常規(guī)的PID控制又難以取得良好的控制效果。另外,單一的模糊控制雖不需要精確的數(shù)學(xué)模型,但是卻極易在平衡點附近產(chǎn)生小振幅振蕩,從而使整個控制系統(tǒng)不能擁有良好的動態(tài)品質(zhì)。
本文針對這兩種控制的優(yōu)缺點并結(jié)合模糊控制技術(shù),探討了液壓伺服系統(tǒng)的模糊自整定PID控制方法,同時利用MATLAB軟件提供的Simulink和Fuzzy工具箱對液壓伺服調(diào)節(jié)系統(tǒng)的模糊自整定PID控制系統(tǒng)進(jìn)行仿真,并與常規(guī)PID控制進(jìn)行了比較。此外,本文還嘗試將控制系統(tǒng)通過單片機的數(shù)字化處理,并在電液伺服實驗臺上進(jìn)行了測試,測試證明:該方法能使系統(tǒng)的結(jié)構(gòu)簡單化,操作靈活化,并可增強可靠性和適應(yīng)性,提高控制精度和魯棒性,特別容易實現(xiàn)非線性化控制。
1 模糊PID自整定控制器的設(shè)計
本控制系統(tǒng)主要完成數(shù)據(jù)采集、速度顯示和速度控制等功能。其中智能模糊控制由單片機完成,并采用規(guī)則自整定PID控制算法進(jìn)行過程控制。整個系統(tǒng)的核心是模糊控制器,AT89C51單片機是控制器的主體模塊。電液伺服系統(tǒng)輸出的速度信號經(jīng)傳感器和A/D轉(zhuǎn)換之后進(jìn)入單片機,單片機則根據(jù)輸入的各種命令,并通過模糊控制算法計算控制量,然后將輸出信號通過D/A轉(zhuǎn)換送給液壓伺服系統(tǒng),從而控制系統(tǒng)的速度。該模糊控制器的硬件框圖如圖1所示。
模糊控制器的主程序包括初始化、鍵盤管理及控制模塊和顯示模塊的調(diào)用等。溫度信號的采集、標(biāo)度變換、控制算法以及速度顯示等功能的實現(xiàn)可由各子程序完成。軟件的主要流程是:利用AT89C51單片機調(diào)A/D轉(zhuǎn)換、標(biāo)度轉(zhuǎn)換模塊以得到速度的反饋信號,然后根據(jù)偏差和偏差的變化率計算輸入量,再由模糊PID自整定控制算法得出輸出控制量。啟動、停止可通過鍵盤并利用外部中斷產(chǎn)生,有按鍵輸入則調(diào)用中斷服務(wù)程序。該程序的流程圖如圖2所示。
2 模糊控制器算法研究
采用模糊PID自整定控制的目的是使控制器能夠根據(jù)實際情況調(diào)整比例系數(shù)Kp、積分系數(shù)Ki和微分系數(shù)Kd,以達(dá)到調(diào)節(jié)作用的實時最優(yōu)。該電液伺服系統(tǒng)的Fuzzy自整定PID控制系統(tǒng)結(jié)構(gòu)如圖3所示。
為了簡化運算和滿足實時性要求,即該調(diào)節(jié)系統(tǒng)的基本控制仍為PID控制,但使PID調(diào)節(jié)參數(shù)由模糊自整定控制器根據(jù)偏差e和偏差變化率ec進(jìn)行自動調(diào)整,同時把模糊自整定控制器的模糊部分按Kp、Ki和Kd分成3部分,分別由相應(yīng)的子推理器來實現(xiàn)。
2.1 輸入值的模糊化
模糊自整定PID控制器是在fuzzy集的論域中進(jìn)行討論和計算的,因而首先要將輸入變量變換到相應(yīng)的論域,并將輸人數(shù)據(jù)轉(zhuǎn)換成合適的語言值,也就是要對輸入量進(jìn)行模糊化。結(jié)合本液壓伺服系統(tǒng)的特性,這里選擇模糊變量的模糊集隸屬函數(shù)為正態(tài)分布,具體分布如圖4所示。根據(jù)該規(guī)則可把實際誤差e、誤差變化率ec(de/dt)對應(yīng)的語言變量E、EC表示成模糊量。E、EC的基本論域為[-6,+6],將其離散成13個等級即[-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6]。考慮到控制的精度要求,本設(shè)計將[-6,+6]分為負(fù)大[NB]、負(fù)中[NM]、負(fù)小[NS]、零[ZO]、正小[PS]、正中[PM]、正大[PB]等7個語言變量,然后由e、ec隸屬函數(shù)根據(jù)最大值法得出相應(yīng)的模糊變量。
2.2 模糊控制規(guī)則表的建立
(1) Kp控制規(guī)則設(shè)計
在PID控制器中,Kp值的選取決定于系統(tǒng)的響應(yīng)速度。增大Kp能提高響應(yīng)速度,減小穩(wěn)態(tài)誤差;但是,Kp值過大會產(chǎn)生較大的超調(diào),甚至使系統(tǒng)不穩(wěn)定減小Kp可以減小超調(diào),提高穩(wěn)定性,但Kp過小會減慢響應(yīng)速度,延長調(diào)節(jié)時間。因此,調(diào)節(jié)初期應(yīng)適當(dāng)取較大的Kp值以提高響應(yīng)速度,而在調(diào)節(jié)中期,Kp則取較小值,以使系統(tǒng)具有較小的超調(diào)并保證一定的響應(yīng)速度;而在調(diào)節(jié)過程后期再將Kp值調(diào)到較大值來減小靜差,提高控制精度。Kp的控制規(guī)則如表1所列。
(2) Ki控制規(guī)則設(shè)計
在系統(tǒng)控制中,積分控制主要是用來消除系統(tǒng)的穩(wěn)態(tài)誤差。由于某些原因(如飽和非線
來源:電子元器件應(yīng)用 作者:馮桂寧 蔣翔俊
0 引言
由于液壓伺服系統(tǒng)的固有特性(如死區(qū)、泄漏、阻尼系數(shù)的時變性以及負(fù)載干擾的存在),系統(tǒng)往往會呈現(xiàn)典型的不確定性和非線性特性。這類系統(tǒng)一般很難精確描述控制對象的傳遞函數(shù)或狀態(tài)方程,而常規(guī)的PID控制又難以取得良好的控制效果。另外,單一的模糊控制雖不需要精確的數(shù)學(xué)模型,但是卻極易在平衡點附近產(chǎn)生小振幅振蕩,從而使整個控制系統(tǒng)不能擁有良好的動態(tài)品質(zhì)。
本文針對這兩種控制的優(yōu)缺點并結(jié)合模糊控制技術(shù),探討了液壓伺服系統(tǒng)的模糊自整定PID控制方法,同時利用MATLAB軟件提供的Simulink和Fuzzy工具箱對液壓伺服調(diào)節(jié)系統(tǒng)的模糊自整定PID控制系統(tǒng)進(jìn)行仿真,并與常規(guī)PID控制進(jìn)行了比較。此外,本文還嘗試將控制系統(tǒng)通過單片機的數(shù)字化處理,并在電液伺服實驗臺上進(jìn)行了測試,測試證明:該方法能使系統(tǒng)的結(jié)構(gòu)簡單化,操作靈活化,并可增強可靠性和適應(yīng)性,提高控制精度和魯棒性,特別容易實現(xiàn)非線性化控制。
1 模糊PID自整定控制器的設(shè)計
本控制系統(tǒng)主要完成數(shù)據(jù)采集、速度顯示和速度控制等功能。其中智能模糊控制由單片機完成,并采用規(guī)則自整定PID控制算法進(jìn)行過程控制。整個系統(tǒng)的核心是模糊控制器,AT89C51單片機是控制器的主體模塊。電液伺服系統(tǒng)輸出的速度信號經(jīng)傳感器和A/D轉(zhuǎn)換之后進(jìn)入單片機,單片機則根據(jù)輸入的各種命令,并通過模糊控制算法計算控制量,然后將輸出信號通過D/A轉(zhuǎn)換送給液壓伺服系統(tǒng),從而控制系統(tǒng)的速度。該模糊控制器的硬件框圖如圖1所示。
模糊控制器的主程序包括初始化、鍵盤管理及控制模塊和顯示模塊的調(diào)用等。溫度信號的采集、標(biāo)度變換、控制算法以及速度顯示等功能的實現(xiàn)可由各子程序完成。軟件的主要流程是:利用AT89C51單片機調(diào)A/D轉(zhuǎn)換、標(biāo)度轉(zhuǎn)換模塊以得到速度的反饋信號,然后根據(jù)偏差和偏差的變化率計算輸入量,再由模糊PID自整定控制算法得出輸出控制量。啟動、停止可通過鍵盤并利用外部中斷產(chǎn)生,有按鍵輸入則調(diào)用中斷服務(wù)程序。該程序的流程圖如圖2所示。
2 模糊控制器算法研究
采用模糊PID自整定控制的目的是使控制器能夠根據(jù)實際情況調(diào)整比例系數(shù)Kp、積分系數(shù)Ki和微分系數(shù)Kd,以達(dá)到調(diào)節(jié)作用的實時最優(yōu)。該電液伺服系統(tǒng)的Fuzzy自整定PID控制系統(tǒng)結(jié)構(gòu)如圖3所示。
為了簡化運算和滿足實時性要求,即該調(diào)節(jié)系統(tǒng)的基本控制仍為PID控制,但使PID調(diào)節(jié)參數(shù)由模糊自整定控制器根據(jù)偏差e和偏差變化率ec進(jìn)行自動調(diào)整,同時把模糊自整定控制器的模糊部分按Kp、Ki和Kd分成3部分,分別由相應(yīng)的子推理器來實現(xiàn)。
2.1 輸入值的模糊化
模糊自整定PID控制器是在fuzzy集的論域中進(jìn)行討論和計算的,因而首先要將輸入變量變換到相應(yīng)的論域,并將輸人數(shù)據(jù)轉(zhuǎn)換成合適的語言值,也就是要對輸入量進(jìn)行模糊化。結(jié)合本液壓伺服系統(tǒng)的特性,這里選擇模糊變量的模糊集隸屬函數(shù)為正態(tài)分布,具體分布如圖4所示。根據(jù)該規(guī)則可把實際誤差e、誤差變化率ec(de/dt)對應(yīng)的語言變量E、EC表示成模糊量。E、EC的基本論域為[-6,+6],將其離散成13個等級即[-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6]?紤]到控制的精度要求,本設(shè)計將[-6,+6]分為負(fù)大[NB]、負(fù)中[NM]、負(fù)小[NS]、零[ZO]、正小[PS]、正中[PM]、正大[PB]等7個語言變量,然后由e、ec隸屬函數(shù)根據(jù)最大值法得出相應(yīng)的模糊變量。
2.2 模糊控制規(guī)則表的建立
(1) Kp控制規(guī)則設(shè)計
在PID控制器中,Kp值的選取決定于系統(tǒng)的響應(yīng)速度。增大Kp能提高響應(yīng)速度,減小穩(wěn)態(tài)誤差;但是,Kp值過大會產(chǎn)生較大的超調(diào),甚至使系統(tǒng)不穩(wěn)定減小Kp可以減小超調(diào),提高穩(wěn)定性,但Kp過小會減慢響應(yīng)速度,延長調(diào)節(jié)時間。因此,調(diào)節(jié)初期應(yīng)適當(dāng)取較大的Kp值以提高響應(yīng)速度,而在調(diào)節(jié)中期,Kp則取較小值,以使系統(tǒng)具有較小的超調(diào)并保證一定的響應(yīng)速度;而在調(diào)節(jié)過程后期再將Kp值調(diào)到較大值來減小靜差,提高控制精度。Kp的控制規(guī)則如表1所列。
(2) Ki控制規(guī)則設(shè)計
在系統(tǒng)控制中,積分控制主要是用來消除系統(tǒng)的穩(wěn)態(tài)誤差。由于某些原因(如飽和非線
熱門點擊
- AVR單片機在蓄電池剩余電量測試儀中的應(yīng)用
- BS2系統(tǒng)編程與應(yīng)用實例
- ASM5無參數(shù)化調(diào)用C51函數(shù)的實現(xiàn)
- 用PIC單片機實現(xiàn)50Hz鎖相信號發(fā)生器
- 便攜式動態(tài)心電信號數(shù)據(jù)采集器的設(shè)計
- 單片機控制的雙路有源濾波器設(shè)計
- SmartLock并口單片機軟件狗加密技術(shù)
- 單片機應(yīng)用PS/2鍵盤的實例
- ICCAVR->8515和LCD的接口源程序
- 增強型51
推薦技術(shù)資料
- 硬盤式MP3播放器終級改
- 一次偶然的機會我結(jié)識了NE0 2511,那是一個遠(yuǎn)方的... [詳細(xì)]
- AMOLED顯示驅(qū)動芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計
- GB300 超級芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究