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

?

防脈沖干擾平均濾波法與歸一參數(shù)整定PID算法的風板控制系統(tǒng)設(shè)計與實現(xiàn)*

2020-01-01 06:10:08
武漢交通職業(yè)學院學報 2019年4期
關(guān)鍵詞:風板電位器風機

商 林 鐘 雷

(武漢交通職業(yè)學院,湖北 武漢 430065)

在2018 年全國電子設(shè)計競賽備賽過程中,教練組選擇了2015 年全國大學生電子設(shè)計競賽高職組控制類題——風板控制裝置為控制類訓練題,目的在于讓參賽選手了解控制類題目的特點,訓練隊員如何使用定時器、PWM、液晶顯示模塊,如何對PID 算法中的參數(shù)進行整定等。參賽隊員查找相關(guān)資料,其內(nèi)容多為如何用PID 算法去控制風板的系統(tǒng)設(shè)計方案,包括PID 原理、硬件的選擇、算法的流程等[1-3],但很難找到介紹控制風板穩(wěn)定的方法。在訓練過程中,系統(tǒng)設(shè)計方案、PID基本算法參賽隊員都能理解,但在實際調(diào)試過程中主要問題表現(xiàn)在:(1)PID 的三個參數(shù)整定困難,調(diào)試時效果不好,花了大量時間,達不到預(yù)期目的;(2)干擾過大,不能滿足控制角度誤差不大于5 度的要求。為了解決上述問題,教練組使用了歸一參數(shù)整定法來選擇PID 的參數(shù),使用防脈沖干擾平均濾波法來消除噪聲干擾,從而達到控制角度誤差不大于5 度的要求。文中選擇風板保持90度角為實驗任務(wù),要求正負誤差不超過5度,自制系統(tǒng)如圖1 所示。系統(tǒng)包括STC15W 單片機、數(shù)字電位器、按鍵、L298N 電機控制器、2 個風機、12864LCD 屏、UART_Oscilloscope 等,系統(tǒng)結(jié)構(gòu)如圖2 所示[4]。該系統(tǒng)首先通過數(shù)字電位器采集風板當前的角度,STC15W 單片機采集供電電壓,經(jīng)過濾波消除干擾,再通過PID 算法去調(diào)整風機的轉(zhuǎn)速,從而控制風板保持在設(shè)定的角度。

圖1 自制風板模型

圖2 系統(tǒng)框圖

1 風板穩(wěn)定工作的條件

對于風板穩(wěn)定運行的條件,文獻介紹甚少,教練組從研究風板穩(wěn)定運行的影響因素、PID 算法的改進、軟件濾波等方面著手,最后實現(xiàn)了風板穩(wěn)定停留在設(shè)定的角度,誤差控制在要求范圍內(nèi)。

1.1 采樣周期的選擇

根據(jù)香農(nóng)采樣定理,系統(tǒng)采樣頻率的下限為fs=2fmax,此時系統(tǒng)可真實地恢復(fù)到原來的連續(xù)信號。從風板控制系統(tǒng)的隨動和風機抗干擾的性能來看,風板系統(tǒng)要求采樣周期短些,訓練中,隊員使用UART_Oscilloscope 軟件測量角度傳感器波動的頻率,軟件顯示角度傳感器波動頻率為10HZ左右,根據(jù)香農(nóng)采樣定理,可以選擇50ms 的定時器T0為基準采樣定時器。

采樣周期也不能過短,過短的采樣周期導致風機的轉(zhuǎn)速由于采樣干擾導致的誤差使風機轉(zhuǎn)速頻繁調(diào)節(jié)變動,也不利于系統(tǒng)的穩(wěn)定。

1.2 其他硬件和訓練細節(jié)

對于角度的測量,角度傳感器選用了數(shù)字電位器,最大電壓為5V,通過測量角度和實際電壓之間的關(guān)系,經(jīng)過大量數(shù)據(jù)驗證,角度和電壓的關(guān)系為:angle=-85.51*AD_data+309.9,其中angle為風板的角度,AD_data 為當前角度時數(shù)字電位器A/D值。

對于風機的控制,為了便于控制風板,如果風板角度小于90 度,選擇右邊風機為定速,它的PWM 值為100 到150 之間;如果風板角度大于90度,選擇左邊風機為定速,PWM 值為100 到150 之間。這是控制風板穩(wěn)定方法之一,該方法避免了兩個風機一起調(diào)速,有利于風板的穩(wěn)定。

由于供電電壓不穩(wěn)定,即數(shù)字電位器的參考電壓發(fā)生了改變,A/D采樣后的AD_data值雖然準確,但通過公式angle=-85.51*AD_data+309.9 轉(zhuǎn)換后,并不是真實的角度。供電電壓增大,換算出的angle也增大;供電電壓減小,換算出的angle也減小。為了解決電源電壓不穩(wěn)帶來的測量誤差,訓練時另外開了一個通道,采集數(shù)字電位器供電電壓,即通道5 采集數(shù)字電位器電源電壓A/D 值,通道7 采集數(shù)字電位器輸出A/D 值。關(guān)鍵代碼如下所示:

