梁工
发表于 2024-4-8 22:53:55
liushiming82 发表于 2024-4-8 22:15
这个公式SQRT(X*25/16/800)=SQRT(X/512)中参数是什么意思?怎么来的,谢谢
程序中没找到你说的这句代码。
liushiming82
发表于 2024-4-9 08:58:22
liushiming82 发表于 2024-4-8 22:15
这个公式SQRT(X*25/16/800)=SQRT(X/512)中参数是什么意思?怎么来的,谢谢
不是程序中的,是你举的例子中的
W相识W
发表于 2024-4-10 23:35:39
梁工 发表于 2024-1-6 13:13
确实是的,做多路电压、电流采集卡非常不错,做交流采样计算电压电流有效值、有功功率、无功功率、功率因 ...
梁工,你那里有没有测交流有功功率和无功功率的程序,有的话分享一下
梁工
发表于 2024-4-11 10:49:12
W相识W 发表于 2024-4-10 23:35
梁工,你那里有没有测交流有功功率和无功功率的程序,有的话分享一下
没有现成的,自己写一下也简单。比如使用20KHz(50us)的速度触发电压ADC(在定时器中断启动ADC或PWM自动启动ADC均可),ADC中断里启动电流ADC。
ADC中断:
{
if(电压ADC中断)
{
保存电压ADC结果Uadc(有符号整数),启动电流ADC。
}
if(电流ADC中断)
{
保存电流ADC结果Iadc(有符号整数),切换到电压ADC。
计算电压、电流乘加和power_sum += Uadc*Iadc;
计算电压平方和u2_sum += Uadc*Uadc;
计算电流平方和I2_sum += Iadc*Iadc;
if(计算了800次) //采样40ms
{
power_sum_ok =power_sum;
power_sum = 0;
u2_sum_ok = u2_sum;
u2_sum = 0;
I2_sum_ok = I2_sum;
I2_sum = 0;
adc_ok = 1;
}
}
}
主程序:
if(adc_ok == 1)
{
adc_ok = 0;
power = power_sum_ok / 800; //这个就是有功功率W,1位小数。
u_rms = SQRT(u2_sum_ok/800); //这个就是电压有效值V,1位小数。
i_rms = SQRT(I2_sum_ok / 800); //这个就是电流有效值A,2位小数。
power_VA = u_rms * i_rms; //这个就是无功功率 VA,1位小数。
功率因数 = power /power_VA; //3位小数
电流、电压相位差 = arcos(功率因数);
有功功率累加就是电能,可以换算成千瓦时,4位小数。
}
实际还要处理校准系数,如果仅用于显示,则40ms更新太快,可以做8次结果求平均大约就是1秒更新3次,读数稳定,精度也高。
实际测测试:电压量程 280.0V RMS(误差<1%),电流量程28.00A RMS(误差<2%),功率量程7840W。
如果电流量程为2.800A,则分辨率1mA,可以测试小功率电器的参数。
比如测试买来的LED灯:
如果功率因数是0.5~0.6之间,则灯具有恒流电路但没有功率因数校正。
如果灯具是用简单的电容降压限流供电,则功率因数在0.3以下,不推荐购买使用。
如果功率因数大于0.9,则灯具有恒流电路并且有功率因数校正,高档电路。
也可以测试空调、冰箱的制冷效能是否不良,如果不良,则耗电会明显升高。
开关电源没有功率因数校正的话,功率因数在0.5~0.6之间。
ageway
发表于 2024-4-20 21:32:28
{:4_250:}
ka1265
发表于 2024-5-16 21:19:19
强
srq
发表于 2024-7-2 15:28:51
梁工你好,我想直接测220v交流电压,我看这上面写的是Ac0~28v。这个电路需要修改吗?我手上的开发板是屠龙刀三.2
梁工
发表于 2024-7-2 16:04:02
本帖最后由 梁工 于 2024-7-2 16:22 编辑
srq 发表于 2024-7-2 15:28
梁工你好,我想直接测220v交流电压,我看这上面写的是Ac0~28v。这个电路需要修改吗?我手上的开发板是屠龙 ...
直接测220V电压要多串联几个电阻,否则爬电距离不够,或者改用直插电阻。调试时注意安全,最好用一个隔离变压器测试。
zengchang
发表于 2024-7-2 21:37:03
回头我也去弄一个测测试试,AC测量还是挺实用的
梁工
发表于 2024-7-2 22:29:34
zengchang 发表于 2024-7-2 21:37
回头我也去弄一个测测试试,AC测量还是挺实用的
280.0V20.00A,交直流兼容,读数稳定。使用STC8H8K64U TSSOP20。