[一].前言
在用單片機(jī)制作的變送器類(lèi)和控制器類(lèi)的儀表中,,需要輸出1—5V或4—20mA的直流信號(hào)的時(shí)候,,通常采用專(zhuān)用的D/A芯片,一般是每路一片,。當(dāng)輸出信號(hào)的精度較高時(shí),,D/A芯片的位數(shù)也將隨之增加。在工業(yè)儀表中,,通常增加到12位,。12位D/A的價(jià)格目前比單片機(jī)的價(jià)格要高得多,占用的接口線數(shù)量也多,。尤其是在需隔離的場(chǎng)合時(shí),,所需的光電耦合器數(shù)量與接口線相當(dāng),造成元器件數(shù)量大批增加,,使體積和造價(jià)隨之升高,。如果在單片機(jī)控制的儀表里用PWM方式完成D/A輸出,將會(huì)使成本降低到12位D/A芯片的十分之一左右,。我們?cè)赟系列流量?jī)x表中采用了這種方式,,使用效果非常理想。下面介紹一下PWM方式D/A的構(gòu)成原理,。
[二].電路原理
一般12位D/A轉(zhuǎn)換器在手冊(cè)中給出的精度為±1/2LSB,,溫度漂移的綜合指標(biāo)在20—50ppm/℃,上述兩項(xiàng)指標(biāo)在0.2級(jí)儀表中是可以滿足要求的,,下面給出的電路可以達(dá)到上述兩項(xiàng)指標(biāo),。 圖1中的T是固定寬度,τ的寬度是可變的,。τ分為5000份,,每份2us。所以τ的最大值τmax=2×5000=10000us,,這就是T的寬度,。當(dāng)τ=T時(shí),占空比為1,,Vo=5.000V,,τ=0時(shí),Vo=0V,。這種脈沖電壓經(jīng)過(guò)兩級(jí)RC濾波后得到的電壓可由下式表示:
VM必須是精密電壓源,。Vo與占空比成正比,,且線性較好,這種方式在理論上是很成熟的,,但實(shí)際應(yīng)用上還存在一些問(wèn)題,。圖2是實(shí)際線路,其中單片機(jī)可用8098或8031兩種常用芯片,,VM的數(shù)值為5.000V±2mV,,D/A與單片機(jī)必須是電氣隔離的。否則數(shù)字脈沖電流產(chǎn)生的干擾會(huì)影響D/A精度,,從示波器可以看到高達(dá)50mV的干擾毛刺電壓,,因此有必要加光電隔離。經(jīng)隔離后的脈沖驅(qū)動(dòng)模擬開(kāi)關(guān)CD4053,。CD4053是三組兩觸點(diǎn)模擬開(kāi)關(guān),,由PWM脈沖控制開(kāi)關(guān)的公共接點(diǎn)使之與+5.000V和地接通,在VI得到與單片機(jī)輸出相一致的PWM波形,。該波形經(jīng)兩級(jí)RC濾波后由運(yùn)放構(gòu)成的電壓跟隨器輸出Vo,。其中RC的時(shí)間常數(shù)一般取RC≥2T,這樣兩級(jí)RC加起來(lái)就會(huì)得到紋波小于3mV的直流電壓,,本電路中RC=220ms,,如果想進(jìn)一步減小紋波,可適當(dāng)提高RC的乘積,,但電路的響應(yīng)速度也會(huì)放慢,。
用運(yùn)放做RC濾波器輸出的緩沖大有益處。它不僅提高了濾波電路帶載能力,,而且使線性度得到了提高,。通過(guò)實(shí)驗(yàn)可知,這一級(jí)運(yùn)放的的緩沖作用是保證整個(gè)D/A精度和線性度的重要環(huán)節(jié),。盡管RC濾波器無(wú)負(fù)載,,處在非常理想的條件下工作,但Vo并不完全與占空比成正比,。經(jīng)測(cè)試,,Vo與理想值有一些誤差,如圖3所示,。
圖中的曲線1表示理想值,,曲線2表示實(shí)測(cè)值。由圖中可見(jiàn),,曲線2的根部不太理想,。這是因?yàn)樗褂玫碾娙莶皇羌冸娙荩渲泻幸欢ǖ碾姼小T谡伎毡葮O小時(shí),,由于脈沖非常窄,,它產(chǎn)生的高次諧波的頻率很高,電感對(duì)高次諧波的感抗較大,,因此在脈沖沿的位置上,,盡管電壓變化很大,但實(shí)際實(shí)際給電容充電卻很小,。這樣就在窄脈沖時(shí)產(chǎn)生非線性,。當(dāng)采用無(wú)感電容時(shí),這種非線性有較大改善,,但仍不能完全吻合。由于無(wú)感電容容量太小,,價(jià)格也較高,,所以在大時(shí)間常數(shù)濾波電路中沒(méi)有實(shí)際意義。在實(shí)際使用中解決這一問(wèn)題的方法是舍棄根部非線性部分,,只用線性部分,,在工業(yè)儀表中,標(biāo)準(zhǔn)的信號(hào)一般為1—5V或4—20mA,。而曲線2的非線性部分在0.4V以下,,所以當(dāng)采用1—5V輸出信號(hào)時(shí),精度為0.03%完全滿足12位D/A要求,。
除精度滿足要求外,,溫度特性也必須滿足要求。影響溫度特性的原因主要是5V精密電源和運(yùn)算放大器的溫度特性,。為不使價(jià)格太高,,選用2DW232精密穩(wěn)壓二極管,運(yùn)放的電阻與濾波電阻要匹配且溫度系數(shù)≤25ppm,。運(yùn)算放大器選擇溫漂≤10uV/℃的均可,,一般廉價(jià)低溫漂運(yùn)放都可滿足這個(gè)指標(biāo)。采用上述措施后D/A的總溫度漂為33ppm/℃,。
[三].實(shí)測(cè)數(shù)據(jù)
由于這個(gè)線路是在0.2級(jí)精密儀表中使用的,,因此要求線性度和溫度特性必須滿足要求,另外,,這個(gè)數(shù)據(jù)是測(cè)量V/I轉(zhuǎn)換后4-20mA電源值與給定電流值之間的誤差,。這個(gè)誤差還包含了V/I轉(zhuǎn)換的誤差。因此實(shí)際的D/A自身的誤差比總誤差要小,。
Igd(mA) Io(mA) Δ=Io-Igd
4.000 3.999 -0.001
8.000 7.998 -0.002
11.000 11.002 +0.002
16.000 16.006 +0.006
20.000 20.008 +0.008
線性=Δmax/20=0.0004
20℃ 60.℃
4.000mA 3.993mA Δ=-0.007mA
20.000mA 19.974mA Δ=-0.026mA
溫度漂移=Δmax/20×40=33ppm/℃
由以上數(shù)據(jù)可知,,滿量程的線性度為0.04%,滿量程的溫度漂移為0.033%/10℃,系統(tǒng)響應(yīng)時(shí)間約為2.2s,,輸出信號(hào)與標(biāo)準(zhǔn)值相差0.1%時(shí)所用的時(shí)間為11s,。
[四].結(jié)束語(yǔ)
上面所介紹的D/A電路結(jié)構(gòu)簡(jiǎn)單,原理易懂,,在8098及8031單片機(jī)上都可以應(yīng)用,,筆者采用8098單片機(jī)的四路高速輸入輸出同時(shí)控制四路精密D/A輸出。后面加一級(jí)V/I轉(zhuǎn)換電路,,構(gòu)成標(biāo)準(zhǔn)的4—20mA電流輸出,,電路經(jīng)一年多的現(xiàn)場(chǎng)實(shí)際應(yīng)用,效果很好,,適于目前0.2級(jí)儀表的全部要求,。