新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 一種基于PWM的電壓輸出DAC電路設(shè)計(jì)

一種基于PWM的電壓輸出DAC電路設(shè)計(jì)

——
作者:秦 健 時(shí)間:2007-01-26 來源:《電子查詢網(wǎng)》 收藏

在電子和自動(dòng)化技術(shù)的應(yīng)用中,單片機(jī)和dac (數(shù)模轉(zhuǎn)換器)是經(jīng)常需要同時(shí)使用的,然而許多單片機(jī)內(nèi)部并沒有集成dac,即使有些單片機(jī)內(nèi)部集成了dac,dac的精度也往往不高,在高 精度的應(yīng)用中還是需要外接dac,這樣增加了成本。但是,幾乎所有的單片機(jī)都提供定時(shí)器或者pwm輸出功能。如果能應(yīng)用單片機(jī)的pwm輸出(或者通過定時(shí)器和軟件一起來實(shí)現(xiàn)pwm輸出),經(jīng)過簡(jiǎn)單的變換電路就可以實(shí)現(xiàn)dac,這將大量降低成本電子設(shè)備的成本、減少體積,并容易提高精度。本文在對(duì)pwm到dac轉(zhuǎn)換關(guān)系的理論分析的基礎(chǔ)上,設(shè)計(jì)出輸出為0~5v電壓的dac。

1應(yīng)用pwm實(shí)現(xiàn)dac的理論分析

本文引用地址:http://m.butianyuan.cn/article/20882.htm

pwm是一種周期一定而高低電平的占空比可以調(diào)制的方波信號(hào),圖1是一種在電路中經(jīng)常遇到的pwm波。該pwm的高低電平分別為vh和vl,理想的情況vl等于0,但是實(shí)際中一般不等于0,這往往是應(yīng)用中產(chǎn)生誤差的一個(gè)主要原因。

圖1的pwm波形可以用分段函數(shù)表示為式(1):

其中:t是單片機(jī)中計(jì)數(shù)脈沖的基本周期,即單片機(jī)每隔t時(shí)間記一次數(shù)(計(jì)數(shù)器的值增加或者減少1),n是pwm波一個(gè)周期的計(jì)數(shù)脈沖個(gè)數(shù),n是pwm波一個(gè)周期中高電平的計(jì)數(shù)脈沖個(gè)數(shù),vh和vl分別是pwm波中高低電平的電壓值,k為諧波次數(shù),t為時(shí)間。把式(1)所表示的函數(shù)展開成傅里葉級(jí)數(shù)[1],得到式(2):  

從式(2)可以看出,式中第1個(gè)方括弧為直流分量,第2項(xiàng)為1次諧波分量,第3項(xiàng)為大于1次的高次諧波分量。式(2)中的直流分量與n成線性關(guān)系,并隨著n從0到n,直流分量從vl到vl+vh之間變化,這正是電壓輸出的dac所需要的。因此,如果能把式(2)中除直流分量的諧波過濾掉,則可以得到從pwm波到電壓輸出dac的轉(zhuǎn)換,即:pwm波可以通過一個(gè)低通濾波器進(jìn)行解調(diào)。式(2)中的第2項(xiàng)的幅度和相角與n有關(guān),頻率為1/(nt),該頻率是設(shè)計(jì)低通濾波器的依據(jù)。如果能把1次諧波很好過濾掉,則高次諧波 就應(yīng)該基本不存在了。

根據(jù)上述分析可以得到如圖2所示的從pwm到dac輸出的信號(hào)處理方塊圖,根據(jù)該方塊圖可以 有許多電路實(shí)現(xiàn)方法,在單片機(jī)的應(yīng)用中還可以通過軟件的方法進(jìn)行精度調(diào)整和誤差的進(jìn)一 步校正。

在dac的應(yīng)用中,分辨率是一個(gè)很重要的參數(shù),圖1的分辨率計(jì)算直接與n和n的可能變化有關(guān),計(jì)算公式如式(3):

表1給出了不同n和n的情況下的分辨率。

從表1和式(3)可以看出,n越大dac的分辨率越高,但是nt也越大,即 pwm的周期或者式(2)中的1次諧波周期也越大,相當(dāng)于1次諧波的頻率也越低,需要截止頻率很低的低通濾波器,dac輸出的滯后也將增加。一種解決方法就是使t減少,即減少單片機(jī)的計(jì)數(shù)脈沖寬度(這往往需要提高單片機(jī)的工作頻率),達(dá)到不降低1次諧波頻率的前提下提高精度。在實(shí)際中,t的減少受到單片機(jī)時(shí)鐘和pwm后續(xù)電路開關(guān)特性的限制。如果在實(shí)際中需要微秒級(jí)的t,則后續(xù)電路需要選擇開關(guān)特性較好的器件,以減少pwm波形的失真,如圖4中的電子開關(guān)t1(irf530)。

2pwm到dac電壓輸出的電路實(shí)現(xiàn)

