国产chinesehdxxxx老太婆,办公室玩弄爆乳女秘hd,扒开腿狂躁女人爽出白浆 ,丁香婷婷激情俺也去俺来也,ww国产内射精品后入国产

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

基于AB32VG1的隔震測試臺設計

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

meibin2016 meibin2016

分享
1 喜歡這個項目
團隊介紹

meibin2016 meibin2016

團隊成員

梅斌 博士生

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

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

系統(tǒng)硬件結構框圖.png

軟件說明

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

軟件流程圖如下:

軟件流程圖.jpg

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

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

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

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

位置式:

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

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

或者    Sp  =  Kp*Error_1

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

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

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

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

微分部分: Kd:微分系數(shù)  Error_1:當前誤差  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)

增量式:

 將上述推導的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算法,其計算的結果為增加的控制量

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

參考文獻:單片機之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)懸掛的光學平臺上擺放的微震儀(震動速度傳感器)轉(zhuǎn)換為速度電壓模擬信號,通過放大電路盒后變成適合數(shù)字采集的電壓,通過開發(fā)板上的10位ADC進行采樣,然后經(jīng)過主程序PID算法計算反饋控制電壓,計算結果再經(jīng)PWM輸出,在電路板上濾波后控制音圈電機驅(qū)動隔振臺,驅(qū)動力與震動速度方向相反,以達到隔振的目的。

代碼地址:

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

附件

(6.79 MB)下載

評論區(qū)(0 )