AD_temp1=ADC_Read(5);

AD_temp2 = ADC_Read(7)。根據(jù)STC15W單片機I/O 口的A/D 采集原理,可計算出AD_data=AD_temp2*2.5/AD_temp1,通過采集數(shù)字電位器電源電壓A/D 值,并為分母,作為參考電壓,理論上消除了電源電壓不穩(wěn)導致?lián)Q算出的角度誤差,經(jīng)過換算角度為:angle=-85.51*AD_data+309.9,并放在get_AD()采集函數(shù)中。該方法克服了過去由于數(shù)字電位器的電壓不穩(wěn)定導致的測量誤差,是控制風板穩(wěn)定方法之二。

2 軟件設(shè)計

2.1 歸一參數(shù)整定法——自校正PID 控制器

文中省去了PID 的結(jié)構(gòu)體、PID 的初始化、A/D 采集等定義,歸一參數(shù)整定法——自校正PID控制器算法如圖3所示。

圖3 歸一參數(shù)整定法

int pwm;

float PID_realize(float speed)

pid.SetSpeed=speed;

pid.err=pid.SetSpeed-pid.ActualSpeed;/

/歸一參數(shù)整定法——自校正PID 控制器

pid.incrementSpeed=pid.Kp* (2.45*pid.err +3.5*pid.err_next+1.25*pid.err_last);

pid.ActualSpeed+=pid.incrementSpeed;

pid.err_last=pid.err_next;

pid.err_next=pid.err;

returnpid.ActualSpeed;

由圖3 可知,只需確定一個參數(shù)pid.Kp 就能計算出增量PID 算法的增量值,減少了調(diào)試工作量。實際效果如圖4 所示,設(shè)定值為200,pid.Kp=0.095,經(jīng)過20 次的運算,能收斂到200.436386,誤差為0.2181%。其他參數(shù)不變,調(diào)整pid.Kp 值能控制收斂速度和誤差,達到任務(wù)要求的精度[5-6]。

圖4 歸一參數(shù)整定法仿真結(jié)果

2.2 防脈沖干擾平均濾波法

在數(shù)據(jù)采集中存在著多種干擾,濾除干擾的方法有很多,既有軟件濾波器,也有模擬濾波器。針對采集數(shù)字電位器輸出電壓過程中出現(xiàn)的隨機干擾,采用了防脈沖干擾平均濾波法消除干擾,對于偶然出現(xiàn)的脈沖性干擾,可消除由于脈沖干擾所引起的采樣偏差。該濾波方法是連續(xù)采樣N個數(shù)據(jù),去掉一個最大值和一個最小值,然后計算N-2個數(shù)據(jù)的算術(shù)平均值。雖然防脈沖干擾平均濾波法把N 次采樣值按大小排列,要消耗單片機的內(nèi)存,排序時也比較費時,但訓練時,隊員選擇的是STC15W 系列單片機,它有24MHZ 的晶振,24K 的SRAM。使用中N 值為7,對N 次采樣值排序時,使用插入排序算法,它的空間復(fù)雜度為O(1),算法穩(wěn)定,最壞情況O(n2)的時間復(fù)雜度,可以通過修改N 的值來改變算法的復(fù)雜度,STC15W 系列單片機能滿足該算法的要求[6-7]。算法關(guān)鍵代碼如下:

#define N 7

void InsertionSort(int A[],int n);//插入排序

int filter(int value_buf[N],N)

{ int count,sum;

InsertionSort(value_buf[N],N);

for(count=1;count<N-1;count++)

sum+=value[count];

//濾波結(jié)果發(fā)串口1,使用UART_Oscilloscope軟件看波形

SendUART1((int)sum/(N-2));

return(int)(sum/(N-2));

filter 函數(shù)的返回值,即是防脈沖干擾平均濾波法得到的數(shù)字電位器當前角度的采樣值,是控制風板穩(wěn)定方法之三。

2.3 主函數(shù)

主函數(shù)中使用了50ms 的定時器,即每隔50ms 采集一次數(shù)字電位器角度,采集N 次做一次濾波,濾波的結(jié)果做PID 運算,得到新的增量,再通過計算出新的PID 增量去調(diào)節(jié)PWM 的參數(shù),改變電機的轉(zhuǎn)速,達到角度穩(wěn)定在設(shè)定的角度,并保證5 度的誤差,本訓練選擇風板穩(wěn)定在90 度[8-9]。關(guān)鍵代碼如下所示,流程圖如圖5所示。

圖5 PID運行流程

#define N 7

int PWM=0;

int num1=0,flag=0,filter_AD;

int value_AD[N];//存放采集的值

int filter(intvalue_buf[N],N);

void PWM_SET(int pwmvalue_left,int pwmvalue_right);//風機轉(zhuǎn)速調(diào)節(jié)

float PID_realize(float speed);//歸一參數(shù)整定法PID

main()

{ ……省略代碼(包含PID的初始化等)

while(1)

if(flag==1)

filter_AD=filter(value_AD,N);

pid.ActualSpeed = filter_AD;//角度采集濾波后真實值

PWM_SET(PID_realize(90),120);

flag=0;

……

}}

