freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于avr單片機的電力諧波分析系統(tǒng)設(shè)計-閱讀頁

2025-07-03 15:28本頁面
  

【正文】 -15V=邏輯0(space)+3V~+15V= 電平的轉(zhuǎn)換可以用分立元件實現(xiàn),為了增加電路的抗干擾和可靠性,選用美信公司MAX232集成電路做電平轉(zhuǎn)換。圖3-7 TTL與RS-232電平轉(zhuǎn)換電路4. 諧波分析軟件設(shè)計 程序總體框架諧波分析軟件部分是整個系統(tǒng)的靈魂,系統(tǒng)的數(shù)據(jù)采集,計算以及通信都通過軟件程序?qū)崿F(xiàn)。主程序控制整個過程的方向,通過判斷F_done采集完成標(biāo)記和I_average平均值計數(shù)變量的狀態(tài)來決定是否進(jìn)行FFT運算以及顯示數(shù)據(jù)。圖4-1 諧波分析程序流程圖 常量與變量定義程序中的FFT計算部分采用了查表法求解來提高速度,因此在程序的中需要提供sin_table和cos_talbe兩組常量數(shù)組,為了節(jié)約緊張的SRAM空間,需要給兩個常量加flash擴(kuò)充字符。此外,程序中為了提示顯示數(shù)據(jù)的類型,也定義了幾個字符串常量,如harmonics analysis result/:表示“諧波分析結(jié)果”,為了節(jié)約SRAM空間,也用flash修飾。字符串處理上,定義char tempstr[40]。兩個字符串?dāng)?shù)組臨時存放各種需要交給上位機的字符,使用時需要注意不要使數(shù)組越界。多余的這個數(shù)據(jù)變量可以在程序中用作臨時變量。float mode[23]存放FFT計算后前21次諧波的模值,float THDU; float rms分別表示電壓總畸變率和電壓有效值。以上是主要變量的定義類型和作用,詳細(xì)的變量定義參見附錄C:諧波分析源程序代碼部分,程序編譯后占用的SRAM空間約為702B。關(guān)于寄存器設(shè)置比較重要的部分是波特率發(fā)生器、ADC設(shè)置和timer0工作方式設(shè)置。,內(nèi)部AREF參考電壓,單端輸入通道0輸入,相應(yīng)寄存器設(shè)置為:ADMUX=(0xc0|0x00);ADCSRA=0x87。所以對timer0的設(shè)置為:64分頻,自動重載,重載值0x24。TCNT0=0x00。其他的寄存器設(shè)置及更詳細(xì)的內(nèi)容參見附錄C部分。定時器中斷的流程如圖4-1右,源代碼如下:interrupt [TIM0_COMP] void timer0_ovf_isr(void){// Place your code hereif(!F_done) if(P_real==65) {P_real=0。} else {dataR[P_real]=ADCW。 //寫1清除標(biāo)志位 ADCSRA=ADCSRA|(16)。 } } 諧波分析處理單純的FFT計算并沒有任何物理意義,因此還需要對FFT計算結(jié)果進(jìn)行處理才能得到所需要的電能質(zhì)量信息。 電壓有效值電壓的有效值既為方均根值(rootmeansquare value)rms,計算方法為,在規(guī)定時間內(nèi)(一般取一個基波周期)函數(shù)的瞬時值的平方的平均值的平方根。i64。 dataR[64]=dataR[64]/64。圖4-2 x(t)FFT運算后的模值由圖4-2可以看出,F(xiàn)FT運算結(jié)果模值第1個數(shù)為直流分量,第3~8為2~7次諧波,其模值分別是第2個點基波模值的1/1/1/1/1/1/7倍,與原函數(shù)相同。根據(jù)諧波含有率harmonic ratio(HR)的定義,第h次諧波的電壓含有率如式4-2 (4-2)總諧波畸變率total harmonic distortion(THD)的常規(guī)計算公式為式4-3 (4-3)實現(xiàn)的計算諧波含有率和總諧波畸變率的c語句為:THDU=0。i22。//temph存放h次諧波含有率 THDU+=mode[i]*mode[i]。//打印h次諧波含有率 strcat(tempstrnm,s2)。 strcat(tempstr,mm)。 puts(tempstr)。 puts(tempstr)。//計算總諧波畸變率 ftoa(temph,2,tempstr)。 puts(tempstr)。但對于高速的AVR來講,采用這種方式大大降低了MUC的效率。CodeVisionAVR提供的void putchar(char c)函數(shù)和interrupt [USART_TXC] void uart_tx_isr(void)中斷函數(shù),非常緊湊高效,其代碼如下:// USART Transmitter bufferdefine TX_BUFFER_SIZE 8char tx_buffer[TX_BUFFER_SIZE]。// USART Transmitter interrupt service routinepragma savereginterrupt [USART_TXC] void uart_tx_isr(void){asm push r26 push r27 push r30 push r31 in r26,sreg push r26endasmif (tx_counter) { tx_counter。 if (++tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0。asm pop r26 out sreg,r26 pop r31 pop r30 pop r27 pop r26endasm}pragma savereg+ifndef _DEBUG_TERMINAL_IO_// Write a character to the USART Transmitter bufferdefine _ALTERNATE_PUTCHAR_pragma used+void putchar(char c){while (tx_counter == TX_BUFFER_SIZE)。 DATA_REGISTER_EMPTY)==0)) { tx_buffer[tx_wr_index]=c。 ++tx_counter。asm(sei)}pragma usedendif兩個函數(shù)的做法有如下四條特點:一.它采用兩個8字節(jié)的接收和發(fā)送緩沖器來提高M(jìn)CU的效率,如當(dāng)主程序調(diào)用Putchar()發(fā)送數(shù)據(jù)時,如果UART口不空閑,就將數(shù)據(jù)放入發(fā)送緩沖器中,MCU不必等待,可以繼續(xù)執(zhí)行其它的工作。二.?dāng)?shù)據(jù)緩沖器結(jié)構(gòu)是一個線性的循環(huán)隊列,由讀、寫和隊列計數(shù)器3個指針控制,用于判斷隊列是否空、溢出,以及當(dāng)前數(shù)據(jù)在隊列中的位置。這樣提高了UART中斷處理的速度,也意味著提高了MCU的效率。同時發(fā)送字符都是在計算結(jié)果的過程中發(fā)送,不需要定時器0中斷對電壓信號采樣,因此關(guān)中斷也不會產(chǎn)生問題。 軟件上的抗干擾設(shè)計單片機的工作環(huán)境一般比較惡劣,外部的干擾信號可能會造成程序的不正常運行,因此硬件上需要注意抗干擾設(shè)計,同時應(yīng)通過適當(dāng)?shù)能浖O(shè)計來增強抗干擾性能。使用AVR內(nèi)置的看門狗是軟硬結(jié)合的抗干擾辦法,基本原理是看門狗定時器由獨立的1 MHz 片內(nèi)振蕩器驅(qū)動(VCC = 5V) ,通過設(shè)置看門狗定時器的預(yù)分頻器可以調(diào)節(jié)看門狗復(fù)位的時間間隔,看門狗復(fù)位指令‘WDR’用來復(fù)位看門狗定時器。CVAVR支持C語言中嵌入式匯編,因此只需要在程序適當(dāng)?shù)牡胤讲迦隺sm(wdr)看門狗復(fù)位指令即可。此外,還需要細(xì)心設(shè)計程序流程走向,盡量避免程序走向死循環(huán)。相當(dāng)于在宏中定義define IAVERAGE 1,當(dāng)I_average==1時既進(jìn)行結(jié)果計算和顯示。 在不對原有硬件和軟件做較大改動的前提下,可以對計算結(jié)果求算術(shù)平均值的方法平滑結(jié)果數(shù)據(jù)。對同一地點某一時刻的電壓連續(xù)三次測量結(jié)果如表5-2所示。 提高信號檢測的質(zhì)量提高ADC的性能是提高信號檢測質(zhì)量的一個方面,可以獲取更快的采樣速度和更高的分辨率,精度的提高也意味這對噪聲干擾抑制的能力減弱,在設(shè)計電路時要較多的考慮EMC方面的問題,同時對電壓基準(zhǔn)源也有更高的要求。另一個方面需要更合適的信號檢測方法,通常有三種方法:一. 軟件同步采樣技術(shù)抑制頻譜泄漏和柵欄效應(yīng)可以采用軟件措施。通常需要采用合適的窗口函數(shù)以便抑制頻譜泄漏,使用插值方法來抑制柵欄效應(yīng)。 二. 基于鎖相環(huán)的同步采樣技術(shù)抑制頻譜泄漏也可以采用硬件措施。在現(xiàn)行檢測系統(tǒng)的使用中,有一種基于鎖相環(huán)的同步采樣系統(tǒng),該系統(tǒng)的框圖如下圖所示。根據(jù)對采樣率的不同要求,從計數(shù)器輸出4路倍頻方波信號,并由DIP開關(guān)從4路信號中任選1路輸出到窄脈沖生成電路,最終生成模數(shù)變換器要求的采樣脈沖。 圖51 一種基于鎖相環(huán)的同步采樣系統(tǒng)三. 基于數(shù)字存儲示波器的實驗驗證方法利用數(shù)字存儲示波器的數(shù)據(jù)采集和存儲功能來模擬實際檢測設(shè)備的采樣過程,從而驗證理論分析的部分成果。 采用更先進(jìn)的數(shù)字信號處理技術(shù)頻域分析方法是分析電能質(zhì)量,特別是諧波的重要方法。除了傅立葉變換,還有神經(jīng)網(wǎng)絡(luò)、二次變換和小波變換分析等幾種方法。神經(jīng)網(wǎng)絡(luò)法的優(yōu)點是:(1)可處理多輸入-多輸出系統(tǒng),具有自學(xué)習(xí)、自適應(yīng)等特點。缺點是:(1)存在局部極小問題,會出現(xiàn)局部收斂,影響系統(tǒng)的控制精度;(2)理想的訓(xùn)練樣本提取困難,影響網(wǎng)絡(luò)的訓(xùn)練速度和訓(xùn)練質(zhì)量;(3)網(wǎng)絡(luò)結(jié)構(gòu)不易優(yōu)化。該方法的基本原理是用時間和頻率的雙線性函數(shù)來表示信號的能量函數(shù)。缺點是:無法準(zhǔn)確地估計原始信號的諧波分量幅值;不具有時域分析功能。常用的小波基函數(shù)有:Daubechies小波、B小波、Morlet小波Meyer小波等。(2)可以對信號進(jìn)行去噪、識別和數(shù)據(jù)壓縮、還原等。(2)小波分析有“邊緣效應(yīng)”,邊界數(shù)據(jù)處理會占用較多時間,并帶來一定誤差。43華北電力大學(xué)本科畢業(yè)設(shè)計(論文)結(jié) 論通過表5-2中第三次的測量結(jié)果,可以確定原來的時域信號為X(t)=* sqrt(2)*(sin(t)+()*sin(2*t)+()*sin(3*t)+()*sin(4*t)()*sin(5*t) +()*sin(6*t)()*sin(7*t));畫出圖x-1,顯示的是一個平頂波形,與示波器顯示的結(jié)果非常相近。諧波測試的數(shù)據(jù)說明諧波含量以三次諧波最為嚴(yán)重,其次分別為二次、七次、四次和五次。另外,表x-1是19日凌晨1時的兩次測量結(jié)果。這說明造成三次諧波污染的主要原因是大量微機開關(guān)電源的同時使用。采用非?;A(chǔ)FFT算法,程序簡單,適應(yīng)在運算速度非常低的8位單片機上運行,但對短時諧波,頻率變化等問題則無能為力,需要進(jìn)一步的學(xué)習(xí)和研究諧波的分析方法。石新春老師和謝志遠(yuǎn)老師淵博的學(xué)識,嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,可敬的學(xué)者風(fēng)范,富于開拓的創(chuàng)新精神和豐富的社會經(jīng)驗都使我受益終身,培養(yǎng)了我勤于思考、獨立開展科研工作的能力,傳授給我許許多多工作方法和經(jīng)驗,他們對自然科學(xué)的領(lǐng)悟使我的知識結(jié)構(gòu)和知識層次有了很大地提高;他們謙遜待人的品德、崇高的敬業(yè)精神對我產(chǎn)生了極深的影響。從培養(yǎng)計劃的制定、論文的選題、課題的研究到論文的完成等各個環(huán)節(jié),自始至終都傾注了導(dǎo)師的大量心血。define IAVERAGE 16//table defineconst flash float sin_tab[64]={內(nèi)容略}。// USART Transmitter buffer//省略,見第四章// Standard Input/Output functionsdefine ADC_VREF_TYPE 0x00// Declare your global variables here float dataR[65]={0}。char tempstr[40]。char flash *str_start1=harmonics analysis result/:。char flash *str_DC=DC content/:。float THDU。float rms。unsigned char P_real=0。char *su=V。 //timer0 interruptinterrupt [TIM0_COMP] void timer0_ovf_isr(void){// Place your code hereif(!F_done) if(P_real==65) {P_real=0。} else {dataR[P_real]=ADCW。 //寫1清除標(biāo)志位 ADCSRA=ADCSRA|(16)。 } }void FFT(){ int i。int L,j,k,b,p。 /*my added*/double TR,TI,temp。i64。 x0=iamp。 x1=(i/2)amp。 x2=(i/4)amp。 x3=(i/8)amp。x4=(i/16)amp。 x5=(i/32)amp。 xx=x0*32+x1*16+x2*8+x3*4+x4*2+x5。 /* printf(source[%d]edn%d=%f \n,i,xx,dataR[i])。i64。 dataI[i]=0。L=6。 i=L1。i。j=b1。 i=6L。 */{p=p*2。}p=p*j。k64。 */TR=dataR[k]。 temp=dataR[k+b]。dataI[k]=dataI[k]dataR[k+b]*sin_tab[p]+dataI[k+b]*cos_tab[p]。dataI[k+b]=TI+temp*sin_tab[p]dataI[k+b]*cos_tab[
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1