单片机ADC检测4-20mA电路,以及计算方法
单片机ADC检测4-20mA电路,以及计算方法
转载:https://www.hongchangzidonghua.com/?id=24
1,手里有一个4-20mA输出的压力传感器,假设测量范围是0MPa到2MPa,具体多少忘了,计算方便取个整数。单片机要做的就是采集到这个信号,而且计算出当前的压力。下面给大家一个参考。
2,4-20mA信号在工业上是非常常见的一种信号,应用在各种传感器的输出上,突出优点就是抗干扰能力强,大家都知道,串联电路中,电流处处相等,那么信号线再长(比如几十米)也不用担心内阻问题导致的压降了。我们只需要检测电流大小即可,单片机检测的和传感器发射的一定是相等的电流。
3,这个传感器是两线制的,只有一个正极和负极,在12V直流供电下可以正常工作。
4,单片机有一个16Bit的高精度ADC,能够精确检测0V到3.3V的电压(这里的3.3V指的是ADC电路的参考电压,一般在单片机电路上设计)。也就是说,如果外部有一个电压是0V到3.3V之间变化的,那么单片机就可以把它转化为数字0到数字65535之间,而且这个关系是线性的。实际电路如下:

5,传感器只需要根据正负极,接到连接器P15上即可。当传感器接好后,会有4到20mA的电流,流过电阻R39,那么对应的电阻上面的电压变化范围就是
| 传感器量程 | 传感器输出 | R39电压 (U = I X R) |
| 0MPa | 4mA | 588mV |
| 1MPa(中间量程) | 12mA | 1764mV |
| 2MPa(满量程) | 20mA | 2940mV |
上述电路上有稳压二极管D2,目的是保护单片机的IO口,防止某个瞬间R39上的电压突然增大烧坏单片机。
6,有了上述表格,那么单片机要做的就是处理数据了。下表给出对应关系。
| 传感器量程 | 单片机检测的电压 | ADC采集到的数字 |
| 0MPa | 588mV | 11677 |
| 1MPa(中间量程) | 1764mV | 35032 |
| 2MPa(满量程) | 2940mV | 58386 |
7,ADC采集的数字具体公式如下:
式子中,u是采集到的电压,单位是mV;a是其采集到的理论ADC数字;3300mV是参考电压。
8,看见了吧,单片机检测传感器的数值并不难,而且是不是特别简单?对了,单片机的ADC计算时候没有小数,不是四舍五入,小数直接舍去。
单片机ADC检测4-20mA电路,以及计算方法的更多相关文章
- STC 单片机ADC实现原理
模数转换器原理 数模转换器( analog to digitI converter,ADC),简称为A/D,ADC是链接模拟世界和数字世界的桥梁.它用于将连续的模拟信号转换为数字形式离散信号.典型的, ...
- 案例 stm32单片机,adc的双通道+dma 内部温度
可以这样理解 先配置adc :有几个通道就配置几个通道. 然后配置dma,dma是针对adc的,而不是针对通道的. 一开始我以为一个adc通道对应一个dma通道.(这里是错的,其实是我想复杂了) 一个 ...
- esp8266模拟输入(ADC)检测问题
今天使用esp12f读取A0数据时一直出现错误; Serial.println(analogRead(A0));读取值一直为1024 因为前段时间一直用的是开发板,读取电压值正常 而从昨天换为了esp ...
- [每日电路图] 1、基于AT89C52单片机最小系统接口电路【转】
come from:http://www.21ic.com/dianlu/basis/interface/2015-04-21/621607.htm AT89C52是美国Atmel ...
- 学习笔记——单片机简介 & 点亮LED & 流水灯 & 电路基础【更新Ing】
视频地址:https://www.bilibili.com/video/av10765766 超详细!!!!!! 单片机内部三大资源 [资源:单片机可提供使用的东西] FLASH 可以重复擦写 断电后 ...
- 单片机的外围功能电路 LET′S TRY“嵌入式编程”: 2 of 6
单片机的外围功能电路 LET′S TRY“嵌入式编程”: 2 of 6 本连载讲解作为嵌入式系统开发技术人员所必需具备的基础知识.这些基础知识是硬件和软件技术人员都应该掌握的共通技术知识. 上期在&l ...
- FPGA基础入门篇(四) 边沿检测电路
FPGA基础入门篇(四)--边沿检测电路 一.边沿检测 边沿检测,就是检测输入信号,或者FPGA内部逻辑信号的跳变,即上升沿或者下降沿的检测.在检测到所需要的边沿后产生一个高电平的脉冲.这在FPGA电 ...
- labview入门到出家11(补充)——基于单片机和labview开发的虚拟示波器
之前有小伙伴提到需要虚拟示波器的资料,有些库还有文件丢失了,直接给的工程跑不起来,这里我把关键的地方讲解一下,大家可以自行开发.其实开发不难,只是有些点会耗点时间.虚拟示波器,顾名思义就是非实物的 ...
- 自制单片机之十三……时钟IC_DS1302
在网上看了很久,发现初学者最有兴趣的就是DS1302时钟电路,也很自然,它是个做出来就让你觉得最实用的电路了,但实际上制做上并不简单,首先你要让你的显示部分(不管是数码管还是LCD)调试通过.然后把D ...
随机推荐
- kvm的分层控制
第五层 virsh virt-manager(和libvirtd)利用了libvirt-api virsh pool-list --all virsh pool-define xxx/xml会 ...
- 1004 Counting Leaves (30分) DFS
1004 Counting Leaves (30分) A family hierarchy is usually presented by a pedigree tree. Your job is ...
- SpringBoot之WEB开发-专题二
SpringBoot之WEB开发-专题二 三.Web开发 3.1.静态资源访问 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置 Spring Boot默认提供静态资 ...
- 捣鼓Haskell
最近想学这门语言,于是做了一些准备工作,配置好一切后,打算玩一玩. 先扔一段官方简介: Introduction Haskell is a computer programming language. ...
- springboot#下载文件
膜拜大神 这就是我要的滑板鞋! @RequestMapping(value = "/media", method = RequestMethod.GET) public Respo ...
- GET和POST面试知识点
导读:大部分APP都依赖于网络通信,对于开发者来说,基于网络通信的开发无疑是必须掌握的.HTTP通信作为目前计算机主要的通信协议,是企业面试当中必问的.对于HTTP通信的概念,本文不作说明,我将在后续 ...
- Maven项目-Tomcat - 方法无法为jsp编译类ClassFormatException的解决
解决方法:
- SpringMVC 注解配置
使用注解配置spring mvc (1)spring mvc的配置文件 <?xml version="1.0" encoding="UTF-8"?> ...
- 131、Java面向对象之static关键字三(使用static定义方法)
01.代码如下: package TIANPAN; class Book { // 描述的是同一个出版社的信息 private String title; private double price; ...
- 对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
引用:https://www.jb51.net/article/142775.htm 列表赋值: 1 2 3 4 5 6 7 >>> a = [1, 2, 3] >>&g ...