源:STM32|4-20mA输出电路

  为工业场合开发的设备通常情况下都会具有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输出电路的更多相关文章

  1. 4~20mA模拟输出(电流环)应用笔记(转)

    https://zm12.sm-tc.cn/?src=http%3A%2F%2Fwww.aichengxu.com%2Fview%2F5397788&uid=d2f68cd7fd230c162 ...

  2. STM32|4-20mA输出电路(转)

    源:STM32|4-20mA输出电路 STM32+运算放大器实现VI转换,4mA-20mA发送器

  3. STM32的GPIO口的输出开漏输出和推挽输出

    本文来自cairang45的博客,讲述了STM32的GPIO口的输出开漏输出和推挽输出, 作者博客:http://blog.ednchina.com/cairang45 本文来自: 高校自动化网(Ww ...

  4. 温湿度监测系统设计:基于 STM32 的温湿度变送器的设计与实现

    前言:这个是2018年上半年完成的,这里只贴出硬件设计部分,软件设计部分可以看上位机说明书. 设计总说明 随着科学技术的不断发展,高集成度.高精度.高可靠性的一体化温湿度变送器开始 得到广泛的应用.同 ...

  5. 【STM32】STM32 GPIO模式理解

    stm32的GPIO的配置模式有好几种,包括: 1. 模拟输入: 2. 浮空输入: 3. 上拉输入: 4. 下拉输入: 5. 开漏输出: 6. 推挽输出: 7. 复用开漏输出: 8. 复用推挽输出 如 ...

  6. 【转载】stm32的GPIO八种工作模式

    一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.         推挽电路是两个参数 ...

  7. STM32中GPIO的8种工作模式

    一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.形象点解释:推挽,就是有推有拉,任何 ...

  8. STM32端口输入输出模式配置

    STM32的IO口模式配置 根据数据手册提供的信息,stm32的io口一共有八种模式,他们分别是: 四种输入模式 上拉输入:通过内部的上拉电阻将一个不确定的信号通过一个电阻拉到高电平. 下拉输入:把电 ...

  9. STM32的GPIO工作原理 | 附电路图详细分析

    STM32的GPIO介绍 STM32引脚说明 GPIO是通用输入/输出端口的简称,是STM32可控制的引脚.GPIO的引脚与外部硬件设备连接,可实现与外部通讯.控制外部硬件或者采集外部硬件数据的功能. ...

随机推荐

  1. Struts2如何传值到jsp页面

    Struts2如何传值到jsp页面 不是action传值到jsp页面,而是jsp页面获取action中的属性值,或者范围(如request,session,application等)里的值.所以,有两 ...

  2. PAT (Top Level) Practise 1005 Programming Pattern (35)

    后缀数组.排序之后得到height数组,然后从上到下将height>=len的都分为一组,然后找到第一组个数最多的输出即可. #pragma comment(linker, "/STA ...

  3. HDU 5775 Bubble Sort

    对于一个数,可以记录3个位置:初始位置,终点位置,最右边的位置. 初始位置和终点位置容易计算.最多边的位置即为初始状态下该数的位置+该数之后还有多少数比该数小. 三个位置中的min即为leftpos, ...

  4. ios UIApplocation 中APP启动方式

    iOS app启动的方式有哪些: 自己启动(用户手动点击启动) urlscheme启动(关于urlScheme的详解)http://www.cnblogs.com/sunfuyou/p/6183064 ...

  5. OPENWRT make defconfig错误之一

    make defconfig rm: cannot remove `tmp/.host.mk': Permission denied 退到trunk上级目录 su root sudo chown -R ...

  6. 通过配置的方式Autofac(1)

    一.基本配置 1.通过配置的方式使用Autofac <?xml version="1.0"?> <configuration> <configSect ...

  7. ios 导航页面

    //  AppDelegate.m#import "AppDelegate.h"#import "ViewController.h" @interface Ap ...

  8. org.springframework.transaction.CannotCreateTransactionException

    HTTP Status 500 - Request processing failed; nested exception is org.springframework.transaction.Can ...

  9. php-fpm参数优化【转】

    转自 php-fpm参数优化 | Linux运维笔记https://blog.linuxeye.com/380.html php-fpm进程设置多少合适,设成动态还是静态? <lnmp一键安装包 ...

  10. abstract class 和 interface区别

    相同点: 1.都不能被直接实例化,都可以通过继承实现其抽象方法: 不同点: 1.接口支持多继承,抽象类只能由一个父类: 2.接口只能定义行为,抽象类既可以定义行为,又可以提供实现: 3.接口只包含方法 ...