电压表或电压表是用来测量电路中两点之间的电压或电位差的测量仪器。电压表是一种重要的设备,它与各种仪器都有关系电子产品项目.它们用于测量交流电压和直流电压。
电压表又分为两类模拟电压表和数字电压表.模拟电压表由指针组成,指针在刻度上移动,移动与被测电压成正比。
模拟电压表根据其结构原理进一步分类。一些常用的模拟电压表有永磁体动圈电压表、整流式电压表、静电式电压表、动铁式电压表等。
模拟电压表通常有5%的误差百分比,视差误差经常是一个问题。但是模拟电压表可以用来测量从几伏特到几千伏特的电压。
为了克服模拟电压表的缺陷,引入了数字电压表。与模拟电压表不同,数字电压表直接在数字显示器上显示所测电压的数值。模拟电压表用刻度和指针来显示所测电压。
数字电压表的误差百分比通常小于1%,精度可在高精度数字电压表中提高,具有高速测量和可选择将值存储在存储器中。
本课题设计了一种基于Arduino的数字电压表,可测量50V以下的电压。
线路图
组件
组件描述
Arduino UNO
Arduino UNO是目前最流行的基于ATmega328P单片机的电子原型板之一。ATmega328P是一种基于AVR架构的8位微控制器。
16 × 2液晶显示
16 × 2液晶显示器是基于微控制器的应用中最常用的显示单元。
它支持一行16个字符,有两行这样的行。它还支持特殊字符甚至自定义字符。
电路设计
对于测量小于或等于5V的电压,可以使用第一个电路。对于测量50V以下的电压,可以使用第二路。两个电路中的LCD部分是相同的。
用于显示的LCD电源引脚1和2 (Vss和Vdd)。它们分别接地和+5V电源。LCD的引脚3 (Vee)是显示器的对比度调节引脚。接10KΩ POT的雨刷端,POT的其他端分别接+5V电源和接地。
LCD后面的三个引脚是控制引脚。LCD的引脚4和引脚6 (RS和E)分别连接Arduino的数字输入/输出引脚2和3。LCD引脚5 (RW)已接地。
下一个连接是关于数据引脚的。LCD使用4位数据模式,因此使用数据引脚D4到D7。连接LCD的引脚11 ~ 14 (D4 ~ D7)连接Arduino的数字输入输出引脚4 ~ 7。引脚15和16是背光led的供电引脚。LCD的引脚15 (LED+)通过限流电阻220Ω连接到+5V电源。LCD引脚16 (LED-)已接地。
第一个电路用于测量5V以下的电压,没有额外的连接,被测电压直接连接到Arduino UNO的模拟输入A0上。
第二个电路用于测量50V以下的电压,我们需要另外连接一个电压电路。由100KΩ电阻和10KΩ电阻组成的分压器电路的输出端连接到Arduino UNO的模拟输入引脚A0上,100KΩ电阻的另一端连接到待测电压,10KΩ电阻的另一端连接到地。
待测输入电压与Arduino UNO的接地端必须是公用的。
工作
该项目的目的是建立一个数字电压表使用Arduino UNO。该项目所需的组件和施工非常简单。这里对项目的工作进行了说明。
在数字电压表中,要测量的电压是模拟形式的,在模数转换器(ADC)的帮助下被转换成数字形式。因此,本项目利用了Arduino UNO的ADC特性。
第一个电路用于测量5V的最大电压,输入电压给Arduino的模拟输入引脚。ADC的参考电压为5V。Arduino UNO中的ADC为10位分辨率。因此,输入电压是通过模拟引脚上的模拟值乘以5,再除以2来计算的10即1024。
Arduino UNOs模拟输入电压范围为0V ~ 5V。因此,为了增加这个范围,必须使用分压器电路。
在第二个电路中,通过使用由100KΩ电阻和10KΩ电阻组成的分压器,将Arduino UNO的模拟输入范围提高到50V。在分压器电路的帮助下,被测量的输入电压被降至Arduino UNOs模拟输入的范围。
其余的计算在Arduino UNO的编程部分完成。
请注意
- 采用分压器式电压表的缺点是测量误差大。因此,我们需要多个量程的电压表。
- 为了减小误差,分压器中R1和R2的比值必须最小。
- 例如,要测量50V的输入电压,R1和R2的比值必须大于((50/5)- 1)。
R1/ r2 > ((50/5) - 1)
R1和R2 > 9
因此,如果我们选择R1为100KΩ, R2为10KΩ,那么就可以测量到50V以下的电压。
应用程序
- 本课题设计了一种基于Arduino的数字电压表,可用于测量不同范围的直流电压。
- 只要对电路和代码稍加修改,该电路就可以扩展到测量交流电压。
4的反应
出色的工作
谢谢你!非常有益的项目。我唯一的评论集中在代码1中' temp '变量的使用上。我对此感到困惑,并意识到这是用来校正使用分压器电路测量的电压。
将这两个代码块进行转置可能会更有帮助,这样代码1就可以引用图1中的电路,等等。目前,为了使图2中的电路正常工作,您需要使用代码1——而不是代码2——反之亦然
Y两码
在proteus中模拟时如何取输入电压?