一、系統功能及特點
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.線...