基于單片機的12位PWM DAC的設(shè)計

2016/12/11 16:19:44??????點擊:


    在用單片機制作的變送器類和控制器類的儀表中,需要輸出1—5V或4—20mA的直流信號的時候,通常采用專用的D/A芯片,一般是每路一片。當(dāng)輸出信號的精度較高時,D/A芯片的位數(shù)也將隨之增加。在工業(yè)儀表中,通常增加到12位。12位D/A的價格目前比單片機的價格要高得多,占用的接口線數(shù)量也多。尤其是在需隔離的場合時,所需的光電耦合器數(shù)量與接口線相當(dāng),造成元器件數(shù)量大批增加,使體積和造價隨之升高。如果在單片機控制的儀表里用PWM方式完成D/A輸出,將會使成本降低到12位D/A芯片的十分之一左右。我們在S系列流量儀表中采用了這種方式,使用效果非常理想。下面介紹一下PWM方式D/A的構(gòu)成原理。
[二].電路原理
    一般12位D/A轉(zhuǎn)換器在手冊中給出的精度為±1/2LSB,溫度漂移的綜合指標(biāo)在20—50ppm/℃,上述兩項指標(biāo)在0.2級儀表中是可以滿足要求的,下面給出的電路可以達到上述兩項指標(biāo)。
    用運放做RC濾波器輸出的緩沖大有益處。它不僅提高了濾波電路帶載能力,而且使線性度得到了提高。通過實驗可知,這一級運放的的緩沖作用是保證整個D/A精度和線性度的重要環(huán)節(jié)。盡管RC濾波器無負載,處在非常理想的條件下工作,但Vo并不完全與占空比成正比。
    這是因為所使用的電容不是純電容,其中含有一定的電感。在占空比極小時,由于脈沖非常窄,它產(chǎn)生的高次諧波的頻率很高,電感對高次諧波的感抗較大,因此在脈沖沿的位置上,盡管電壓變化很大,但實際實際給電容充電卻很小。這樣就在窄脈沖時產(chǎn)生非線性。當(dāng)采用無感電容時,這種非線性有較大改善,但仍不能完全吻合。由于無感電容容量太小,價格也較高,所以在大時間常數(shù)濾波電路中沒有實際意義。在實際使用中解決這一問題的方法是舍棄根部非線性部分,只用線性部分,在工業(yè)儀表中,標(biāo)準(zhǔn)的信號一般為1—5V或4—20mA。而曲線2的非線性部分在0.4V以下,所以當(dāng)采用1—5V輸出信號時,精度為0.03%完全滿足12位D/A要求。
    除精度滿足要求外,溫度特性也必須滿足要求。影響溫度特性的原因主要是5V精密電源和運算放大器的溫度特性。為不使價格太高,選用2DW232精密穩(wěn)壓二極管,運放的電阻與濾波電阻要匹配且溫度系數(shù)≤25ppm。運算放大器選擇溫漂≤10uV/℃的均可,一般廉價低溫漂運放都可滿足這個指標(biāo)。采用上述措施后D/A的總溫度漂為33ppm/℃。
[三].實測數(shù)據(jù)
    由于這個線路是在0.2級精密儀表中使用的,因此要求線性度和溫度特性必須滿足要求,另外,這個數(shù)據(jù)是測量V/I轉(zhuǎn)換后4-20mA電源值與給定電流值之間的誤差。這個誤差還包含了V/I轉(zhuǎn)換的誤差。因此實際的D/A自身的誤差比總誤差要小。
    由以上數(shù)據(jù)可知,滿量程的線性度為0.04%,滿量程的溫度漂移為0.033%/10℃,系統(tǒng)響應(yīng)時間約為2.2s,輸出信號與標(biāo)準(zhǔn)值相差0.1%時所用的時間為11s。
[四].結(jié)束語
    上面所介紹的D/A電路結(jié)構(gòu)簡單,原理易懂,在8098及8031單片機上都可以應(yīng)用,筆者采用8098單片機的四路高速輸入輸出同時控制四路精密D/A輸出。后面加一級V/I轉(zhuǎn)換電路,構(gòu)成標(biāo)準(zhǔn)的4—20mA電流輸出,電路經(jīng)一年多的現(xiàn)場實際應(yīng)用,效果很好,適于目前0.2級儀表的全部要求。