3864|8

2856

帖子

260

TA的资源

五彩晶圆(高级)

楼主
 

智能用电监控、保护系统创意进度帖——汇总 [复制链接]

本帖最后由 ltbytyn 于 2014-5-17 22:11 编辑

瑞萨RL78/G14创意提交:       宿舍(楼宇\家庭)智能用电监控、保护系统
瑞萨DIY周计划安排:
               周计划+宿舍(楼宇\家庭)智能用电监控、保护系统
智能用电监控、保护系统设计方案论证:    智能用电监控、保护系统创意进度帖+ 方案论证
智能用电监控、保护系统原理图:               智能用电监控、保护系统创意进度帖+ 原理图                        
智能用电监控、保护系统PCB及实物展示:智能用电监控、保护系统创意进度帖+晒PCB
                                                                       智能用电监控、保护系统创意进度帖+PCB 焊接完成
开发环境下的工程创建:
         智能用电监控、保护系统创意进度帖+ CubeSuite+环境下的工程创建及调试
  
智能用电监控、保护系统液晶画面介绍:
             智能用电监控、保护系统创意进度帖+画面说明

智能用电监控、保护系统除了实时监控系统电压、系统电流、6路支路电流外,还有3种操作功能,整个系统涉及到4大模块。

4大模块。AD、定时器、按键、IO。
      AD包括系统电压、系统电流、6路支路电流共8路AD采样。
               智能用电监控、保护系统创意进度帖+采样篇
               智能用电监控、保护系统创意进度帖+采样算法篇
      定时器:TAU0下的间隔定时器(interval  timer)作为支路工作时间基准和系统工作时间基准。TMRJ0下的定时模式(Timer mode)用于启动AD采样。
             TAU0下的间隔定时器(interval  timer):智能用电监控、保护系统创意进度帖+间隔定时器
             TMRJ0:智能用电监控、保护系统创意进度帖+定时器篇
      按键中断:用于解析当前按键操作功能。
              智能用电监控、保护系统创意进度帖+按键中断篇
      IO:用于液晶扩展和支路控制。           
              智能用电监控、保护系统创意进度帖+显示篇
              智能用电监控、保护系统创意进度帖+坑爹篇
3种操作功能:支路手动操作、支路自动操作、系统负载自动调整(过载保护)

               3种操作功能介绍:智能用电监控、保护系统创意进度帖+3种操作方式介绍
               支路手动操作:智能用电监控、保护系统创意进度帖+手动控制操作演示视频(带负载)
               支路自动操作:智能用电监控、保护系统创意进度帖+自动控制操作演示视频(未带负载)
               系统负载自动调整(过载保护):智能用电监控、保护系统创意进度帖+负荷自动调整操作演示视频(带负载,扩展功能)
               自动控制操作——逻辑框图(补充):智能用电监控、保护系统创意进度帖+自动控制操作l逻辑框图(补充)
               负荷调整模式——逻辑框图(补充): 智能用电监控、保护系统创意进度帖+负荷调整模式下l逻辑框图(补充)
               智能用电监控、保护系统对单片机的要求(补充)智能用电监控、保护系统创意进度帖——系统对单片机的要求(补充)

瑞萨单片机DIY体会:
               1、和其他系列MCU相比较瑞萨定时器异常强大,细分功能全面。这是瑞萨的一大特色。
               2、按键中断。这个功能很实用,用起来也很简洁。以前在其他系列MCU上没碰到过。在目前MCU功能差异不大的情况下,有1种不同于其他MCU的功能也具有一定的市场吸引力。
                3、R5F104LEA(RL78/G14),16位单片机,支持乘法、除法指令,运算能力比较强劲。和2407(16位,DSP)相比较无总线,但较2407有更多的控制IO。适合用于不需要外扩存储的高速控制场合。
                 4、瑞萨单片机自成体系。“CubeSuite+”开发环境下的“Code Generator”非常好用、实用,可以快速帮助新手入门。

                  遗憾的是“CubeSuite+”开发环境对中文支持不够好,添加中文注释时可能会影响编译、甚至报错。

最新回复

富士通的还谢谢大哥哥帮忙完成呢,嘿嘿,不会忘记滴!这次做的也很完美,最然俺不是很懂吧  详情 回复 发表于 2013-12-12 15:23

点评

看着都有些小感动,不知道为啥吸引住了:) 也许是感觉到对这次活动很认真吧,谢谢你  详情 回复 发表于 2013-12-11 16:16
点赞 关注(1)

回复
举报

2856

帖子

260

TA的资源

五彩晶圆(高级)

推荐
 
