我是Labview的新手在使用labview FPGA module時有一些問題
1.想請問下面這圖中,左邊的VI與右邊的VI是不是一樣??2.我寫的是一個簡單的PI loop,但卻無法得出結果,我輸入 sin function 使用積分部分卻無法得到零,請問
有沒有人有其他PI可以參考(我用LABVIEW內建的PID怪怪的,所以自己拉一個PI)
謝謝!!!
謝謝!!!
在 06-17-2009 04:17 AM
請問labview pid 哪裡怪?
可以貼圖嗎?
Hi Fatty:
我使用內建的PID積分的功能,輸入一個sin wave進去,從示波器會看到一個DC的offset,使得我的sin wave被砍掉,照道理不是應該應該是零嗎???
就算有time delay也不應該是飽和現象???
謝謝!!!
在 06-18-2009 10:36 AM
Hello ablendos,
關於你提的問題:
1. 你所附的圖,左邊的VI和右邊的VI應該功能是一樣的,這一部份你可以跑模擬試一下就可以確認
2. 關於你提的PID,使用它的積分功能,這部分我不太懂你的意思
照理說PID的用法是依據目前的誤差值,也就是目標值和實際值的差距
透過PID來計算輸出的控制力道是多少,積分的話是對誤差值作積分
並不是直接對輸入項作積分的動作,或許你可以再描述詳細一點你要做的動作為何
Hi Alexandre:
感謝你的回答!!
我因為鎖不住我的系統,所以先回頭檢視我的PID module,
而我要作的簡單測試是將一個sin wave(signal generator)
從外部輸入到FPGA PID module中,此時setpoint為零,
所以當PID只有積分項時(比例項=0,積分項=1,微分項=0),
不是應該為零嗎???
在 06-22-2009 10:42 AM
Hello ablendos,
我做了一個模擬的訊號及PID請你參考一下
由於我們的PID的一點一點來處理資料,因此積分的結果只會在0附近震盪
而這是屬於正常的現象,因為積分等於是算面積總和,當你的弦波若只收到非整數倍的波形
所得到的面積值會是非0值,所以不會出來永遠是0的積分結果
Hi Alex:
感謝你的VI!!
我試run一下之後,發現我如果單純使用積分
PID出來的波形會有一個DC offset,此時兩個訊號沒辦法同時互補,
如下圖
在 06-23-2009 10:52 PM
Hello ablendos,
這邊要請你參考一下附圖,若我們將 P Gain (Kc)設定成0
那麼I Gain就會為0,所以這個PID的VI是沒有辦法只單純使用積分
要請你參考一下
Hi Alex:
我做了一些實驗,發現PID中得積分項會使的波形有DC offset,所以不管我有沒有加比例項
都因為這個offset使得波形無法抑制
謝謝
PS:有沒有人有自己做的PI contriller借我參考一下!!
在 06-30-2009 11:56 PM
Hello ablendos, 抱歉我先前的回應有錯,就你目前的問題,在於使用PID的積分項會有DC offset 但是我做了下面的實驗:
1. Integration 01.jpg
讓Sine Wave從90度的地方開始產生,你可以看到此時便沒有DC Offset
2. Integration 02.jpg
讓Sine Wave從0度開始產生,此時便有DC Offset
所以你可以看到,PID所執行的積分運算是正確的,會造成的DC offset跟Sine Wave的起始角度有關