声明:本人车辆工程专业的大一菜鸟一只,发帖技术等级不高,而且此方法早有发人分享,此贴仅分享一次经历,请勿根据本帖内容进行一些危险的操作,如有事故发生,与本人无关!

须知前提:

   arduino的A0、A1、、等口为模拟信号输入口,arduino板子通过测得A0口的电势来产生A0口的数据,测压的范围是0~5V,产生的数值为0~1023。使用模拟输入测电势时,需将被测物的负极与GND连接,否则无法测量,且因浮空产生一系列错误数值。

核心思想:

       1、arduino模拟输入的读电压功能。

       2、串联电阻的电阻分压。

       3、将模拟输入数值经计算得到电压值。

实例:

左侧为串口监视器传出数值,右侧为电压表测值。

本例的设计为0~1030V量程的测压电路。

 

 电路图:

看左边图就好,右边有点乱。

因为电阻往往不会精确地如标注或万用表测得的数值一般,所以,电路的设计最好有一定弹性。我们可以在电路上串联一个变值电阻来调节测试精度。调节精度还有一个途径,即在计算程序中修改一些参数,本例中的数值就如此调试过。

关于变值电阻的选择,个人建议选择总值有10k欧姆的,在计算时,可以让大分压电阻取一个略小于实际的值计算,后通过滑动变阻器补偿。比如47k电阻,可取值45k进行计算,不够的话再通过调变值电阻补。

计算:

我们知道串联电阻的各电阻分压比与电阻比程正比,所以我们可以计算出我们从原本的5v量程放大了多少倍。

注意:我们前面提到了电子元件阻值不完全精准,所以在阻值取值上有问题,后续会利用变值电阻和调整数值的方法校准,所以这是一场粗略的计算。

程序:

只测量一个电压的话,程序时十分简易的,但是大家在设计其他项目时,如果想测得某处电压,可使用本方法。

void setup() {
pinMode(A0,INPUT);                       //令A0为模拟输入
Serial.begin(9600);
}void loop() {
int i =analogRead(A0);                   //令A0口读出电压,但此时是0~1023的数字。
float V=0.00;
Serial.print("  i=");
Serial.print(i);                         //传出i的大小。
V=i*(5.00/1023.00)*206.00;               //206.00为测试电压的放大倍数(根据实际情调整,原数为205.55)
Serial.print("  V="); Serial.println(V); //传出电压V的大小
delay(100);
}

本程序将A0口读到的值i和最终计算结果V输出到电脑,其中 i*(5.00/1023.00)是为了将A0口测出的0~1023的数变为实际测出的电压(本操作也可以用map函数映射实现)。之后,乘上206.00(放大倍数)即可得到测压端电压V。

校准:

上面也反复提到过,我们在电路设计中留下弹性空间。这里简述一下具体操作:

1,利用变值电阻。在连接电路后,将变值电阻电阻调为0,之后测压端连接被测物,同时被测物连接一个成品电压表,arduino连接电脑,并打开串口监视器。观察成品电压表数值与串口监视器中传回的V值。反复调节变值电阻,直到两读数基本吻合。多试几组。

2,(非必要)如果通过变值电阻调节仍不可校准,即可修改我们上面计算的倍数。

最终,我们可以尽可能使arduino算出精准数值,不过,肯定不能百分百精准。下图是本人的一些测压结果。

第一组

第二组

第三组

