




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、電子設(shè)計(jì)基礎(chǔ)期末任務(wù)基于單片機(jī)的有效值檢波器有效值檢波器摘 要本作品以單片機(jī)STC12C5A60S2為主控芯片并以此為基礎(chǔ),通過二極管1N5819實(shí)現(xiàn)半波整流,使用單片機(jī)內(nèi)部自帶10位AD對整流后的輸入信號進(jìn)行采樣,從而實(shí)現(xiàn)對峰值的檢測;同時通過運(yùn)放LM837對輸入信號進(jìn)行放大,之后通過施密特觸發(fā)器,將原始信號整形成可被單片機(jī)識別的標(biāo)準(zhǔn)脈沖波形,之后配合內(nèi)部計(jì)數(shù)器(定時器)達(dá)到測量其頻率的目的;這樣,整流和AD采樣實(shí)現(xiàn)對輸入信號峰值的檢測;通過放大、整形實(shí)現(xiàn)對輸入信號頻率的檢測。AbstractOur system adopts the STC12C5A60S2 as the core pro
2、cessing CMOS chip .On this basis, achieved the half-wave rectifier through diode 5819, use the native 10-bit microcontroller internal AD to sample the rectified input signal , in order to achieve the peak detection; At the same time, use the operation Amp LM837 to amplify the input signal, and then
3、through the Schmitt trigger, the entire formation of the original signal can be recognized by the standard single chip pulse waveform, then with the use of internal counter (timer) ,we can measure the frequency ; so that rectification and AD Sampling the input signal to achieve the peak detection; t
4、hrough the amplification, shaping to achieve the detection of the input signal frequency.關(guān)鍵字:半波整流,運(yùn)放,AD采樣,定時,計(jì)數(shù)。一、 理論分析本文要求輸入交流信號,通過電路測量其峰值,頻率,有效值以及平均值,因?yàn)檩斎氲慕涣餍盘枮槟M信號,而一般處理數(shù)據(jù)使用的主控芯片單片機(jī)處理的是數(shù)字信號,所以我們選擇使用數(shù)模轉(zhuǎn)換器AD(Analog to Digital Converter)將輸入的模擬信號轉(zhuǎn)換為數(shù)字信號,并進(jìn)行采樣;由于要求輸入交流信號電壓峰峰值Vpp為50mV10V,所以如果我們采用AD為8位,
5、則最小采樣精度為528-119.6mv,因此會產(chǎn)生78.4%的誤差,并且題目要求輸入交流信號的頻率范圍為40Hz50kHz,所以為了保證對高頻率信號的單周期內(nèi)采樣個數(shù),我們需要選擇盡量高速度的AD;因此我們選用使用單片機(jī)STC12C5A60S2,其內(nèi)部自帶AD為8路10位最高速度可達(dá)到250KHz,所以我們可以將最小采樣精度縮小到5210-14.87mv,并且在輸入交流信號頻率最大時(50KHz)在單個周期內(nèi)可采集5個點(diǎn),因此可保證測量精度。 由于該AD只能接受05V的模擬信號輸入,所以當(dāng)我們直接輸入一個雙極性信號時可能損壞AD,因此當(dāng)信號進(jìn)入AD之前我們要進(jìn)行半波整流,為此我們設(shè)計(jì)了整流電路
6、,在交流信號通過整流電路輸入AD后,由AD實(shí)時輸出對應(yīng)模擬信號大小的二進(jìn)制數(shù),并存入變量MAX中,隨著信號的不斷輸入MAX中只保存AD輸出過的最大值,這樣既可測出輸入信號的峰值;由交流信號有效值表達(dá)式 U有效=1Ni=1Nui2可知檢波器應(yīng)當(dāng)首先把輸入的瞬時電壓平方, 然后在一定平均時間內(nèi)取平均值再開方。即可得到交流信號的有效值,然后通過比較峰值和有效值的關(guān)系即可知道該交流信號的波形;由于要檢測交流信號的頻率,所以我們使用單片機(jī)內(nèi)部定時器和計(jì)數(shù)器,而計(jì)數(shù)器只能由上升沿或是下降沿觸發(fā),所以我們想通過施密特觸發(fā)器將輸入交流信號變?yōu)楦叩碗娖?,以便檢測其頻率,而施密特觸發(fā)器CD40106在常溫5V供電
7、下門限電壓VT-=1.4V,VT+=3.6V,而輸入交流信號的峰值最小時為25mV,所以不能保證輸入信號為正的時候施密特觸發(fā)器就能發(fā)生跳變,因此我們要對輸入交流信號進(jìn)行放大,為此我們設(shè)計(jì)了放大電路。二、 方案比較方案一:V0=1T0TVi2dtT=CR1R3K2R4K1此方案只能檢測已知、并且固定頻率下的交流信號的有效值;無法檢測頻率。方案二: 此方案是先將一個5V的直流信號疊加到待測的交流信號上,使其輸入到運(yùn)放LM324的信號都為正,然后通過運(yùn)放放大0.5倍,從而使信號在AD的接受范圍內(nèi)(0-5V),LM324的正常工作時的供電要求為12V。相比于方案一此方案可以在未知輸入信號的極性、周期、
8、波形的條件下測得其峰值,但-12V的電壓的產(chǎn)生比較困難。方案三:此方案我們使用整流二極管5819實(shí)現(xiàn)半波整流,但通過此電路輸出波形會出現(xiàn)一個負(fù)電壓方案四: 我們在方案三的基礎(chǔ)上在二極管后加了一個上拉電阻,實(shí)現(xiàn)最大程度的消除輸入波形的負(fù)電壓,使其在單片機(jī)STC12C5A60S2內(nèi)部AD的可接收信號范圍內(nèi)(0-5V)。輸入信號經(jīng)過整流后進(jìn)入AD,由AD輸出10位數(shù)字信號,再有單片機(jī)進(jìn)行處理,得出信號的峰值、有效值、及平均值; 此電路為本方案檢測輸入信號頻率的核心電路,信號通過由三個運(yùn)放LM837組成的運(yùn)放電路后放大100倍,然后輸入施密特觸發(fā)器使其波形變?yōu)楦叩碗娖?,將此波形輸入到單片機(jī)主控芯片,利
9、用單片機(jī)內(nèi)部的計(jì)數(shù)器和定時器完成對頻率的測量綜述:經(jīng)實(shí)際測試發(fā)現(xiàn),方案一對頻率的測量無法改進(jìn);方案二中的運(yùn)放LM324的正負(fù)12V供電設(shè)計(jì)比較有難度;方案三輸出波形存在負(fù)值,并且超出單片機(jī)內(nèi)部AD可接受范圍,直接輸入會損壞AD;方案四針對方案一二三存在的問題加以改進(jìn)可實(shí)現(xiàn)高精度,寬范圍的信號測量。三、 軟硬件設(shè)計(jì)3.1系統(tǒng)原理框圖:3.1系統(tǒng)總體結(jié)構(gòu)圖3.1整流電路設(shè)計(jì):整流電路部分使用整流二極管5819加10K上拉電阻構(gòu)成,從而實(shí)現(xiàn)半波整流,原理圖如下:電路圖如下:整流電路結(jié)構(gòu)圖3.2放大電路設(shè)計(jì):放大部分采用運(yùn)放LM837構(gòu)成放大100倍電路,位于圖下方由5V電源供電的運(yùn)放可以產(chǎn)生一個2.
10、5V的直流電壓,將此2.5V的直流電壓輸入到第一級運(yùn)放后,會使輸入的交流信號上偏2.5V,變?yōu)?-5V,再經(jīng)過100000pF的電容C3濾掉被放大的噪聲以及2.5V直流后,變?yōu)?2.5+2.5的交流信號,之后進(jìn)入二級放大;如圖所示第二級運(yùn)放在加入+2.5V直流電壓后輸出為05V的交流信號,至此外加交流信號已被放大100倍;在外加交流信號被放大100倍之后進(jìn)入施密特觸發(fā)器CD40106,該觸發(fā)器在常溫5V供電下門限電壓VT-=1.4V,VT+=3.6V,輸出高電平V0=4.5V,低電平V0=0.5V,此部分電路輸出即為這個高低電平。原理圖:電路圖如下:3.3單片機(jī)電路:采用STC12C5A60S
11、2單片機(jī),作為整個系統(tǒng)的控制器,控制各個模塊協(xié)調(diào)工作。運(yùn)用其內(nèi)部集成的一個AD作為數(shù)模轉(zhuǎn)換器。圖為單片機(jī)STC12C5A60S2的最小應(yīng)用系統(tǒng)3.4系統(tǒng)整體電路圖:3.5軟件設(shè)計(jì):詳細(xì)代碼見附表二。四、 參數(shù)計(jì)算(1) 峰值A(chǔ)mp=MaxAD采樣值(2)U有效=1Ni=1Nui2,ui為AD在信號的一個周期內(nèi)采集的電壓值(3)平均值: U= 1Ni=1Nui(4)頻率:定時1s,脈沖計(jì)數(shù)五、 測試記錄表一:輸入信號在固定峰值下的頻率測量輸入信號頻率(Hz)測量信號頻率(Hz)相對誤差(%)絕對誤差(%)方波正弦波三角波方波正弦波三角波方波正弦波三角波4038383855522250494849
12、242121605959591.671.671.67111706969691.431.431.4311180808080000000909190911.111.111.111011001011011011111112001931931933.53.53.57773002942942942226664003953953951.251.251.255555004874874872.62.62.61313136005885885882221212127006906906901.431.431.431010108007917917911.1251.1251.1259999008928928920.89
13、0.890.8988810009939939930.70.70.777720001932193219323.43.43.468686830002944294429441.871.871.8756565640003956395639561.11.11.144444450004968496849680.640.640.6432323260005980598059800.330.330.3320202070006900690069001.431.431.4310010010080007912791279121.11.11.188888890008924892489240.840.840.847676
14、7610K9936993699360.640.640.6464646415K1490414904149040.640.640.6496969620K1987219872198720.640.640.6412812812825K2493224932249320.270.270.2768686830K2990029900299000.330.330.3310010010035K3486834868348680.380.380.3813213213240K3992839928399280.180.180.1872727245K4489644896448960.20.20.210410410450K4
15、986449864498640.270.270.27136136136表二:輸入信號在不同幅值下的頻率測量輸入信號頻率(Hz)輸入信號峰值 (V)測量信號頻率(Hz)相對誤差(%)方波正弦波三角波方波正弦波三角波400.023838385550.053838385550.538383855553838385554000.023953953951.251.251.250.053953953951.251.251.250.53953953951.251.251.2553953953951.251.251.2540000.023956395639561.11.11.10.05395639563956
16、1.11.11.10.53956395639561.11.11.153956395639561.11.11.140K0.023992839652399280.180.870.180.053992839928399280.180.180.180.53992839928399280.180.180.1853992839928399280.180.180.18從上述表格可看出,在改變待測信號峰值的條件下,所測信號頻率基本不變表三:輸入信號在固定頻率(5kHz)下的峰值測量輸入信號峰值(V)測量信號峰值(mV)相對誤差%絕對誤差正弦方波三角正弦方波三角正弦方波三角0.02127147127535635
17、5351071271070.03127156127323.3420323.297126970.04127166127217.5315217.587126870.051271761271542521541271911270.06127191127111.6218.3111.667131670.0712720012781.4185.781.457130570.0812721512758.75168.7558.7547135470.0912722012741.1144.441.137130370.10132230132321303232130320.2015633815622692244138440
18、.3022045022026502680150800.403185433189.5369.582144820.5040364140118.828.219.894141990.6049573949017.623.222.41061391100.706328186279.716.81168618770.807209067151013.310.680106850.9080899480310.210.410.79294971.0090110828969.98.210.499821041.501450148914503.30.733.35011502.002053247920532.621.052.65
19、5321532.502499296925080.0418.760.32146983.003096344330773.28.12.5796243773.503547364035471.3441.3447140474.003998412040130.0530.332120134.504463460144830.822.240.3837101175.004939496850121.220.640.24613212表四:輸入信號在不同頻率下的峰值測量輸入信號峰值(V)輸入信號頻率(Hz)測量信號峰值(mV)相對誤差(%)正弦方波三角正弦方波三角0.024012712712763563563540012
20、71371276354856354K13212713256058556040K1321421375606105850.2401561611562219.5224001563331562266.5224K1563431562271.52240K186343176771.5122402048209720532.44.852.654002048246920582.423.452.94K2048245920532.422.952.6540K2038249418321.924.78.45404929501249781.420.240.444004924501249781.520.240.444K4939
21、501249731.220.240.5440K4904501247381.920.241.24從上述表格可看出,在改變待測信號頻率的條件下,所測信號峰值基本不變六、 測試結(jié)果分析由表一和表二可看出,在測量輸入頻率在40Hz-50KHz之間變化的交流信號的頻率時,正弦波、方波、三角波的誤差都在3%以內(nèi),而且輸入交流信號的峰值在0.025-5V之間變化時對頻率的測量基本無影響。由表三可知,當(dāng)輸入交流信號的峰值在1-5V之間變化時,測量誤差都可保證在10%以內(nèi),此測量結(jié)果并未消除二極管導(dǎo)通壓降造成的誤差,此誤差可通過編程進(jìn)行修正;當(dāng)輸入交流信號的峰值小于1V時,測量誤差較大,此誤差源于電路設(shè)計(jì)存在缺
22、陷,無法通過編程修正;相比于方波,正弦波和三角波的峰值測量誤差更??; 由表四可知在改變待測信號頻率的條件下,所測信號峰值基本不變。七、 測試儀器函數(shù)信號發(fā)生器,示波器附錄一:經(jīng)整流電路后的交流信號波形:經(jīng)施密特觸發(fā)器整形后的波形(方波):附錄二:軟件部分代碼:#include <reg52.h> #include <intrins.h>#define FOSC 12000000L#define BAUD 9600typedef unsigned char BYTE;typedef unsigned int WORD;sbit LCM_E=P25;/定義接口sbit LC
23、M_RW=P26;sbit LCM_RS=P27;sfr ADC_CONTR = 0xBC; sfr ADC_RES = 0xBD;sfr ADC_LOW2 = 0xBE;sfr P1ASF = 0x9D;sfr AUXR = 0x8e; #define ADC_POWER 0x80#define ADC_FLAG 0x10#define ADC_START 0x08#define ADC_SPEEDLL 0x00#define ADC_SPEEDL 0x20#define ADC_SPEEDH 0x40#define ADC_SPEEDHH 0x60#define LCM_Data P0/數(shù)
24、據(jù)接口void InitUart();void SendData(BYTE dat);void Delay(unsigned int n);void IO_ADinit() ;void ADC_Power_On() ;void get_ad_result() ;void ADCONVERT() ;void WriteDataLCM(BYTE WDLCM);void WriteCommandLCM(BYTE WCLCM,BuysC);BYTE ReadDataLCM(void);BYTE ReadStatusLCM(void);unsigned int GetADCResult(BYTE ch)
25、;void LCMInit(void);void DisplayOneChar(BYTE X, BYTE Y, BYTE DData);void DisplayListChar(BYTE X, BYTE Y, BYTE code *DData);void Delay5Ms(void);void Delay400Ms(void);void Disp_number(unsigned int num,BYTE n);void ShowResult(BYTE ch);unsigned int GetADCResult(BYTE a);unsigned int data_max = 0;unsigned
26、 long data_max1,count =0;unsigned int data_change = 150;/0.7Vunsigned char code VP4="Amp:",Freq5="Freq:"unsigned int Counter = 0;unsigned int data_last = 0;BYTE ch = 0;unsigned int Frequency = 0;unsigned int nn =0,flag = 0,flag1 = 0,nn1=0; unsigned int PrintFre5 ; unsigned int Pr
27、int4; unsigned int number4;unsigned int D;void main()unsigned int n=0;Delay400Ms();/啟動等待,等LCM講入工作狀態(tài)LCMInit();/LCM初始化Delay5Ms();/延時片刻(可不要)ET1 = 1;EA=1;InitUart();TMOD = 0x15;/均為16位計(jì)數(shù)器 TH0 = 0x00;TL0 = 0x00;TH1 = 0x3C;TL1 = 0xAF; TCON = 0x50;/T1,T0均工作,t1做定時器,t0做計(jì)數(shù)器; while(1) ADCONVERT(); n+; if(n>1
28、0000)data_max=0;n=0; void To_interrupt(void)interrupt 3 using 1int i ,j;unsigned int Change1,Print4; unsigned long int Change2; TH1 = 0x3C; TL1 = 0xAF;Counter = Counter+; if(Counter = 20) Frequency = (TH0<<8)+TL0;/讀取此時計(jì)數(shù)器0的讀數(shù) if(Frequency>=2000)Change1 = (Frequency/100)*92; else if (Frequen
29、cy>=200)Change1 = (Frequency/10)*92)/10; else Change1 = (Frequency*97)/100; for( i=0;i<5;i+)PrintFrei = Change1 % 10;Change1 = Change1 / 10; for(i=4;i>=0;i-) if(i>0)DisplayOneChar(4-i,0,PrintFrei+48); elseDisplayOneChar(4-i,0,PrintFrei+48); DisplayListChar(5-i,0,"Hz"); Change2
30、= data_max*49; Change2 = Change2/10;for(j=0;j<=3;j+)Printj = Change2 % 10;Change2 = Change2 / 10; for(j=3;j>=0;j-) if(j>0) DisplayOneChar(10-j,0,Printj+48); else DisplayOneChar(10-j,0,Printj+48); DisplayListChar(11-j,0,"mV"); TH1 = 0x3C; TL1 = 0xAF; TH0 = 0xFF; TL0 = 0xFC; Counter
31、 = 0; void IO_ADinit() ADC_CONTR=0xe0; /設(shè)置P1.0為輸入AD轉(zhuǎn)換口 _nop_(); /ADC_CONTR需要四個指令延時 _nop_(); _nop_(); _nop_(); void ADC_Power_On() ADC_CONTR|=0x80; _nop_(); _nop_(); _nop_(); _nop_(); void get_ad_result() unsigned int q=0,ad_average_result; ADC_RES=0; ADC_LOW2=0; ADC_CONTR|=0x08; while(!(ADC_FLAG&
32、;ADC_CONTR) ; ADC_CONTR&=0xE7; ad_average_result=(ADC_RES<<2)+ADC_LOW2; if(data_max<ad_average_result)data_max=ad_average_result; void ADCONVERT() ADC_Power_On(); IO_ADinit(); get_ad_result(); void InitUART()SCON = 0x5a;PCON|= 0x80; void SendData(BYTE dat) while(!TI); TI = 0;SBUF = dat;
33、 void Delay(unsigned int i)unsigned char j;for(i; i > 0; i-)for(j = 200; j > 0; j-) ;void WriteDataLCM(BYTE WDLCM)ReadStatusLCM(); /檢測忙LCM_Data = WDLCM;LCM_E = 0;LCM_RS = 1;LCM_RW = 0;LCM_E = 0; /若晶振速度太高可以在這后加小的延時LCM_E = 1;LCM_E = 0;void WriteCommandLCM(BYTE WCLCM,BuysC) /BuysC為0時忽略忙檢測if (Buys
34、C) ReadStatusLCM(); /根據(jù)需要檢測忙LCM_Data = WCLCM;LCM_E = 0;LCM_RS = 0;LCM_RW = 0; LCM_E = 1; LCM_E = 0;BYTE ReadDataLCM(void)LCM_E = 0;LCM_RS = 1; LCM_RW = 1;LCM_E = 1;LCM_E = 0;return(LCM_Data);BYTE ReadStatusLCM(void)LCM_Data = 0xFF;LCM_E = 0; LCM_RS = 0;LCM_RW = 1;LCM_E = 1;LCM_E = 0;while (LCM_Data
35、& 0x80) /檢測忙信號 LCM_E=0; LCM_E=1; return(LCM_Data);void LCMInit(void) /LCM初始化LCM_Data = 0;WriteCommandLCM(0x38,0); /三次顯示模式設(shè)置,不檢測忙信號Delay5Ms(); WriteCommandLCM(0x38,0);Delay5Ms(); WriteCommandLCM(0x38,0);Delay5Ms(); WriteCommandLCM(0x38,1); /顯示模式設(shè)置,開始要求每次檢測忙信號WriteCommandLCM(0x08,1); /關(guān)閉顯示W(wǎng)riteCommandLCM(0x01,1); /顯示清屏WriteCommandLCM(0x06,1); /
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國拋丸設(shè)備行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 中班健康我真棒課件
- 廣州花都區(qū)小升初數(shù)學(xué)試卷
- 2024年延安市安塞區(qū)大學(xué)生到政府機(jī)關(guān)筆試真題
- 酒吧演出出場費(fèi)合同協(xié)議
- 鋼琴租賃協(xié)議合同書模板
- 汽車常規(guī)保養(yǎng)手冊
- 裝修低價協(xié)議書范本模板
- 張掖市臨澤縣特聘動物防疫專員考試真題2024
- 租船合同范本2025
- 全員安全生產(chǎn)責(zé)任制度建立
- 生物老師考試真題及答案
- 提升服務(wù)力培訓(xùn)
- 2025至2030中國電容耦合隔離器行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 體育社會學(xué)(高教版)第十章《社會體育的社會學(xué)分析》
- 中醫(yī)藥法課件圖片高清
- 俄語必修說課課件
- 建筑基坑支護(hù)技術(shù)規(guī)程 JGJ 120-2012知識培訓(xùn)
- 2017版高中生物課程標(biāo)準(zhǔn)考試試題及答案
- 中醫(yī)夏令營課程
評論
0/150
提交評論