顏謙和,顏珍平
(湖南鐵道職業(yè)技術(shù)學(xué)院,湖南株洲 412001)
準(zhǔn)確實(shí)現(xiàn)電子技術(shù)中的頻率響應(yīng)、濾波電路中設(shè)計(jì)的選頻網(wǎng)絡(luò)、信號(hào)源的設(shè)計(jì)等都需要測(cè)量頻率[1],頻率測(cè)量的精密度決定了設(shè)計(jì)系統(tǒng)的精密性,因此實(shí)現(xiàn)頻率的精密測(cè)量至關(guān)重要。
頻率測(cè)量的方法有多種,其中應(yīng)用計(jì)數(shù)法原理制成的數(shù)字式頻率測(cè)量?jī)x器具有精度高、使用方便、測(cè)量迅速的特點(diǎn),便于實(shí)現(xiàn)測(cè)量過程自動(dòng)化[2-7]。其工作原理為測(cè)量通過測(cè)量一定閘門時(shí)間內(nèi)信號(hào)的脈沖個(gè)數(shù),然后以數(shù)字形式顯示頻率值。
當(dāng)前的許多簡(jiǎn)易頻率計(jì)大多采用CPLD或者PFGA進(jìn)行設(shè)計(jì)[8-11],因?yàn)镃PLD和FPGA的采樣頻率、響應(yīng)速度快,可實(shí)現(xiàn)寬頻率的快速測(cè)量,但是CPLD和FPGA比較貴,編程設(shè)計(jì)難度大。本文擬基于Arduino,設(shè)計(jì)一款簡(jiǎn)易高精度數(shù)字頻率計(jì),采用模塊化和層次化的設(shè)計(jì)思路,運(yùn)用mega2560單片機(jī)進(jìn)行數(shù)據(jù)的處理和分析,可實(shí)現(xiàn)50 mV~2 V的正弦波和矩形波的頻率精準(zhǔn)測(cè)量。測(cè)量范圍能夠達(dá)到1 Hz~10 MHz,測(cè)量精度達(dá)到0.000 1 Hz。
系統(tǒng)總體框圖如圖1所示。主要包括電源電路、放大與整形電路、單片機(jī)主控電路、分頻電路、顯示電路、閘門信號(hào)產(chǎn)生電路等[12-13]。采用Arduino系列中的新型芯片mega2560設(shè)計(jì)并制作一個(gè)閘門時(shí)間為1 s的數(shù)字頻率計(jì),實(shí)現(xiàn)對(duì)頻率和周期的測(cè)量。
圖1 系統(tǒng)總體框圖
本設(shè)計(jì)采用LM7805穩(wěn)壓芯片提供5 V電壓供電。全波電路圖如圖2所示,具體組成:引入12~24 V交流電壓、經(jīng)過二極管整流、電容簡(jiǎn)單濾波、LM7805穩(wěn)壓和2.5 V為基準(zhǔn)的模擬信號(hào)地。
圖2 電源電路圖
放大與整形電路由NE5534構(gòu)成。NE5534構(gòu)成的閉環(huán)放大器將輸入為FX的周期信號(hào)引入正弦波、矩形波,進(jìn)行同相放大。將電源電壓設(shè)為5 V,當(dāng)輸入電壓信號(hào)幅值比較大時(shí),將放大后的波形控制在5 V以內(nèi),NE5534構(gòu)成的過零比較器對(duì)放大器的輸出進(jìn)行整形,使之成為矩形脈沖。
具體的電路圖如圖3和圖4所示。
圖4 信號(hào)整形電路圖
圖3 信號(hào)放大電路圖
閘門信號(hào)產(chǎn)生電路由頻率為32.768 kHz的晶振電路、CD4060構(gòu)成的14級(jí)分頻器和CD4013構(gòu)成的2級(jí)分頻器組成,當(dāng)晶振單路提供的32.768 kHz的標(biāo)準(zhǔn)正弦波頻率經(jīng)過CD4060和CD4013構(gòu)成的16級(jí)分頻(32768/216)得到頻率為0.5 Hz的方波,由此就產(chǎn)生了1 s的閘門信號(hào)。電路如圖5所示。
圖5 1 s閘門信號(hào)產(chǎn)生電路圖
通過CD4060進(jìn)行多級(jí)分頻,具體電路如圖6所示。
圖6 分頻電路
主程序主要完成硬件的初始化、信號(hào)的采集、數(shù)據(jù)的處理和數(shù)據(jù)的顯示功能。具體流程圖如圖7所示。
圖7 主程序流程圖
//主題程序:
if(fre>100000)Fre_Text(1);
else Fre_Text(0);//頻率大于100 kHz,選擇16分頻
Fre_crol();//分頻
Data_Display();顯示
//準(zhǔn)備工作:
#include
#include
long count,fre,dr_high,dr_low;//計(jì)數(shù)、頻率、高、低電平量化。
int i;
float wide,sum;//占空比、累加零時(shí)變量
const int rs=8,en=9,d4=10,d5=11,d6=12,d7=13;
LiquidCrystal lcd(rs,en,d4,d5,d6,d7);//LCD顯示初始化
//初始化:
lcd.begin(16,2);
pinMode(4,OUTPUT);//閘門控制信號(hào),高電平開啟
PinMode(2,INPUT);//原信號(hào)
pinMode(3,INPUT);//4級(jí)分頻
pinMode(18,INPUT);//8級(jí)分頻
pinMode(19,INPUT);//12級(jí)分頻
pinMode(20,INPUT);//1s閘門信號(hào)
頻率獲取代碼:
digitalWrite(HIGH,4);//打開閘門
while(digitalRead(20));count=0;//準(zhǔn)備
while(!digitalRead(20));//等待高電平到來
attachInterrupt(signment,int1,F(xiàn)ALLING);
//中斷0,2管腳,上升沿觸發(fā)方式
while(digitalRead(20));//等待測(cè)試結(jié)束
if(signment)fre=count*16;else fre=count;
if(count>=2)fre=fre-1;
detachInterrupt(signment);//關(guān)閉中斷int0。
其流程圖如圖8所示。
圖8 頻率生成函數(shù)流程圖
占空比獲取代碼:
while(!digitalRead(20));//等待開始信號(hào)
wide=0;
for(i=0;i<20;i++){
dr_low=0,dr_high=0;//清零
while(digitalRead(signment));//等待低電平
while(!digitalRead(signment))dr_low++;//低脈寬
while(digitalRead(signment))dr_high++;//高脈寬
sum=(dr_low*1.0/(dr_low+dr_high))*100;
wide=wide+sum;
}
wide=wide/20;
digitalWrite(LOW,4);//關(guān)閉閘門
其流程圖如圖9所示。
圖9 占空比計(jì)算流程圖
通過軟硬件的設(shè)計(jì),在具體測(cè)試之前,采用Proteus軟件進(jìn)行功能仿真。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如ArdiunoIDE等軟件。支持大量的外圍芯片和存儲(chǔ)器,具有強(qiáng)大的原理圖繪制功能。該軟件是集單片機(jī)和SPICE分析于一身的仿真軟件。
具體仿真測(cè)試時(shí),采用矩形波為例進(jìn)行仿真測(cè)試,仿真測(cè)試結(jié)果如圖10所示。從仿真結(jié)果看,設(shè)計(jì)符合要求。
圖10 仿真結(jié)果圖
根據(jù)仿真結(jié)果,對(duì)實(shí)際的頻率計(jì)進(jìn)行測(cè)試,同樣,采用矩形波為例,測(cè)試100 Hz和1 kHz情況矩形波的占空比,測(cè)量范圍從30%到接近90%,而且在測(cè)試過程中防止程序中出現(xiàn)測(cè)試盲點(diǎn),采用跳躍式測(cè)試方式,測(cè)試數(shù)據(jù)如表1和表2所示。
表1 矩形波(100 Hz)
表2 矩形波(1 kHz)
在占空比測(cè)試的基礎(chǔ)上,對(duì)頻率計(jì)進(jìn)行頻率的具體測(cè)試,依次測(cè)試信號(hào)幅值為50 mV、100 mV、500 mV、1 V、1.5 V、2 V下10 Hz~100 kHz的頻率測(cè)試,測(cè)試數(shù)據(jù)如表3所示。數(shù)據(jù)顯示,1 kHz的頻率測(cè)量幾乎零誤差,總體測(cè)量精度達(dá)0.000 01,占空比精度0.01。
表3 頻率測(cè)試數(shù)據(jù)表
具體的測(cè)試圖如圖11所示。
圖11 頻率測(cè)量示波器顯示測(cè)試圖
本文在分析現(xiàn)有數(shù)字頻率計(jì)存在的缺陷出發(fā),提出一種新的數(shù)字頻率計(jì)的設(shè)計(jì)方法,基于Arduino,完成了一款簡(jiǎn)易高精度數(shù)字頻率計(jì)的設(shè)計(jì)。設(shè)計(jì)過程中采用了模塊化和層次化的設(shè)計(jì)思路,完成了電源電路、放大與整形電路、單片機(jī)主控電路、分頻電路、顯示電路、閘門信號(hào)產(chǎn)生電路等硬件設(shè)計(jì),運(yùn)用mega2560單片機(jī)進(jìn)行數(shù)據(jù)的處理和分析,軟件設(shè)計(jì)后進(jìn)行了仿真測(cè)試和具體的實(shí)驗(yàn)測(cè)試,測(cè)試結(jié)果顯示,該頻率計(jì)可實(shí)現(xiàn)50 mV~2 V的正弦波和矩形波的頻率精準(zhǔn)測(cè)量。測(cè)量范圍能夠達(dá)到1 Hz~10 MHz。測(cè)量精度達(dá)到0.000 1 Hz。