搜索
bottom↓
回复: 11

ATT7022驱动调通,可以读出寄存器原始值,剩下不知如何计算

[复制链接]

出0入8汤圆

发表于 2018-6-30 16:26:14 | 显示全部楼层 |阅读模式
这是 这个论坛的一段代码;


#define Vu  0.190                //电压通道采样电压
#define Vi  0.003                //电流通道采样电压
#define Un  220                        //额定电压
#define In  4.15                //额定电流
#define Meter_G                1.163                //ATT7022E常数
//#define Meter_HFConst        ((2.592*1E10*Meter_G*Meter_G*Vu*Vi)/(In*Un*Meter_Ec))
#define Meter_HFConst        ((2.592*pow(10,10)*Meter_G*Meter_G*Vu*Vi)/(In*Un*Meter_Ec))
#define Meter_K                        (2.592*pow(10,10)/(Meter_HFConst*Meter_Ec*pow(2,23)))


      if(ADataTypeDef.P>0x800000){
                ADataTypeDef.Rp=0x1000000-ADataTypeDef.P;
                ADataTypeDef.Rp=-((ADataTypeDef.Rp*Meter_K*fabs(PhaseA.I_Amp_Factor)*fabs(PhaseA.V_Amp_Factor))\
                -((ADataTypeDef.Rp*Meter_K*fabs(PhaseA.I_Amp_Factor)*fabs(PhaseA.V_Amp_Factor))*PhaseA.P_Gain_compensation));    //   2^15/2^23
        }
        else
                ADataTypeDef.Rp=(ADataTypeDef.P*Meter_K*fabs(PhaseA.I_Amp_Factor)*fabs(PhaseA.V_Amp_Factor))\
                -((ADataTypeDef.P*Meter_K*fabs(PhaseA.I_Amp_Factor)*fabs(PhaseA.V_Amp_Factor))*PhaseA.P_Gain_compensation);
        if(ADataTypeDef.Q>0x800000){
                ADataTypeDef.Rq=0x1000000-ADataTypeDef.Q;
                ADataTypeDef.Rq=-((ADataTypeDef.Rq*Meter_K*fabs(PhaseA.I_Amp_Factor)*fabs(PhaseA.V_Amp_Factor))\
                -((ADataTypeDef.Rq*Meter_K*fabs(PhaseA.I_Amp_Factor)*fabs(PhaseA.V_Amp_Factor))*PhaseA.P_Gain_compensation));
        }
        else
                ADataTypeDef.Rq=(ADataTypeDef.Q*Meter_K*fabs(PhaseA.I_Amp_Factor)*fabs(PhaseA.V_Amp_Factor))\
                -((ADataTypeDef.Q*Meter_K*fabs(PhaseA.I_Amp_Factor)*fabs(PhaseA.V_Amp_Factor))*PhaseA.P_Gain_compensation);
        ADataTypeDef.Rs=ADataTypeDef.S/256.0;
        ADataTypeDef.Rurms=ADataTypeDef.URms/8192.0*PhaseA.V_Amp_Factor;   //   2^10/2^23

完全不知道哪是哪


手册上说数据是补码形式:



不是取反加1么?  什么时候是这个意思了

手册的其他地方又写:

大于2^13就又怎样怎样算,

他娘的表示一个数据就非要搞得让地球人都没法看懂么?

名称一大堆

什么电表系数

电表系数参数

电表功率参数

。。。。。。。。。。。。。

不知所云

谁能告诉我怎么算

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入4汤圆

发表于 2018-6-30 17:07:58 | 显示全部楼层
原始数据读取以后,写入校表参数就可以,如果需要数据少的话,纯软件计算就好

出0入4汤圆

发表于 2018-6-30 17:08:42 | 显示全部楼层
另外偷偷告诉楼主,HT7036挺好,比7022便宜

出0入8汤圆

 楼主| 发表于 2018-7-1 11:18:11 | 显示全部楼层
langbaiyue 发表于 2018-6-30 17:07
原始数据读取以后,写入校表参数就可以,如果需要数据少的话,纯软件计算就好
...

他这个不是所谓的补码么

而且不同的参数 补码的计算方式还不太一致


还有我看论坛里面的历程 ,似乎是在软件中做的校正的

y = k*x  +b

出0入8汤圆

 楼主| 发表于 2018-7-1 11:18:49 | 显示全部楼层
langbaiyue 发表于 2018-6-30 17:08
另外偷偷告诉楼主,HT7036挺好,比7022便宜

哪些地方好  能否详细说明

出0入4汤圆

发表于 2018-7-2 07:58:16 | 显示全部楼层
justdomyself 发表于 2018-7-1 11:18
他这个不是所谓的补码么

而且不同的参数 补码的计算方式还不太一致

还是那句话,如果只是看电压电流功率这些基本参数,可以纯软计算就可以,还可以多段校准,如果需要谐波,电量这些参数,就需要校表了

出0入4汤圆

发表于 2018-7-2 07:59:07 | 显示全部楼层
justdomyself 发表于 2018-7-1 11:18
哪些地方好  能否详细说明

我只是说7036价格低,但是相比较于7022,它是少些参数的

出0入4汤圆

发表于 2018-7-2 07:59:51 | 显示全部楼层
补码问题如果是纯软计算的话,就在临界值的地方加一个方向判断就行

出0入8汤圆

 楼主| 发表于 2018-7-2 09:14:14 | 显示全部楼层
langbaiyue 发表于 2018-7-2 07:59
补码问题如果是纯软计算的话,就在临界值的地方加一个方向判断就行

我们做朋友吧

出0入8汤圆

 楼主| 发表于 2018-7-2 09:19:38 | 显示全部楼层
langbaiyue 发表于 2018-7-2 07:58
还是那句话,如果只是看电压电流功率这些基本参数,可以纯软计算就可以,还可以多段校准,如果需要谐波, ...

电压电流功率 电量需要

谐波不管  

出0入4汤圆

发表于 2018-7-2 16:36:29 | 显示全部楼层
justdomyself 发表于 2018-7-2 09:19
电压电流功率 电量需要

谐波不管

有电量的话,就需要校准寄存器了,不然会不准

出0入8汤圆

 楼主| 发表于 2018-7-4 10:29:07 | 显示全部楼层
langbaiyue 发表于 2018-7-2 16:36
有电量的话,就需要校准寄存器了,不然会不准

电能校正是校正电流就可以了么


电流校正是怎么整的


回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 07:49

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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