chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

聚豐項目 > 基于AB32VG1的隔震測試臺設(shè)計

基于AB32VG1的隔震測試臺設(shè)計

采用AB32VG1開發(fā)板通過PID算法實現(xiàn)隔震測試臺的反饋控制器設(shè)計。首先通過開發(fā)板上的10位ADC,將隔振臺上的震動速度傳感器上的速度模擬信號進(jìn)行采樣,然后經(jīng)過主程序PID算法計算反饋控制電壓,計算結(jié)果再經(jīng)PWM輸出,濾波后控制音圈電機驅(qū)動隔振臺,驅(qū)動力與震動速度方向相反,以達(dá)到隔振的目的。

meibin2016 meibin2016

分享
1 喜歡這個項目
團(tuán)隊介紹

meibin2016 meibin2016

團(tuán)隊成員

梅斌 博士生

分享
項目簡介
采用AB32VG1開發(fā)板通過PID算法實現(xiàn)隔震測試臺的反饋控制器設(shè)計。首先通過開發(fā)板上的10位ADC,將隔振臺上的震動速度傳感器上的速度模擬信號進(jìn)行采樣,然后經(jīng)過主程序PID算法計算反饋控制電壓,計算結(jié)果再經(jīng)PWM輸出,濾波后控制音圈電機驅(qū)動隔振臺,驅(qū)動力與震動速度方向相反,以達(dá)到隔振的目的。
硬件說明

硬件上主要采用AB32VG1開發(fā)板,還需要額外的電路和硬件配合:1、光學(xué)平臺和支架及懸掛系統(tǒng);2、Guralp微震儀;3、信號放大電路;4、濾波和壓流轉(zhuǎn)換電路;5、音圈電機。

系統(tǒng)硬件結(jié)構(gòu)框圖.png

軟件說明

軟件開發(fā)環(huán)境采用RT-Thread Studio2.1.3,設(shè)備驅(qū)動有:GPIO/ADC/PWM 等

軟件流程圖如下:

軟件流程圖.jpg

ADC和PWM根據(jù)例程稍作修改就可以用了,PID控制算法要根據(jù)單片機PID常用算法來編寫。

PID反饋控制采用增量式單片機常用算法。PID算法,大家應(yīng)該比較熟悉,它在很多地方都有應(yīng)用,如電機速度控制,恒溫箱溫度控制,四軸飛行器平衡控制等。作為閉環(huán)控制系統(tǒng)重要的一種算法,得到了廣泛的應(yīng)用。

PID算法由比例P,積分I,微分D三部分組成。所謂比例部分,就是與輸入殘差呈線性關(guān)系的部分,此值大,控制反應(yīng)的速度就快,但快到控制目標(biāo)時,如果還這么快,那就容易控制過頭超過預(yù)設(shè)值,所以還需要積分部分和微分部分,使最終控制結(jié)果逼近目標(biāo)。

用C語言來實現(xiàn)PID算法,主要是時域上來實現(xiàn),有位置式和增量式兩種:

位置式:

比例部分: Kp:比例系數(shù)  SetValue:預(yù)設(shè)值  FactValue:當(dāng)前實際值  Error_1:當(dāng)前誤差

則比例部分為:  Sp  =   Kp*(SetValue - FactValue)

或者    Sp  =  Kp*Error_1

注解:Sp大小反應(yīng)需要控制的量大小,比如Sp越大,功率越大。當(dāng)Sp為負(fù)值時,表示要超過預(yù)設(shè)值,如果是電機,則需要反轉(zhuǎn)

積分部分: Ki:積分系數(shù)  Error_1:當(dāng)前誤差  Error_2:上一次誤差  Error_3:上上一次誤差  ........Error_n:開始時的誤差

則積分部分為: Si  =  Ki*(Error_1+Error_2+Error_3+......+Error_n)

注解:因為整個是一個過程,所以上一次誤差其實就是上一次的當(dāng)前誤差

微分部分: Kd:微分系數(shù)  Error_1:當(dāng)前誤差  Error_2:上一次誤差 

則微分部分為:  Sd  =  Kd*(Error_1-Error_2)

綜上部分的PID得:PID=Sp + Si + Sd = Kp*Error_1 + Ki*(Error_1+Error_2+Error_3+......+Error_n) + Kd*(Error_1-Error_2)

增量式:

 將上述推導(dǎo)的PID記作時間為k時刻的PID控制量,則

    PID(k) =Sp + Si + Sd = Kp*Error_1(k) + Ki*(Error_1(k)+Error_2(k-1)+Error_3(k-2)+......+Error_n(0)) + Kd*(Error_1(k)-Error_2(k-1))        

將上式k=k-1代入得:

    PID(k-1) =Sp + Si + Sd = Kp*Error_1(k-1) + Ki*(Error_1(k-1)+Error_2(k-2)+Error_3(k-3)+......+Error_n(0)) + Kd*(Error_1(k-1)-Error_2(k-2))           

1-2得:

    PID(k) - PID(k-1) =  Kp*(Error_1(k)-Error_1(k-1)) + Ki*(Error_1(k)) + Kd*(Error_1(k)-2*Error_2(k-1)+Error_2(k-2))

PID(k) - PID(k-1)記作detPID

    detPID = Kp*(Error_1(k)-Error_1(k-1)) + Ki*(Error_1(k)) + Kd*(Error_1(k)-2*Error_2(k-1)+Error_2(k-2))

這樣就得到了增量式的PID算法,其計算的結(jié)果為增加的控制量

增量式的PID有個好處就是只與當(dāng)前三個誤差量有關(guān)系,與其他無關(guān),這樣就簡化的處理過程,而且提高了精度。

參考文獻(xiàn):單片機之PID算法 - LSWen - 博客園 (cnblogs.com)   作者: LSWen

程序的輸入是ADC采樣的隔振臺運動速度,輸出是控制隔振臺反向運動的控制力。

編譯成功的固件,用Downloader v1.9.7下載到芯片。

程序運行邏輯圖如下:

邏輯圖.jpg

軟件模塊由主程序和ADC、PWM、PID組成。

調(diào)試時串口打印輸出的情況:

初步調(diào)試輸出情況.jpg

演示效果

成果圖.jpg

地面振動經(jīng)過“四線擺”被動隔振懸掛系統(tǒng)后濾除了幾赫茲以上的高頻振動,隔振臺上的殘余振動經(jīng)懸掛的光學(xué)平臺上擺放的微震儀(震動速度傳感器)轉(zhuǎn)換為速度電壓模擬信號,通過放大電路盒后變成適合數(shù)字采集的電壓,通過開發(fā)板上的10位ADC進(jìn)行采樣,然后經(jīng)過主程序PID算法計算反饋控制電壓,計算結(jié)果再經(jīng)PWM輸出,在電路板上濾波后控制音圈電機驅(qū)動隔振臺,驅(qū)動力與震動速度方向相反,以達(dá)到隔振的目的。

代碼地址:

https://gitee.com/meibiny/rtt-seismic-isolation

附件

(6.79 MB)下載

評論區(qū)(0 )