RN8209C 计量芯片
# 1. 编程步骤
# 1.1. 结构化
- 仍采用 g_data_show 结构体变量
- 直流测量参照 INA219_DATA 结构体
# 2. 参考
接收数据校验值 为命令+数据1+数据2+数据N 舍弃进位取反
锐能微计量芯片电压电流有效值对应关系 http://www.ireader-opto.cn/Article/rnwjlxpyxz.html (opens new window)
https://github.com/zengzhezz/RN8209 (opens new window)
https://github.com/RN8209C/RN8209C-SDK (opens new window)
https://github.com/yejundoudou/RN8209 (opens new window)-
https://github.com/search?q=RN8209 (opens new window)
https://github.com/yejundoudou/RN8209G-SPI--2017.2.28 (opens new window)
https://github.com/tahuazaizaitian/RN8209D_voltage (opens new window)
https://github.com/mobufan/DriverForRN8209C (opens new window)
# RN8209单相计量芯片直流测量说明
http://iot.eleckits.com/tech/shownews.php?lang=cn&id=110 (opens new window)
- 软件配置及校表流程
使用 RN8209G 新版/RN8209C/RN8209D 等实现直流测量,与交流测量的不同点在于需要增加直流偏置校正,校正步骤如下:
- 寄存器配置:
SYSCON 中 BIT[1:0]、BIT[3:2]、BIT[5:4]写入 0,配置三路 ADC 为 1 倍增益;
EMUCON 中将 IA/IB/U 三路的 ADC 的高通使能关闭,BIT[14]、BIT[6:5]配置为 1;
输入接地,读 IA、IB、U 三路的有效值 10 次,计算有效值的平均值 IARMS、IBRMS、URMS;
将 IARMS1 有效值的 BIT[23:8]写入 DCIAH 寄存器,BIT[7:4]写入 DCL 寄存器的BIT[3:0],将 IBRMS1 有效值的 BIT[23:8]写入 DCIBH 寄存器,BIT[7:4]写入 DCL 寄存器的BIT[7:4],将 URMS1 有效值的 BIT[23:8]写入 DCUH 寄存器,BIT[7:4]写入 DCL 寄存器的BIT[11:8];
等待 2S 后读 IA、IB、U 三路的有效值 10 次,计算有效值的平均值 IARMS2、IBRMS2、URMS2,若有效值相对于未校正前变小,则校正完成,若值变大为原来的约为 2 倍,则需继续进行下一步操作;
将 IARMS1 取反得到 IARMS3,将 IARMS3 的 BIT[23:8]写入 DCIAH 寄存器,BIT[7:4]写入 DCL 寄存器的 BIT[3:0],将 IBRMS1 取反得到 IBRMS3,将 IARMS3 的 BIT[23:8]写入 DCIBH 寄存器,BIT[7:4]写入 DCL 寄存器的 BIT[7:4],将 URMS1 取反得到 URMS3,将 IARMS3 的 BIT[23:8]写入 DCUH 寄存器,BIT[7:4]写入 DCL 寄存器的 BIT[11:8];校正完成;
等待 2S,在 IA、IB、U 输入相应的信号,读取三路 ADC 的有效值和 A/B 功率寄存器值。
调整 Hfconst 的值,使输入为 Ib(75mV)时的 PF 脉冲输出频率为 10Hz,以 Ib 为基准计算误差。采用频率计测量 PF 的脉冲输出频率。
矽控电子RN8209C-D直流测试应用笔记V1.0直流电能表.pdf