模拟4~20ma电流输出的设计

news2024/11/25 14:58:40

文章目录

    • 1. 原理
    • 2. 使用GP8102S或GP8212S进行设计
      • 2.1 共地型设计
      • 2.2 共源型设计
      • 2.3 其它电流需求
    • 3. 隔离光耦电源连接方案
    • 4. 利用GP8102S实现0-40V 的可编程电压输出

1. 原理

4 ~ 20ma电流输出的目的不用多说,今天就简单聊一下4 ~ 20ma电流输出是怎么设计出来的,并介绍一种国产集成芯片解决方案。

一般用分离器件搭建的实现原理都是通过单片机控制一个三极管,使其工作在放大区,因为放大区放大并不是线性的,因此需要在串接一个电阻,通过检测电阻电压,单片机来反馈调节三极管的输入,然后从而实现4~20ma电流输出。

今天我们介绍通过GP8102S芯片来实现4 ~ 20ma电流输出设计,还有另外一款芯片GP8212S,两者区别是一个是pwm转4 ~ 20ma电流输出,另外一个是I2C转4 ~ 20ma电流输出,同时精度略有区别,本文主要讲解GP8102S芯片。

GP8102S

它的实现原理通过控制PWM的占空比,控制三极管工作在放大区,在三极管上串联一个采样电阻,通过VFB反馈给芯片内部,从而控制输出,调节三极管。这只是一个简单的设计原理,下面我们看一下具体的设计。

2. 使用GP8102S或GP8212S进行设计

和平时我们使用GPIO输出有两种模式开漏和推完类似,4~20ma电流输出分为共地型和共源型,其主要表现为通信的电由哪一方提供。

2.1 共地型设计

共地型设计

LM321的作用是生成反馈电压,输入到IOUT2,来调节IOUT的输出。对于GP8102S中,Rs一般采用250Ω,GP8212S中,Rs一般采用100Ω。

相对采用1M的电阻,下面这种设计方案能够提高更高的精度。

提高精度

说明:

  1. 是0/4-20mA输出(共地型三线制), Q1选择TO252/SOT223等封装的NPN,作为功率管承受4-20mA所产生发热。
  2. Rs的精度至关重要,建议采用0.1%精度,同时因为其要流过4-20mA电流,因此要根据功率选择合理的封装。

2.2 共源型设计

共源型设计

说明:

  1. 0/4-20mA输出(共源型三线制),MOS管选择TO252/SOT223等封装的NMOS, 作为功率管承受4-20mA所产生发热 。
  2. 同样Rs的精度至关重要,建议采用0.1%精度,同时因为其要流过4-20mA电流,因此要根据功率选择合理的封装。
  3. 对于这种电是由外部提供的端口处,一定要添加一个TVS来保护芯片。

2.3 其它电流需求

有的时候我们可能因为设备特殊0/4-20mA输出满足不了需求,可能需要4-35mA输出,这里提供一种思路。

根据电流输出公式IOUT=5V * DPWM /Rs(DPWM为PWM信号的占空比) 可知,IOUT输出的上线跟电阻Rs有一定的关系,因此通过减小Rs电阻,可以提高IOUT输出范围。但是一定要考虑好三极管的选型,完美配合才能出现最佳效果,当然对于我们平时来讲,不需要把范围设计过大,因为过大的范围会降低输出的精度。

3. 隔离光耦电源连接方案

有的时候我们设计需要隔离,可以采用下面方法,在选择光耦的时候,频率的选择要格外注意。

在隔离应用中光耦电源有两种接法:

  1. V5V为光耦电源;
  2. V5V经过NPN管9013后作为电源。 前者电路简单,后者光耦引入误差小 .

隔离方案

下面是一个完整的隔离方案:

  1. 利用APC芯片GP9303将模拟信号4-20mA转换成PWM。
  2. PWM信号通过光耦隔离 。 TLP1488为低速光耦,适合应用在PWM频率低于500Hz的场合, TLP1788为高速光耦,适合应用在PWM频率低于25Khz的场合。
  3. 隔离后的PWM信号送给PAC芯片GP8102S后还原成电流输出。

完整隔离方案

4. 利用GP8102S实现0-40V 的可编程电压输出

