為工業場合開發的裝置通常情況下都會具有4-20ma輸出介面,在以往沒有dac模組的微控制器系統,需要外加一主片dac實現模擬量的控制,或者採用pwm來摸擬da,但也帶來溫漂和長期穩定性問題。在以stm32為中心的裝置中,使用它自帶的dac即可非常方便的實現4-20ma的輸出介面,具有精度高、穩定性好、漂移小以及程式設計方便等特點。
在stm32微控制器系統中,100腳以下沒有外接出vref引腳,但這樣使得dac的參考端和vcc共用,帶來較大誤碼差,為解決這一問題,可以使用廉價的tl431來解決供電問題,tl431典型溫漂為30ppm,所以在一般應用中已非常足夠。選用兩隻低溫漂電阻,調整輸出使tl431的輸出電壓在3v-3.6v之間,它的併聯穩壓電流可達到30ma,正好能滿足一般stm32核心的功耗需求。
利用tl431解決了供電問題,餘下的就是4-20ma的轉換電路,如下圖:
上圖即為非常精確的轉換電路,opa333是一顆非常優異的單電源軌至軌運算放大器,其工作電壓為2.7-5.5v,其失調電壓僅為10uv,實測最低輸出為30uv,最高輸出可達vcc-30uv。電路組成壓控恆流源,其關鍵在於opa333這顆晶元的優異效能,使得以上電路獲得了極高的精度和穩定性。dacout來自於stm32的dac1或者dac2輸出,由c25進行數字噪場濾波之後進入運算,進行1:1緩衝,後經過q2進行電流放大,在r7上形成檢測電壓,c17進行去抖動處理。4-20ma訊號由an_out+/an_out-之間輸出。
上圖中,負載中的電流在r7上形成壓降,經運放反饋後得到vdacout=vr7=i*r7,所以:i=vdacout/r7,當vdacout在400mv到2000mv之間變化時,可得到4-20ma的輸出。改變r7的大小,便可改變dacout的需求範圍。電路中,r2的基射極之間將有0.7v左右的偏壓,所以vb[max]=2v+0.7v=2.7v,這正好在opa333的輸出範圍之內。電路中r14做為輸出端的限流電流,使得輸出端的最大輸出電流imax=vcc/(r7+r14),若vcc取6v,則imax=6v/200 o=30ma,若沒有r14,則最大電流可能有60ma,這時r7上的耗散功率為0.06*0.06*100=0.36w,若選用0805貼片電阻,將導致r7燒壞,或者由於溫度公升高太嚴重導致r7阻值變化太大輸出引起較大偏差。加入r14之後,r7上的最大耗散功率為:0.03*0.03*100=0.09w,此時在正常的範圍之內。
電路中r14不可省去,c17不可省去,由於外負載可能的微小干擾或波動將導致opa333組成的深度負反饋電路形成振盪,使輸出電流波動,加入c17能抑制這種波動,使輸出更穩定,但是c17的值不宜過大。
使用stm32程式設計應注意,其內部不應當開dac緩衝,因以上電路已經為乙個高輸入阻抗的緩衝電路。由stm32內部緩衝電路將損失掉輸出線性度。
STM32 4 20mA輸出電路
為工業場合開發的裝置通常情況下都會具有4 20ma輸出介面,在以往沒有dac模組的微控制器系統,需要外加一主片dac實現模擬量的控制,或者採用pwm來摸擬da,但也帶來溫漂和長期穩定性問題。在以stm32為中心的裝置中,使用它自帶的dac即可非常方便的實現4 20ma的輸出介面,具有精度高 穩定性好...
STM32 4 20mA輸出電路
源 stm32 4 20ma輸出電路 為工業場合開發的裝置通常情況下都會具有4 20ma輸出介面,在以往沒有dac模組的微控制器系統,需要外加一主片dac實現模擬量的控制,或者採用pwm來摸擬da,但也帶來溫漂和長期穩定性問題。在以stm32為中心的裝置中,使用它自帶的dac即可非常方便的實現4 2...
STM32 4 20mA輸出電路
源 stm32 4 20ma輸出電路 為工業場合開發的裝置通常情況下都會具有4 20ma輸出介面,在以往沒有dac模組的微控制器系統,需要外加一主片dac實現模擬量的控制,或者採用pwm來摸擬da,但也帶來溫漂和長期穩定性問題。在以stm32為中心的裝置中,使用它自帶的dac即可非常方便的實現4 2...