基於模糊PID的直流電動機閉環調速系統設計

2021-07-28 12:12:47 字數 2431 閱讀 4703

一、系統功能及特點

1、功能

(1)兩種速度設定方式:模擬量旋鈕給定和數字鍵盤輸入給定;

(2)兩種顯示格式:脈衝數每週期和轉每秒;

(3)系統具備手動啟動,手動停止功能。

2、特點

(1)採用模糊邏輯,自動選擇pid引數,來控制系統穩定;

(2)程式設計採用c語言和組合語言混編的方法。

二、獲取pid引數的模糊調整表

1、模糊控制規律

(1)當偏差e較大時,應取較大的kp和較小的kd,且使ki為0。 

(2)當偏差e中等大小時,應取較小的kp,適當的ki和kd。 

(3)當偏差e較小時,應取較大的kp和ki,而且kd的取值要恰當。 

2、輸入量模糊化

(1) e的論域

(2)ec的論域

(3)kp的論域

(4)ki的論域

(5)kd的論域

3、生成模糊規則表

採用經驗歸納法和推理合成法來建立模糊控制規則。

(1)∆k_p模糊規則表,k_p(k)=k_p0+∆k_p(k)

模糊規則表,k_i

(3)∆k_d模糊規則表,k_d (k)=k_d0+∆k_d(k)

4、解模糊—將模糊邏輯轉化為查詢表

利用matlab進行加權平均法(重心法)轉化計算,參考**:如何利用matlab將模糊邏輯轉化為查詢表

(1)建立模糊邏輯

開啟matlab的fuzzy工具箱,結合上述關係建立模糊邏輯控制器,新增49條模糊控制規則。

(2)  系統測試

利用simulink建立控制器模型,呼叫system test工具,進行系統測試。然後利用matlab乙個工具,經過多次迭代,計算出需要的調整表。

(3)提取資料     

得到的是乙個多種引數資料的cell細胞組,需要對資料進行提取。筆者當時利用乙個部落格提供的方法提取不成功,就自己寫了乙個函式,在m檔案編寫程式,提取資料形成查詢表,把引數提取在excel表中了。

matlab提取程式:

writefile='selectpid.xls';%寫入資料夾名

dataout1=zeros(7,7);%最終資料輸出

dataout2=zeros(7,7);%最終資料輸出

dataout3=zeros(7,7);%最終資料輸出

%sourcedata=test_data;

title1=;

title2=;

title3=;

varname=;

corname=;

xlswrite(writefile,title1,'e1:e1');

xlswrite(writefile,title2,'e11:e11');

xlswrite(writefile,title3,'e20:e20');

for i=2:8

for j=2:8

dataout1(i-1,j-1)=mean(test_data.kp);

j=j+1;

endi=i+1;

endfor i=2:8

for j=2:8

dataout2(i-1,j-1)=mean(test_data.ki);

j=j+1;

endi=i+1;

endfor i=2:8

for j=2:8

dataout3(i-1,j-1)=mean(test_data.kd);

j=j+1;

endi=i+1;

endxlswrite(writefile,dataout1,'b3:h10');%將資料寫入**

xlswrite(writefile,dataout2,'b12:h19');%將資料寫入**

xlswrite(writefile,dataout3,'b21:h28');%將資料寫入**

直流電機PID調速

文章寫的是基於數字pid控制器的閉環電機速度控制系統,系統以stc89c51微控制器為控制核心,通過電機驅動l298n 這裡因為所用電機是個小馬達,額定電流和堵轉電流不算大,所以用的是tc1508s做驅動 控制電機轉速,電機轉速控制採用pwm控制。在對電機轉速進行調速的過程同時,微控制器對電機的轉速...

直流電機PID調節 P

其實要用pid調節的話,最好是使用帶有編碼器的比較高階一點的直流減速電機,但是因為它 有點貴,所以我們一般做智慧型小車就會選用普通的直流電機,但是普通的直流電機也是可以使用pid調節的,雖然它的效果沒有帶編碼器得到直流減速電機的好,但是我們也可以在調節的過程中慢慢地深刻的理解pid調節的含義。今天先...

(一)3 執行器 電動 之 直流電動機中的工作原理

1.電磁力定律 直流電動機應用,產生力和力矩 電磁力 f bil2.電磁感應定律 直流發電機應用 產生電勢 電動勢 e blv3.原理闡述 我們化簡電動機,針對其中一砸線圈來說 1.我們知道磁場向下,左手定則,判斷出靠近n的那根線圈受到向右的力,同時,下面的那根線 受到向左的力,線圈開始旋轉 3.線...