GP8102S除了能实现模拟电流的输出,其实还可以实现模拟电压的输出,如下就是一个PWM 控制的线性稳压方案:

基于 GP8102S+2SD882 ,利用 GP8102S 与外接扩流三极管实现闭环控制,输出电压为 VOUT。VOUT=5V * DPWM * (R1+R2)/R2, DPWM为 PWM 信号的占空比,通过此电路可以实现 0-40V 的可编程电压输出 。

可编程电压源

公众号 | FunIO
微信搜一搜 “funio”,发现更多精彩内容。
个人博客 | blog.boringhex.top

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/949446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI】数学基础——概率论

随着联结主义学派的兴起,概率统计已经取代了数理逻辑,成为了人工智能研究的主流工具 数理统计的关注点是 无处不在的可能性 对随机事件发生的可能性进行规范的数学描述是概率论的公理化过程 频率学派认为先验分布式固定的,模型参数靠最大似…

C++day6

1. #include <iostream>using namespace std; class Animal { private:int id; public:Animal(){}Animal(int id):id(id){}virtual void show(){cout << "动物园门牌号:" << id << endl;} }; class Houzi:public Animal { private:string n…

用变压器实现德-英语言翻译【02/8】: 位置编码

一、说明 本文是“用变压器实现德-英语言翻译”系列的第二篇。它从头开始引入位置编码。然后&#xff0c;它解释了 PyTorch 如何实现位置编码。接下来是变压器实现。 二、技术背景 位置编码用于为序列中的每个标记或单词提供相对位置。阅读句子时&#xff0c;每个单词都依赖于它…

日本核污染水排海,有必要囤盐吗?

据央视新闻24日报道&#xff0c;当地时间8月24日13时&#xff0c;日本福岛第一核电站启动污水排海。消息一出&#xff0c;全球哗然。虽然事情已经过去了几天&#xff0c;但是&#xff0c;随着这一举动&#xff0c;大家就乱了阵脚&#xff0c;恐惧者有之&#xff0c;辱骂者有之&…

Nginx从入门到精通(超级详细)

文章目录 一、什么是Nginx1、正向代理2、反向代理3、负载均衡4、动静分离 二、centos7环境安装Nginx1、安装依赖2、下载安装包3、安装4、启动5、停止 三、Nginx核心基础知识1、nginx核心目录2、常用命令3、默认配置文件讲解4、Nginx虚拟主机-搭建前端静态服务器5、使用nignx搭建…

超声波俱乐部分享:AI冷静期,创业者们应该做什么?

8月26日&#xff0c;2023年第十一期超声波俱乐部内部分享会在北京望京举行。本期的主题是&#xff1a;AI冷静期&#xff0c;创业者们应该做什么&#xff1f; 到场的嘉宾有&#xff1a; 超声波创始人杨子超&#xff0c;超声波联合创始人、和牛商业创始人刘思雨&#xff0c;中国…

学习c++的第6天

#include <iostream> using namespace std; class Animal { public: virtual void perform()0; virtual ~Animal() { cout<<"Animal的析构函数"<<endl; } }; class Lion :public Animal { public : void perform() { cout<<"狮子…

41、springboot 整合 FreeMarker 模版技术

springboot 整合 FreeMarker 模版技术 ★ 整合FreeMarker的自动配置&#xff1a; FreeMarkerAutoConfiguration&#xff1a;负责整合Spring容器和获取FreeMarkerProperties加载的配置信息。FreeMarkerServletWebConfiguration/FreeMarkerReactiveWebConfiguration&#xff1a…

C++ 多级继承

所谓多级继承就是代代相传&#xff0c;几代人&#xff0c;后代继承祖辈的数据和方法。但是有三种不同的继承方式而已。 构造顺序&#xff0c;即基类先构造&#xff0c;其次代代相传&#xff0c;析构顺序则是从子代先析构&#xff0c;最后析构祖先。 构造:从祖宗开始&#xff0…

马上金九银十了,给大家一点面试方面的建议

哈喽大家好啊&#xff0c;我是Hydra。 好久不见&#xff0c;甚是想念。这段时间没有更新什么文章&#xff0c;其实是因为我跳了一波槽&#xff0c;出去面了一圈后&#xff0c;也顺利拿了不少架构岗位的offer。 正好马上要金九银十了&#xff0c;相信有不少小伙伴们估计也有跳…

