渦輪流量計校準(zhǔn)新型信號發(fā)生器
渦輪流量計由于具有測量精度高、 重復(fù)性好、 抗干擾能力強等優(yōu)點, 在各種流體的測量中獲得廣泛應(yīng)用[ 1-2] 。 其測量原理是在管道中心安放一個渦輪 , 當(dāng)流體通過管道時 , 沖擊渦輪葉片 , 對渦輪產(chǎn)生驅(qū)動力矩, 使其克服摩擦力矩和流體阻力矩而產(chǎn)生旋轉(zhuǎn)。 在一定的流量范圍內(nèi), 對一定的流體介質(zhì)粘度, 渦輪的旋轉(zhuǎn)角速度與流體流速成正比。 當(dāng)渦輪葉片切割由磁鋼產(chǎn)生的磁力線時, 引起磁通變化[ 3] , 經(jīng)前置放大器放大、 整形后, 產(chǎn)生與流速成正比的脈沖信號, 送入顯示儀表進行計數(shù)和顯示 , 這樣根據(jù)單位時間內(nèi)的脈沖數(shù)和累計脈沖數(shù)即可求出瞬時流量和累積流量。 對于上述原理的渦輪型流量儀在開發(fā)、 生產(chǎn)和出廠校準(zhǔn)鑒定中均需要一種輸出頻率連續(xù)可調(diào)的高頻率精度的信號源 , 來模擬傳感器在不同流速下輸出的脈沖信號 , 因此開發(fā)一種高精度的頻率可調(diào)的信號發(fā)生器尤為必要。
直接數(shù)字合成 (DDS) 技術(shù)是一種從參考頻率源生成多種頻率的數(shù)字控制方法, 具有頻率分辨率高、 輸出頻點多、產(chǎn)生任意波形等特點, 是一種理想的設(shè)計信號發(fā)生器解決方案[ 4] 。
1、DDS 技術(shù)工作原理:
基于 DDS 技術(shù)的信號發(fā)生器由相位累加器、 波形 ROM 、 D /A 轉(zhuǎn)換器和低通濾波器構(gòu)成, 如圖 1 所示。 在固定頻率的參考時鐘下, 通過改變每個參考時鐘脈沖所代表的相位間隔(即圖 1 中 M) 來改變輸出頻率。 其中波形存儲器一般為只讀存儲器, 它用來存儲波形幅度量化編碼值, 可以為任意波形。當(dāng) 1 個參考時鐘脈沖到來時, 鎖存在相位增量寄存器中的頻率控制字 M 就和 N 位相位累加器的輸出相加。 相位累加器的輸出被鎖存后, 它就作為波形存儲器的一個尋址地址, 該地址對應(yīng)的波形存儲器中的內(nèi)容就是一個波形合成點的幅度值, 經(jīng) D /A 轉(zhuǎn)換將其轉(zhuǎn)換為模擬采樣值, 再經(jīng)低通濾波器濾波后得到符合要求的模擬信號。當(dāng)下一個時鐘到來時, 相位累加器的輸出又加一次頻率控制字, 使波形存儲器的地址處于所合成波形的下一個幅值點上。***終, 相位累加器檢索到足夠的點就構(gòu)成了整個波形[ 5-7] 。
圖 1 DDS 工作原理圖
若參考時鐘頻率為 f c , 相位累加器的字長是 N , 則 DDS輸出頻率的大小為: f out =M ×f c /2N , 其中 M 是頻率控制字,其大小由外部控制電路設(shè)定。 當(dāng)參考時鐘頻率 f c 與相位累加器的位數(shù) N 固定時, 輸出頻率 f out 的大小就由 M 來確定, M=2N ×f out / f c , 因此 M 值改變則輸出頻率隨之改變。 當(dāng) M =1 時, DDS 所能產(chǎn)生信號的較低頻率為 f out = f c /2N , 這是 DDS 的頻率分辨率。
2、新的頻率控制字 M 的求解算法:
2. 1、常用的頻率控制 M 的求解方法:
設(shè)參考時鐘頻率 f c =2 f Hz , 相位累加器位數(shù)為 N , 要求信號發(fā)生器輸出頻率范圍 aH z ~ f Hz , 頻率變化的分辨力即步距為 tH z, 則可選的輸出頻率數(shù)有 ( f – a) /t +1 個, 即 aH z, ( a +t) Hz , (a +2t) Hz , …, (f – t ) H z, f H z。 下面來分析頻率控制字 M 的求取方法。
方法一:首先利用手工計算這 ( f – a) / t +1 個頻率對應(yīng)的寫向頻率寄存器的值 M , 把這 (f – a) /t +1 個 N 位二進制數(shù)存儲到系統(tǒng)存儲器中, 信號發(fā)生器接受頻率設(shè)定值后從 (f – a) / t+1 個數(shù)中找出對應(yīng)的值寫向頻率寄存器。
此方法的優(yōu)點是設(shè)定頻率的精度可達 DDS 芯片的頻率分辨力即 f c /2N , 精度較高。 但系統(tǒng)設(shè)計時需要計算的數(shù)據(jù)量大, 頻率設(shè)定速度低, 系統(tǒng)需要的存儲空間大。
方法二:利用公式 M =2N × fout / f c , 編程后用軟件計算。即先計算 f out =tHz 時對應(yīng)的寫向頻率寄存器的值 M1 并對其取整得 M1’ , 則某一頻率下寫向頻率寄存器的值 M =B ×M1 ’ , 其中 B (=1, 2 , 3……) 為某一頻率對 tHz 的倍數(shù)。
此算法的優(yōu)點是編程簡單, 不需要手工計算大量數(shù)值, 不需要占大量存儲空間。 但設(shè)定頻率有誤差累積效應(yīng), 隨著頻率增加, 設(shè)定頻率的誤差 Δ= (M1 – M1 ’ ) ×B / M1 H z 也在增加。 如當(dāng) fc =2M Hz , N = 28 , t = 0. 1Hz, 輸出頻率為 1kHz 時, 其誤差約為 31Hz , 這樣大的誤差在儀表校準(zhǔn)應(yīng)用中是不允許的。
2. 2、新的頻率控制字 M 的求解算法:
為解決 2. 1 中兩種方法的缺點, 本文設(shè)計了一種新方法,既可以在不降低頻率設(shè)定速度情況下節(jié)省大量存儲空間, 又可以顯著降低設(shè)定頻率的誤差。
首先分別計算出輸出頻率為 M 1{t , 2t , …, 9tHz}, M
2{10t , 20t , …, 90tHz}, M 3{100t , 200t , …, 900tHz}, …,
Mi {10i – 1 ×t , 10i – 1 ×2t, …, 10i – 1 ×9t H z}, …, Mq {10q- 1
×t , 10 | ×2t, | …, 10 | q- 1 | ×9t }( q = | log | f | , 即 q 為以 10 | ||
10 | |||||||||
q – 1 | t | ||||||||
為底 f /t 的對數(shù)向上取整) 時對應(yīng)的寫入寄存器的值 M (四舍五入后保留的整數(shù)), 并將其存入 q 個數(shù)組 M1 , M2 , …, Mi , …, Mq 中, 則可通過下面步驟獲得設(shè)定頻率為 mHz 時需寫入寄存器的 M 值:
(1) 先求出 m 為步距 t 的倍數(shù) B :B =m /t , 則 B 的***大值為 f /t (f 為***大輸出頻率)。
(2) 將 B 表示為:B =n1 +n2 ×10 +n3 ×102 + …+ni × 10i – 1 +…np ×10p – 1 , 當(dāng) 1 ≤i <p 時, 0 ≤ni ≤9 , 1 ≤np ≤9。
(3) 則設(shè)定頻率為 mHz 時需寫入寄存器的 M 值可分別從
M1 | 中從取 M1 [ n1] , 從 M2 中取 M2 [ n2] , 從 | ||
M3 | 中取 M3 [ n3] , …, | 從 Mi 中取 Mi [ ni ] , | |
…, | 從 Mp | 中取 Mp [ np] | 相加即可, 即:M |
=M1 [ n1] | + M2 [ n2] + M3 [ n3] +… + | ||
Mi | [ ni ] +…+Mp [ np] 。 (若 ni =0, 則不 |
從 Mi 中取值)。
因每組數(shù)據(jù)均采用手工計算, 故求某組數(shù)據(jù)中頻率對應(yīng)的 M 值 (四舍五入后保留的整數(shù)) 時***大誤差為 0. 5 , 此時對應(yīng)的輸出頻率誤差為:Δ≤0. 5 × f c /2N = 0. 5t /M1’ Hz , 所以本算法***大的輸出頻率誤差為:q ×Δ=0. 5 ×t ×q/ M1 ’ H z。
本方法優(yōu)點:(1) 需寫入內(nèi)存的數(shù)據(jù)少, 只需寫入 q 組, 即 9×q 個 N 位二進制數(shù);(2) 頻率設(shè)定速度快, 因只需從內(nèi)存的 q 組數(shù)據(jù)中查找指定值, 比方法一中從 (f – a) /t +1 個數(shù)據(jù)中查找指定值速度快;(3) 本方法顯著降低了方法二中的誤差累積效應(yīng) (因為 q 的值很小), 輸出頻率誤差小, 精度高。
3、信號發(fā)生器的實現(xiàn):
3. 1、信號發(fā)生器的硬件實現(xiàn):
系統(tǒng)由微控制器、 鍵盤、 顯示、 信號發(fā)生電路、 信號幅值調(diào)整電路及電源部分組成, 如圖 2 所示。 其中微控制器部分由 M SP 430F135 和復(fù)位電路組成;信號發(fā)生電路由直接數(shù)字合成器芯片 A D9833 、 有源晶體振蕩器及運算放大器調(diào)整電路組成;幅值調(diào)整電路由運算放大器、 模擬開關(guān) HCF 4051 及 3 個三極管組成;鍵盤由功能鍵、 確認(rèn)鍵、 左移鍵、 上箭頭鍵、 下 箭頭鍵組成;顯示部分由兩片 74LV C07 組成的信號電平轉(zhuǎn)換電路和 LCM 1602D 液晶顯示模塊組成;電源部分由+18V 、 +5V 和+3. 3V 三種電源組成;三種電壓各由一片 DC – DC 轉(zhuǎn)換芯片及其外圍電路組成的升壓或降壓電路獲得;三種電源均由 2 節(jié)串聯(lián)的鋰電池供電。
圖 2 系統(tǒng)硬件組成框圖
微控制器通過 5 個 I /O 口線與 5 個鍵盤信號相連;微控制器的 11 個 I /O 口線經(jīng)過兩片 74LV C07 及電阻組成的電平轉(zhuǎn)換電路, 實現(xiàn)對顯示的控制與驅(qū)動, 可以顯示頻率、 信號幅值等;微控制器作為主機通過三線制 SPI 接口與信號發(fā)生電路部分的 AD9833 通訊, 向 A D9833 寫入控制命令字及頻率設(shè)定值 M ;信號發(fā)生電路輸出信號送入信號幅值調(diào)整電路;微控制器通過 3 個 I /O 口線選擇 HCF 4051 的模擬導(dǎo)通通道, 從而調(diào)整信號的放大倍數(shù), 得到不同幅值的信號。
具體工作過程:由 2. 2 中方法求得的數(shù)據(jù)存儲于微控制器的存儲器中 , 系統(tǒng)上電啟動后, 通過鍵盤設(shè)定要輸出的頻率值、 信號波形、 信號幅值, 微控制器根據(jù)頻率設(shè)定值從相應(yīng)數(shù)組中取數(shù)并計算得 M 值 ;微控制器通過三線制 SPI 通信接口將信號波形命令字及 M 值寫入 AD9833, 通過 3 個 I /O 口線選定所需幅值;以上設(shè)定完成后 , 微控制器通過三線制 SPI 通訊接口向 AD9833 寫入啟動命令, 則 A D9833 就會輸出所需頻率信號, 該信號經(jīng)過幅值調(diào)整電路后, 即得到***終所需信號。 系統(tǒng)的信號發(fā)生電路和幅值調(diào)整電路分別如圖 3 、 4 所示。
圖 3 信號發(fā)生電路
圖 4 幅值調(diào)整電路
3. 2、信號發(fā)生器的軟件實現(xiàn):
3. 2. 1、軟件總體設(shè)計控制器的主要工作是響應(yīng)鍵盤輸入、 刷新液晶顯示及控制波形輸出。 首先控制器進入默認(rèn)的工作狀態(tài), 此時若有按鍵按下, 則響應(yīng)按鍵;通過按鍵輸入所需的頻率、 幅度和波形參數(shù);控制器再根據(jù)輸入的頻率計算出頻率控制字;***后根據(jù)頻率控制字、 幅度和波形參數(shù)控制輸出對應(yīng)波形。
3. 2. 2、信號發(fā)生軟件設(shè)計 AD9833 是可編程 DDS 信號發(fā)生器, 內(nèi)部具有 2 個 28 位頻率寄存器, 2 個 12 位相位寄存器。 工作時, 需先寫入 16 位工作模式命令字, 確定工作狀態(tài)并選中頻率寄存器和相位寄存器, 然后寫入 1 個或 2 個字頻率控制字, 控制輸出頻率, ***后寫入相位控制字, 則 DDS 信號發(fā)生器就可以根據(jù)模式控制字輸出相應(yīng)的波形。 其中頻率控制字是根據(jù)鍵盤輸入的頻率值,由設(shè)計的算法得到。 波形的幅度值由單片機根據(jù)鍵盤輸入設(shè)定對應(yīng)幅值調(diào)整電路得到。
3. 2. 3、鍵盤輸入軟件設(shè)計鍵盤處理過程:有鍵按下則產(chǎn)生按鍵中斷, 在中斷中識別按鍵并得到對應(yīng)的鍵值;主函數(shù)中若鍵值不為零則執(zhí)行按鍵處理程序。按鍵處理程序中根據(jù)按鍵的不同執(zhí)行對應(yīng)的操作, 實現(xiàn)參數(shù)的選擇, 數(shù)據(jù)的增、 減、 待調(diào)數(shù)據(jù)的左、 右移等操作。 對不同參數(shù)能限定輸入數(shù)據(jù)的范圍, 防止輸入超出的范圍,***后按下確認(rèn)鍵, 設(shè)置生效, 系統(tǒng)按新設(shè)定的參數(shù)運行。
3. 2. 4 液晶顯示軟件設(shè)計系統(tǒng)工作模式分為正常工作模式 (波形輸出模式) 和參數(shù)設(shè)置模式。 在不同模式下,液晶顯示器顯示不同的界面, 以方便用戶使用。在波形輸出模式下, 關(guān)閉液晶的光標(biāo)和字符閃爍, 并在行顯示當(dāng)前幅度, 第二行顯示當(dāng)前頻率, 高位為 0 不顯示。 若為參數(shù)設(shè)置模式, 開啟光標(biāo), 且即將被修改的數(shù)據(jù)字符處于閃爍狀態(tài)。 默認(rèn)從參數(shù)的較低一位數(shù)據(jù)進行修改, 通過上下鍵改變參數(shù)每一位的數(shù)值, 通過左移鍵選擇被修改參數(shù)的數(shù)據(jù)位, 若數(shù)據(jù)位到達該參數(shù)的***高位再按左移鍵, 則又回到該參數(shù)的較低位。
4、結(jié)束語:
直接頻率合成技術(shù)以其高穩(wěn)定性、 寬頻帶等諸多特點在各個領(lǐng)域獲得廣泛應(yīng)用。 本文根據(jù) DDS 技術(shù)的工作原理, 對頻率控制字的求解設(shè)計了一種新的算法, 該算法既可以在不降低頻率設(shè)定速度情況下節(jié)省大量存儲空間, 又可以顯著降低設(shè)定頻率的誤差。 結(jié)合該頻率控制字的求解算法, 以微控制器 M SP430F135 為主控電路,設(shè)計了一種新型的頻率連續(xù)可調(diào)的信號發(fā)生器,該信號發(fā)生器具有精度高、 頻率連續(xù)可調(diào)、 響應(yīng)速度快、 輸出信號頻譜穩(wěn)定等特點, 可較好應(yīng)用于脈沖型流量計的出廠校準(zhǔn)上。