查看:
81174
回复: 104 |
电量采集的硬件及软件极简方案-BL0937
|
|||
日创科技
7
主题
84
回复 |
发表于2017-06-03 11:20:21
|
只看该作者
56#
电梯直达
很抱歉,看来需要的人还是比较少,凑不足10人;最近较忙,抽空,我会做一款方案验证板到JLC商城,买零件免费送空PCB吧;
|
|||
日创科技
7
主题
84
回复 |
发表于2017-06-03 11:33:57
|
只看该作者
57#
确实没有对应程序;
|
|||
日创科技
7
主题
84
回复 |
发表于2017-06-03 11:39:20
|
只看该作者
58#
地概念只是一个相对性的概念,也许我的原理图做反了?L、N标示反了?对于交流电AC220V,如果不考虑触电、漏电保护问题,L与N只是有个相对的电压差;无论是拿L做零点或者N做零点,采集的结果应该是一样的;
|
|||
日创科技
7
主题
84
回复 |
发表于2017-06-03 11:44:05
|
只看该作者
59#
你如果用过非隔离开关电源12V(如:LNK306),就能够体会,无论是相线零线怎么倒,都能出来12V直流电压,只是其中一种情况下,手摸这个输出的12V会触电,此时的对大地电压实际是AC220V;;
|
|||
DLGG
0
主题
3
回复 |
发表于2017-07-14 16:59:09
|
只看该作者
60#
楼主MCU用的是什么型号的?能卖我一个成品(硬件焊接好的和测试程序)吗?我想做个测量电器功耗的设备
|
|||
日创科技
7
主题
84
回复 |
发表于2017-07-20 16:15:08
|
只看该作者
61#
抱歉,已经送完了;
|
|||
kissfish
0
主题
20
回复 |
发表于2017-07-20 16:27:08
|
只看该作者
62#
电量采集 不错啊。
|
|||
smallmount
10
主题
149
回复 |
发表于2017-07-20 16:53:57
|
只看该作者
63#
|
|||
aman
0
主题
4
回复 |
发表于2017-09-21 12:49:11
|
只看该作者
65#
有验证板么?如何联系? |
|||
smallmount
10
主题
149
回复 |
发表于2017-09-23 16:18:27
|
只看该作者
66#
13073090837
|
|||
JIEKNAN
3
主题
6
回复 |
发表于2017-10-20 17:24:34
|
只看该作者
67#
楼主那个零线作为参考点的话,那么能用示波器直接接在这个参考点上吗,你怎么用示波器调试的
|
|||
JIEKNAN
3
主题
6
回复 |
发表于2017-10-20 17:34:27
|
只看该作者
68#
楼主能加qq吗1428496123 |
|||
日创科技
7
主题
84
回复 |
发表于2017-10-25 08:48:52
|
只看该作者
69#
示波器测强电用法: 1、直接把示波器的地线去掉,示波器只接L与N,可以将表笔任意搭在零线或火线上; 2、采用隔离变压器(AC220V 转 AC220V,TB上也有)给示波器供电,也可以将表笔任意搭在零线或火线上; 3、好点的示波器,比如说泰克的某某系列,里面预留电池供电的接口,仅用电池供电,也可以将表笔任意搭在零线或火线上; |
|||
JIEKNAN
3
主题
6
回复 |
发表于2017-10-26 08:16:39
|
只看该作者
70#
非常感谢您的回答
|
|||
日创科技
7
主题
84
回复 |
发表于2017-11-10 17:06:59
|
只看该作者
71#
|
|||
我是韩振雨
0
主题
2
回复 |
发表于2017-12-24 23:56:33
|
只看该作者
72#
请教楼主,不校准的情况下,误差是多大?我现在测量电压,测出来的是270V,感觉误差太大了。
|
|||
日创科技
7
主题
84
回复 |
发表于2017-12-29 15:11:15
|
只看该作者
73#
确实不知道哦;一般计量型的产品,都要做标定的;你可以尝试下校准,然后再通过调压设备调压输入后,观察其准确性;
|
|||
huaidan
0
主题
6
回复 |
发表于2018-01-03 10:44:58
|
只看该作者
74#
我按照手册上的电路做了板,总是烧IP,IN输入端的510欧电阻,换成1K也烧,是什么情况?
|
|||
日创科技
7
主题
84
回复 |
发表于2018-01-05 10:29:21
|
只看该作者
75#
官方技术咨询电话:0755-33336779,贝岭刘工 |
|||
青岛老蓝
0
主题
2
回复 |
发表于2018-04-12 12:36:36
|
只看该作者
76#
你好,我从IP、IN输入10mv差动交流信号,SEL置低,CF1没有脉冲输出。从VP对地输入交流信号,SEL置高,CF1有脉冲输出。请问怎么回事?谢谢!
|
|||
日创科技
7
主题
84
回复 |
发表于2018-04-12 16:38:48
|
只看该作者
77#
官方技术咨询电话:0755-33336779,贝岭刘工; 他们更专业的技术咨询 |
|||
青岛老蓝
0
主题
2
回复 |
发表于2018-04-13 09:25:59
|
只看该作者
78#
这个号码打了两天都没人接,请问有其他技术支持电话吗?谢谢!
|
|||
日创科技
7
主题
84
回复 |
发表于2018-04-15 23:37:32
|
只看该作者
79#
021-24261000,贝岭的官方电话,由他们再转接对应的技术支持就好;
|
|||
cccc1111
0
主题
1
回复 |
发表于2018-06-04 13:14:49
|
只看该作者
80#
LZ 你好。我也看了官网的电源部分。 不知道这样的阻容降压 有多少功率? |
|||
日创科技
7
主题
84
回复 |
发表于2018-06-06 00:06:17
|
只看该作者
81#
一. 阻容降压半波整流基本电路
如图1, C1为降压电容,类似于一个电阻的作用,它的容抗Xc=1/(2πfc).
电路分析:
首先去掉VD1, 剩下的电路中C1用于降压, 然后通过VD2半波整流, 整流后的电压由VD3和C2进行稳压输出. 由于电容只能通过交流电,经过VD2整流后,电容只能流过正半周单向电流,电路不能持续导通,所以还需要构造一个负半周的电流回路, VD1就起到这个作用. 由于电容C1上的电压较高,拔掉插头后可能仍有较高电压引起触电,所以必须对电容尽快放电. R1并联在电容上,就是用来做放电电阻,起到安全保护的作用.
最大输出电流计算: 分析可知,此电路中电容相当于直接连接在交流电中, 其容抗Xc=1/(2πfc), 故电流I=U/Xc=2π
fc*U , 当U=220V, f=50Hz时, I=2*3.14*50*220*c=69080*c, 电流单位取ma,电容取uf,则有: I=69mA,
实际中,由于Vout的电压差等因素, I一般为60mA. 流过VD2的电流即此电路的输出电流, 由于正半周的电流经过VD2,负半周的电流经过VD1, 故VD2上电流为总电流的一半,即30mA. 对于阻容半波降压电路, 实际经验得出,输出电流/总电流≈0.44 ,即 Iout=0.44*I总=0.44*U/Xc=0.44*220*2πfc=30395*c (A) 取c单位为uf, I单位为mA,则:
Iout=30*C (mA) 如电容为1.5uf,那么半波阻容电路输出电流最大30*1.5=45mA.
|
|||
lpc1
2
主题
3
回复 |
发表于2018-09-14 10:30:45
|
只看该作者
82#
请问一下,BL0937文档写的的Vp输入端 差分电压是正负200mV.就是说可以输入以0v为参考的 负200mV 的电压吧?我计划将电压互感器出来的交流信号接入BL0937的Vp端,只测量电压有效值.
|
|||
CYLZZ
0
主题
1
回复 |
发表于2018-10-29 19:44:16
|
只看该作者
83#
供电端火线个零线接反会烧掉吗? |
|||
sdlibin007
0
主题
2
回复 |
发表于2018-11-25 12:30:15
|
只看该作者
84#
这个方案里面使用的合金电阻如何选型?我这边想用于电表上,根据这个合金电阻是串到L线上,电表后端的负载电流设计需要达到30A,所以不知道这个合金电阻如何选型?哪位大神给讲讲这个如何选型
|
|||
roson
0
主题
3
回复 |
发表于2018-11-29 17:15:08
|
只看该作者
85#
留个脚印,看后续有没有大佬调出来
|
|||
Erichuang
0
主题
3
回复 |
发表于2019-01-10 15:22:35
|
只看该作者
86#
差分220mV指的是峰峰值,换算到电压有效值控制在±150mV以内
|
|||
Erichuang
0
主题
3
回复 |
发表于2019-01-10 15:24:56
|
只看该作者
87#
一般用于插座、插排,最大电流10A、16A,采用1~2毫欧的阻值; 30A使用贴片的合金电阻要考虑大电流时的发热
|
|||
人群中多瞪了你一眼
0
主题
1
回复 |
发表于2019-02-24 10:24:52
|
只看该作者
88#
楼主您好!您有相应的计算里例程吗?公式不太理解
|
|||
WANGHJ
0
主题
1
回复 |
发表于2019-03-06 10:42:13
|
只看该作者
89#
你好,请问系统地线与BL0937芯片地线的连接方式解决了吗?
|
|||
Erichuang
0
主题
3
回复 |
发表于2019-04-03 15:08:38
|
只看该作者
90#
以CF输出频率为例,如果200瓦时CF频率为300Hz,那么有功转换系数=200/300=2/3; 以后在实际测量时,测得CF的频率f0,对应的功率=f0*(2/3) 瓦 |
|||
CQLT
0
主题
1
回复 |
发表于2019-07-25 14:22:40
|
只看该作者
91#
过流检测,只有输出频率,没有具体描述输入输出达到多少会过流
|
|||
axushilong
1
主题
16
回复 |
发表于2019-11-21 11:01:44
|
只看该作者
92#
好方案,有空要试试
|
|||
yule
0
主题
2
回复 |
发表于2020-02-03 14:56:26
|
只看该作者
93#
在家防疫期间,把这个程序写出来了。给大家看下。 用的51系列的STC15W408AS。用的是PCA功能的PCA1和PCA2。PCA1捕捉CF,测量功率。PCA2捕捉CF1,测量电压。不测量电流。 /*------------------------------------------------------------------*- PT_BL.C (v1.00) ------------------------------------------------------------------ BL0937程序 用来测试交流功率、电压、电流。 20mΩ,最大测试250W@223V。 CWD。2020-2-3 /*------------------------------------------------------------------*/ #include "Main.h" #include "PT_BL.h" tLong code Cbr_P=681600; tLong code Cbr_V=126000; extern tWord V_value[]; //V12 V57 V43 V9 V5 VT VP VAC TH TL tByte cnt1,cnt2; tLong cnt1_0,cnt1_1,cnt2_0,cnt2_1; tLong Width1,Width2; sbit FAN = P5^4; //======================================================================== // 函数: void PCA_Init(void) // 描述: PCA初始化程序. // 参数: none // 返回: none. // 版本: V1.0, 2013-11-22 //======================================================================== void PCA_Init(void) { //(P3.4/ECI_2, P3.5/CCP0_2, P3.6/CCP1_2, P3.7/CCP2_2) PCA_USE_P34P35P36P37(); CCON = 0; //初始化PCA控制寄存器 //PCA定时器停止 //清除CF标志 //清除模块中断标志 CL = 0; //复位PCA寄存器 CH = 0; // CCAP1L = 0; // CCAP1H = 0; // CCAP2L = 0; // CCAP2H = 0; CMOD = 0x01; //设置PCA时钟源为系统时钟/12,且使能PCA计时溢出中断 // CCAPM0 = 0x21; //PCA模块0为16位捕获模式(上升沿捕获,可测从高电平开始的整个周期),且产生捕获中断 // CCAPM0 = 0x31; //PCA模块0为16位捕获模式(上升沿/下降沿捕获,可测高电平或者低电平宽度),且产生捕获中断 CCAPM1 = 0x11; //PCA模块0为16位捕获模式(下降沿捕获,可测从低电平开始的整个周期),且产生捕获中断 CCAPM2 = 0x11; //PCA模块0为16位捕获模式(下降沿捕获,可测从低电平开始的整个周期),且产生捕获中断 CR = 1; //PCA定时器开始工作 // EA = 1; cnt1=cnt2 = 0; } /*------------------------------------------------------------------*- 7 -*------------------------------------------------------------------*/ void PCA_isr(void) interrupt PCA_VECTOR { if (CF) { CF = 0; if(++cnt1>=2) //PCA计时溢出次数+1 { Width1=0x20000; cnt1=0; } if(++cnt2>=2) //PCA计时溢出次数+1 { Width2=0x20000; cnt2=0; } } if (CCF1) { CCF1 = 0; cnt1_0=cnt1_1; //备份上一次的捕获值 ((tByte *)&cnt1_1)[3] = CCAP1L; //保存本次的捕获值 ((tByte *)&cnt1_1)[2] = CCAP1H; ((tByte *)&cnt1_1)[1] = cnt1; ((tByte *)&cnt1_1)[0] = 0; Width1=cnt1_1-cnt1_0; //计算两次捕获的差值,即得到时间长度 ((tByte *)&cnt1_1)[1] = 0; //不能在中断中处理数据。因为可能串口发送时被中断更改。 cnt1=0; } if (CCF2) { CCF2 = 0; cnt2_0=cnt2_1; //备份上一次的捕获值 ((tByte *)&cnt2_1)[3] = CCAP2L; //保存本次的捕获值 ((tByte *)&cnt2_1)[2] = CCAP2H; ((tByte *)&cnt2_1)[1] = cnt2; ((tByte *)&cnt2_1)[0] = 0; Width2=cnt2_1-cnt2_0; //计算两次捕获的差值,即得到时间长度 ((tByte *)&cnt2_1)[1] = 0; cnt2=0; } } /*------------------------------------------------------------------*- 每20ms调用一次。 -*------------------------------------------------------------------*/ /*void PT_Update(void) // { //P测量 V_value[6]=Cbr_P/Width1; //VAC测量 V_value[7]=Cbr_V/Width2; } /*------------------------------------------------------------------*- ---- END OF FILE ------------------------------------------------- -*------------------------------------------------------------------*/ |
|||
yule
0
主题
2
回复 |
发表于2020-02-03 15:01:24
|
只看该作者
94#
C语言学的不好,对于其中 ((tByte *)&cnt2_1)[3] 的用法不是很理解,谁能讲解一下呢? 这个用法是从STC15W的范例程序里抄的,我试了直接用32位整数计算,字节比这样用多几十字节。 我的理解是:取得32位整数的首地址,用一个字节指针变量指向它。但后面的数组标识[3]是从哪里来的? |
|||
roson
0
主题
3
回复 |
发表于2020-02-29 15:58:21
|
只看该作者
95#
BL0937电压采集不准,电压越高差距越大,有没有碰到同样问题的?
|
|||
Caolele
0
主题
2
回复 |
发表于2020-03-03 16:03:54
|
只看该作者
96#
你好,我这段时间也在搞这个,不过还没到编程的时候,我的硬件电路还有不懂得地方,可以交流一下吗?
|
|||
Caolele
0
主题
2
回复 |
发表于2020-03-03 16:19:55
|
只看该作者
97#
楼主您好,我最近在画原理图,我的目的是想把电源采集芯片和stm32单片机控制电路集成到一个板子上。我也迷茫到你解释的“浮地”问题了。我的单片机最小系统是220经过电源转换模块得到的(3v3和GND2)然后还有一路是220经过开关电源得到的(A5v和A3v和GND1)这一路是用来做驱动电源的。如今我要把bl0937这一部分的采集电路加进来,该用那一部分电源和地,还是说单独再加一个GND这个地方不是太明白。望您能指点一下!
|
|||
此地无银
0
主题
38
回复 |
发表于2020-08-11 16:57:15
|
只看该作者
98#
Mark 电量采集 极简方案-BL0937, 考虑配合互感器使用,实现隔离采集
|
|||
zk5437
0
主题
1
回复 |
发表于2020-10-09 11:21:18
|
只看该作者
99#
((tByte *)&cnt2_1)[3] 更好的定义是用共用体,简洁明了,这个地方,它使用了不通用的一个C操作方式,通过前一次与本次算出,时间长度 union{
struct{ unsigned char val2_1; unsigned char val2_2; unsigned char val2_3; unsigned char val2_4; }val; unsigned int val2; }stc_cnt2_1; 官方的文档 拿P来说,先用额度功率测出,1个CF对应电量 = P0/FRE10*3600000 而非简单V_value[6]=Cbr_P/Width1;对你这个程序结果表示怀疑 |
|||
lyEE
0
主题
1
回复 |
发表于2020-11-16 16:43:15
|
只看该作者
100#
官方的技术支持怎么联系啊? |
|||
天朝柳河真
0
主题
1
回复 |
发表于2020-11-19 22:13:08
|
只看该作者
101#
这个地是浮地喔,要把MCU电路隔离,不然整个电路带市电。或者固定零线火线
|
|||
鸿mao鸿hao
2
主题
10
回复 |
发表于2021-01-11 17:04:33
|
只看该作者
102#
看这个芯片这么方便。 我只有测电流的需求,想用它只测电流,所以把电压测量脚通过电阻接地了,芯片设定的是通过7脚输出电流。 给电流信号,没有任何输出!去掉那个通过4脚接地的电阻,直接把3和4脚短路。有输出了! |
|||
不断学习
0
主题
1
回复 |
发表于2021-02-19 16:09:05
|
只看该作者
103#
同样的电路原理图,两种板子不同布局,最后两块板子的功率值不一致,是啥原因?难道每换一次布局,就得重新校准一下系数?
|
|||
秋雨
6
主题
10
回复 |
发表于2023-02-23 20:03:32
|
只看该作者
104#
MARK!收藏
|
|||
xiaobai
0
主题
1
回复 |
105#
请问有这芯片的驱动吗
|
|