本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

延时计时器,为电力系统提供故障保护
发布时间:2021-01-21
分享到:
延时计时器,为电力系统提供故障保护
发布时间:2021-01-21
分享到:

硬件部件:

  • Arduino Nano R3×    1个    
  • LDR,5兆欧    ×    1个    
  • DFRobot I2C 16x2 Arduino LCD显示模块×    1个    
  • 电阻1k欧姆    ×    3    
  • 跳线(通用)    ×    1个    
  • 面包板(通用)    ×    1个    

该项目提出了一种自动数字计时器,该计时器基本上以毫秒为单位测量时间。

这个项目的需要:在电力系统保护实验室中,我们使用一个模拟故障的实验室面板,并使用各种类型的继电器进行保护,并为每个继电器使用TMS(时间倍增器设置)的多个选项,并测量以下时间:我们设置的每个选项。因此,使用自动计时器将使实验的执行变得更加容易。此外,该面板还配有老式机械计时器,并带有模拟大型显示屏,上述计时器在维修后已停止工作。

因此,我们需要一个工作效率更高,显示效果更好的计时器。

它是如何工作的 :

为了寻求自动化,计时器的输入和输出应在面板内。
旧计时器有四个端子,两个用于启动然后暂停,另外两个用于复位,因此应使用这四个端子来定制新计时器。
启动/暂停端子的启动电压差约为230 V AC,暂停时的电压差约为0 V AC。
将该面板输出转换为合适的Arduino输入具有挑战性。
为了寻求准确性,需要一个非凡的解决方案,最合适的解决方案是Arduino方面的LDR(光敏电阻),而面板方面的低功耗光源。

原理图:

源码:

#include "timer.h"
  #include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

int x = 0;

Timer timer;

void setup()
{  
  lcd.init();
  lcd.backlight();
  lcd.print("Dr-Ayman Quraan");
  delay(250);
  lcd.setCursor(0,1);  
  lcd.print("Eng.Moh Alawneh");
  delay(1100);
  lcd.clear();
  lcd.begin(16,2);
  lcd.print("Eng. ");
  lcd.setCursor(0,1);
  lcd.print("Ahmad AbuMurad");
  delay(1100);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Press Test Start ");

   
     // timer.start();
}

void loop()
{
     if (analogRead(A0)>20){
          //start the timer
          if (x == 0) {
            lcd.clear();
            lcd.print("Delay Time Is ");
              timer.start();
              x++;
          }

 

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论