STM32编程为何内部不应开DAC缓冲

为工业场合开发的设备通常情况下都会具有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内部缓冲电路将损失掉输出线性度。

晶圆代工行业介绍
生命体征技术:基于状态的人体监测
为争取苹果订单?三星考虑分拆晶圆代工业务
今年曝光的iphone8,将会有什么特别和新功能呢?
那抹绿暖进心底,oppor9s清新绿正式发布,简直美到没朋友
STM32编程为何内部不应开DAC缓冲
香橙派Orange Pi RK3399解析
什么牌子的骨传导耳机好、市面上最好的骨传导耳机
工程如何进行参数选型
如何利用单片机看门狗定时器使led闪烁
SMT焊接工艺介绍:回流焊、波峰焊、通孔回流焊
要自由还是要来电? HUAWEI WATCH 2与APPLE Watch3大不同
测评全网口碑爆表的五款真无线蓝牙耳机
暴雨过后,如何让漏电触电伤亡悲剧不再重演 ——直流供电
KUKA机器人C4外部自动控制最终版-v1介绍
AR/VR设备成为科技巨擘技术研发主战场
FPGA巨头赛灵思收购深鉴科技,计划未来布局中国ADAS及自动驾驶
浅析高功率电源PCB设计中变压器底层走线的关键要点
中国在高性能芯片领域取得了重大突破
TVS管在BMS上的功能