为工业场合开发的设备通常情况下都会具有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单片机中文官网
- STM32单片机官方开发工具
- STM32单片机参阅规划