利用模拟输入测电压(Arduino测电压为例,量程1KV左右)相关推荐

  1. 应广PFS122单片机比较器测供电电源VDD电压

    应广PFS122单片机比较器测供电电源VDD电压,VDD电源调至3V的时候LED灯亮起,偶尔会有点抖动现象,可以在VDD电压3V的时候做判断,消抖处理,本例程实现功能,不清楚的请联系博主,上代码: # ...

  2. 应广PMS171B(3)--比较器测供电电源VDD电压

    应广PMS171B--3比较器测供电电源VDD电压 概述 PMS171B配置之比较器初始化 比较器测供电电源VDD电压完整代码 演示效果 视频教学 最后 概述 应广PMS171B单片机有很实用的功能, ...

  3. arduino测方波频率(外部中断)

    单片机测方波频率有两种典型的方法: 1.如果频率较块时候:利用定时器(定时一秒),外部中断下降沿触发,计算一秒钟触发的次数,算出频率 2.如果频率较慢的话,利用两个下降沿或上升沿时间间隔,测出频率 教 ...

  4. (2)arduino读取电压相对值(模拟读取传感器数值)

    arduino读取电压相对值 准备工作 接线图 读取电压值代码 准备工作 需要准备的材料有:电位器一个.arduino uno单片机.杜邦线.面包板 接线图 电位器与滑动变阻器相似,若将其两端连接5V ...

  5. 西电A测|基于Arduino uno的温度检测控制仿真系统

    西电A测|基于Arduino uno的温度检测控制仿真系统 温度检测控制仿真系统 Proteus仿真电路图 Arduino IDE编写程序 结果验证 功能拓展 温度检测控制仿真系统 功能要求:Ardu ...

  6. 西电A测 | 基于Arduino uno的电子密码锁仿真系统 | 使用Proteus仿真 | Arduino IDE编写

    西电A测 | 基于Arduino uno的电子密码锁仿真系统 | 使用Proteus仿真 | Arduino IDE编写 | ATMEGA328P 电子密码锁系统 Arduino UNO Arduin ...

  7. 大漠综合工具取点阵显示不全_利用pyfolio工具评价回测资金曲线

    1.前言 前些天发现FMZ策略回测结果输出的盈亏曲线结果比较简单,故想着是否获取收益结果数据后自己再进行处理,得到更详细的资金曲线评估报告,并且用图形可视化展示出来.着手把想法写出来的时候发现并不是那 ...

  8. 如何利用二极管把电路中的电压升上去?

    +5V_ALWP电压通过D32的1脚对C710.C722.C715.C719开始充电,充电完毕后电路状态如上图显示(二极管压降忽略不计). 此时的+15V_ALWP,实际电压为5V 由于电容的两端电压 ...

  9. 1.1 测控系统对测控电路的要求、测控电路中的重要指标

    笔者电子信息专业硕士毕业,获得过多次电子设计大赛.大学生智能车.数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究.对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验,共同 ...

最新文章

  1. The form contains the following errors
  2. svn在commit后报错:is scheduled for addition, but is missing
  3. -bash: 未预期的符号 `(' 附近有语法错误
  4. mysql中使用HAVING 筛选分组后的数据
  5. Ubuntu下面apache2安装
  6. flutter网络dio框架get请求使用总结
  7. iir matlab 系数,手把手教你用matlab生成STM32官方IIR滤波器的系数
  8. AutoWrapper:通过有意义的响应来美化您的ASP.NET Core API
  9. php如何获取html的值,请教同一个文件中php如何获取html的变量值?
  10. .net开发MIS系统的难处.
  11. 基于深度学习(端到端)的OCR文字识别
  12. 软考程序员Java答题速成_软考程序员考试下午考题解答技巧方法
  13. 开源微信小程序源码+小程序游戏代码附搭建框架教程
  14. 服务器ie浏览器访问不了网站,IE浏览器打不开网站网页怎么办 IE无法加载网页解决方法。...
  15. 《淘宝技术这十年》之LAMP架构的网站
  16. sass和compass学习笔记
  17. 使用this.$refs.XXX修改某个元素样式并添加点击事件
  18. 视频封装格式篇--MP4
  19. linux环境下mysql主从数据库配置(maser-slave-replication)
  20. 动脉自旋标记磁共振(ASL)的神经放射学家指南

热门文章

  1. 金山词霸在IE调用的PDF文件取词问题(摘自sothic)
  2. 笔记:FPGA与VHDL语言学习4
  3. jquery.reveal_使用jQuery Reveal插件构建弹出模态窗口
  4. 【CV-project】看图说话(Image Captioning)
  5. CNN卷积神经网络的卷积层、池化层的输出维度计算公式
  6. 华为交换机端口不配置access_华为S2700不能修改trunk端口为access端口的解决
  7. 银河麒麟系统飞腾CPU安装redis和nginx
  8. 安卓app中国际化任何资源的方法
  9. 第三方物流服务平台建设方案
  10. 嵌入式软件工程师笔试面试指南-ARM体系与架构