什么是三相电不平衡?如何用c语言三目运算符判断三相电不平衡?

电子说

1.3w人已加入

描述

我们用三目运算符写了个限幅滤波的函数,其实在开发中三目运算符还是非常常见的,今天就开写一下我曾经用三目运算符计算三相电压不平衡的案例。

先说一下什么是三相电不平衡。它一般是指三相电力系统中三相不平衡的程度,用电压或电流负序分量与正序分量的方均根值百分比表示。电压或电流不平衡度分别用εu或εI表示。简单理解就是不同相的电压或者电流有较大差别的时候就是不平衡。

电力系统

话不多说直接上代码:

#include < stdio.h >


typedef unsigned int uint32_t;
typedef unsigned short int uint16_t;
typedef unsigned char uint8_t;




uint8_t Voltage_Unbalance_Check(void)
{
  uint32_t Max;
  uint32_t UA,UB,UC;

  UA = 250;
  UB = 210;
  UC = 220;

    Max = (UA >UB?UA:UB);
    Max = (Max >UC?Max:UC);

  printf("Max is : %d\\r\\n",Max);
  if( (10*(Max-UA)) > UA ||(10*(Max-UB)) > UB ||(10*(Max-UC)) >UC )
    return 1;
  else 
    return 0;
}




uint8_t Current_Unbalance_Check(void)
{
  float Max;
  float IA,IB,IC;

  IA = 20.5;
  IB = 20.1;
  IC = 20.2;

   Max = (IA >IB?IA:IB);
   Max = (Max >IC?Max:IC);

  printf("Max is : %lf\\r\\n",Max);

  if( (3*(Max-IA)) > IA ||(3*(Max-IB)) > IB ||(3*(Max-IC)) >IC )
    return 1;
  else 
    return 0;
}




int main(void)
{
  printf("电压不平衡检测结果:%d\\r\\n",Voltage_Unbalance_Check());
  printf("电流不平衡检测结果:%d\\r\\n",Current_Unbalance_Check());
  getchar();
  return 0;
}

测试结果:

电力系统

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分