在这篇文章中,我们将使用Arduino构建DC电压表,其中读数在16x2 LCD中显示。
所提出的电压表设计可以读取高达30V,容差+/- 0.5伏。我们将看到该设置如何运作和探索我们可以实现的其他可能性,而不是测量电压。
这个项目很简单,即使是初学者也可以轻松完成,但必须小心翼翼地进行原型,因为我们将应用外部电压,任何误差都会导致您的董事会造成致命损坏。
让警告成为一面,让我们探索它的函数。
在这里,我们正在使用模拟到数字转换过程。来自任何源的电压是模拟功能;16x2 LCD上显示的读数是数字功能。
挑战正在将这些模拟函数转换为数字函数。幸运的是,Arduino具有读取模拟函数的功能并将它们转换为离散功能。
Arduino微控制器配备了10位模拟的数字转换器(ADC)。这意味着Arduino可以读取2 ^ 10 = 1024离散电压电平。
换句话说,施加到Arduino的模拟引脚的电压是相对于参考电压的采样1024离散电压电平;采样值显示在LCD中。这是该电压表背后或几乎任何数字电压表的原理。
但是,应用的外部电压不是通过Arduino直接测量的。随着分压器的帮助,电压是下降的,并且在程序中完成一些数学以获得实际电压读数。
这个怎么运作
该电路由两个电阻器,一个LCD显示器和一个是数字电压表的大脑的arduino组成。这两个电阻用作分压器,分频器的节点连接到Arduino的模拟引脚#A0,其读取输入电压。在Arduino和外部电压源之间建立接地连接。
可以通过该电压计测量的最小电压为0.1V,该阈值设置在程序中,使其在断开电压源之后读取0.00伏,并且由于测量探头周围的静电而不会显示读数。
作者的原型:
在测量电压时,不要反转极性,它不会损坏电路,但是,它不会读取任何电压并显示0.00 V,直到校正极性。通过旋转电位计调整LCD显示屏的对比度至最佳水平。
确保您不应用任何可能高于30V的电压源;它可能会损坏您的Arduino Board。从技术上讲,您可以通过更改电阻值并修改程序来撞击该电路的最大测量电压,但是对于图示的设置30V是限制。
为了精确读取,选择具有最小公差值的固定电阻,电阻在校准电压读数方面发挥着重要作用。
电路图:
此电压表的其他可能性是我们可以修改程序以自动化一些任务。
例如,如果电压低于预设电压电平等,则检测完全电池电压并断开电池电量或断开电池电池,即使没有LCD显示器,也可以完成这些任务。然而,这是另一篇文章的主题。
程序:
// --------由r.girish开发的程序--------- //
#include
液晶LCD(12,11,5,4,3,2);
int smalidput = 0;
浮动vout = 0.0;
浮动vin = 0.0;
float R1 = 100000;
浮动r2 = 10000;
int值= 0;
void setup()
{
PINMODE(模拟算,输入);
LCD.BEGIN(16,2);
lcd.print(“直流电压表”);
Serial.Begin(9600);
}
void循环()
{
value = analogread(模拟算);
VOUT =(值* 5.0)/ 1024;
Vin = Vout /(R2 /(R1 + R2));
if(vin <0.10){
vin = 0.0;
}
lcd.setCursor(0,1);
lcd.print(“输入v =”);
lcd.print(vin);
延迟(500);
}
// --------由r.girish开发的程序--------- //
请用良好的电压表/万用表检查读数。
reparatou.说
你好!是否有任何方法可以使用Vu仪表等LED构建电流指示器,具有OP-AMPS的SomThing,并用LED指示电流,如0.1a,0.2a ,,, 0.5a,1a,1.5a,2a,2.5 ........10A.
Swagatam.说
使用IC LM3915很容易。只需在其PIN5和地面上添加电流检测电阻,随着电阻器上升的电位差异,它将通过连接跨IC输出引脚的10个LED反射。
reparatou.说
谢谢你
nikhiltricks.说
嗨Swagatam,
我正在研究电池电压数据记录器的工业产品。
我为此设计了一些电路。但是我在那种电路中有疑虑,你可以帮我回发这个项目。
如果你能把你的邮件ID发给我,那么我可以告诉你我完成的概念和工作。
我的邮件ID是nikhil.kakade123@gmail.com.
Swagatam.说
嗨尼克尔,我肯定会调查它并尽力帮助你,但我才愿意这样做,只有在稍后在这个网站上分享它,我希望你不介意它。
我的电子邮件是Hitman2008
@ 住在
nikhiltricks.说
嗨甜木坦克,