电流转电压模块4-20mA转0-3.3/5V/10V/15V转换变送器电路原理解析

电流转电压模块4-20mA转0-3.3/5V/10V/15V转换变送器电路原理解析工业传感器常使用电流大小来传输数据,那么作为传感器数据的接收方,比如单片机,有内部AD的单片机可以检测电压的大小,那么首先必须将电流信号转换为电压信号,然后进行电压幅值变换使其适合MCU处理的电压范围。下面我们从设计的电流转电压的模块电路原理图来逐步解析。首先我们看电流检测放大部分,就是U1B部分,电流从R1的上端流入,下端流出。不难看出这是一个差分放大电路,也就是一个减…

大家好,又见面了,我是你们的朋友全栈君。

       工业传感器常使用电流大小来传输数据,那么作为传感器数据的接收方,比如单片机,有内部AD的单片机可以检测电压的大小,那么首先必须将电流信号转换为电压信号,然后进行电压幅值变换使其适合MCU处理的电压范围。 

      下面我们从设计的电流转电压的模块电路原理图来逐步解析。

电流转电压模块4-20mA转0-3.3/5V/10V/15V转换变送器电路原理解析

       首先我们看电流检测放大部分,就是U1B部分,电流从R1的上端流入,下端流出。不难看出这是一个差分放大电路,也就是一个减法运算电路,输出电压UA=(R5/R3)*(U1-U2)=U1-U2,UA即是电阻R1两端的电压差,假如流过该电阻的电流为20mA,那么产生的电压=20*100=2000mV,还没有达到我们单片机的电压测量范围(这里默认单片机AD检测的范围为0-5V)。

       所以为了高效的利用单片机AD的量程,我们需要将电压信号进一步放大,有人会问:如何使电流信号输入为4mA时,在这时电压输出是0V呢?  这个问题的关键点在于我们要输出的是0V电压,这里我们还是要用到减法器如下图:

电流转电压模块4-20mA转0-3.3/5V/10V/15V转换变送器电路原理解析

       图中U1A组成是减法电路,其输出电压等于UA-UB。U1D组成一个跟随器,当电流信号为4mA时,UA=4*100=400mV,那么U1A的输出此时为0V正是我们的目的,那么就需要UA=UB,那么调节U1D跟随器的正相输入端通过调节电位器RP2改变分压即可。这就完美解决了当输入电流为4mA时输出电压为0的问题。

      接下来我们要添加的是放大电路,将U1A的输出信号进行放大。如下图:

电流转电压模块4-20mA转0-3.3/5V/10V/15V转换变送器电路原理解析

       在这里U1C的作用即是最终放大,那么在使用时,将输入电流设置为20mA时,调节RP1电位器,即调节电压放大倍数,直至输出电压为5V或其他量程的10V、15V,即可完成对量程的设置。

使用前设置事项:

调零:输入电流4mA时,调节调零电位器直至输出电压为0V。

调量程:输入电流20mA时,调节调量程电位器直至输出电压为目标量程电压。

供电电压:7-30V(若输出要到n V,供电电压必须大于(n+2)V,这是因为运放不是轨对轨型,最大输出值无法等于供电电压值)。

下面是模块整体的电路图:

电流转电压模块4-20mA转0-3.3/5V/10V/15V转换变送器电路原理解析

       我们看图中使用的运放为LM324,此运放不是轨对轨的运放,那么运放的最低输出电压是不可能等于0V的,即便是轨对轨运放,最低输出还是会有mV级别的电压,那么我们将供电改为正负电源即可解决最低输出不为0V问题,所以利用ICL7660芯片产生芯片产生一个负5V电压作为负电源。图中D1二极管起到防止电源反接的作用。

       下图为本篇电路图所做PCB板模块图片:

https://item.taobao.com/item.htm?spm=a213gs.20824378.0.0.50b54831wjgTmj&id=655394145658

实物连接:https://item.taobao.com/item.htm?spm=a213gs.20824378.0.0.50b54831wjgTmj&id=655394145658

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142636.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm缩进设置_wps首行缩进快捷键

    pycharm缩进设置_wps首行缩进快捷键1、pycharm使多行代码同时缩进鼠标选中多行代码后,按下Tab键,一次缩进四个字符2、pycharm使多行代码同时左移鼠标选中多行代码后,同时按住shift+Tab键,一次左移四个字符Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的…

    2022年8月25日
    8
  • java运行环境_如何搭建Java运行环境?

    java运行环境_如何搭建Java运行环境?前言对于运行一个Java程序,我们首先需要有一个运行Java程序的平台程序,这个平台程序就是Java虚拟机。本篇文章将介绍如何在Windows系统上搭建一个Java程序的运行环境,主要分为两个步骤:安装JDK,配置环境变量。Windows系统Java运行环境配置下载JDK并安装首先我们需要下载java开发工具包JDK,JDK中包含了JRE(Java运行环境)和一些官方提供给我们的工具,在oracl…

    2022年7月7日
    21
  • java分页与排序orderby_mysql排序分页

    java分页与排序orderby_mysql排序分页java分页与排序代码如下不解释代码如下不解释publicclassSortObimplementsComparable{privateStringname;privateintage;privateDatecreateDate;publicSortOb(Stringname,intage,DatecreateDate){ this.name=name; this.age=age; this.createDate=createDate;}

    2022年10月3日
    4
  • 【shell案例】学员管理系统「建议收藏」

    【shell案例】学员管理系统「建议收藏」前言学员管理系统涉及到学员的增删改查,这是一个综合性比较强的项目,在所有的编程语言里都会有不同版本的学员信息管理系统,难度适中效果截图学员管理系统源码#!/bin/bash##随机点名册whiletruedo echo”学生随机点名系统” echo”1.添加学员名单” echo”2.遍历学员名单” echo”3.随机点名” echo”4.删除某个学员的信息” echo”5.退出” read-p”请输入你要选择的序号:”num case

    2022年9月21日
    3
  • Windows server 80端口被占用怎么办_sqlserver基本介绍

    Windows server 80端口被占用怎么办_sqlserver基本介绍安装sqlserver导致80端口被占用解决方法系统占用的端口一般都是微软官方的产品占用的。所以这个时候主要考虑到几个服务:SQLServer导致。其中很有可能是SQLServerReportingServices(MSSQLSERVER),它是SQLServer的日志系统。IIS服务。如果你电脑安装了这个,很有可能它在运行着,那么它就占用着80端口当然如果都不…

    2025年7月1日
    4
  • linux关闭系统防火墙命令_linux系统如何关闭防火墙

    linux关闭系统防火墙命令_linux系统如何关闭防火墙LINUX关闭防火墙的方法导语:LINUX关闭防火墙的方法,你懂吗?下面的是百分网小编为大家搜集的LINUX关闭防火墙的方法,欢迎阅读,谢谢!(1)重启后永久性生效:开启:chkconfigiptableson关闭:chkconfigiptablesoff(2)即时生效,重启后失效:开启:serviceiptablesstart关闭:serviceiptablesstop需要说…

    2025年9月18日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号