• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于51單片機的低頻信號發(fā)生器的設計與仿真

      2011-10-09 09:46:40逯久鑫樊軍慶
      電子設計工程 2011年16期
      關鍵詞:失真度正弦波子程序

      逯久鑫,彭 旋,樊軍慶

      (海南大學機電學院 海南 儋州 571737)

      單片機是在20世紀70年代中期發(fā)展起來的一種大規(guī)模集成電路芯片,是由中央處理器(CPU)芯片、ROM芯片、RAM芯片和I/O接口以及其他外圍電路等通過印刷電路板上總線連接成一體的完整的計算機系統(tǒng)。具有成本低、體積小、性能穩(wěn)定等特點。信號發(fā)生器是一種在生產(chǎn)實踐和科技領域中都有著廣泛應用的一種信號源。傳統(tǒng)的正弦信號源根據(jù)實際需要一般價格昂貴,低頻輸出時性能不好且不便于自動調節(jié),工程實用性較差?,F(xiàn)利用單片機的優(yōu)越特性制作一種體積小,使用方便的低頻信號發(fā)生器。以AT89C51單片機為核心結合低速D/A,通過設計與編程實現(xiàn)了鋸齒波、方波、正弦波的產(chǎn)生及其自由切換以及實現(xiàn)頻率、相位的可調與多相波的同時輸出。

      1 方案設計

      設計電路如圖1所示,由波形的控制端口控制何種波形的輸出并使連接在P0口的相應指示燈亮。信號數(shù)據(jù)由P0口輸出,經(jīng)低速D/A、放大電路、濾波電路最后輸出。頻率的調整信號由P2口輸入,經(jīng)過改變相應的延時子程序改變輸出波的頻率,相位的調整信號由P2口輸入。而信號的幅值是通過改變連接在D/A上的滑動變阻器而改變D/A的參考電壓來實現(xiàn)的[2]。

      圖1 電路圖Fig.1 Circuit diagram

      1.1 產(chǎn)生波形的原理

      由D/A的模擬輸出公式 Vout=B×VR(VR為常數(shù),由參考電壓 VREF=Vref+-Vref-決定;B 為數(shù)字量,常為一個二進制數(shù),由單片機輸出給D/A)可知:當改變數(shù)字量B時,D/A產(chǎn)生一個相應的Vout。如果單片機輸出給D/A的B1值由延時子程序保持一段時間(如1/2周期T)后再突變?yōu)榱硪粋€數(shù)值B2并保持相同一段時間之后再變回B1,循環(huán)上述程序即可產(chǎn)生一個方波;當B3在00H~0FFH線性變化為B4時(如以 00H開始,每相隔一定的時間用“INC”指令加1,直至等于B4=0FFH)再突變回B3,此時Vout也產(chǎn)生一個線性值,同樣循環(huán)上述程序便可產(chǎn)生鋸齒波;同理,如果將正弦波對應的二進制碼放在單片機的存儲區(qū),通過“MOVC A,@A+DPTR”不斷取數(shù)據(jù)送P0端口,則在濾波輸出端可得到正弦波信號[3]。此時由D/A轉換出的波形信號是一種離散信號。既所獲得的信號不是連續(xù)的模擬信號,而是由一個個離散的點組成的離散信號。所以,為了使輸出的波形信號盡量減少失真,必須要獲得準確的波形數(shù)據(jù)。為此,需要對模擬信號進行離散化處理[4]。這里以正弦信號為例進行說明。如圖2所示,正弦信號是由D1,D2,D3……DN這種的點組合成的離散信號。為了減小輸出信號的失真度,必須保證組成信號離散點的個數(shù),使其盡可能的接近正弦波以滿足失真度滿足使用要求。根據(jù)不同的采樣的多少計算出相應的失真度如表1所示。由表1可知,采樣點越多,失真度越小[5]。離散時取得的采樣點越多,數(shù)值量化的位數(shù)越多,則用DAC復現(xiàn)的波形精度越高。但是這時由于選取的點過多的話會影響單片機的輸出速度(會直接影響得到的波形的頻率)。由于離散點的原始數(shù)據(jù)存在于程序的表格中,離散點取的過多會使表格占用單片機內存過多。

      圖2 正弦波形的離散化Fig.2 Sine wave discretization

      表1 采樣點與失真度之間的關系Tab.1 Relationship between sampling points and the distortion degree

      1.2 波形頻率與相位的調整

      由圖2所示,由于得到的信號[6]是由一個個的離散點組成的離散信號。此時,一個點與另一個點之間的時間間隔△t1主要是由延時子程序(其中也包括單片機執(zhí)行每個命令所使用的時間)所控制的。以取256個點為例,正弦波的周期T=256×△t1當延時子程序所控制的時間間隔△t1正弦波周期T也就有相應的時間變化。所以基于上述原理,通過在單片機的P2.0與P2.1兩端口設兩個獨立按鍵來實現(xiàn)延時子程序所控制的時間間隔△t1的增大與減少進而實現(xiàn)波形頻率的可調。以正弦波為例,當需要改變波形的初始相位時即改變波形在t=0時刻的值。由圖2所示,可看出初始設定的正弦波在t=0時刻的值為零。這時單片機從查表程序中取出的是以零對應的表中數(shù)據(jù),然后依次向外輸送之后表中的數(shù)據(jù),由此推知,如果在t=0時輸出與圖2中D1的值所對應的程序表中的數(shù)據(jù),這時在t=0時刻的值就由0變?yōu)榱薉1,也就可以看出,正弦波形向左移動了一個單位。

      1.3 波形幅值的調整

      由D/A的模擬輸出公式Vout=B×VR。當Vout與B為常量時,改變VR的大小可以相應改變Vout,即改變波形的幅值。由電路圖1可以看出,Vref是由外部電源提供一個+5 V的電壓,這里通過串聯(lián)一個滑動變阻器R1。通過改變滑動變阻器R1的大小改變VR,當VR線性變化時也就實現(xiàn)了波形幅值的連續(xù)可調。

      1.4 三波異相的同時輸出

      實際使用過程中通常會遇到要使用多波同時輸出,為了實現(xiàn)這種功能可以使用3塊低速D/A轉換器(包括其后的放大電路與低通濾波電路)連接在同一單片機上。雖然一塊單片機不能同時向3塊D/A輸出其所需要的數(shù)據(jù),但可以通過單片機向D/A的控制端口輸送不同的控制信號,是其中的一塊D/A工作另兩塊不工作,并向其中的工作的D/A輸送數(shù)據(jù),然后關閉第一塊D/A開放第二塊,以此進行循環(huán)。三波的幅值是由各D/A的參考電壓Vref決定,參照1.3中敘述的方法,可以改變各自的幅值。這里筆者通過單片機給通過P3.0,P3.1,P3.2 3接口連接相應3塊D/A的控制端口。由程序控制P3.0,P3.1,P3.2 端口,依次使 P3.0,P3.1,P3.2 處于低電平,另外兩個端口處于高電平(連接高電平端口的D/A處于不工作狀態(tài))。使單片機向3塊D/A逐個輸送數(shù)據(jù)便可實現(xiàn)3波同時輸出。但由于單片機的主頻限制,這時會使輸出波的頻率大大下降。

      1.5 數(shù)模(D/A)轉換部分

      D/A轉換部分選用的是DAC0832。DAC0832是CMOS工藝制造的8位單片D/A轉換器,屬于R-2RT型電阻網(wǎng)絡的8位D/A轉換器,建立時間150 ms,為電流輸出型,并且片內帶輸入數(shù)字鎖存器[7]。DAC0832與8031接成的是直通方式。由單片機的P0口直接把信號送達 “八位DAC寄存器”,ILE接+5 V,XFER、WR2接地以及 WR1與 CS分別接單片機的WR與P3.0(當使用多片D//A產(chǎn)生3相信號時,另外兩個與P3.1與P3.2相接)相接。為提高波形質量和負載能力,后級處理采用低通濾波器和功率放大電路。濾波電路采用一階低通濾波器,其阻帶特性衰減太慢,一般為-20 dB/10,所以這種電路適用于對低頻信號濾波特性要求不高的場合。

      2 程序流程圖

      主程序的流程圖如圖3所示。子程序流程圖如圖4所示。

      圖3 主程序流程圖Fig.3 Flow chart of main program

      圖4 子程序流程圖Fig.4 Subroutines flowchart

      3 軟件仿真

      在Protues繪制電路圖,加載單片機程序,有如下仿真。

      1)不同波形的仿真,如圖5所示。

      圖5 不同的波形仿真Fig.5 Different waveform simulation

      2)不同頻率的波形,以正弦波為例,如圖6所示。

      圖6 不同頻率的波形Fig.6 Waveforms of different frequency

      3)改變滑動變阻器來改變波形的幅值以正弦波為例,如圖7所示。

      圖7 不同幅值的波形Fig.7 Waveform of different amplitude

      4)三相正弦波波同時輸出以正弦波為例,如圖8所示。

      圖8 三相正弦波Fig.8 Three-phase sine wave

      4 結 論

      由以上仿真結果可以表明,以單片機為核心制作的小型低頻的信號發(fā)生器[8]不僅成功的產(chǎn)生了方波、鋸齒波、正弦波以及多鐘波型的共同產(chǎn)生,并且實現(xiàn)了頻率與相位的可調,而且波形并無明顯失真現(xiàn)象。

      不足之處就是筆者以12 MHz的晶振進行仿真,得到的信號頻率很低。理論上提高晶振的頻率或是使用更高速的單片機可以改善低頻的現(xiàn)象。

      [1]李道霖,韓緒鵬,肖春芳.正弦信號發(fā)生器的設計與實現(xiàn)[J].電子設計工程,2010,18(12):165-169.

      LI Dao-lin,HAN Xu-peng,XIAO Chun-fang.Design and implementation of sinusoidal signal generator[J].Electronic Design Engineering, 2010,18(12):165-169.

      [2]胡漢才.單片機原理及其接口技術[M].北京:清華大學出版社,2004.

      [3]雷發(fā)禹,賓淼林,李永枧,等.基于單片機的信號發(fā)生器設計與仿真[J].邵陽學院學報:自然科學版,2009,6(3):39-43.

      LEI Fa-yu, BIN Miao-lin, LI Yong-jian,et al.The design and simulation of signal generator based on MCU[J].Journal of Shaoyang University:Natural Science Edition,2009,6(3):39-43.

      [4]徐愛鈞.智能化測量控制儀表原理與設計[M].北京:北京航空航天大學出版社,2004.

      [5]徐陽,鐘寶榮.基于單片機的低頻信號發(fā)生器設計[J].長江大學學報:自然科學版,2008,5(3):71-73.

      XU Yang,ZHONG Bao-rong.Design of a microcontrollerbased low frequency signal generator[J].Journal of Yangtze University:Natural Science Edition, 2008,5(3):71-73.

      [6]李婷婷.絕緣子放電聲信號研究及污穢度預測[J].陜西電力,2010,38(3):38-41.

      LI Ting-ting.Study on acoustic emission signal of insulator and ESDD forecasting[J].Shaanxi Electric Power,2010,38(3):38-41.

      [7]唐麗麗,何剛,文小森.基于89C51的信號發(fā)生器設計與實現(xiàn)[J].儀表技術與傳感器,2007(2):76-78.

      TANG Li-li,HE Gang,WEN Xiao-sen.Design and implement of signal generator based on 89C51[J].Instrument Technique and Sensor,2007(2):76-78.

      [8]安平花,薛安成,畢天姝.調速系統(tǒng)引入遠方信號抑制區(qū)域低頻振蕩可行性研究[J].陜西電力,2009,37(4):1-5.

      AN Ping-hua,XUE An-cheng,BI Tian-shu.Feasibility study on governor-side damping controller for inter-area low frequency oscillation of power system with remote signal[J].Shaanxi Electric Power,2009,37(4):1-5.

      猜你喜歡
      失真度正弦波子程序
      單相正弦波變頻電源設計與實現(xiàn)
      采用BC5016S的純正弦波逆變器設計及制作
      電子制作(2019年7期)2019-04-25 13:18:18
      淺談信號衰減對于民航地空通信信號質量的影響
      淺談子程序在數(shù)控車編程中的應用
      基于基波抑制法測量諧波失真度時的數(shù)值修正與誤差分析
      計量技術(2015年3期)2015-06-07 12:05:44
      子程序在數(shù)控車加工槽中的應用探索
      基于蒙特卡羅法的失真度測量不確定度分析
      天津科技(2014年4期)2014-05-14 01:49:32
      基于嵌入式技術的電網(wǎng)同步正弦波發(fā)生裝置研究
      交流電失真度測量方法研究與實現(xiàn)
      西門子840D系統(tǒng)JOG模式下PLC調用并執(zhí)行NC程序
      逊克县| 黑山县| 祁连县| 淳化县| 偏关县| 西昌市| 秦安县| 宁陕县| 萨嘎县| 柳江县| 历史| 怀柔区| 衡水市| 东乌珠穆沁旗| 常州市| 遵义县| 大名县| 山阴县| 天峨县| 海安县| 三江| 留坝县| 无锡市| 洛浦县| 宿州市| 榆中县| 进贤县| 化州市| 中阳县| 江津市| 渑池县| 莫力| 灵石县| 扶风县| 林州市| 施秉县| 镶黄旗| 万年县| 高密市| 乌拉特前旗| 五莲县|