“智能用电监控、保护系统”设计精度
1、系统电压部分,硬件选用SPT204A互感器(2mA:2mA)。
2、系统电流,由于手头只有SCT2012一种互感器,故硬件使用SCT2012(10A:5mA)。事实此处可选用50A:50mA互感器以增大测量范围。
3、支路电流,支路电流互感器使用SCT2012(10A:5mA),支路通断继电器选用Q3F-1Z(触点输出能力250VAC/10A),为保证设备长时间工作。故任一支路负载一般电流不大于8A。PCB板上系统和支路部分铜线均镀焊锡,以增加带载能力,防止大负载时烧坏电路板。强电部分和弱点部分分开已增强抗干扰性能。(可见下图,实物背面)
4、Ion (自动模式下,关闭到吸合的延时,xxxx,单位:分)0~9999分钟
5、Ioff   (自动模式下,吸合到关闭的延时,XXXX,单位:分)  0~9999分钟

系统电压、系统电流、支路电流均使用标准功率源校准,电压范围0~270VAC,电流范围0~10A均可以达到小数点后一位精度。
通过调整互感器及采样电路电阻大小,可以改变测量范围。

                                    实物正面


                                   实物背面
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

沙发
 
注释一下:智能用电监控、保护系统中,AD采样占用了AIN0~AIN7。其中支路1~6占用AIN0~AIN5,系统电压占用AIN6,系统电流占用AIN7。原开发板上电位器R5占用了AIN2,为不影响支路采样已拆除。
 
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

板凳
 
“智能用电监控、保护系统”的前世今生。
如果将“智能用电监控、保护系统”比作果实,那么它的种子是如何来的。应该是2年前吧,在一个论坛里面看到过一个学生做的窃电装置*(学校的用电管理系统有个保护功能就是当某一宿舍连续用电负荷超过设定值时是会自动断电,学生巧妙利于漏洞,当用电过负荷快要超过设定值时短暂停电,使其过负荷时间永远不好大于设定值)。那时有个想法就是如果去堵校园用电漏洞。校园用户多,线路复杂,用电多属于照明用电,线路质量略差,如果加入大负载,及容易引发事故。因此有了“智能用电监控、保护系统”出生土壤。楼宇内部一些重要设施不能停电,对应着有了手动模式。一些设备对用电有不同等级要求随之有了自动模式下优先级的概念。并加入过载保护,形成了一个“宿舍(楼宇\家庭)智能用电”的整体管理方案。
 
 
 

回复

768

帖子

711

TA的资源

纯净的硅(高级)

4
 

回复 楼主ltbytyn 的帖子

看着都有些小感动,不知道为啥吸引住了 也许是感觉到对这次活动很认真吧,谢谢你
 
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

5
 
呵呵,一直在进步。我查了一下发帖纪录,去年的富士通DIY发帖13个,上半年TI的C2000 DIY发帖15个,现在瑞萨DIY又破纪录了。

点评

富士通的还谢谢大哥哥帮忙完成呢,嘿嘿,不会忘记滴!这次做的也很完美,最然俺不是很懂吧:)  详情 回复 发表于 2013-12-12 15:23
 
 
 

回复

768

帖子

711

TA的资源

纯净的硅(高级)

6
 

回复 5楼ltbytyn 的帖子

富士通的还谢谢大哥哥帮忙完成呢,嘿嘿,不会忘记滴!这次做的也很完美,最然俺不是很懂吧
 
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

7
 

智能用电监控、保护系统数据处理

智能用电监控、保护系统的核心在于实时计算系统电压、系统电流、支路电流,这些数据作为支持整个系统正常运行的依据。
        交流电的计算较为复杂。严格的定时采样+均分根算法两部分合作完成。
       采样:智能用电监控、保护系统中,所有的采样通道都是使用32点/周波采样(采样间隔0.02/32秒)。由于R5F104LE的AD采样均非同步采样,意味着智能用电监控、保护要实现实时电量计算必须在一个周波需要完成8(通道)*32点采样。因此系统采样间隔为0.02/(8*32)秒。
        计算:各个AD通道32点采样完成后,马上需要使用算法处理采样数据,计算有效值。交流信号的计算过程:周波数据采样——(周波完成采样)——>执行均方根算法,计算有效值——(完成计算)——>下一周波采样


此时就会发现个问题:上一周波刚采样完成,缓冲里面的数据即将面临旧数据计算又要面临新一轮采样数据更新缓冲中的旧数据。如果旧数据未计算完而被新采用数据破坏,会造成错误的计算结果。当然我们可以等旧数据计算完成后在开始新采样(如上图),但是造成的结果是计算的不连续性,无法实现实时数据监测。