1.2 数据库系统结构

思维导图&#xff1a; 学习目标&#xff1a; 学习数据库系统结构是一个结构性和系统性的过程。如果是我&#xff0c;我会采用以下策略&#xff1a; 1. **确定目标和动机**&#xff1a; - 明确为什么要学习数据库系统。是为了应对工作的需求、为了研究还是出于兴趣&#xf…

多用户商城系统常见的安全性和数据保护措施有哪些?

电子商务的迅速发展&#xff0c;越来越多的企业选择搭建多用户商城系统来扩展业务。然而&#xff0c;随之而来的是对数据安全和保护的日益关注。在选择多用户商城系统时&#xff0c;我们需要考虑一系列的安全性和数据保护措施&#xff0c;以确保商城系统的稳定性和用户数据的完…

【数据结构】带头双向循环链表---C语言版(单链表我们分手吧,不要再找我玩了!!!)

文章目录 &#x1f438;一、前言&#x1f438;二、链表的分类&#x1f344;1. 单向或者双向链表&#x1f344;2. 带头或者不带头链表&#x1f344;3. 循环或者非循环&#x1f344;4. 最常用链表 &#x1f438;三、带头双向循环链表详解&#x1f34e;创建带头双向循环链表⭕接口…

Power Pivot 实现数据建模

一、简介 Excel中的透视表适合小规模数据&#xff1b;如果想在稍微大一些的数据中进行高性能透视表分析&#xff0c;就要使用Power Pivot&#xff1b;再大一些数据&#xff0c;可能就需要大数据分析服务来进行分析。 Power Pivot&#xff0c;可以让没有技术背景的企业业务人员…

【前端demo】将二进制数转换为十进制数 原生实现

https://github.com/florinpop17/app-ideas 总结 文章目录 效果JavaScript实现进制转换原生代码遇到的问题 效果 二进制转换为十进制若输入为空或不是二进制&#xff0c;提示清空 JavaScript实现进制转换 parseInt parseInt(111,2)手动实现 bin是输入的字符串。 functio…

设备分配与回收、缓冲区管理

设备分配与回收 是什么&#xff1a;设备分配的任务是按照一定的策略&#xff0c;为提出I/O请求的进程分配合适的设备&#xff0c;确保CPU与I/O设备之间能正常通信&#xff0c;还应分配相应的控制器和通道。设备分配管理中的数据结构 设备控制表DCT&#xff1a;每个设备对应一张…

Spring Bean 生命周期顺序验证

看到一篇写的很好的 Spring Bean 生命周期的博客&#xff1a;一文读懂 Spring Bean 的生命周期&#xff0c;在此写个简单的 Bean 进行验证。 1. 创建Springboot项目 基于 springboot 的2.1.8.RELEASE 创建一个简单项目&#xff0c;只添加 spring-aop 包以引入spring依赖。 &…

关于流控RTS/CTS ,DTR/DSR的说明

最近在调试代码过程中遇到一些流控的问题&#xff0c;关于相关概念做了一些总结。 以9针脚232串口为例子&#xff1a; DCD:接受信号检出&#xff0c;也叫数据载波检出线&#xff08;Data Carrier detection&#xff0c;DCD&#xff09;&#xff0c;主要用于表示Modem已经接通通…

六、事务-2.事务操作

解决问题&#xff1a;要把转账的三步操作控制在一个事务之内 当前每一个SQL语句就是一个事务&#xff0c;默认MySQL的事务是自动提交的&#xff0c;也就是说&#xff0c;当执行一条DML语句&#xff0c;MySQL会立即隐式的提交事务。 一、方式一&#xff1a;修改当前窗口事务提…

全球化时代的文化代言人:海外网红如何影响消费行为?

随着全球化的推进&#xff0c;互联网和社交媒体的普及&#xff0c;海外网红在当今社会中扮演着越来越重要的角色。这些在网络平台上拥有大量粉丝的人物不仅仅是娱乐的代表&#xff0c;更成为了文化的代言人&#xff0c;影响着人们的消费行为。 从美妆产品到时尚潮流&#xff0…