ATT7022C开发过程中遇到的一些问题,求教

[复制链接]
 楼主| dcxq13 发表于 2017-9-19 11:24 | 显示全部楼层 |阅读模式
先说下我目前的进度
    我已经完成SPI时序的读取驱动程序,现在已经能够成功的读取三相电压、电流、频率,经过校表之后能得到一个比较准确的结果了,芯片的复位等硬件操作也没有什么大问题。现在最主要的是在某几项数据的解析与校表上。
下面说说我疑惑的几个地方
1.第七路ADC读取地址的问题。



数据手册给出了2个地址,那个才是能读到正确数据的地址呢?!两个地址我都试过了,1个是读不到数据,另外一个是数据不正确,不知是不是我程序换算方法的问题,我在试试。
2.功率校正的方法

这是手册上的换算说明,下面是我的代码
        float value_tmp;
        value_tmp=(float)((RD_ATT7022(r_Pt)));//读取合相功率
        if(value_tmp>8388608)value_tmp=value_tmp-16777216;//判断是否大于2^23
        value_tmp=(value_tmp/64);                //2的(23-17)次方2的6次方64算出来的单位是W
        C_phrase.r_Pw=(u16)value_tmp;                //转换成整型存入结构体

这里有2个疑问
        数据读出是以补码的形势是否要转换成原码?!我经过试验感觉转不转结果没有差.
        要不要判断是否大于2^23?!
我看过网络上人家贴出来的代码,很多人都是读出结果直接除以64
这个是功率校正的方法

上面提到的100%Ib处是什么意思?!
还有上面提到的测量能量是什么数据?!功率、电能还是什么数据?!
我的问题可能比较低级,求各位大虾解答,好让小弟少走一些弯路,也让刚刚接触到这块开发的朋友得到一些帮助,谢谢!


本帖子中包含更多资源

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

×
ningling_21 发表于 2017-9-19 11:41 | 显示全部楼层
100%IB 好像是指电流值
测试能量是指被测电路耗的电能,就是根据功率和时间常数得出的数据。

ningling_21 发表于 2017-9-19 11:44 | 显示全部楼层
本帖最后由 ningling_21 于 2017-9-19 11:46 编辑

读出的数据以补码表示,如果是正数不需转换,如果是负数需要转换

需要判断是否大于2^23
第7路的ADC地址,应按 0X29,是ADC有效值寄存器
 楼主| dcxq13 发表于 2017-9-19 11:53 | 显示全部楼层
ningling_21 发表于 2017-9-19 11:44
读出的数据以补码表示,如果是正数不需转换,如果是负数需要转换

需要判断是否大于2^23

0x29这个地址试过了,怎么读取都是0,电流加到了10A还是0
 楼主| dcxq13 发表于 2017-9-19 11:55 | 显示全部楼层
ningling_21 发表于 2017-9-19 11:41
100%IB 好像是指电流值
测试能量是指被测电路耗的电能,就是根据功率和时间常数得出的数据。

这个如何去测量和计算啊,我用标准表测试的功率与7022读出的功率套入公式进行计算可以吗
ningling_21 发表于 2017-9-19 11:57 | 显示全部楼层
dcxq13 发表于 2017-9-19 11:53
0x29这个地址试过了,怎么读取都是0,电流加到了10A还是0

这个查查是否硬件的问题
ningling_21 发表于 2017-9-19 11:58 | 显示全部楼层
dcxq13 发表于 2017-9-19 11:55
这个如何去测量和计算啊,我用标准表测试的功率与7022读出的功率套入公式进行计算可以吗 ...

电能有个寄存器可以读取,和标准表对比,计算出误差修正参数
h286288986 发表于 2017-9-20 08:42 | 显示全部楼层
dcxq13 发表于 2017-9-19 11:53
0x29这个地址试过了,怎么读取都是0,电流加到了10A还是0

确定下,对应的ADC是否已经开启。
 楼主| dcxq13 发表于 2018-12-20 09:45 | 显示全部楼层
ATT7022C的开发已经全部完成了,感谢各位大佬的帮助和指点!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

41

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部

3

主题

41

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部