梁工 发表于 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。



页: 1 2 3 4 [5] 6 7 8
查看完整版本: 交流电压/直流电压ADC测量, 计算有效值 ,送【AIapp-ISP | 调试接口】显示