查看: 7014|回复: 15

[原创] 【LPC54114】三相电量采集

[复制链接]
  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 2479 天

    连续签到: 10 天

    [LV.Master]伴坛终老

    17

    主题

    5354

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    11196
    最后登录
    2025-7-20
    发表于 2017-5-14 19:42:56 | 显示全部楼层 |阅读模式
    打开很久不上的QQ,猛然间看到七姐的催促,发现今天截止。。。赶紧总结一下交作业吧。。。

    我从拿到开发板后,有空就学学看看。由于之前学的和工作做的都是强电方面的(虽说本科学过C51),每做一步都是摸索前进,不停的找资料看帖子照着例程练习。

    三相电量采集:
          一般配电板中交流电压互感器输出0-100V,电流互感器0-5A(或1A),首先需要采集模块转化互感器传来的电量,
    参考设计了电压、电流采样电路,如图所示。



    我看了大家发的很多ADC的程序,这里就不放上来了,
    模拟量转化成数字量后,将采样值计入数组中,使用加窗插值法计算周期频率,通过傅里叶算法进行分析
    Int16 UB_ABtemp[162]=0;
    Int16 UABtemp[162]=0;                                                                                                               
    double amplitude_UAB=0;
    double fre_UAB=0;
    double alpha_UAB=0;

    void windft(Int16 * UB_ABtemp, double * amplitude_UAB, double * fre_UAB, double * alpha_UAB)   
    {
           
            Int32 XwwR[5]={0,0,0,0,0};                                                                
            Int32 XwwI[5]={0,0,0,0,0};                                                                
            Int32 XwwRans[5]={0,0,0,0,0};                                                                
            Int32 XwwIans[5]={0,0,0,0,0};                                                                
            double WXwwR[3]={0,0,0};                                                               
            double WXwwI[3]={0,0,0};                                                               
            double absWXww[3]={0,0,0};                                                                
            double tempkk1=0;                                                                       
            double tempkk2=0;                                                                       
            double alpha=0;                                                                               
            double alphapow=0;                                                                       
      UInt16 ja=0;;
      UInt16 kk1=0;;
      for(ja=0;ja<5;ja++){    XwwR[ja]=0;      XwwI[ja]=0;    XwwRans[ja]=0;   XwwIans[ja]=0;}  
      for(ja=0;ja<3;ja++){    WXwwR[ja]=0;    WXwwI[ja]=0;    absWXww[ja]=0;}  
      alpha=0;  alphapow=0;
      for(ja=0;ja<80;ja++)  
      {
         XwwR[0]=XwwR[0]+(Int32)UABtemp[ja]*expcos1[ja];
         XwwR[2]=XwwR[2]+(Int32)UABtemp[ja]*expcos3[ja];
         XwwR[1]=XwwR[1]+(Int32)UABtemp[ja]*expcos2[ja];
         XwwR[3]=XwwR[3]+(Int32)UABtemp[ja]*expcos4[ja];
         XwwR[4]=XwwR[4]+(Int32)UABtemp[ja]*expcos5[ja];
         XwwI[0]=XwwI[0]+(Int32)UABtemp[ja]*expsin1[ja];
         XwwI[1]=XwwI[1]+(Int32)UABtemp[ja]*expsin2[ja];
         XwwI[2]=XwwI[2]+(Int32)UABtemp[ja]*expsin3[ja];
         XwwI[3]=XwwI[3]+(Int32)UABtemp[ja]*expsin4[ja];
         XwwI[4]=XwwI[4]+(Int32)UABtemp[ja]*expsin5[ja];  
      }
      for(ja=0;ja<5;ja++)   {      XwwRans[ja]= XwwR[ja];        XwwIans[ja]= XwwI[ja]; }

      for(ja=0;ja<3;ja++)
      {
        WXwwR[ja]=((double)(XwwRans[ja+1]-XwwRans[ja]-XwwRans[ja+2]+XwwRans[ja+1]))/4/1000;  
        WXwwI[ja]=((double)(XwwIans[ja+1]-XwwIans[ja]-XwwIans[ja+2]+XwwIans[ja+1]))/4/1000;
      }
        for(ja=0;ja<3;ja++)
      {
        absWXww[ja]= sqrt(WXwwR[ja]*WXwwR[ja]+WXwwI[ja]*WXwwI[ja]);
      }
       if(absWXww[0]>absWXww[2])  {   tempkk1=absWXww[0];   tempkk2=absWXww[1]; kk1=0;}
       else {    tempkk1=absWXww[1];   tempkk2=absWXww[2];  kk1=1; }
       alpha=3*(tempkk2-tempkk1)/(tempkk2+tempkk1)/2;
       alphapow=alpha*alpha;
       amplitude_UAB= (tempkk2+tempkk1)*(2.35619403+(1.15543682+(0.32607873+0.07891461*alphapow)*alphapow)*alphapow)/80*2/20/sqrt(2)*3750/4096/10*38;
       fre_UAB=(kk1+3+(alpha+0.5))*50/4;
       alpha_UAB=(atan(WXwwI[kk1]/WXwwR[kk1])*180/3.1415926-180*alpha);
       if((WXwwR[kk1]<0)&&(WXwwI[kk1]>0)) alpha_UAB=alpha_UAB+180;
       if((WXwwR[kk1]<0)&&(WXwwI[kk1]<0)) alpha_UAB=alpha_UAB-180;
       while((alpha_UAB<0)||(alpha_UAB>360)) {
         if((alpha_UAB<0))  alpha_UAB+=360;
         if((alpha_UAB>360))  alpha_UAB-=360;
       }
    }



    三相电量的采集与分析对控制与监测来说非常重要,变频器使用越多,电量分析难度越大。后续将继续完善相关功能。

    采样电路

    采样电路
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情

    2017-1-4 08:05
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    85

    主题

    1629

    帖子

    1

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2569

    优秀版主

    最后登录
    2019-3-28
    发表于 2017-5-14 21:07:32 | 显示全部楼层
    注意安全啊,直接专用芯片搞定吧简单,变送器都这个干,专用芯片很便宜
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-12-23 09:57
  • 签到天数: 1587 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    5

    主题

    3048

    帖子

    23

    金牌会员

    Rank: 6Rank: 6

    积分
    8416
    最后登录
    2025-4-23
    发表于 2017-5-15 09:57:10 | 显示全部楼层
    有互感器隔离,还算安全的。
    不过安全要时刻注意@
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 2479 天

    连续签到: 10 天

    [LV.Master]伴坛终老

    17

    主题

    5354

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    11196
    最后登录
    2025-7-20
     楼主| 发表于 2017-5-16 08:21:47 | 显示全部楼层
    技术范儿 发表于 2017-5-14 21:07
    注意安全啊,直接专用芯片搞定吧简单,变送器都这个干,专用芯片很便宜

    涉及到强电信号的确实比较危险,采样是关键啊
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 2479 天

    连续签到: 10 天

    [LV.Master]伴坛终老

    17

    主题

    5354

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    11196
    最后登录
    2025-7-20
     楼主| 发表于 2017-5-16 08:25:10 | 显示全部楼层
    Splore.Liu 发表于 2017-5-15 09:57
    有互感器隔离,还算安全的。
    不过安全要时刻注意@

    有隔离,但还是多防护点好,以前用其他品牌的设备就漏过电
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-4-1 22:48
  • 签到天数: 302 天

    连续签到: 1 天

    [LV.8]以坛为家I

    87

    主题

    7322

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    4614
    最后登录
    2021-1-25
    发表于 2017-11-29 13:46:58 | 显示全部楼层
    来看一看
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    82

    帖子

    0

    注册会员

    Rank: 2

    积分
    178
    最后登录
    2018-1-3
    发表于 2017-12-11 17:18:38 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 10:12
  • 签到天数: 1780 天

    连续签到: 9 天

    [LV.Master]伴坛终老

    54

    主题

    4381

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    9188
    最后登录
    2025-7-22
    发表于 2017-12-12 09:35:14 | 显示全部楼层
    萌新前来学习。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    5622

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    6008
    最后登录
    2018-2-5
    发表于 2017-12-13 11:51:15 | 显示全部楼层

    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9291
    最后登录
    2022-5-12
    发表于 2018-1-8 13:26:15 | 显示全部楼层
    楼主加的什么窗?有用汉明窗么,可否分享下经验
    好好
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-23 04:51 , Processed in 0.099843 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表