void T0()interrupt 1 //定 時 器T0,每 隔50ms采集一次角度

{ ……省略代碼

value_AD[num1]= get_AD();//采集當前電壓

num1++;

if(num1==N)

num1=0;

flag=1;

測試過程中,采集角度時,使用了防脈沖干擾平均濾波法,消除了干擾,保證了采集角度的穩(wěn)定,經(jīng)過濾波后,使用了參數(shù)整定法計算了PID 算法的增量,最后去做PWM調(diào)速。

3 測試結(jié)果分析

隊員用手轉(zhuǎn)動風板,放在90 度,再找一硬物支撐固定住風板,減少用手扶住風板時人為晃動引起的干擾,觀察液晶屏上顯示的角度值,是90度左右,在誤差范圍內(nèi)。打開UART_Oscilloscope軟件,用USB 轉(zhuǎn)換線連接PC 與開發(fā)板,設(shè)置UART_Oscilloscope 為串口1 獲取數(shù)據(jù),可以看到UART_Oscilloscope 軟件中的波形平滑度非常高,幾乎是條平直的直線。移走硬物,用手移動風板,移動瞬間,UART_Oscilloscope 中的波形跟隨變化,不動風板,幾乎又是平直的直線,波形看不到過沖和毛刺。用UART_Oscilloscope 軟件來測試顯示采樣的值是不是有干擾,使用軟件濾波能不能抗干擾,效果很直觀。

設(shè)定風板的控制角為90 度,風板??吭谧筮?,啟動程序后,左邊風機全速旋轉(zhuǎn),風板被吹起,往右快速移動,隨著風板右移,左邊風機的轉(zhuǎn)速變慢,風板慢慢靠近90 度角,并有輕微的擺動,但滿足5 度偏差的要求。用手掌輕輕接近離右邊風機進風口3 到5 厘米的位置,可以看到風板右移,但左邊風機迅速減慢了轉(zhuǎn)速,風板又回到90度左右。

4 結(jié)束語

文中采用了防脈沖干擾平均濾波法濾除了采樣時的干擾,并用UART_Oscilloscope 軟件觀察到采樣濾波后的波形,把濾波后的數(shù)據(jù)送到歸一參數(shù)整定法PID 算法中修改pid.ActualSpeed 值,并設(shè)定風板的角度為90 度,觀察結(jié)果滿足角度誤差的要求,達到了訓練目的。PID 調(diào)節(jié)器參數(shù)整定方法有多種,常見的有:(1)理論計算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學模型,經(jīng)過理論計算確定控制器參數(shù);(2)工程整定方法。它主要依賴工程經(jīng)驗,直接在控制系統(tǒng)的試驗中進行,在工程實際中被常常采用,它要求使用者有豐富的工程經(jīng)驗,并要做大量的工程測試;(3)文中使用的是歸一參數(shù)整定法,根據(jù)經(jīng)驗數(shù)據(jù),對多變量、相互耦合較強的系數(shù),人為地設(shè)定“約束條件”,以減少變量的個數(shù),達到減少整定參數(shù)數(shù)目,簡易、快速調(diào)節(jié)參數(shù)的目的。對比上述三種方式,歸一參數(shù)整定法有簡單、快速的優(yōu)勢。

猜你喜歡
風板電位器風機
雙層濾料顆粒床布風板及其壓降分析
空癟核桃風選機風選系統(tǒng)的優(yōu)化設(shè)計
一種汽車烤漆房送風裝置
時代汽車(2018年8期)2018-06-18 08:59:38
風機折翼“倒春寒”
能源(2018年5期)2018-06-15 08:56:02
風機倒塔事故為何頻發(fā)?
能源(2017年9期)2017-10-18 00:48:27
Mixly開源項目設(shè)計10:用自制多量程歐姆表測量電位器的電阻
節(jié)能技術(shù)EPU在AV71風機上的應(yīng)用
TS3000系統(tǒng)防喘振控制在 AV80-14風機中的應(yīng)用
電位器在直線步進電機中的應(yīng)用
機械工程師(2014年4期)2014-07-01 23:36:27
流化床冷模布風板數(shù)值模擬研究*
化工科技(2014年4期)2014-06-09 02:18:35
定兴县| 三原县| 专栏| 城固县| 衡水市| 宁国市| 新干县| 五常市| 尚志市| 南开区| 伊吾县| 启东市| 哈尔滨市| 池州市| 贵州省| 古田县| 板桥市| 阳江市| 乐业县| 高尔夫| 娄底市| 连山| 宁城县| 宿迁市| 吕梁市| 佳木斯市| 保德县| 南投县| 赤水市| 镶黄旗| 双牌县| 云浮市| 蒙阴县| 郑州市| 读书| 彭泽县| 中江县| 昌乐县| 墨江| 滦南县| 修水县|