解决方法:在采样时会建立深度采样数据缓冲区。比如采用双缓冲(前提,数据处理时间小于1个周波时间,当数据处理时间大于1个周波时,可使用多缓冲区),缓冲区1接收上一周波数据,缓冲区2接收本周期数据。
缓冲区1接收数据——(缓冲区1接收完成)——>缓冲区2接收数据,同时处理缓冲区1数据——(缓冲区2接收完成)——>缓冲区1接收数据,缓冲区2处理数据


        数据处理中,每个周波可以得到一个有效值计算结果。但由于电力信号的瞬间波动以及计算的偏差,单个周期的有效值计算结果作为故障判断依据就显得数据变化范围极大。可通过多周波计算取平均值作为判断依据,这样可以消除瞬间干扰引起的信号波动,使得信号变化比较平缓。
 
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

8
 
瑞萨的R5F104LEA(RL78/G14)属于16位单片机,支持乘法、除法指令,运算能力比较强劲。本系统中选用计算偏少的均方根算法,计算主要为乘加。经实测可在1个周波(20ms)内完成8路32点均方根计算。
//下为系统数据结构定义
/***********************************************************************************************************************
* File Name    : r_cg_userdefine.h
* Version      : CodeGenerator for RL78/G14 V2.00.00.07 [22 Feb 2013]
* Device(s)    : R5F104LE
* Tool-Chain   : CA78K0R
* Description  : This file includes user definition.
* Creation Date: 2013-10-18
***********************************************************************************************************************/

#ifndef _USER_DEF_H
#define _USER_DEF_H

#define  N              32                //周波采样点数               
#define  channel        8               //采样通道数
#define  Buffer_Num     3               //缓冲区深度
#define  Average_number                20      //采样结果去平均值次数,即连续20次采样结果取平均值做为系统判断依据

struct  dq{
        uint8_t   CY_Buffer;        //当前周波采样点数
        uint8_t   CY_channel;       //当前采样通道
        uint8_t   CY_position;      //当前采样数据存储缓冲区位置
        uint8_t   Ready_NewData_NO;      //Ready_NewData_NO[channel]
        uint8_t   Calc_NewData_MARK;      //有新数据需处理标志
        uint8_t   Calc_NewData_NO;      //Sampe_Ready   
        uint16_t  Resuit[Buffer_Num][N][channel];     //AD Result  Current Current Current ... Voltage Current
        uint32_t  Sum[Buffer_Num][channel];        //有效值累记和   
        float  RMS[channel];                       //平均后的有效值   
};
struct  run{
        uint32_t  Frequency[channel];
        uint32_t  Sum[channel];                   
        uint16_t  average[channel];        //I0 I1 I2 I3 ...   U In-2       
        uint16_t  I_Protect[channel-2];    //I0 I1 I2 I3 ... U In-2       
        uint16_t  I_Pri_Hight;                   //支路优先级
        uint16_t  ITheory;                   //UTheory       
};
struct  protect{
        uint8_t   NewData_Mark;             //0 No data;1 New data
        uint32_t  Protection_Data[3];      //W Umax Umin      
};

struct sys{
        uint8_t                type;                 //过载保护标志
        uint8_t                BF_type;       
        uint32_t        MK;                 //过载门槛值
        uint32_t        BF_MK;
        uint16_t        DELY;       
        uint16_t        BF_DELY;       
        uint16_t        GZ_SECOND;         //故障秒计时
        uint16_t        GZ_MS;           //故障毫秒计时  
        uint8_t                GZ;       
        uint16_t        HF_SECOND;       
        uint16_t        HF_MS;
        uint8_t                HF;               
};

struct branch{
        uint8_t           Num;
        uint8_t    MS;                 //支路开关工作模式 0 HEAD ; 1 AUTO
        uint8_t    BF_MS;               
        uint8_t    STATE;         //支路开关状态  0 OFF  ; 1 ON       
        uint8_t    BF_STATE;               
        uint8_t    Pri;          //支路开关优先级标志
        uint8_t    BF_Pri;       
        uint16_t   Time1[6];         //Ion
        uint16_t   BF_Time1[6];         //Ion分计时
        uint16_t   Time1_MS[6];         //Ion毫秒计时       
        uint8_t    Time2[6];         //Ioff
        uint16_t   BF_Time2[6];  //Ioff分计时
        uint8_t    Time2_MS[6];         //Ioff毫秒计时       
};

/***********************************************************************************************************************
User definitions
***********************************************************************************************************************/
/* Start user code for function. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
#endif
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表