全国大学生电子设计竞赛(二)--电源常用技术与算法
電源常用技術與算法
- 1 有效值檢波技術
- 1.1 均值檢波技術
- 1.2 峰值檢波技術
- 1.3 均方根值檢波技術
- 2 高精度采樣技術
- 2.1 AD的選擇
- 2.1.1 A/D轉換器的性能指標
- 2.1.2 A/D轉換器的選擇
- 2.1.3 A/D轉換器的使用注意事項
- 2.2 采樣電路的設計
- 2.2.1 直流電壓采樣
- 2.2.2 交流電壓采樣
- 3 SPWM波調制技術
- 3.1 單極性正弦脈寬調制
- 3.2 雙極性正弦脈寬調制
- 3.3 三相正弦脈寬調制
- 3.4 正弦脈寬調制(SPWM)控制信號的生成
- 3.4.1 模擬控制方式
- 3.4.2 數字控制方式
- 4 PID算法
- 4.1 PID控制系統簡介
- 4.2 PID參數控制效果分析
- 4.3 通俗易懂的理解PID
- 4.4 數字PID控制的實現
- 4.4.1 位置式PID控制算法
- 4.4.2 增量式PID控制算法
- 5 數字濾波算法
- 5.1 限幅濾波
- 5.2 中值濾波
- 5.3 算術平均濾波
- 5.4 遞推平均濾波
- 5.5 中值平均濾波
- 5.6 遞推中值平均濾波
1 有效值檢波技術
1.1 均值檢波技術
??在工業中,我們常用的檢波技術主要由三種:均值檢波技術、峰值檢波技術以及均方根值檢波技術。其中,均值檢波法主要應用于交直流轉換電路中,其主要實現方法是將交流信號進行半波或者全波整流,再對整流輸出的脈動直流信號進行積分得到較為平緩的直流信號,最后再根據被測信號的半波整流平均值或全波整流平均值與有效值的關系即可計算出被測信號的有效值。圖2.1為均值檢波的典型電路圖:
??圖2.1為用于電流的交直流轉換電路,圖中二極管D1和D2構成半波整流電路,二極管D2用于保持被測回路電流的連續性,并非轉換電路本身需要。當用于測量電壓信號時,二極管D2可以省略。當輸入處于正半周時,二極管D1導通,向電容C充電,微安表得到的是經電容平滑濾波之后的直流電,當輸入處于負半周時,電流從D2流過,二極管D1截止,電容電荷通過微安表內阻放電,電容電壓下降。
??電容兩端的電壓波形如圖2.2所示,流過微安表的電流波形與圖2.2電壓波形相同,可見,只要輸入交流電流幅值不變,流過電流表的波形非常接近一條直線。充放電電路的時間常數越大或信號頻率越高,輸出波形越接近直線。充放電電路的時間常數越大,當輸入電流幅值發生變化時,輸出響應越慢。因此,均值檢波電路較適合于幅值相對穩定或變化緩慢,而頻率較高的交流電測量。
??而峰值檢波則是對交流信號進行半波或者全波整流,再用充電電容保持整流輸出的脈動直流信號的峰值,得到較為平緩的直流信號。
??均值檢波電路通常采用電容充放電電路作為平均值電路,由于輸出為整流平均值,要求電容充放電時間常數相等。由圖2.1可知,電容充放電時間常數取決于微安表內阻,充電時,微安表內阻越大,電容越大,流過微安表的電流越小,電容充電電流越大,充電越快;放電時,微安表內阻越大,電容越大,放電越慢。為了使充放電速度相同,因此,只有在微安表內阻與電容符合特定關系時,才能使充放電速度相同。
??對于數字采樣的儀表,圖中微安表可用取樣電阻替代。并且一般會先將電流信號轉變為電壓信號再作轉換,電壓半波整流的均值檢波電路如圖2.3所示。
??但是,上圖存在一些問題:
??① 由于二極管存在壓降,當測量電壓較小時,二極管壓降帶來的影響不能忽略。
??② 這是電阻電容串聯電路,并不是嚴格的平均電路。
??因此,圖2.3電路不能實現嚴格的整流平均值,我們可以通過將變容二極管半波整流電路采用基于精密整流的絕對值電路替代來解決第一個問題,圖2.4為實用的均值檢波電路,圖中只要去除C1,就是全波精密整流電路,本電路在A2構成反相加法器上增加積分電容,將其變為反相加法及積分電路。圖中R3=2R4。
1.2 峰值檢波技術
??峰值檢波法構建的交直流轉換電路對交流信號進行半波或全波整流,再用充電電容保持整流輸出的脈動直流信號的峰值,得到較平緩的直流信號,直流信號的幅值就是被測交流信號的峰值,再利用被測信號的峰值與有效值的關系即可計算出被測信號的有效值。與均值檢波技術不同的是,它利用的是被測信號的峰值而不是均值來計算有效值。
??峰值因數是指信號的峰值與有效值的比值。因此,峰值檢波法交直流轉換電路得到的測量結果需要除以峰值因數才是被測信號的有效值。
??有趣的是,峰值檢波的最簡電路模型可以采用和交流電壓檢波電路一樣的模型,如圖2.5所示:
??但是實際上,峰值檢波和均值檢波還是有很多差別的,它們的最大差別在于:
??① 峰值檢波電路要求充電時間足夠短,用于窄脈沖測試的峰值檢波電路,要求在很短的時間之內,電容可以快速充電至峰值。而放電時間相對長,否則,輸出波形不夠平滑。對于正負對稱并且幅值相對穩定的交流電而言,只要放電速度遠遠低于充電速度,即使充電速度較慢,也能使輸出非常接近于峰值。
??② 均值檢波電路要求充放電時間相等,否則,得到的不是整流平均值,均值檢波電路適用于正負對稱并且幅值相對穩定的交流電的測量。
??與均值檢波類似,在被測電壓較小時,需要消除二極管壓降帶來的誤差,我們同樣對電路進行改進,得到如圖2.6所示電路:
??我是紅色當Vi大于Vo時,A1輸出正電源電壓,變容二極管D1截止,D2導通,電容C迅速充電至Vi。
??我是紅色當Vi小于Vo時,A1輸出負電源電壓,變容二極管D1導通,D2截止,電容C通過電阻Rc緩慢放電。
1.3 均方根值檢波技術
??均方根值檢波技術可以用硬件方法或者軟件算法來實現,如果要用硬件實現的話,可以采用專用的真有效值轉換芯片來實現。常用真有效值轉換芯片有AD536、AD637、LTC1966、LTC1967、LTC1968等。其用法可以參考芯片的datasheet,這里不再贅述。我們來詳細探討下軟件算法的實現。
??均方根值,顧名思義,就是在輸入信號的整數周期內,對輸入信號進行平方,相加平均再開方。我們采用均方根值算有效值的流程通常是先將輸入信號轉化為電壓信號,再根據信號的頻率選用高速AD對信號進行采樣,最后,我們將采樣值輸入FPGA或者單片機中進行算法處理,得到信號的有效值。這里有兩點要特別注意:
??① 對于頻率較高的信號,我們最好選用采樣率足夠高的AD和主頻足夠高的FPGA來進行處理,否則的話,算出來的有效值誤差會非常大。
??② 在采樣時,最好是按照周期的整數倍來進行采樣和數據處理,如果數據處理時不是按照整數個周期來處理的話,得到的值將會是一個跳動的數字。
流程圖如下:
??接下來,我們以FPGA為例來詳細介紹一下如何利用算法實現有效值的計算。
??首先,搭建一個DDS平臺來產生周期性累加的時鐘信號,具體代碼如下所示:
??這個時鐘產生模塊實際就相當于一個分頻器,對輸入的時鐘信號進行分頻,其中data_rate_square是和輸入信號頻率有關的一個量,此模塊的作用就是產生一個和輸入信號周期整數倍同步的一個時鐘信號,以保證每次進行數據累加處理時,單個周期內的數據量是一定的。
??接下來,我們用時鐘信號驅動周期平方平均模塊,模塊內部具體實現如下:
??代碼很明了,就是對輸入的信號進行平方累加,這里不再多說。最后,我們將以上模塊輸出的累加值進行平均和開根號:
module EFFECT_Cal(input clk,rst_n,input [47:0]EV_IN,output [13:0]EV_OUT); wire [47:0]AVE_EVIN = EV_IN/200; wire [31:0]SQ_OUT; sqrt sqrt_inst (.radical ( AVE_EVIN ),.q ( SQ_OUT ),.remainder ( remainder_sig )); assign EV_OUT = SQ_OUT; endmodule??模塊最終輸出就是要求的有效值,經實測,用TLC3578采樣,每個周期采樣兩百個點進行運算,最終得到的有效值精度可以到小數點后第三位,滿足絕大部分應用場景。
??綜上所述,均值檢波電路輸出結果等于被測信號有效值除以波形因數,峰值檢波電路輸出結果等于被測信號有效值乘以峰值因數,均方根檢波電路輸出結果等于被測信號有效值。三種方法各有優劣,應根據實際場景來選擇最合適的方案。
2 高精度采樣技術
??采樣對于電源設計來說,是極其重要的一部分,采樣精度往往決定了整個系統最終輸出的精度,性能以及穩定性,因此,我們在設計系統的采樣部分時,應盡可能地高標準。要想實現高精度采樣,有兩點最重要,第一是AD的選擇,第二則是采樣電路以及濾波算法的選擇。
2.1 AD的選擇
??根據A/D轉換器的轉換原理可以把A/D轉換器分為兩大類:直接型A/D和間接型A/D。
??直接型A/D將輸入的模擬電壓通過比較直接轉換為數字量。而間接型A/D轉換器,模擬電壓先被轉換為一種中間變量(像時間、頻率、脈沖等),然后再把中間量轉換成數字量。
??直接型A/D中應用較為廣泛的主要有逐次逼近式A/D轉換器、流水線A/D轉換器;間接型A/D轉換器中應用較為廣泛的主要有雙積分A/D轉換器和V/F變換A/D轉換器。
??這節主要介紹一下A/D的性能指標以及應用。
2.1.1 A/D轉換器的性能指標
??在選擇A/D轉換器的時候,要根據需要選擇性能指標合適的A/D轉換器,這就需要我們對A/D的性能指標有一定的了解。
??(1)分辨率
??分辨率表示輸出數字量變化一個數字量,輸入的模擬電壓的變化量,轉換器的分辨率定義為滿刻度電壓與2的n次方的比值,其中n代表A/D轉換器位數。
??(2)轉換速率
??轉換速率是指A/D轉換器完成一次數據轉換所需要的時間。不同的A/D的轉換時間是不一樣的,根據實際需要轉換速率合適的A/D。
??(3)量化誤差
??量化誤差是由于A/D轉換器的有限分辨率而引起的誤差。量化誤差是指量化結果和被量化模擬量的差值,顯然量化級數越多,量化的相對誤差越小。分辨率高的A/D具有較小的量化誤差。
??(4)非線性度
??非線性度是指轉換器實際的轉換曲線與理想轉換曲線的偏移,也可以稱為線性度。
??(5)偏移誤差
??偏移誤差是指輸入信號為零時,輸出信號不為零的值,也叫做零值誤差。偏移誤差通常是由A/D轉換器內部的放大器或比較器輸入的失調電壓或電流引起的。在使用A/D轉換器前,要先將偏移誤差降到最低,有的A/D轉換器有零點調節的功能。
??(6)輸入電壓范圍
??A/D轉換器一般都有規定的輸入電壓范圍,使用過程中盡量不要超出范圍,因為這樣會造成對A/D的永久損壞。
2.1.2 A/D轉換器的選擇
??對于品種繁多、性能各異的A/D轉換器,在設計數據采集系統時要按照一下幾點要求進行選擇。
??(1)A/D轉換器的位數
??A/D轉換器的位數的確定與整個測量控制系統所要測量控制的范圍和精度有關。A/D轉換器的位數至少要比總精度要求的最低分辨率高一位。雖然分辨率與轉換精度是不同的概念,但是沒有基本的分辨率就談不上轉換精度。但是,選的太高也沒有實際意義,而且會增加系統的成本。
??(2)確定A/D轉換器的轉換速率
??A/D的轉換速率從s級到ns級都有,實際應用中根據系統需要選擇合適的轉換速率。像積分型的A/D轉換速率就比較慢,一般用于對溫度、壓力、流量等緩變參量的測量和控制。逐次比較型A/D轉換器屬于中速轉換器,常用于單片機控制系統、音頻采集等。FLASHA/D轉換器屬于高速轉換器,適用于雷達、數字傳輸、瞬態記錄等實時要求高的測量系統。
??(3)確定工作電壓和基準電壓
??早期設計的集成A/D轉換器需要±15V的工作電源,現在的A/D轉換器大多可以在5V~12V范圍內工作。基準電壓是A/D轉換準確的保證,有的A/D帶有內部基準比較方便,對于要外接基準的A/D轉換器,一定要保證基準電壓幅度穩定、準確。必要時使用基準電壓芯片。
??(4)輸入電壓范圍
??A/D轉換器根據用途不一,輸入電壓范圍各異,選擇A/D前一定要注意輸入電壓的范圍,超范圍的電壓輸入可能會導致A/D轉換器的永久損壞。
2.1.3 A/D轉換器的使用注意事項
??A/D轉換器的啟動一般需要外部控制啟動轉換信號,一般由CPU提供。A/D轉換器的啟動轉換信號一般分為兩種:脈沖控制啟動和電平控制啟動。對于電平控制類A/D轉換器,電平應在轉換的全過程中保持不變,否則會中止轉換。
??在正常使用中,A/D轉換芯片可能會電流突然增大、突然發熱,這是可控硅現象,是所有CMOS集成電路在使用中都可能發生的現象。出現這種情況以后,要切斷電源,然后重新打開,又會回復正常工作。為防止這種現象發生可采取一下措施:
??(1)盡量避免較大電流干擾竄入電路;
??(2)加強電源穩壓濾波措施,在A/D轉換芯片的電源入口處加去耦電路。為防止窄脈沖竄入,應加一個高頻濾波電容(0.01μF左右);
??(3)在A/D轉換芯片的電源端串一個100~200?的限流電阻,可在出現可控硅現象時有效地限定電流,保護芯片。
??另外現在使用的A/D中一般都自帶采樣保持電路,不需要外面再外接采樣保持電路。
2.2 采樣電路的設計
??說完了AD的選擇,我們就來聊聊采樣電路的設計。在電源系統的設計中,AD的采樣管腳直接采樣的一般都是電壓信號,如果需要采樣電流信號,我們可以先將電流信號轉化為電壓信號之后再進行采樣,而電壓采樣一般也分為兩種:直流電壓采樣和交流電壓采樣,接下來我們來分別討論這兩種采樣的電路設計。
2.2.1 直流電壓采樣
??最簡單,最直接的采樣方法:判斷采樣電壓的峰值是否在AD的采樣范圍之內,如果信號范圍和AD采樣范圍相吻合,濾波后直接送入AD采樣口進行采樣,這里濾波可以用簡單的LC或者RC濾波。如果信號的范圍超出了AD的采樣范圍,可以用電阻分壓之后再將信號送入AD采樣口進行采樣。如果分壓之后信號幅值太小,可以用運放將信號放大之后再送入AD采樣口采樣。典型的電路圖如圖2.8所示:
2.2.2 交流電壓采樣
??在我國,交流電的頻率一般都是50Hz,對交流電壓的采樣,我們可以先用電壓電流互感器將強交流信號轉化為較弱的交流信號,以方便后級采樣。這里對交流互感器的選擇也是有講究的,普通的線圈互感器只能互感交流信號,如果采樣信號是交流加上直流偏置的話,直流信號會被直接過濾掉,從而破壞信號的完整性,為了同時采集直流信號和交流信號,我們可以采用霍爾交流互感器,它可以同時互感直流和交流信號,最大程度地保證信號的完整性。然后,我們可以利用高速AD,以周期為單位采集信號的瞬時值并保存在數組里,為之后求信號有效值值或者峰值做準備,這里以求信號有效值為例,我們可以用FPGA搭建一個DDS信號發生器或者買一個DDS發生器模塊,使得DDS信號發生器的周期和交流信號的周期成整數倍關系,然后根據DDS信號的節拍去對采樣信號進行均方根運算,最后將結果除以那個整數,即可求得較為精確的交流電壓有效值。典型采樣電路如圖2.8所示:
3 SPWM波調制技術
??逆變電路的控制方式主要是采用SPWM(正弦脈寬調制技術),DUK-AL20控制開關管的通斷來實現正弦調制,正弦脈寬調制技術(SPWM)的基本思路是將一個正弦波按等寬間距分成N等份,對于每一個波形以一個等面積的脈沖來對應,使脈沖的中點與相應正弦波部分的中點重合,如圖2.10所示,由于此脈沖序列的面積分布滿足正弦規率,根據面積等效原理,將這個脈沖序列輸出至負載時,將使負載得到相當接近正弦的輸出電壓和電流。
??由于采用該方式輸出的電壓波形很接近正弦波,所以電壓中的諧波成分較少,同時也可以提高功率因數。通過改變SPWM脈沖的寬度可以改變輸出電壓的幅值,調節電路的調制周期則可以改變輸出電壓的頻率,方便對負載進行控制。
3.1 單極性正弦脈寬調制
??單極性正弦脈寬調制是以一個寬度正弦規律變化的正弦脈沖序列對應交流輸出波形的正半周,再以一個寬度按正弦規率變換的負脈沖序列對應交流輸出波形的負半周,這兩個脈沖序列交替作用,控制開關器件產生近似于正弦波的輸出電壓波形。
??正弦脈寬調制的基本方法是將正弦波性的調制波與三角波形的載波進行比較,通過比較正弦波形各點的瞬時值確定該點對應的脈沖寬度。單極性正弦脈寬調制使用的三角波是單極性的,在正弦調制波為正半周時三角載波是正極性的;在正弦波為負半周時三角波載波為負極性。如圖2.12所示。
3.2 雙極性正弦脈寬調制
??雙極性正弦脈寬調制是以一個寬度按正弦規率變化的正負雙向脈沖序列對應交流輸出波形的整個周期,通過正向脈沖與負向脈沖寬度的差產生出按正弦規率變換的正半周波和負半周波。
??雙極性正弦脈寬調制使用的三角波是雙極性的,其波形的形式如圖2.13,通過正弦調制波與三角波比較,當正弦調制波值大于三角波時,輸出正脈沖;而當正弦調制波的值小于三角載波時,輸出負脈沖。如此得到的脈沖序列是正負交替的雙向脈沖序列。
3.3 三相正弦脈寬調制
??三相正弦脈寬調制可以使用三個相角彼此相差120°的單相調制電路來合成,但是這樣會使調制電路結構比較復雜。較簡單的方法是采用一個雙極性的三角載波對三相正弦調制波進行調制,其調制的波形如圖2.14。
??調制過程中,雙極性三角載波為三個正弦調制波共用,分別進行比較后獲取脈寬調制信號,方式與雙極性正弦脈寬調制方法相同。從而得到三個雙向的脈沖序列,分別對應A、B、C三相,使用此三個脈沖序列控制逆變電路的A、B、C三相開關元件,可以將直流電壓逆變為正弦波的三相交流輸出電壓。
??三相脈寬調制波的三角載波只能是雙極性的,因為單極性三角載波需要根據正弦調制波的正、負半周更換載波的極性。采用雙極性正弦脈寬調制,H橋上同一相的上、下兩個橋臂導通與截止都是互補的,為防止上下兩個橋臂直通而造成的短路,需要在給一個橋臂施加關斷信號后延遲一段時間,從而在波形中引入了死區時間,死區將會給輸出的SPWM波形帶來高次諧波。
3.4 正弦脈寬調制(SPWM)控制信號的生成
??早期的SPWM采用模擬控制方式來實現,通過信號發生器產生所需的信號,由比較器進行信號之間的比較,隨著數字技術和微處理器在SPWM逆變技術中的應用,采用一定算法產生SPWM的數字控制方式越來越廣泛。
3.4.1 模擬控制方式
??波形比較法,其基本的方法是由正弦信號發生器件產生正弦調制波,由三角波信號發發生器產生的三角載波,將正弦調制波與三角載波比較,通過比較器的判斷而產生出對應的脈沖信號序列,對逆變電路進行控制從而得到所需的交流電壓。
3.4.2 數字控制方式
(1)等效面積法
??其原理就是按面積等效原理構成與正弦波等效的一系列等幅但寬度按正弦規律變化的矩形脈沖。等效面積法適用于單極性控制,算法中計算的是正弦波形到橫軸間的面積,這與模擬控制方式中的單極性正弦脈沖調制的方式一致。
(2)自然采樣法與規則采樣法
??自然采樣法在算法上仿真模擬控制方式的雙極性正弦脈沖調制,通過計算正弦調制波與三角載波的交點位置,確定調制的脈沖寬度。而規則采樣法是對自然采樣法的簡化,其幾何關系如圖2.16。
??規則采樣法適用于雙極性控制,因為算法中采用的三角載波是雙極性。等效面積法和規則采樣法都是數字控制的算法,可以由微處理器實時計算SPWM脈沖的寬度和位置,實現對逆變電路的控制,也可以事先計算好每個脈沖中心位置和脈沖寬度存入微處理器中,以查表的方式實現對逆變電路的控制。
??此外除了使用微處理器生成SPWM以外,目前還有專門產生SPWM波形的大規模集成芯片,有些微處理器也繼承有SPWM波形發生器,如89XC196MC微處理器,其內部有三相互補SPWM波形發生器,可以直接輸出6路SPWM波形信號。
4 PID算法
??在連續時間控制系統中,PID控制器應用非常廣泛,其設計技術成熟,長期以來形成了典型的結構,參數整定方便,結構更改靈活。由于計算機程序的靈活性,數字PID控制比連續PID控制更為優越。
4.1 PID控制系統簡介
??連續時間PID控制系統如圖3-37所示,D(s)完成PID控制規律,稱為PID控制器。PID控制器是一種線性控制器,用輸出量y(t)和給定量r(t)之間的誤差的時間函數e(t)=r(t)-y(t)的比例、積分和微分的線性組合構成控制量u(t),稱為比例(Proportional)、積分(Integrating)、微分(Differentiation)控制,簡稱PID控制。
??PID控制組合了比例控制、積分控制和微分控制這三種基本控制規律,通過改變調節器參數來實現控制,其基本輸入輸出關系為:
??實際應用中,可以根據受控對象的特性和控制的性能要求,靈活采用比例(P)控制器、比例+積分(PI)控制器、比例+積分+微分(PID)控制器三種不同控制組合。
4.2 PID參數控制效果分析
??PID控制的三基本參數為KP、KI、KD,分別對應比例,積分,微分三個模,經實驗測試,可總結出這三項參數的實際控制作用為:
??比例調節參數(KP):按比例反映系統的偏差,系統一旦出現偏差,比例調節立即進行。比例調節是主要的控制部分,但過大的比例會使系統的穩定性下降。增大KP,系統的反應變靈敏、速度加快、穩態誤差減小,但振蕩次數也會加多、調節時間加長。
??積分調節參數(KI):消除系統靜態(穩態)誤差 ,提高系統的控制精度。積分調節會使系統的穩定性下降,動態響應變慢,超調加大。積分控制一般不單獨作用,而是與P或者PD結合作用。
??微分調節參數(KD):反映系統偏差信號的變化率,可以預見偏差的變化趨勢,產生超前控制作用,使偏差在未形成前已被消除。因此,微分控制可以提高系統的動態跟蹤性能,減小超調量,但對噪聲干擾有放大作用,過強的微分調節會使系統劇烈震蕩,對抗干擾不利。
??常規的PID控制系統中,減少超調和提高控制精度難以兩全其美。主要是積分作用有缺陷造成的。如果減少積分作用,靜差不易消除,有擾動時,消除誤差速度變慢;而加強積分作用時又難以避免超調,這也是常規PID控制中經常遇到的難題。
4.3 通俗易懂的理解PID
??P就是比例的意思。它的作用最明顯,原理也最簡單。
??需要控制的量,比如水溫,有它現在的『當前值』,也有我們期望的『目標值』。
當兩者差距不大時,就讓加熱器“輕輕地”加熱一下。要是因為某些原因,溫度降低了很多,就讓加熱器“稍稍用力”加熱一下。要是當前溫度比目標溫度低得多,就讓加熱器“開足馬力”加熱,盡快讓水溫到達目標附近。
??這就是P的作用,跟開關控制方法相比,是不是“溫文爾雅”了很多.實際寫程序時,就讓偏差(目標減去當前)與調節裝置的“調節力度”,建立一個一次函數的關系,就可以實現最基本的“比例”控制了~
??KP越大,調節作用越激進,KP調小會讓調節作用更保守。
??要是你正在制作一個平衡車,有了KP的作用,你會發現,平衡車在平衡角度附近來回“狂抖”,比較難穩住。如果已經到了這一步——恭喜你!離成功只差一小步了~
??D的作用更好理解一些,所以先說說D,最后說i。
??剛才我們有了P的作用。你不難發現,只有P好像不能讓平衡車站起來,水溫也控制得晃晃悠悠,好像整個系統不是特別穩定,總是在“抖動”。
??你心里設想一個彈簧:現在在平衡位置上。拉它一下,然后松手。這時它會震蕩起來。因為阻力很小,它可能會震蕩很長時間,才會重新停在平衡位置。
??請想象一下:要是把上圖所示的系統浸沒在水里,同樣拉它一下 :這種情況下,重新停在平衡位置的時間就短得多。我們需要一個控制作用,讓被控制的物理量的“變化速度”趨于0,即類似于“阻尼”的作用。
??因為,當比較接近目標時,P的控制作用就比較小了。越接近目標,P的作用越溫柔。有很多內在的或者外部的因素,使控制量發生小范圍的擺動。D的作用就是讓物理量的速度趨于0,只要什么時候,這個量具有了速度,D就向相反的方向用力,盡力剎住這個變化。kD參數越大,向速度相反方向剎車的力道就越強。
??如果是平衡小車,加上P和D兩種控制作用,如果參數調節合適,它應該可以站起來了~歡呼吧
??等等,PID三兄弟好想還有一位。看起來PD就可以讓物理量保持穩定,那還要I干嘛?
??因為我們忽視了一種重要的情況:
??還是以熱水為例。假如有個人把我們的加熱裝置帶到了非常冷的地方,開始燒水了。需要燒到50℃。
??在P的作用下,水溫慢慢升高。直到升高到45℃時,他發現了一個不好的事情:天氣太冷,水散熱的速度,和P控制的加熱的速度相等了。這可怎么辦?
??P兄這樣想:我和目標已經很近了,只需要輕輕加熱就可以了。
??D兄這樣想:加熱和散熱相等,溫度沒有波動,我好像不用調整什么。
??于是,水溫永遠地停留在45℃,永遠到不了50℃。
??作為一個人,根據常識,我們知道,應該進一步增加加熱的功率。可是增加多少該如何計算呢?
??前輩科學家們想到的方法是真的巧妙。設置一個積分量。只要偏差存在,就不斷地對偏差進行積分(累加),并反應在調節力度上。這樣一來,即使45℃和50℃相差不太大,但是隨著時間的推移,只要沒達到目標溫度,這個積分量就不斷增加。
??系統就會慢慢意識到:還沒有到達目標溫度,該增加功率啦!到了目標溫度后,假設溫度沒有波動,積分值就不會再變動。這時,加熱功率仍然等于散熱功率。但是,溫度是穩穩的50℃。
??Ki的值越大,積分時乘的系數就越大,積分效果越明顯。所以,I的作用就是,減小靜態情況下的誤差,讓受控物理量盡可能接近目標值。
??I在使用時還有個問題:需要設定積分限制。防止在剛開始加熱時,就把積分量積得太大,難以控制。
4.4 數字PID控制的實現
??數字PID控制是通過算法程序實現PID控制的。數字控制系統大多數是采樣數據控制系統,進入系統的連續時間信號必須經過采樣和量化后轉換為數字量,方能進行相應的計算和處理,不論是積分還是微分,只能用數值計算去逼近。當采樣周期相當短時,用求和代替積分,用差商代替微商,將描述連續時間PID算法的微分方程變為描述離散時間PID算法的差分方程。數字PID控制通常有以下兩種實現:
4.4.1 位置式PID控制算法
??圖2.18為位置式PID控制算法的實現框圖,根據此框圖得到差分方程:
??此式是數字PID算法的非遞推形式,稱全量算法,其中uo為控制量基值(n=0時的控制量);un為第n個采樣時刻的控制量;Ts為采樣周期。算法中為實現求和,必須存儲系統偏差的全部值ei,得出的全量輸出un是控制量的絕對數值,這種控制量確定了執行機構在控制系統中的位置(如閥門控制中,輸出對應閥門的位置),因此將這種算法稱為“位置算法”。
4.4.2 增量式PID控制算法
??當執行機構需要的不是控制量的絕對值,而是控制量的增量(例如驅動步進電動機)時,需要用PID的“增量算法”,其簡化示意圖如圖2.19所示。
??增量式PID算法的差分方程為
??此時已看不出P、I、D作用的直接關系,只能體現各次誤差量對控制作用的影響,但處理時只需要貯存最近的三個誤差采樣值en en-1 en-2 。
5 數字濾波算法
??說到濾波,大家第一反應可能就是各種電阻電容電感搭建成的無源濾波器或者是以各個不同型號的運算放大器為核心構建的有源濾波器,以上這些濾波器可以統稱為硬件濾波,它們已經在電子行業的各個領域得到了廣泛應用,但它們都有一個致命的缺點,那就是需要硬件電路作為支撐,費材料,費空間。隨著計算機技術的發展,目前很多微型處理器已經具備很強大的運算能力了,我們可以利用CPU強大的計算運算功能,通過某種數值運算,達到改變輸入信號中所含頻率分量的相對比例、或濾除某些頻率分量的目的,這種濾波方法我們稱之為數字濾波。
??數字濾波相對于硬件濾波來說,在某些方面有著獨到的優勢,數字濾波不需要硬件電路的支持,為系統的設計節省了空間。我們在進行有源濾波時,需要對濾波電路中的各個運算放大器進行供電,而數字濾波就省去了這個麻煩,總之,數字濾波在業界的應用已經越來越廣泛,熟練掌握一些基本的數字濾波技巧對于一名合格的電子工程師來說是非常有必要的。
??數字濾波的方法有很多種,下面介紹常用的幾種,不同的濾波方法應用的場合和環境也不用,應根據具體情況選擇使用。為了直觀體現出這幾種濾波方法對不同噪聲的濾波效果,我們人為生成了幾段基本信號的組合,然后在它們的波形上疊加上不同的噪聲,測試這些濾波方法在不同信號、不同噪聲下的輸出結果,實驗數據如圖2.22所示:
??在這段長度為800點,最大值為65535的測試樣本中,組合了以下幾種情況:
??① 起始階段是一段表達式近似為x的數據,用來模擬大多數系統從0開始啟動的采樣波形,該段信號受到了約為信號本身1/5強度的隨機噪聲的干擾,用以測試濾波函數對噪聲的過濾程度。
??② 第二段是一段長度為200點的方波信號,其上疊加了幅度為信號本身1/10的毛刺噪聲,測試函數對直流采樣過程中毛刺的過濾效果以及對階躍信號的響應速度。
??③ 第三段為一段均勻上升的斜坡信號,但是疊加了幾個三角形的噪聲信號,用來模擬一些高慣性系統受到脈沖沖擊后產生的周期較長的干擾雜波。
??④ 第四段是一段混有信號本身1/10強度的隨機噪聲與1/4強度的毛刺噪聲,模擬了平時在正弦逆變類題目中常常碰到的系統底噪與周期性開關噪聲。
??⑤ 最后一段是直流信號上疊加了一個長周期的小幅正弦紋波,同時伴有一定的毛刺,用來模擬DC-DC類題目中常出現的輸出伴紋波信號。
5.1 限幅濾波
??限幅濾波又稱為程序判斷濾波,根據多次采集到的數據,如果當前采集值與前一次采集的數值相差一般維持在一定的偏差detaD內,則將每次采集到的數據和前一次的數據進行比較,如果他們的差的絕對值小于△D則本次采集到的數據有效,否則無效舍棄。
??示例代碼
?&emsp濾波效果:可以看到,那些幅值變化很大的毛刺基本都被濾除了。
?&emsp適用性分析:
?&emsp限幅濾波程序設計簡單、運算速度快、占用RAM少,是一種最簡單的基本濾波方法。能夠克服偶然因素引入的脈沖干擾,也可以消除波形上的尖峰毛刺,但是不能抑制周期性的干擾,而且其完全削除大幅度的階躍信號,容易造成控制失調,一般不適用于開關電源這類變化劇烈,需要迅速反饋的場景,適用于水溫控制等變化緩慢,安全性高的應用。
5.2 中值濾波
??其基本濾波思路是將原來的采樣間隔?T進行細分,也就是在原來的采樣間隔?T內采樣N次,然后把N次采樣值按照大小排序,取中間值為本次采樣值。
??示例代碼
??濾波效果
??可以看出,其濾波效果較限幅濾波較好,毛刺基本被濾除。
??適用性分析
??這種濾波方法能夠有效的克服偶然因素引起的波動干擾,特別是對于像溫度、液位等變化緩慢的被測參數有良好的濾波效果,但是對于流量、速度或者其他快速變化的信號參數則不適合使用這種方法。中值濾波法的程序設計要稍復雜一些,排序可以使用冒泡法或者選擇排序法等,由于引入了排序算法,所以該方法不能處理速度要求很高的信號。其運算處理速度和占用的RAM直接受所選擇的數值N決定。
5.3 算術平均濾波
??該方法也是先將原來設計要求的采樣間隔?T進行細分,在?T內采樣N次,但是對于采集進來的數據不是進行排序,而是進行算術平均,算術平均的結果作為本次采樣值。N值的選取比較關鍵,N值較大者處理信號的平滑度會較高,但是靈敏度降低;相反,N值較小者處理信號的靈敏度提高,但是平滑度降低。
??示例代碼
??濾波效果
??適用性分析
??這種濾波方法是適用于對具有隨機干擾的信號進行處理,并且被處理的信號必須具有一個平均值,信號在這個平均值上下波動。該方法對于高速信號并不適用。對于毛刺信號,可以看到均值濾波將其分擔到了周圍的采樣點上,不如中值濾波那樣能夠完全去除。但是對于隨機噪聲信號,由于其理論均值為0,均值濾波對第一段噪聲有良好的濾除效果。該濾波方法運算處理速度和RAM的占用率也受所選擇的數值N決定,可以使用時間復雜度較低的排序方法降低運算開銷。
5.4 遞推平均濾波
??遞推平均濾波又稱為滑動平均濾波,是將連續N個采樣值設為一個先入先出的隊列,隊列的長度為N,每次采樣得到的新數據加入隊尾,并扔掉原隊列的隊首,然后對隊列中的N個數據進行算術平均,獲得的結果作為此次采樣值。
??示例代碼
??濾波效果
??適用性分析
??上圖為濾波長度為5的輸出波形,下圖為濾波長度為20的輸出波形。可以看到長度為20的波形更好但延遲也更大。可見該方法對于周期性干擾有良好的抑制作用,平滑度也很高。但是靈敏度較低,對于偶然出現的脈沖干擾的抑制作用較差,不適用于脈沖干擾比較嚴重的場合,其運算處理速度和RAM的占用率也直接受N值影響。
??另外,這種方法還有一個特殊用法:制作成軟件陷波器,濾除某個單一頻率信號的干擾(如工頻干擾)。具體實現方法介紹如下:由于正弦波一個周期內任取N個等分點的幅值和為零,其它周期波形的N等分點的幅值和為常數C,設每次采樣值為Xi,采樣的平均值為
??若取N=s/f(其中S為每秒的采樣次數即采樣率;f是要消除的波形的頻率,S和N都取整數),這樣最終的結果就是Y-C,對于50Hz的工頻干擾,C為零,只要選擇合適的N和S就可以直接將其消除,構成一個陷波器。
??對于本測試樣例,我們針對最后一段的紋波設計濾波器,由于這里是測試的一組數組,沒有采樣率概念,但是根據前面的關系換算,設置濾波點數為100點,對最后一段紋波進行了較好的濾除,由于這一段數據較少,加之前面數據的相移影響,讀者可自己構造一段足夠長的紋波信號驗證,效果將更加明顯。
5.5 中值平均濾波
??中值平均濾波也稱為防脈沖干擾平均濾波,相當于中值濾波和算術平均濾波思想的結合。連續采樣N個數據,去掉其中的最大值和最小值,求剩下的N-2個數據的算術平均作為一次采樣值。
??示例代碼
濾波效果
5.6 遞推中值平均濾波
??遞推中值平均濾波也稱為滑動中值平均濾波,與上一種不同的是采用滑動方法對序列采樣,不降低系統采樣率與采樣速度。設定一個長度為N的先進先出隊列,同時為了方便排序同時構造一個同樣長度為N的已排序數組,每個周期采樣一個新的數值,插入采樣隊列隊尾并移除隊首的舊值。對這個隊列進行插入排序(其他快速排序方法均可),然后去掉用戶指定個數的較大值與較小值,取中間剩下值的平均數作為最終結果。
??示例代碼
??濾波效果
??適用性分析
??上圖采用了32點濾波長度,首尾去除8個點,波形平滑,沒有突變的噪聲與毛刺現象,對各種噪聲適應性比較均衡,是我們電子競賽實際中應用的最多的一種濾波方法。但是細心的讀者可以發現,波形向后的延遲很高,差不多與濾波長度相當,這也是此方法的弊端。所以我們經常使用32點或者64點甚至更長的滑動中值平均濾波進行數據校準階段的信號濾波,在恒壓恒流等達到準確的穩態值后換用前面的中值濾波等高靈敏度方法進行PID的整定與調節,獲得系統高速的動態響應。
全國大學生電子設計競賽(一)–電源簡介
全國大學生電子設計競賽(二)–電源常用技術與算法
全國大學生電子設計競賽(三)–線性電源設計
全國大學生電子設計競賽(四)–雙極性可調精密直流電源的設計
全國大學生電子設計競賽(五)–開關電源的設計
全國大學生電子設計競賽(六)–常用整流技術
全國大學生電子設計競賽(七)–逆變電源設計
2017年全國大學生電子設計大賽A題–微電網模擬系統
2018年全國大學生電子設計大賽E題–變流器負載試驗中的能量回饋裝置
??如果覺得文章對你有幫助,歡迎轉發、點贊、分享給你的朋友,感謝您的支持!如果文章有什么不足之處或者建議請留下走心留言,歡迎評論,謝謝!!!
總結
以上是生活随笔為你收集整理的全国大学生电子设计竞赛(二)--电源常用技术与算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java循环输出abcd_Java线程输
- 下一篇: Nginx 对俄罗斯动手了。。。