張國亮,劉恒,李建勛,董千恒,路家琪
(南京信息工程大學(xué)電子信息與工程學(xué)院,江蘇南京,210044)
隨著時代的發(fā)展,紙張已經(jīng)廣泛應(yīng)用于人類生活的各個領(lǐng)域。但隨著紙張的廣泛應(yīng)用,紙張測量計數(shù)問題亟需解決方案,目前常見的紙張測量的方案:一是用FDC2214電容傳感器測量紙張電容,通過數(shù)據(jù)擬合來獲得紙張數(shù)量[1]。雖然該方法案傳感器得到的數(shù)據(jù)快速準確,但是振蕩范圍較小,若超出上限,則無法測量。二是利用多諧振蕩器再通過單片機測頻率[2],此類方法雖然對測量電容大小沒有限制,但是測量頻率的方法通常為測周法和測頻法,這兩種測量頻率的方法極易引入誤差,測量的精度不如第一種方案。結(jié)合上述背景,本文以FPGA為控制核心,Nios II軟核為運算核心,從NE555振蕩電路電容與的頻率對應(yīng)關(guān)系,通過等精度頻率測量和數(shù)字濾波等算法,精確測量紙張數(shù)量并實時顯示和語音播報當前紙張數(shù)量,提高了測量的量程、精度以及魯棒性。
平行板電容器由兩塊相互平行的導(dǎo)體極板,中間夾以電介質(zhì)構(gòu)成,結(jié)構(gòu)如下圖1所示。平行板電容器的電容量與兩導(dǎo)體極板之間的相對面積s和電介質(zhì)材料的相對介電常數(shù)εr成正比,與兩極板間距離d成反比。平板電容器電容的計算公式如下:
圖1 平行板電容器模型
式(1)中:s為兩導(dǎo)體極板的相對面積;ε0為真空介電常數(shù);εr為相對介電常數(shù)(取決于電介質(zhì)特性);d為兩導(dǎo)體極板的絕對距離。
假如將紙張(此處使用得力70g的A4紙)填入兩導(dǎo)體極板作為電解質(zhì),則該平行板電容器,則變?yōu)榧堧娙萜?,同理式?)中的d即為紙張厚度,εr為紙張的相對介電常數(shù),當填入不同紙張數(shù)量時式(1)中的相對面積s,真空介電常數(shù)ε0,相對介電常數(shù)εr均為固定值,則該電容器的電容值僅取決于紙張的厚度,即紙張的數(shù)量。
多諧振蕩器電路包括固定電阻R1、R3,電容C1、C2,二極管D1、D2,可變電阻R2及NE555芯片,電源為+5V,電路如圖2所示。
圖2 多諧振蕩器電路圖
圖2中,電阻R2、R3及二極管D1、D2構(gòu)成等效電阻R。調(diào)節(jié)可變電阻R2和電容C1即可改變輸出方波的頻率,其中電路輸出的方波高、低電平時間為T1和T2,周期為f,有:
根據(jù)上述原理只需改變電容C1的值就可改變輸出方波的頻率,方波高電平為+5V,低電平為0V,方波從S端輸出[3]。
現(xiàn)有測頻式紙張測量裝置,測量頻率的方法為測頻法和測周法,當待測信號頻率較低時采用測周法,當待測信號頻率較高時采用測頻法。測周法的誤差主要來源于基準時鐘信號和計數(shù)值,其次在閘門開始時,計數(shù)器不一定開始工作。測頻法的誤差主要來源于閘門時間,并且測量頻率越低相對誤差越大,實際工程中常將兩種方法結(jié)合來使用,但精度依舊不能滿足該類裝置的要求。
相較于上述兩種測量頻率的方法,等精度頻率測量的最大特點是門控信號不唯一,門控信號是隨著被測信號頻率改變而改變的,該方法不僅測量精度高,而且在所有頻率測量精度都一樣,滿足本裝置的要求。在實際測量時,只需要將待測信號接入FPGA,利用D觸發(fā)器將待測信號打兩拍,異步信號轉(zhuǎn)為同步信號,然后FPGA兩個計數(shù)器開始計時工作,計數(shù)器1采集待測信號的上升沿數(shù),計數(shù)器2采集此時的時鐘信號的上升沿數(shù)。當計數(shù)器1計數(shù)到NX時,計數(shù)器1、2同時停止工作,此時計數(shù)器2的計數(shù)值為NCLK,假設(shè)FPGA的時鐘頻率為F,則待測信號的頻率計算:
將兩塊金屬極板分別粘貼在兩塊亞克力板上,并保持金屬板上下對齊,將一定數(shù)量的A4紙放入兩極板并夾緊,F(xiàn)PGA對當前多諧振蕩器頻率的輸出信號進行采集運算,計算出的諧振頻率通過串口通信,送給FPGA內(nèi)部的Nios II軟核進行數(shù)據(jù)的處理和分析,最終能夠計算出當前的電容值和紙張數(shù)量以及判斷當前電容是否短路,并將結(jié)果顯示在TFT屏幕上,同時將分析所得結(jié)果傳輸給FPGA,通過FPGA驅(qū)動語音播報模塊,進行實時語音播報。測量裝置如圖3所示。
圖3 測量裝置總體框圖
將兩金屬極板粘在兩塊亞克力板的相同位置上,再將兩塊亞克力板對齊,再亞克力板的四角鉆孔,利用銅柱固定兩塊亞克力板的相對位置,使得每次測量時極板的相對位置不發(fā)生改變,同時將亞克力板墊高,遠離桌面避免噪音以及電磁干擾。兩金屬極板通過SMA射頻頭連接屏蔽線接入圖7的NE555多諧振蕩器中,多諧振蕩器中R1=R2= 2 00K?,TFTLCD通過排母接入FPGA,語音播報模塊通過杜邦線與FPGA相連,最終構(gòu)成了整個系統(tǒng)。
3.2.1 FPGA
本裝置選用ALTERA公司的Cyclone IV系列FPGA,具體芯片型號為EP4CE10F17C8,如圖4所示FPGA的時鐘為50MHz,搭載了FLASH、SDRAM等豐富的外設(shè)資源。如圖5和圖6所示,F(xiàn)PGA外接了M25P16芯片和W9825G6KH芯片,M25P16芯片是一款帶有先進寫保護機制和高速SPI總線訪問的2M字節(jié)串行Flash存儲器,W9825G6KH芯片是一款256M字節(jié)的DDR存儲芯片,以上兩個芯片為FPGA運行Nios II軟核奠定了基礎(chǔ)。
圖4 FPGA時鐘
圖5 FLASH原理圖
圖6 SDRAM原理圖
3.2.2 多諧振蕩器
本文裝置多諧振蕩器原理圖如圖7所示,該電路以NE555為核心,包括電阻R1、R2及電容C1、Cx,其中中Cx為待測的紙電容器。紙電容器兩端通過射頻線接入電路中。圖7電路在圖2的基礎(chǔ)上進行了簡化,并在電源與地之間增加了105電容和104電容,通過兩個電容對電源進行濾波,濾掉電源的高頻雜波,消除了輸出方波上升沿時的毛刺,便于后續(xù)FPGA對輸出波形頻率的計算。
圖7 多諧振蕩器原理圖
由于R1,R2為定值,則可由式(6)得出,多諧振蕩器的振蕩頻率僅由紙電容器電容值所決定。由式(1)、(6)式得:
由式(7)得:多諧振蕩器的振蕩頻率與紙張數(shù)成正比。已知一張A4紙的厚度約為,在理想條件下,忽略紙張之間空隙的影響,可求得電容器每怎加一張紙,其電容上升2.77× 10-9F,振蕩器頻率約增加866Hz 。
3.2.3 TFTLCD屏
本裝置選用4.3寸TFTLCD電容屏其接線方式如圖8所示,通過FPGA的Nios II軟核驅(qū)動該屏幕,在屏幕上顯示當前諧振頻率和紙張數(shù)量,當兩極板短接時會顯示報警信息。
圖8 TFTLCD接線方式
3.2.4 語音播報模塊
本裝置選用了以VS1053B芯片為核心的語音播報模塊,該模塊的電路如圖9所示。當Nios II軟核將數(shù)據(jù)傳輸給FPGA后,F(xiàn)PGA可以驅(qū)動該模塊播報當前諧振頻率和紙張數(shù)量,當兩極板短接時,會發(fā)出相應(yīng)的語音提示。
圖9 語音播報模塊電路原理圖
3.3.1 系統(tǒng)軟件設(shè)計
本軟件設(shè)計是在quartus II環(huán)境下,用Verilog和C語言進行編寫的,F(xiàn)PGA工作流程如圖10所示,Nios II軟核工作流程如圖11所示。
圖10 FPGA工作流程圖
圖11 Nios II軟核工作流程圖
軟件的工作流程:系統(tǒng)上電后,所有功能模塊初始化,當功能初始化結(jié)束,接著通過按鍵進行自檢驗校準,防止不同環(huán)境溫濕度對紙張測量結(jié)果的影響。校準完成后,將校準數(shù)據(jù)進行存儲,并以校準數(shù)據(jù)制作查找表用以判斷相同規(guī)格的紙張的數(shù)量。正式測量時,將某一數(shù)量的紙張放入兩極板內(nèi)壓緊,之后FPGA將進行等精度頻率測量,測量結(jié)束后將測量所得的頻率值傳輸給Nios II軟核進行浮點數(shù)計算,Nios II計算完后將直接驅(qū)動TFT顯示當前紙張數(shù)量,同時將數(shù)據(jù)傳輸給FPGA用以驅(qū)動語音播報模塊進行紙張數(shù)量播報或發(fā)出報警。
3.3.2 卡爾曼數(shù)字濾波
由于實際制作的紙電容器具有邊緣效應(yīng)等情況,Cx的值是一個波動的值,則多諧振蕩器的諧振頻率也是一個不穩(wěn)定的值,其波形如圖12所示。頻率不穩(wěn)定,則會影響校準和測量的結(jié)果,為了避免這一現(xiàn)象對數(shù)據(jù)的影響,在數(shù)據(jù)計算時采用了卡爾曼數(shù)字濾波算法,利用FPGA采集10次諧振頻率,頻率值用f(ii為采集次數(shù))來表示,fi對應(yīng)權(quán)重為ai,ai取值見表1。處理后的諧振頻率表示如下:
表1 權(quán)重ai的取值
圖12 多諧振蕩器實際輸出波形
在室溫條件下,將一定數(shù)量的A4紙放入兩極板中并夾緊,測量區(qū)間為1-90張紙,讀取TFT屏幕上的數(shù)值或者記錄語音播報的數(shù)值,同時讀取示波器上的頻率,將1-90張紙的部分數(shù)據(jù)以及誤差分析依次計入到表2中,經(jīng)過測試本裝置在1-90張紙內(nèi)最大測量誤差為1.18%,在91-150張紙的最大測量誤差為4.02%。
表2 室溫下測量結(jié)果及誤差分析
測試結(jié)果分析:當紙張數(shù)逐漸增加時,多諧振蕩器的諧振頻率也逐漸增加,但當紙張數(shù)量超過一點程度時,雖然依舊呈現(xiàn)上升趨勢,但是線性分布以及不夠明顯。由式(3)可得,頻率應(yīng)該與紙張數(shù)量成正比,但是由于紙張的邊緣效應(yīng)等客觀因素,實際測試結(jié)果并非線性,但通過上述的卡爾曼數(shù)字濾波算法以及自檢驗的過程,測量1~90張紙的誤差可以控制在1.18%以內(nèi)。
由于熱漲冷縮原理,紙張的厚度在不同的溫度下是不同的,所以裝置的魯棒性極為重要,于是將本文裝置在恒溫實驗環(huán)境中測試,并將測試結(jié)果以及誤差分析記錄在表3中。
表3 不同環(huán)境測量結(jié)果及誤差分析
由表3可得,本實驗裝置在不同環(huán)境下,相同紙張數(shù)測量的頻率也略有不同。當環(huán)境溫度高時,紙張由于受熱膨脹,每張紙的厚度略有上升,F(xiàn)PGA測得的頻率也相對偏高;當環(huán)境溫度低時,紙張厚度略微降低,F(xiàn)PGA測得的頻率也相對偏低。但最后實際計算出來的紙張數(shù)量誤差依舊能夠控制在1.18%,故本系統(tǒng)在90張紙的量程內(nèi),具有非常好的魯棒性。
基于FPGA和Nios II軟核的紙張測量裝置可以完成在一定規(guī)格的紙張測量任務(wù),具有成本低,速度快,誤差小,量程廣,魯棒性高的優(yōu)點。但由于紙張的邊緣效應(yīng)等導(dǎo)致紙張數(shù)量到達一定程度時,線性度不明顯,這一問題對后續(xù)紙張測量精度影響較大。這個問題我們會在后續(xù)的研究中進一步改進。