




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 數(shù)字相差檢測(cè)儀的制作 專 業(yè): 電氣 班 級(jí): XX班 學(xué) 號(hào): XXXXXXXXXX 學(xué)生姓名: XXX 指導(dǎo)教師: XX 目錄摘要:1Abstract:1第一章 緒論21.1 測(cè)量相位差的作用和意義21.2 相位差測(cè)量的研究現(xiàn)狀21.3本課題研究的主要內(nèi)容4第一章:最小二乘法以及快速傅里葉變換簡(jiǎn)介51.1:最小二乘法簡(jiǎn)介52.1 主程序流程圖82.2位倒序算法實(shí)現(xiàn)92.4 FFT算法的實(shí)現(xiàn)102.5 AD采樣的使用112.6 定時(shí)器的使用12第三章:硬件電路設(shè)計(jì)133.1 移相電路的設(shè)計(jì)133.2 電壓跟隨器模塊143.4 電源電路163.4.1 變壓器簡(jiǎn)介163.4.2 單相全橋整流電
2、路16結(jié)論17致謝18參考文獻(xiàn)(Reference)19附錄:20基于最小二乘法的低頻數(shù)字相位差檢測(cè)儀的研究摘要:常見(jiàn)的相位差檢測(cè)方法一般是過(guò)零法,通過(guò)外部硬件電路對(duì)正弦信號(hào)的零點(diǎn)進(jìn)行檢測(cè),產(chǎn)生的脈沖信號(hào)出發(fā)MCU的外部中斷,通過(guò)MCU的定時(shí)器計(jì)算出信號(hào)的頻率以及相位差。但是,現(xiàn)實(shí)生活中的正弦信號(hào),特別是電網(wǎng)提供的交流電,或多或少都會(huì)有失真,如果交流電在過(guò)零點(diǎn)處失真特別嚴(yán)重,就可能會(huì)導(dǎo)致檢測(cè)不出零點(diǎn)或者檢測(cè)出多個(gè)零點(diǎn),并且這種檢測(cè)方法外部硬件電路比較復(fù)雜,成本較高。所以,本文提出的最小二乘法因其成本低,使用范圍廣,可靠性高而被廣泛應(yīng)用。主要方法是,在單周期內(nèi)對(duì)兩個(gè)信號(hào)進(jìn)行2N點(diǎn)的采樣,把離散化
3、后的信號(hào)相乘,通過(guò)快速傅里葉變化分解出其中的直流信號(hào),最終計(jì)算得到兩個(gè)正弦信號(hào)的相位差。關(guān)鍵詞:最小二乘法,快速傅里葉變換The low-frequency digital phase detector based on least-square method researchAbstract: the phase difference detection method in common is the zero passage method and through external hardware circuit of zero point of sine signal detection
4、, produce the pulse signal of the external interrupt of MCU by MCU timer to calculate the frequency and phase difference of signals.Sine signal in real life, however, especially the alternating current power grid provided, there will be more or less distortion, if alternating current (ac) in a zero
5、distortion is extremely serious, is likely to lead to detect the zero or detect more than zero, and the test method of external hardware circuit is more complex, high cost. So, in this paper, the least square method because of its low cost, wide use, high reliability and is widely used. The main met
6、hod is, in a single cycle of two signals 2 n sampling points,After the discretization of the signal multiplied by fast Fourier change into the dc signal, finally the phase difference of two sine signals is calculated.Keywords: least squares method, fast Fourier transform第一章 緒論1.1 測(cè)量相位差的作用和意義信號(hào)的相位差測(cè)量
7、在電力系統(tǒng)、工業(yè)自動(dòng)化、功率因素測(cè)量、諧波分析等許多領(lǐng)域都有著廣泛的應(yīng)用。相位差是工業(yè)領(lǐng)域經(jīng)常需要測(cè)量的一個(gè)參數(shù),它是信號(hào)分析的基本任務(wù),在實(shí)際工作中,經(jīng)常需要測(cè)量?jī)蓚€(gè)同頻信號(hào)之間的相位差,來(lái)解決實(shí)踐中的各種問(wèn)題。相位差測(cè)量與傳統(tǒng)電壓、電流信號(hào)、溫度量測(cè)量不同。首先,相位差依附于電壓、電流信號(hào)中,如何消除電壓、電流、頻率變化對(duì)相差測(cè)量的影響是相差測(cè)量中很重要的一個(gè)方面;其次,相差是一個(gè)比較量,測(cè)量?jī)陕沸盘?hào)之間的相差不但需要保證兩路信號(hào)的頻率相同,而且需要排除信號(hào)幅值不同等其他因素造成的影響,所以如何準(zhǔn)確可靠得測(cè)量相差是一個(gè)值得研究的課題。在實(shí)際工作中,通常需要測(cè)量?jī)蓚€(gè)同頻信號(hào)的相位差來(lái)解決實(shí)際
8、問(wèn)題。例如電網(wǎng)合閘時(shí),需要保證兩電網(wǎng)電信號(hào)的相位相同,這時(shí)需要精確測(cè)量?jī)晒ゎl信號(hào)之間的相位差,如果兩信號(hào)之間的相差不相同,就會(huì)有很大的沖擊電流流過(guò)電網(wǎng),會(huì)對(duì)電網(wǎng)產(chǎn)生很大的破壞,所以必須精確測(cè)量出兩信號(hào)之間的相位差。隨著數(shù)字電子技術(shù)的發(fā)展,由數(shù)字電路組成的控制系統(tǒng)已經(jīng)變成現(xiàn)代檢測(cè)技術(shù)的主流,人們對(duì)數(shù)字測(cè)量系統(tǒng)也越來(lái)越重視。相差的數(shù)字測(cè)量采用液晶屏顯示,精度高,穩(wěn)定性好,讀數(shù)方便,所以,相位差的數(shù)字化測(cè)量有應(yīng)用前景很廣泛。1.2 相位差測(cè)量的研究現(xiàn)狀隨著電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,相位測(cè)量技術(shù)的發(fā)展也非常迅速,尤其在電氣、電力電子技術(shù)方面得到了極大的重視和發(fā)展。目前,相位測(cè)量技術(shù)已比較完善,測(cè)量方
9、法及理論也比較成熟,相位測(cè)量?jī)x已商品化和系列化,廣泛應(yīng)用于測(cè)量RC、LC網(wǎng)絡(luò)、放大器相頻特性以及依靠信號(hào)相位傳遞信息等方面的電子設(shè)備?,F(xiàn)代相位測(cè)量技術(shù)的可分為三個(gè)階段第一階段是在早期采用的如李妙育法、阻抗法、和差法、三電壓法等,這些測(cè)量方法通常采用對(duì)比法和平衡法,雖然方法簡(jiǎn)單,但測(cè)量精度較低;第二階段是利用數(shù)字專用電路、微處理器等來(lái)構(gòu)成測(cè)試系統(tǒng),使測(cè)量精度得以大大提高;第三階段是充分利用計(jì)算機(jī)及智能化測(cè)量技術(shù),從而大大簡(jiǎn)化程序設(shè)計(jì),增強(qiáng)功能,使得響應(yīng)的產(chǎn)品精度高、功能更全。同時(shí),各種新的算法、測(cè)量手段和新的設(shè)計(jì)方法及器件也隨之出現(xiàn)。目前,國(guó)內(nèi)外提出了許多改進(jìn)的高精確度的相位差測(cè)量方法,主要包括
10、有:(1) 采用專用的數(shù)字處理芯片,利用正余弦表格及快速傅立葉變換方法來(lái)計(jì)算相位差,可大大提高測(cè)量精度。(2) 采用新器件及設(shè)計(jì)方法來(lái)提高相差測(cè)量精度及展寬頻帶。、(3) 采用新的算法來(lái)改進(jìn)相差測(cè)量(4) 采用高精度相位測(cè)量設(shè)備,通過(guò)相位輸出信號(hào),利用橋路與輸入信號(hào)相位進(jìn)行比較,從而測(cè)出相位差?;诓煌⑻幚硇酒惨验_(kāi)發(fā)了許多不同的相位計(jì),常見(jiàn)的有以下幾種:(1) 基于FPGA/CPLD的相差測(cè)量。其優(yōu)點(diǎn)是可以進(jìn)行功能仿真,而且FPGA和CPLD的片內(nèi)資源豐富,設(shè)計(jì)的流程簡(jiǎn)單,缺點(diǎn)是開(kāi)發(fā)成本高。(2) 基于單片機(jī)控制的相位差測(cè)量設(shè)備。該方法硬件上需要用到過(guò)零檢測(cè)及異或電路,將兩路輸入信號(hào)的相位
11、差轉(zhuǎn)換成方波,再利用單片機(jī)測(cè)出該方波的占空比,并最終換算出電壓。(3) 基于DSP技術(shù)的相位計(jì)。相位檢測(cè)系統(tǒng)主要由前置放大電路實(shí)現(xiàn)將被測(cè)信號(hào)(無(wú)論是電壓還是電流)衰減為5V以內(nèi)交流電壓信號(hào);由電壓跟隨器將前后級(jí)電路進(jìn)行隔離,以保證測(cè)量系統(tǒng)不吸收被測(cè)信號(hào)源的能量,保證信號(hào)源的工作狀態(tài)不被改變。(4) 基于PLD和PLL的相位計(jì)。該數(shù)字式相位差測(cè)量?jī)x以可編程邏輯PLD和鎖相環(huán)PLL倍頻電路為核心,實(shí)現(xiàn)兩列信號(hào)相位差的自動(dòng)測(cè)量。在相位/頻率測(cè)量技術(shù)領(lǐng)域,美國(guó)一直處于遙遙領(lǐng)先的地位,主要的公司有Agilent(安捷倫)、Tektronix(泰克)、ADYU公司、DRANETZ實(shí)驗(yàn)室。此外,俄羅斯,英國(guó)
12、以及德國(guó)在此領(lǐng)域也具有較高水平。國(guó)外的主要產(chǎn)品有美國(guó)安捷倫構(gòu)思的53131IA型通用計(jì)數(shù)器,該產(chǎn)品提供10秒/位的頻率/周期分辨率和225MHz帶寬,測(cè)量結(jié)果范圍是1ns10000s,時(shí)間分辨率為500ps,測(cè)相范圍為-180°360°,測(cè)量頻率高達(dá)12.4GHz。標(biāo)準(zhǔn)測(cè)量包括相位、頻率、周期、時(shí)間間隔和上升/下降時(shí)間等。英國(guó)Avpower公司的高精度相位計(jì)SD1000:具有自動(dòng)設(shè)置量程的功能,測(cè)量頻率范圍高達(dá)700KHz,允許輸入頻率高達(dá)100GHz,相位分辨率高達(dá)0.001,相位測(cè)量范圍為-180°180°,在相位測(cè)量精度方面,低頻精度為±
13、0.0020,高頻精度為±0.20,微波為±0.10。該產(chǎn)品被公認(rèn)為是目前等級(jí)最高的相位計(jì),輸入信號(hào)幅值得范圍為1mV350V。通過(guò)調(diào)研,目前國(guó)外商品化的通用相位計(jì)的水平低頻段達(dá)1xHz數(shù)量級(jí)。國(guó)內(nèi)相位計(jì)領(lǐng)域起步較晚,相位測(cè)量技術(shù)的研究開(kāi)始于70年代,早期研究相位測(cè)量的單位和技術(shù)人員很少,國(guó)內(nèi)主要有天津中環(huán)電子生產(chǎn)商品化相位計(jì),相位計(jì)量機(jī)構(gòu)是中國(guó)計(jì)量科學(xué)研究院和國(guó)防科工委,產(chǎn)品主要測(cè)量工頻信號(hào)。目前,國(guó)內(nèi)相位計(jì)產(chǎn)品領(lǐng)域發(fā)展迅速,如深圳創(chuàng)新儀器儀表SP312B系列等精度通用計(jì)數(shù)器/相位計(jì),它以高性能的AVR單片機(jī)與CPLD為核心,測(cè)頻分辨率8位/秒,可測(cè)周期范圍10ns700
14、0s,測(cè)時(shí)范圍40ns7000s,相位測(cè)量范圍0°360°,測(cè)相精度0.05°,測(cè)量功能與Agilent 53131A型計(jì)數(shù)器基本相同,但測(cè)量指標(biāo)略低。此外還有天津中環(huán)科儀電子儀器公司HG4180型數(shù)字相位計(jì),其特點(diǎn)包括:頻率范圍覆蓋范圍廣、測(cè)量精度高、不但能測(cè)量相位,而且能測(cè)量頻率、在全部頻率范圍內(nèi)都能直接得到五位有效數(shù)字的頻率讀數(shù)、具有IEE488借口選件,主要用于工業(yè)測(cè)量領(lǐng)域??傮w來(lái)說(shuō),我國(guó)相位測(cè)量技術(shù)與國(guó)外相比還有較大的差距,主要體現(xiàn)在產(chǎn)品種類少,配套產(chǎn)品少、產(chǎn)品測(cè)試功能單一、儀器精度、數(shù)字化和自動(dòng)化程度較低,相位計(jì)量標(biāo)準(zhǔn)不完備。因此對(duì)高精度相位測(cè)量算法的
15、研究和相位計(jì)產(chǎn)品化設(shè)計(jì)刻不容緩。1.3本課題研究的主要內(nèi)容當(dāng)需要測(cè)量大功率,高壓信號(hào)之間的相位差時(shí),通常需要通過(guò)放大器或者變壓器先將大功率、高壓信號(hào)轉(zhuǎn)換成小功率、低壓信號(hào)才能輸入到檢測(cè)設(shè)備進(jìn)行相位差進(jìn)行測(cè)量。但現(xiàn)實(shí)中的器件往往與理論上有一些差距。受到器件的非線性、環(huán)境因素的影響,變換后的信信號(hào)總會(huì)出現(xiàn)或大或小的失真,在信號(hào)過(guò)零點(diǎn)出現(xiàn)震蕩。這樣,通過(guò)過(guò)零檢測(cè)的方法根本無(wú)法檢測(cè)相位差。這就需要有一種新的方法來(lái)進(jìn)行相位差測(cè)量。本設(shè)計(jì)主要是研究如何利用最小二乘法和快速傅立葉變換算法來(lái)測(cè)量相位差。通過(guò)對(duì)兩路信號(hào)在一個(gè)周期內(nèi)進(jìn)行點(diǎn)的采樣,在將采樣后的兩路信號(hào)相乘,通過(guò)快速傅立葉變換算法計(jì)算出相乘后的信號(hào)中
16、的直流分量的大小。因?yàn)樵撝绷鞣至康拇笮H與兩路信號(hào)的幅值及其相位差有關(guān)系,所以可以在通過(guò)公式計(jì)算出相位差。應(yīng)用這種測(cè)量方法,不僅提高了測(cè)量精度,節(jié)省了硬件成本,而且可以允許變換后的輸入信號(hào)有一定程度的失真。第一章:最小二乘法以及快速傅里葉變換簡(jiǎn)介1.1:最小二乘法簡(jiǎn)介對(duì)于兩個(gè)相位差為的正弦信號(hào)和,利用積化和差公式可得不難看出,合成的信號(hào)中包含了二次諧波和直流分量,且直流分量的大小僅和兩信號(hào)的相位差和幅值有關(guān)系,也就是說(shuō),只要能求出該直流分量以及兩個(gè)信號(hào)幅值的大小,相位差也就可以計(jì)算出來(lái)了。1.2:傅里葉級(jí)數(shù)簡(jiǎn)介對(duì)于任意滿足狄里赫利收斂條件(即周期函數(shù)的極值點(diǎn)數(shù)目為有限個(gè),間斷點(diǎn)的數(shù)目為有限個(gè),
17、且在一個(gè)周期內(nèi)絕對(duì)可積)的周期函數(shù),必定可以展開(kāi)成一個(gè)收斂的傅里葉級(jí)數(shù),其形、式為: 由歐拉公式1.2.6可以得出利用定積分換元可得 再對(duì)該積分離散化得 也就是說(shuō),每計(jì)算一次諧波大小,需要進(jìn)行N次復(fù)數(shù)乘法運(yùn)算和N-1次復(fù)數(shù)加法運(yùn)算,那么,計(jì)算N次諧波的大小則需要N2次復(fù)數(shù)乘法運(yùn)算和N*(N-1)次復(fù)數(shù)加法運(yùn)算,如果采樣點(diǎn)數(shù)非常密集,運(yùn)算需要大量的時(shí)間,對(duì)于一些實(shí)時(shí)性要求比較的高的場(chǎng)合,顯然是不能滿足其要求的。1.3 快速傅里葉變換原理介紹1965年,J.W.庫(kù)和T.W.圖共同提出了快速傅里葉變換。早期時(shí)應(yīng)用比較廣泛的是基二的快速傅里葉變換,后來(lái),因?yàn)閼?yīng)用場(chǎng)合的要求,又相繼提出了基四和基八的快速
18、傅里葉變換算法,在此,主要介紹基二的快速傅里葉變換。對(duì)于一個(gè)N(N=2n)點(diǎn)采樣的信號(hào),我們將其的離散序列 分成奇偶兩組,并且令 ,則k次諧波的大小可表示為利用旋轉(zhuǎn)因子的對(duì)稱性和周期性可得: 再根據(jù)旋轉(zhuǎn)因子的對(duì)稱性可得:至此,一個(gè)N點(diǎn)的離散傅里葉變換就被分解成了兩個(gè)點(diǎn)的離散傅里葉變換(DFT),依此類推,兩個(gè)點(diǎn)的DFT變換可以分解成四個(gè)點(diǎn)的DFT變換,最終可以分解成個(gè)兩點(diǎn)的DFT變換。由公式可知,對(duì)于兩點(diǎn)的DFT變換 我們把這樣一個(gè)兩點(diǎn)的DFT運(yùn)算稱為蝶形變換,一個(gè)蝶形變換需要消耗4次復(fù)數(shù)乘法和2次復(fù)數(shù)加減。對(duì)于一個(gè)N點(diǎn)的離散傅里葉變換,蝶形結(jié)深度為,而每一級(jí)有個(gè)蝶形結(jié)。所以,一個(gè)N點(diǎn)的離散傅
19、里葉變換化簡(jiǎn)成基2的快速傅里葉變換后就是*個(gè)蝶形結(jié)的計(jì)算,最終也就是2*N*次復(fù)數(shù)乘法運(yùn)算和N*次復(fù)數(shù)加減法運(yùn)算。以1024點(diǎn)的傅里葉變換為例,DFT算法需要消耗=1048576次復(fù)數(shù)乘法運(yùn)算,需要消耗次復(fù)數(shù)加減法運(yùn)算。而FFT算法僅消耗20480次復(fù)數(shù)乘法運(yùn)算和10240次復(fù)數(shù)加減法運(yùn)算,因此,運(yùn)算速度得到很大的提高。正常順序二進(jìn)制十進(jìn)制位倒序后二進(jìn)制十進(jìn)制0000000000111004010201020113110610040011101510151106011311171117在把一個(gè)N點(diǎn)的DFT變換化簡(jiǎn)成個(gè)2點(diǎn)的DFT變換的過(guò)程中,因?yàn)榭偸遣粩嗟匕岩粋€(gè)表1 8點(diǎn)FFT算法位倒敘前后的
20、順序變化采樣序列按奇偶項(xiàng)分成兩個(gè)序列,所以離散采樣點(diǎn)順序已經(jīng)不是原來(lái)的排序了,例如8點(diǎn)的DFT變換后的序列應(yīng)該是 0 4 2 6 1 5 3 7,這個(gè)排列看起來(lái)似乎很亂,沒(méi)有什么規(guī)律,但是我們把他寫(xiě)成二進(jìn)制的形式,其規(guī)律也就一目了然了,通過(guò)雷德算法可以得到位倒敘后的正確排序。第二章:軟件設(shè)計(jì)2.1 主程序流程圖對(duì)AD采樣信號(hào)進(jìn)行冒泡排序,計(jì)算正弦信號(hào)幅值及被抬高的電壓值并對(duì)信號(hào)還原對(duì)兩路信號(hào)進(jìn)行乘法運(yùn)算AD,定時(shí)器,12864初始化AD采樣完成了? 開(kāi)始雷德算法對(duì)信號(hào)序列進(jìn)行位倒序FFT算法分解出直流分量根據(jù)直流分量大小計(jì)算出相位差 送屏幕顯示圖1 主程序流程圖2.2位倒序算法實(shí)現(xiàn)由表1可以看
21、出,按自然順序排列的二進(jìn)制數(shù),其下面一個(gè)數(shù)總是比上面一個(gè)數(shù)大1,下面一個(gè)數(shù)是上面一個(gè)數(shù)最低位加1并向高位進(jìn)位得到的。而位倒序數(shù)的下面一個(gè)數(shù)是上面一個(gè)數(shù)最高位加1并向低位進(jìn)位得到的。若已知某個(gè)位倒序數(shù)J,要求其下一個(gè)位倒序數(shù),應(yīng)判斷J的最高位是否為1,可以與比較。若,則J的最高位為0,只需要將該位變成1即可。若,則J的最高位為1,將該位變?yōu)?,并判斷次高位(與比較),若位0則置1,若位則繼續(xù)與比較,以此類推,其C語(yǔ)言函數(shù)原型為void leide(struct compx *value,int num),形參struct compx *value為結(jié)構(gòu)體指針,用于傳入待進(jìn)行倒序運(yùn)算的復(fù)數(shù)序列,形
22、參int num用于傳入待排序的復(fù)數(shù)的個(gè)數(shù)。2.3 冒泡排序法實(shí)現(xiàn)冒泡排序法(Bubble sort)是計(jì)算機(jī)科學(xué)領(lǐng)域比較簡(jiǎn)單的一種排序方法,它重復(fù)走訪要排列的序列,一次比較兩個(gè)序列,如果它們順序錯(cuò)誤,就把它們交換過(guò)來(lái),走訪數(shù)列的工作重復(fù)進(jìn)行,直到?jīng)]有可以交換的序列為止,也就是說(shuō)該數(shù)列已經(jīng)排序完成,其C語(yǔ)言函數(shù)原型為void Bubble(int *value,uint num),形參int *value是待排序的整數(shù)序列,uint num是待排序的整數(shù)個(gè)數(shù)。2.4 FFT算法的實(shí)現(xiàn)計(jì)算下一個(gè)蝶形結(jié)改變旋轉(zhuǎn)因子計(jì)算蝶形結(jié)級(jí)數(shù)級(jí)蝶形結(jié)都計(jì)算完了?計(jì)算旋轉(zhuǎn)因子相同的蝶形結(jié)之間的距離計(jì)算同一蝶形結(jié)中
23、兩個(gè)運(yùn)算數(shù)據(jù)之間的距離給旋轉(zhuǎn)因子賦初值旋轉(zhuǎn)因子相同的蝶形結(jié)運(yùn)算完了? 結(jié)束圖2 FFT算法程序流程圖 開(kāi)始FFT算法C語(yǔ)言函數(shù)原型為void FFT(struct compx *value,int num),形參struct compx *value是結(jié)構(gòu)體指針,用來(lái)傳入待進(jìn)行FFT運(yùn)算的復(fù)數(shù)序列,形參int num用來(lái)傳入待運(yùn)算的復(fù)數(shù)的個(gè)數(shù)。2.5 AD采樣的使用STC12C5A60S2系列帶AD轉(zhuǎn)換的單片機(jī)的AD轉(zhuǎn)換口在P1口(P1.0P1.7),有8路十位高速AD,速度可達(dá)250KHZ(25萬(wàn)次每秒)。八路電壓輸入型AD,可做溫度檢測(cè),鍵盤(pán)掃描,頻譜檢測(cè)等。上電復(fù)位后P1口為弱上拉型I/
24、O口,用戶還可以通過(guò)軟件設(shè)置將任何一路設(shè)置為AD轉(zhuǎn)換,不需作為AD轉(zhuǎn)換的口可繼續(xù)做IO口使用。STC12C5A60S2系列單片機(jī)的AD是逐次比較型AD。逐次比較型AD由一個(gè)比較器和DA轉(zhuǎn)換器構(gòu)成,通過(guò)逐次比較邏輯,從最高位(MSB)開(kāi)始,順序得對(duì)每一輸入電壓與內(nèi)置DA轉(zhuǎn)換器輸出作比較,通過(guò)多次比較,使轉(zhuǎn)換所得的數(shù)字逐次逼近輸入模擬量與對(duì)應(yīng)值,逐次比較型AD具有速度高,功耗低的優(yōu)點(diǎn)。首先,模擬信號(hào)要輸入到AD必須要有AD輸入通道,所以先要把復(fù)用IO口P1設(shè)置為AD輸入,通過(guò)對(duì)P1ASF寄存器器操作可以實(shí)現(xiàn),需要將P1口的哪一位設(shè)置為AD輸入,則將P1ASF的該位置一。例如:要將P1.0作為AD輸
25、入,其他的作為普通IO口,則將P1ASF設(shè)置為0X01。接下來(lái),模擬信號(hào)輸入到AD通道以后,要使用AD模塊對(duì)其進(jìn)行轉(zhuǎn)換,但是AD模塊只有一個(gè),所以同一時(shí)刻只能選擇一個(gè)通道進(jìn)行轉(zhuǎn)換,因此啟動(dòng)AD轉(zhuǎn)換之前還必須告訴AD當(dāng)前要對(duì)哪一個(gè)通道進(jìn)行轉(zhuǎn)換。此外,在啟動(dòng)轉(zhuǎn)換之前還要告訴AD模塊基準(zhǔn)電壓是多少,轉(zhuǎn)換速率是多少,以及轉(zhuǎn)換精度是多少位,這些都設(shè)置完成以后就可以啟動(dòng)AD轉(zhuǎn)換了。 知道了使用AD模塊需要做的相應(yīng)的配置,接下來(lái)就是具體如何實(shí)現(xiàn)這些配置了。首先,通過(guò)CH0:CH2可以選擇AD轉(zhuǎn)換的通道。例如:當(dāng)CH0:CH2=000是即選擇通道0。AD模塊的電源只能用5V的單片機(jī)電源,無(wú)法選擇,通過(guò)對(duì)ADC
26、_POWER置一可以給AD模塊上電,AD轉(zhuǎn)換的基準(zhǔn)電壓就是5V,當(dāng)不進(jìn)行AD轉(zhuǎn)換時(shí),為了省電,要斷掉AD模塊的電源。通過(guò)SPEED0和SPEED1兩位可以設(shè)置AD的轉(zhuǎn)換速率,分別可以設(shè)置成90,180,360,540個(gè)時(shí)鐘周期(AD的時(shí)鐘基準(zhǔn)信號(hào)就是單片機(jī)的時(shí)鐘基準(zhǔn)信號(hào))。AD的轉(zhuǎn)換精度可配置成10位或者8位,默認(rèn)為 10位,8位轉(zhuǎn)換精度太低,所以我們直接使用默認(rèn)的10位精度,增加兩位精度對(duì)轉(zhuǎn)換速率影響并不大。最后,將ADC_START置一就可以啟動(dòng)AD轉(zhuǎn)換了。最后,通過(guò)查看ADC_FLAG就可以知道AD轉(zhuǎn)換是否完成了,當(dāng)ADC-FLAG=1時(shí)說(shuō)明AD轉(zhuǎn)換已經(jīng)完成,可以讀取數(shù)據(jù)了。 ADC轉(zhuǎn)換
27、完成后,十位的ADC轉(zhuǎn)換結(jié)果從低到高分別存放在ADC_RESL的低2位和ADC_RES中,通過(guò)公式可以得到十位的ADC轉(zhuǎn)換結(jié)果,最后,再通過(guò)公式:可以計(jì)算出當(dāng)前采樣信號(hào)的電壓值。圖3 ADC轉(zhuǎn)換模塊的構(gòu)成示意圖2.6 定時(shí)器的使用STC12C5A60S2單片機(jī)與89C51單片機(jī)的定時(shí)器類似,不同的是它的定時(shí)器時(shí)鐘信號(hào)可以是是單片機(jī)的震蕩周期,也可以是其12分頻(與普通的89C51單片機(jī)相同),在本設(shè)計(jì)中采用定時(shí)器0,使其工作在方式1,時(shí)鐘信號(hào)為震蕩周期的12分頻。因?yàn)榇郎y(cè)的正弦信號(hào)的頻率為50HZ,所以周期為20MS,要再一個(gè)周期內(nèi)完成32次采樣,所以采樣的時(shí)間間隔為625uS,所以定時(shí)器計(jì)數(shù)
28、器的初值為625,初始化完成后,啟動(dòng)定時(shí)器,在定時(shí)器的中斷服務(wù)程序中進(jìn)行AD采樣,就可以在每個(gè)周期內(nèi)對(duì)信號(hào)進(jìn)行等時(shí)間間隔的32點(diǎn)采樣。2.7 12864液晶的使用方法首先,通過(guò)RS,RW這兩個(gè)引腳的電平,12864可以知道當(dāng)前寫(xiě)入的是數(shù)據(jù)還是指令。當(dāng)RS=0,RW=0時(shí),12864認(rèn)為當(dāng)前寫(xiě)入的是指令。當(dāng)RS=1,RW=0時(shí),12864認(rèn)為當(dāng)前寫(xiě)入的是數(shù)據(jù),數(shù)據(jù)寫(xiě)入以后,通過(guò)IO口操作,在EN引腳產(chǎn)生一個(gè)上升沿來(lái)告訴12864數(shù)據(jù)已經(jīng)發(fā)出,讓12864采樣當(dāng)前接口的數(shù)據(jù)。當(dāng)然,之前的這些操作都是在12864為空閑的情況下才可以操作的,通過(guò)讀取12864接口的最高位的電平就可以判斷當(dāng)前12864
29、當(dāng)前是否為空閑。當(dāng)RS=0,RW=1時(shí),讀取12864當(dāng)前數(shù)據(jù)接口的值,然后在判斷其最高位的值就可以知道12864的狀態(tài)了。將寫(xiě)數(shù)據(jù)和寫(xiě)指令這兩個(gè)功能進(jìn)行封裝,得到數(shù)據(jù)寫(xiě)和指令寫(xiě)的函數(shù),函數(shù)原型為void lcd_wcmd(uchar cmd)(寫(xiě)命令函數(shù))void lcd_wdat(uchar dat)(寫(xiě)數(shù)據(jù)函數(shù))按一定的順序發(fā)送幾個(gè)不同的指令以后可以完成對(duì)12864的初始化操作,將該操作封裝好,得到函數(shù)原型為void lcd12864_init()最后,要搞清楚漢字區(qū)在屏幕上的分布情況,再寫(xiě)入要操作的區(qū)域的坐標(biāo),最后寫(xiě)入要顯示的字符的ASCII值或者漢字的編碼值就可以了,例如,要在第一行
30、第二列顯示一個(gè)漢字,只要先寫(xiě)入指令81H,再寫(xiě)入該漢字的對(duì)應(yīng)的編碼值即可。通過(guò)一定的算法,可以將在屏幕的固定區(qū)域?qū)懭胱址蛯?xiě)入字符串這兩個(gè)功能封裝,得到兩個(gè)函數(shù)原型如下:void display_12864(uchar x,uchar y,uchar *str)void dischar_12864(uchar x,uchar y,uchar zifu)圖4 12864液晶屏漢字區(qū)分布示意圖2.8 軟件設(shè)計(jì)部分總結(jié)可移植性一直是評(píng)價(jià)程序好壞的一個(gè)很重要的標(biāo)準(zhǔn),該項(xiàng)目所用到的三個(gè)算法全部由個(gè)人完成,在算法復(fù)雜度盡可能低的情況下,把算法的可移植性做好。由于算法部分不涉及任何硬件,所以這三個(gè)算法可以在
31、任何MCU上運(yùn)行,只需要修改相應(yīng)的形參即可。這三種算法也是數(shù)字信號(hào)處理中常用的算法,將其功能封裝好做成可移植函數(shù)也為以后項(xiàng)目中調(diào)用該算法提供了方便.第三章:硬件電路設(shè)計(jì)3.1 移相電路的設(shè)計(jì)圖5 移相模塊電路圖測(cè)相差一般都是針對(duì)正弦信號(hào),所以要需要有兩路相位差可調(diào)的正弦信號(hào),這里采用最簡(jiǎn)單的RC低通濾波電路。其上限截止頻率為,輸出信號(hào)與輸入信號(hào)的相位差為,通過(guò)調(diào)節(jié)滑動(dòng)變阻器的阻值可以調(diào)節(jié)相位差的大小,這樣就可以得到兩路相差可調(diào)的正弦信號(hào)了,電路圖如下所示: 3.2 電壓跟隨器模塊 電壓跟隨器具有輸入電阻大,輸出電阻小,輸出電壓等于輸入電壓的優(yōu)點(diǎn),通常用作前后級(jí)電路的隔離。電壓跟隨器可以采用集成
32、運(yùn)放,也可以采用三極管構(gòu)成的共集放大電路,考慮到現(xiàn)在的集成運(yùn)放價(jià)格非常低,所以這兩種方法的成本是差不多的,顯然,采用集成運(yùn)放構(gòu)成的電壓跟隨器具有更高的穩(wěn)定性,所以在本設(shè)計(jì)中采用了集成運(yùn)算放大器構(gòu)成的電壓跟隨器作為移相電路和加法電路的隔離電路。3.3 加法器模塊3.3.1 OP07簡(jiǎn)介OP07是一種低噪聲,非斬波穩(wěn)0的雙極性集成運(yùn)算放大器,由于OP07具有非常低的輸入失調(diào)電壓(對(duì)于OP07最大為25uV),所以在很多場(chǎng)合下不需要在增加額外的調(diào)0電路,OP07的輸入電阻非常大,且開(kāi)環(huán)增益高,其輸入偏置電流通常為2nA,所以O(shè)P07常用于高增益測(cè)量設(shè)備或者放大傳感器的微弱信號(hào)。OP07是雙電源供電,
33、電源電壓范圍為,電源電壓越大,集成運(yùn)放的線性區(qū)就越寬,所以可以根據(jù)輸出信號(hào)的大小來(lái)確定電源電壓的大小,要注意到,電源電壓不能小于輸出信號(hào)。例如,輸出信號(hào)的范圍為0-5V,則電源電壓一定要大于5V,否則,當(dāng)輸入信號(hào)過(guò)大,輸出電路的晶體管由放大區(qū)進(jìn)入飽和區(qū),集成運(yùn)放就由線性區(qū)進(jìn)入到非線性區(qū),輸出電壓等于電源電壓,不在具有放大功能。3.3.2 實(shí)用電路設(shè)計(jì)由于STC12C5A60S2單片機(jī)的片內(nèi)AD只能測(cè)0-5V的模擬信號(hào),所以如果直接把信號(hào)接到單片機(jī)的AD輸入通道上,信號(hào)負(fù)半波是測(cè)不到的,所以考慮先把該交流信號(hào)與一個(gè)直流信號(hào)相加,使得該正弦信號(hào)的電壓值在任何時(shí)刻都大于0,再用單片機(jī)AD進(jìn)行采樣,最
34、終結(jié)果在減去直流信號(hào)。這樣就可以把交流模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)了。加法器采用同相加法運(yùn)算電路,通過(guò)反饋電阻R10和R11引入深度負(fù)反饋,使得運(yùn)放工作在線性區(qū)。當(dāng)集成運(yùn)放工作在線性區(qū)時(shí),其輸入端具有虛短和虛斷效應(yīng)。通過(guò)集成運(yùn)放的虛短和虛斷效應(yīng)可以推導(dǎo)出輸出信號(hào)與輸入信號(hào)的關(guān)系為 其中, ,將圖中數(shù)據(jù)帶入公式可得圖6 加法器電路圖3.4 電源電路 電源電路由變壓器,單相全橋整流電路,濾波電路和穩(wěn)壓模塊構(gòu)成,首先通過(guò)變壓器將220V交流電編程12V交流電,然后利用單相全橋整流電路將交流信號(hào)整成直流信號(hào),再通過(guò)濾波電路,利用電容的充放電使得電壓信號(hào)波動(dòng)較小,最后通過(guò)穩(wěn)壓芯片輸出穩(wěn)定的電壓信號(hào)。3.4.1
35、 變壓器簡(jiǎn)介變壓器也可以稱之為靜態(tài)電機(jī),就是通過(guò)磁場(chǎng)來(lái)耦合前后級(jí)電路,通過(guò)電磁場(chǎng)來(lái)進(jìn)行能量傳遞。當(dāng)在變壓器的一次側(cè)加交流電壓U1,交變的電流流過(guò)線圈后,在鐵芯內(nèi)產(chǎn)生交變的磁場(chǎng),該磁場(chǎng)與二次側(cè)線圈交鏈,在二次側(cè)感應(yīng)出電動(dòng)勢(shì),這樣一次側(cè)的能量就通過(guò)磁場(chǎng)傳遞到了二次側(cè)。假設(shè)一次側(cè)線圈匝數(shù)為N1,二次側(cè)線圈匝數(shù)為N2,由法拉第電磁感應(yīng)定律可知,一次側(cè)電壓為,二次側(cè)感應(yīng)電動(dòng)勢(shì)為,所以一二次側(cè)電壓比。3.4.2 單相全橋整流電路圖7 單相全波整流電路橋式整流電路的工作原理如圖11所示。在u2的正半周,D1、D3導(dǎo)通,D2、D4截止,電流由TR次級(jí)上端經(jīng)D1 RL D3回到TR 次級(jí)下端,在負(fù)載RL上得到一
36、半波整流電壓。 在u2的負(fù)半周,D1、D3截止,D2、D4導(dǎo)通,電流由Tr次級(jí)的下端經(jīng)D2 RL D4 回到Tr次級(jí)上端,在負(fù)載RL 上得到另一半波整流電壓。 這樣就在負(fù)載RL上得到一個(gè)與全波整流相同的電壓波形,其電流的計(jì)算與全波整流相同,即 流過(guò)每個(gè)二極管的平均電流為每個(gè)二極管所承受的最高反向電壓為 結(jié)論本文討論了一種全新的相位差檢測(cè)的算法,相對(duì)于傳統(tǒng)的過(guò)零檢測(cè)方法具有很多優(yōu)勢(shì),容許待檢測(cè)信號(hào)具有一定的失真,檢測(cè)精度更高,但是硬件和軟件相對(duì)而言也更加復(fù)雜,本設(shè)計(jì)最終實(shí)現(xiàn)了
37、0-90º的相位差測(cè)量,測(cè)量精度精確到小數(shù)點(diǎn)后兩位。在此基礎(chǔ)上,利用STC12C5A60S2單片機(jī)實(shí)現(xiàn)了本設(shè)計(jì)方案,結(jié)果表明:本設(shè)計(jì)方案對(duì)硬件設(shè)計(jì)要求很高,因?yàn)锳D模塊不能采樣到低于0的電壓,而交流信號(hào)必定會(huì)存在負(fù)半波,為了能對(duì)信號(hào)整個(gè)周期進(jìn)行采樣,必須通過(guò)硬件電路對(duì)信號(hào)進(jìn)行處理,在通過(guò)算法對(duì)其還原,如果硬件電路做的不好,處理信號(hào)的過(guò)程中因?yàn)榧蛇\(yùn)放的溫飄和零飄是的信號(hào)產(chǎn)生較大的失真,會(huì)導(dǎo)致相差檢測(cè)波動(dòng)較大32點(diǎn)的FFT運(yùn)算的精度過(guò)低,也會(huì)導(dǎo)致相差測(cè)量精度不高,在本設(shè)計(jì)中為了節(jié)省成本,采用了價(jià)格較低的STC單片機(jī),由于收到內(nèi)存的限制,最大只能運(yùn)行32點(diǎn)的FFT運(yùn)算,所以相差測(cè)量精度很
38、低,且波動(dòng)較大。如果想要提高測(cè)量精度,可以換更高端的MCU或者擴(kuò)展存儲(chǔ)器,采用128或者256點(diǎn)的FFT運(yùn)算,可以大大提高相位差測(cè)量的精度。由于時(shí)間倉(cāng)促,本設(shè)計(jì)還有很多的不足之處,測(cè)量精度也不高且波動(dòng)較大。硬件穩(wěn)定性和算法精度都有待改進(jìn),在今后的設(shè)計(jì)中可以從這兩個(gè)方面進(jìn)行改進(jìn)。參考文獻(xiàn)(Reference)1 譚浩強(qiáng). C 程序設(shè)計(jì)(第二版)M.北京: 清華大學(xué)出版社.20042 童詩(shī)白、華成英. 模擬電子技術(shù)基礎(chǔ)(第四版)M.北京: 高等教育出版社. 20063 邱關(guān)源、羅先覺(jué).電路(第五版)M.北京:高等教育出版社. 20064 趙金利、肖興達(dá).單片機(jī)原理及應(yīng)用教程(第二版)M.北京:機(jī)械
39、工業(yè)出版社. 20075 鄧新蒲、盧啟中、孫仲康.數(shù)字式相位差測(cè)量方法及精度分析 E. 國(guó)防科技大學(xué)學(xué)報(bào).20026 胡文軍、李震梅、饒明忠.基于虛擬儀器的電網(wǎng)信號(hào)相位差測(cè)量研究B.山東理工大學(xué)學(xué)報(bào).20037 王兆華等.基于全相位譜分析的相位測(cè)量原理及其應(yīng)用 J.數(shù)據(jù)處理與采集.2009年第六期8 王兆華等.基于FFT的相位差測(cè)量及虛擬相位計(jì)的實(shí)現(xiàn).J.電子測(cè)試.2008年第九期9 曹海翔等.利用小波變換抑制數(shù)字相位測(cè)量中的噪聲.J.電工電能新技術(shù).1999年第二期10 丁玉美、高西全.數(shù)字信號(hào)處理M.西安電子科技大學(xué)出版社.2004年附錄:一:源程序1 AD.H文件#include <
40、;intrins.h>#define uint unsigned int#define uchar unsigned char#define ADC_POWER 0x80 /ADC電源控制位#define ADC_FLAG 0x10 /ADC完成標(biāo)志#define ADC_START 0x08 /ADC起始控制位#define ADC_SPEEDLL 0x00 /540個(gè)時(shí)鐘#define ADC_SPEEDL 0x20 /360個(gè)時(shí)鐘#define ADC_SPEEDH 0x40 /180個(gè)時(shí)鐘#define ADC_SPEEDHH 0x60 /90個(gè)時(shí)鐘void Delay1(uin
41、t n) uint x; while (n-) x = 5000; while (x-); void InitADC() P1ASF = 0xff; /設(shè)置P1口為AD口 ADC_RES = 0; /清除結(jié)果寄存器 ADC_CONTR = ADC_POWER | ADC_SPEEDHH; Delay1(2); /ADC上電并延時(shí)long int GetADCResult(uchar ch) long int adcresult; ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START; _nop_(); /等待4個(gè)NOP _nop_(); _n
42、op_(); _nop_(); while (!(ADC_CONTR & ADC_FLAG);/等待ADC轉(zhuǎn)換完成 ADC_CONTR &= ADC_FLAG; /Close ADC adcresult=ADC_RES*4+(ADC_RESL&0x03); /返回ADC結(jié)果return adcresult;2:12864.C文件#include "lcd12864.h"void delay5us(uchar n)uint x;while(n-) x=0; while(x-); /*/* */* 延時(shí)函數(shù) */* */*/void delayms_12
43、864(uint n) uint x; while(n-) x=628; while(x-); /*/* */*檢查L(zhǎng)CD忙狀態(tài) */*lcd_busy為1時(shí),忙,等待。lcd-busy為0時(shí),閑,可寫(xiě)指令與數(shù)據(jù)。 */* */*/bit lcd_busy() bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; / NOP(); delay5us(12); result = (bit)(P0&0x80); LCD_EN = 0; return(result); /*/* */*寫(xiě)指令數(shù)據(jù)到LCD */*RS=L,RW=L,E=高脈沖,D0-D
44、7=指令碼。 */* */*/void lcd_wcmd(uchar cmd) while(lcd_busy(); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; delay5us(12); /NOP(); LCD_EN = 1; /NOP(); delay5us(12); LCD_EN = 0; /*/* */*寫(xiě)顯示數(shù)據(jù)到LCD */*RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。 */* */*/void lcd_wdat(uchar dat) while(lcd_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; /NOP(); delay5us(12); LCD_EN = 1; /NOP(); delay5us(12); LCD_EN = 0; /*/* */*
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 省考行為規(guī)范試題及答案
- 2024年系統(tǒng)分析師考試復(fù)習(xí)大綱試題及答案
- 2025中國(guó)建設(shè)銀行貸款合同
- 2025標(biāo)準(zhǔn)個(gè)人租房合同協(xié)議書(shū)
- 2025停車場(chǎng)物業(yè)管理合同范本
- 低空經(jīng)濟(jì)浪潮推動(dòng)航空產(chǎn)業(yè)創(chuàng)新與變革
- 云南省曲靖市沾益區(qū)大坡鄉(xiāng)2024-2025學(xué)年初三下學(xué)期初聯(lián)考化學(xué)試題含解析
- 濟(jì)南幼兒師范高等專科學(xué)?!督ㄖ耙?guī)劃設(shè)計(jì)4(上)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州華南商貿(mào)職業(yè)學(xué)院《財(cái)會(huì)專業(yè)英語(yǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海市曹楊第二中學(xué)2024-2025學(xué)年高三下學(xué)期周末練習(xí)3語(yǔ)文試題含解析
- 樓梯踏步抹灰標(biāo)準(zhǔn)合同7篇
- 【廈門(mén)大學(xué)】DeepSeek大模型賦能高校教學(xué)和科研
- 西安房屋租賃合同(官方版)6篇
- 2025年商丘職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)含答案
- 2025年榆林城市投資經(jīng)營(yíng)集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 2025屆高三化學(xué)二輪復(fù)習(xí) 化學(xué)工藝流程 課件
- 閥門(mén)螺栓使用對(duì)照表
- 光驅(qū)的讀取偏移值度矯正數(shù)據(jù)
- 壓力容器基礎(chǔ)知識(shí)
- 教你寫(xiě)出漂亮字體——鋼筆楷書(shū)字帖
- 2019年安徽省八年級(jí)學(xué)業(yè)水平考試地理試卷(含答案)
評(píng)論
0/150
提交評(píng)論