单片机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 ...
随机推荐
- 解决误删libc.so.6过程的参考资料
说说前因后果:因为之前安装了filezilla,发现安装不了,说是libc.so.6老旧了.差不多过了一个星期,也就是前天升级gcc成功后决定再解决这个问题.gcc升级成功后,决定创建新链接...然后 ...
- 多项式输出 (0)<P2009_1>
多项式输出 (poly.pas/c/cpp) [问题描述] 一元n次多项式可用如下的表达式表示: 其中,称为i次项,ai称为i次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输 ...
- 微信小程序加密解密 C# 以及 填充无效,无法被移除错误的解决方案 Padding is invalid and cannot be removed
解密加密源码 using System; using System.Security.Cryptography; using System.Text; namespace Wechat { publi ...
- Activiti工作流学习笔记一
Activiti工作流 一:Activiti第一天 1:工作流的概念 说明: 假设:这两张图就是华谊兄弟的请假流程图 图的组成部分: 人物:范冰冰冯小刚王中军 事件(动作):请假.批准.不批准 工作流 ...
- day5-1继承
继承: Constructor属性和prototype属性的关系: 创建了自定义的构造函数之后,其原型对象默认会取得constructor属性:当调用构造函数创建一个新实例后,该实例的内部将包含一个指 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 显示代码:按键提示
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Codeforces Round #585 (Div. 2)E(状态压缩DP,思维)
#define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h>using namespace std;long long n,x;long lon ...
- STM32 的系统滴答定时器( Systick) 彻底研究解读
作者:王健 前言 SysTick 比起那些 TIM 定时器可以说简单多啦~~~~~哥的心情也好了不少, 嘎嘎!! ARM Cortex-M3 内核的处理器内部包含了一个 SysTick 定时器,它是一 ...
- WAV格式解析
WAV为微软公司(Microsoft)开发的一种声音文件格式,它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windows平台的音频信息资源,被W ...
- JS array delete splice 区别
Delete in this case will only set the element as undefined: > myArray =['a','b','c','d'] >dele ...