根據(jù)圖2的結(jié)構(gòu),圖3是最簡(jiǎn)單的實(shí)現(xiàn)方式。圖3中,pwm波直接從mcu的pwm引腳輸出,該電路沒有基準(zhǔn)電壓,只通過簡(jiǎn)單的阻容濾波得到dac的輸出電壓。r1和c1的具體參數(shù)可根據(jù)式(2)的第2部分的一次諧波頻率來選擇,實(shí)際應(yīng)用中一般選擇圖2中阻容濾波器的截止頻率為式(2)的基波頻率的1/4左右。

圖3的pwm波的vh和vl受到mcu?輸出高低電平的限制,一般情況下vl不等于0 v,vh也不等于vcc。例如,對(duì)于單片機(jī)at89c52[2,3],當(dāng)vcc為+5 v時(shí),vh和vl分別為4.5 v和0.45 v左右,而且該數(shù)值隨著負(fù)載電流和溫度而變化。根據(jù)式(2)的直流分量可知,dac電壓輸出只能在0.45~4.5 v之間變化,而且隨負(fù)載電流和環(huán)境溫度變化,精度很難保證。由于該電路的變化部分精度不高,沒有必要采用高分辨率的pwm輸出,8位即可。另外圖2的dac輸出的負(fù)載能力也比較差,只適合與具有高輸入阻抗的后續(xù)電路連接。因此,圖3的電路只能用在對(duì)dac輸出精度要求不高、負(fù)載很小的場(chǎng)合。對(duì)精度和負(fù)載能力要求較高的場(chǎng)合,需要對(duì)圖3的電路進(jìn)行改進(jìn),增加基準(zhǔn)電壓、負(fù)載驅(qū)動(dòng)等電路。

圖4的電路在圖3電路的基礎(chǔ)上增加了開關(guān)管t1、基準(zhǔn)電壓源lm3365和輸出放大器tl v2472。mcu從a點(diǎn)輸出的pwm波驅(qū)動(dòng)t1的柵極,t1按照pwm的周期和占空比進(jìn)行開關(guān)。t1為低 導(dǎo)通電阻和開關(guān)特性好的開關(guān)管,如irf530[4],其典型導(dǎo)通電阻小于0.16 ω,而截止電阻卻非常大,與t1并聯(lián)的為基準(zhǔn)電壓lm3365。圖4的b點(diǎn)將得到理想的 pwm波形,即:vh=5 v,vl=0 v,波形為方波。a點(diǎn)的pwm波,經(jīng)過整形得到b點(diǎn)理想pwm波,b點(diǎn)的pwm波再經(jīng)過兩級(jí)阻容濾波在c點(diǎn)得到直流分量,即mcu輸出的調(diào)制pwm波在c點(diǎn)得到解調(diào),實(shí)現(xiàn)了dac功能。根據(jù)式(2)可知,c點(diǎn)的電壓為(5 ×n/n)v,為0~5 v之間的電壓。由于放大器a1的輸入阻抗很大,二級(jí)阻容濾波的效果很好,c點(diǎn)的電壓紋波極小,滿足高精度要求。輸出放大器采用tlv2472,工作在電壓跟隨器方式,他是一個(gè)railtorail放大器,他的輸出電壓的跨度幾乎等于電源電壓幅度,因此可以得到0 v的電壓輸出,克服了一般放大器(如lm324,tl071等)輸出電壓跨度比電源電壓范圍小1 v左右這一缺點(diǎn)。圖4與圖3還有一點(diǎn)重要的不同是,圖4的電源電壓為6 v,而圖3為5 v。圖4中在mcu接電源電壓中串聯(lián)了二極管,他起降壓的作用,因?yàn)橐话愕膍cu工作電源范圍為4.5~5.5 v之間。圖4中采用電源電壓為6 v是為了保證lm336 5能正常工作。

圖4的電路采用的電路和電容沒有特殊的要求,很容易調(diào)試。由于pwm波很容易通過mcu的軟 件進(jìn)行控制,即使電路稍微有些系統(tǒng)誤差,也很容易通過軟件進(jìn)行校正。因此,圖4的電路可以得到高精度的dac輸出。

3結(jié)語

本文在對(duì)pwm波形組成進(jìn)行理論分析的基礎(chǔ)上,提出了可以通過一個(gè)低通濾波器把pwm中的da c調(diào)制信號(hào)解調(diào)出來,實(shí)現(xiàn)dac。論文對(duì)實(shí)現(xiàn)dac產(chǎn)生的誤差的原因進(jìn)行了分析,設(shè)計(jì)了兩組d ac電路實(shí)現(xiàn)方式,分別適合于不同的應(yīng)用場(chǎng)合。

圖4的實(shí)現(xiàn)方法,通過簡(jiǎn)單廉價(jià)的電子元器件就可以得到高精度的dac,降低了設(shè)備的成本。該電路為單電源供電,非常適用在基于單片機(jī)的嵌入式系統(tǒng)中應(yīng)用。

pwm相關(guān)文章:pwm原理




關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