STM32|4-20mA輸出電路,使用TL431
為工業(yè)場(chǎng)合開發(fā)的設(shè)備通常情況下都會(huì)具有4-20mA輸出接口,在以往沒有DAC模塊的單片機(jī)系統(tǒng),需要外加一主片DAC實(shí)現(xiàn)模擬量的控制,或者采用PWM來摸擬DA,但也帶來溫漂和長(zhǎng)期穩(wěn)定性問題。在以STM32為中心的設(shè)備中,使用它自帶的DAC即可非常方便的實(shí)現(xiàn)4-20mA的輸出接口,具有精度高、穩(wěn)定性好、漂移小以及編程方便等特點(diǎn)。
在STM32單片機(jī)系統(tǒng)中,100腳以下沒有外接出VREF引腳,但這樣使得DAC的參考端和VCC共用,帶來較大誤碼差,為解決這一問題,可以使用廉價(jià)的TL431來解決供電問題,TL431典型溫漂為30ppm,所以在一般應(yīng)用中已非常足夠。選用兩只低溫漂電阻,調(diào)整輸出使TL431的輸出電壓在3V-3.6V之間,它的并聯(lián)穩(wěn)壓電流可達(dá)到30mA,正好能滿足一般STM32核心的功耗需求。
利用TL431解決了供電問題,余下的就是4-20mA的轉(zhuǎn)換電路,如下圖:
上圖即為非常精確的轉(zhuǎn)換電路,OPA333是一顆非常優(yōu)異的單電源軌至軌運(yùn)算放大器,其工作電壓為2.7-5.5V,其失調(diào)電壓僅為10uV,實(shí)測(cè)最低輸出為30uV,最高輸出可達(dá)VCC-30uV。電路組成壓控恒流源,其關(guān)鍵在于OPA333這顆芯片的優(yōu)異性能,使得以上電路獲得了極高的精度和穩(wěn)定性。DACOUT來自于STM32的DAC1或者DAC2輸出,由C25進(jìn)行數(shù)字噪場(chǎng)濾波之后進(jìn)入運(yùn)算,進(jìn)行1:1緩沖,后經(jīng)過Q2進(jìn)行電流放大,在R7上形成檢測(cè)電壓,C17進(jìn)行去抖動(dòng)處理。4-20mA信號(hào)由AN_OUT+/AN_OUT-之間輸出。
上圖中,負(fù)載中的電流在R7上形成壓降,經(jīng)運(yùn)放反饋后得到Vdacout=Vr7=I*R7,所以:I=Vdacout/R7,當(dāng)Vdacout在400mV到2000mV之間變化時(shí),可得到4-20mA的輸出。改變R7的大小,便可改變DACOUT的需求范圍。電路中,R2的基射極之間將有0.7V左右的偏壓,所以Vb[MAX]=2V+0.7V=2.7V,這正好在OPA333的輸出范圍之內(nèi)。電路中R14做為輸出端的限流電流,使得輸出端的最大輸出電流Imax=Vcc/(R7+R14),若Vcc取6V,則Imax=6V/200 O=30mA,若沒有R14,則最大電流可能有60mA,這時(shí)R7上的耗散功率為0.06*0.06*100=0.36W,若選用0805貼片電阻,將導(dǎo)致R7燒壞,或者由于溫度升高太嚴(yán)重導(dǎo)致R7阻值變化太大輸出引起較大偏差。加入R14之后,R7上的最大耗散功率為:0.03*0.03*100=0.09W,此時(shí)在正常的范圍之內(nèi)。
電路中R14不可省去,C17不可省去,由于外負(fù)載可能的微小干擾或波動(dòng)將導(dǎo)致OPA333組成的深度負(fù)反饋電路形成振蕩,使輸出電流波動(dòng),加入C17能抑制這種波動(dòng),使輸出更穩(wěn)定,但是C17的值不宜過大。
使用STM32編程應(yīng)注意,其內(nèi)部不應(yīng)當(dāng)開DAC緩沖,因以上電路已經(jīng)為一個(gè)高輸入阻抗的緩沖電路。由STM32內(nèi)部緩沖電路將損失掉輸出線性度。