三相c32的空开能带多少瓦:使用ArduinoUno在三相系统上进行功率监控

Hello

我目前正在进行一个项目,在该项目中,我想使用 Arduino Uno 测量 3 相系统中的电压和电流。

这是一个小的学校项目,我有交流系统的必要课程,以了解更高电压的安全性。我也有一点微控制器的经验,但我从来没有使用过 ADC。

从 Arduino Uno 的模拟引脚读取时遇到问题。似乎模拟引脚混合在一起,我认为这被称为重影。我一直在互联网上搜索这个问题的一些答案,但是提出的解决方案对我不起作用。我试图进行虚拟测量,并且在测量之间进行小的时间延迟,但是由于它是关于功率监控定时是至关重要的。我需要至少 20 个读数,这需要在 20ms 内完成

为了测试代码,我使用了两个函数发生器。这是可能的还是允许的?最好至少有一个电阻和一个电容器来消除噪声?

在将电压 / 电流转换为 0V-5V 之间时,电路中是否有某些东西可以防止这种鬼影效应?我正在使用电压互感器和电流霍尔效应传感器。两个电路都需要偏移。

这是进行测量的代码。

void measure(char pin_volt, char pin_curr, int *volt_rms, int *curr_rms, float *theta){
  int i;
  long squared_v, squared_c, sum_squared_v = 0, sum_squared_c = 0, inst_v, inst_c, mean_squared_v, mean_squared_c;
  unsigned long time_v, time_c;
  for(i = 0; i < samples; i++){
    inst_v = ogRead(pin_volt) - volt_offset;
    if(inst_v > -volt_varying && inst_v <  volt_varying) {
      time_v = micros();
    }
    inst_c = ogRead(pin_curr) - curr_offset;
    if(inst_c >=  -curr_varying && inst_c <=  curr_varying) {
      time_c = micros();
    }
    squared_v = inst_v * inst_v;
    squared_c = inst_c * inst_c;
    sum_squared_v += squared_v;
    sum_squared_c += squared_c;
    delayMicroseconds(80);
  }
  mean_squared_v = sum_squared_v / samples;
  mean_squared_c = sum_squared_c / samples;
  *volt_rms = sqrt(mean_squared_v);
  *curr_rms = sqrt(mean_squared_c);
  *theta = calculate_phase_difference(time_v,time_c); 
}
0

添加电容器可以降低问题。尝试执行以下操作:

电路上没有电流或张力,所以 arduino 应该测量 0 值。

运行一个读取数值并打印最大值和最小值到串行监视器的草图;你会看到这些值不会像预期的那样为零,这些都是干扰。试着找到一个可以降低这些值但不膨胀的电容器。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(203)
搜索引擎的分类:.net的搜索引擎(net search engine)
上一篇
Plc的编程软件:用于PLC梯形图编程的最佳IDE
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(80条)