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

2024-01-30 19:48

本文主要是介绍电流转电压模块4-20mA转0-3.3/5V/10V/15V转换变送器电路原理解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

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

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

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

使用前设置事项:

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

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

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

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

       我们看图中使用的运放为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

这篇关于电流转电压模块4-20mA转0-3.3/5V/10V/15V转换变送器电路原理解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/661351

相关文章

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

在C#中合并和解析相对路径方式

《在C#中合并和解析相对路径方式》Path类提供了几个用于操作文件路径的静态方法,其中包括Combine方法和GetFullPath方法,Combine方法将两个路径合并在一起,但不会解析包含相对元素... 目录C#合并和解析相对路径System.IO.Path类幸运的是总结C#合并和解析相对路径对于 C

Java解析JSON的六种方案

《Java解析JSON的六种方案》这篇文章介绍了6种JSON解析方案,包括Jackson、Gson、FastJSON、JsonPath、、手动解析,分别阐述了它们的功能特点、代码示例、高级功能、优缺点... 目录前言1. 使用 Jackson:业界标配功能特点代码示例高级功能优缺点2. 使用 Gson:轻量

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

Python模块导入的几种方法实现

《Python模块导入的几种方法实现》本文主要介绍了Python模块导入的几种方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录一、什么是模块?二、模块导入的基本方法1. 使用import整个模块2.使用from ... i

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.