我是靠谱客的博主 欣慰黄蜂,最近开发中收集的这篇文章主要介绍单相计量芯片RN8209C串口应用模块,百万级产品实测1 芯片介绍2 校表流程2 代码实现3 测试报告,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1 芯片介绍

1.1 芯片特性

1. 计量

  • 提供三路Σ-△ADC
  • 有功电能误差在8000:1动态范围内<0.1%,支持IEC62053-22:2003标准要求
  • 无功电能误差在8000:1动态范围内<0.1%,支持IEC62053-23:2003 标准要求
  • 提供两路电流和一路电压有效值测量,在1000:1动态范围内,有效值误差<0.1%
  • 提供一路脉冲频率发生器,可用于对用户自定义功率进行电能量累加积分
  • 提供三路ADC的瞬时采样值
  • 潜动阈值可调
  • 提供反相功率指示
  • 提供电压通道频率测量
  • 提供电压通道过零检测
  • 提供参考基准监测功能

2. 软件校表

  • 电表常数(HFConst)可调
  • 提供增益和相位校正
  • 提供有功、无功、有效值offset校正
  • 提供小信号校表加速功能
  • 提供配置参数自动校验功能
  • 提供SPI/UART接口
  • 具有电源监控功能
  • 具备电能寄存器定时冻结功能
  • UART的RX输入引脚同时具备管脚复位功能
  • RN8209 +5V/3.3V电源供电,功耗典型值为15mW@5V、8mW@3.3V
  • 内置1.25V±1% 参考电压,温度系数典型值5ppm/℃,最大15ppm/℃
  • 采用SSOP24(RN8209D)/SOP16L(RN8209C)绿色封装

1.2 功能简介

RN8209能够测量有功功率、无功功率、有功能量、无功能量,并能同时提供两路独立的有功功率和有效值、电压有效值、线频率、过零中断等,可以实现灵活的防窃电方案。 RN8209支持全数字的增益、相位和offset校正。有功电能脉冲从PF管脚输出,无功电能脉冲/用户自定义电能脉冲频率从QF引脚输出。 RN8209C提供串行接口UART,固定波特率4800,管脚复位与UART输入引脚RX复用。RN8209D提供串行接口SPI和UART,方便与外部MCU之间进行通信。
RN8209 内部的电源监控电路可以保证上电和断电时芯片的可靠工作。

1.3 管脚定义

RN8209C IC

1.5 典型应用

RN8209单相防窃电典型应用

2 校表流程

可利用标准电能表进行校表,有功和自定义能量脉冲PF/QF 可以通过光耦直接连接到标准
表上去,然后根据标准电能表的误差读数对RN8209 进行校正。详细参考芯片用户手册。
RN8209C校表流程

2 代码实现

本代码基于RN8209C通过串口进行通信,本模块产品美国市场已经出货百万级,具体实现如下:
RN8209C模块接口:app_DriverRN8209C.h

/*
 * app_DriverRN8209D.h
 *
 *  Created on: 2009年8月10日
 *      Author: smartlabs
 */

#ifndef SRC_APP_DRIVERRN8209D_H_
#define SRC_APP_DRIVERRN8209D_H_

#define CALIBRATION_FLAG 0x88
/*
#define   C_Standard_Power	  (1800)//1800 	 //校准功率
#define   C_Standard_Current  (15)//(15)  //校准电流
#define   C_Standard_Voltage  (120)   //校准电压
*/
#define   Alarm_Power	      (2000000) //报警功率  后三位小数

typedef enum{
	POWER_DATA_CURRENT,  //电流
	POWER_DATA_VOLTAGE,   //电压
	POWER_DATA_ACTIVE_POWER, //功率
	POWER_DATA_ENEGRY, //电量
	POWER_DATA_POWER_FACTOR,//功率因数
}power_data_type_e;

typedef enum
{
	CALIBRABION_STATUS_WAITING = 1, //校准等待
    CALIBRABION_STATUS_CALIBRATING = 2, //校准过程
    CALIBRABION_STATUS_FINISHED = 3 //校准完成
}CALIBRATION_STATUS_ENUM;

typedef enum
{
	WORK_MODE_CALIBRATE=1, //校准模式
	WORK_MODE_NORMAL=2 //正常模式
}WORK_MODE_ENUM;

extern WORK_MODE_ENUM g_eWorkMode;//工作模式
extern CALIBRATION_STATUS_ENUM g_eCalibrationStatus; //当前校准状态
extern uint8_t g_cCalibrationTaskMode;
extern uint8_t g_bCalibrationFlag;

extern uint32_t g_wCalibrationCurrent; //校准电流
extern uint32_t g_wCalibrationVoltage; //校准电压
extern uint32_t g_wCalibrationPower;   //校准功率

//RN8209C硬件初始化
void app_initRN8209HW(void );
//RN8209C软件初始化
void app_initRN8209SW(void );
//RN8209C复位
void app_resetRN8209(void );
//RN8209C计量
bool app_calculateRN8209(void);
//设置工作模式
void app_setWorkMode(WORK_MODE_ENUM mode);
//RN8209校准
void app_calibrateRN8209(void );
//获取当前电量,保留3位小数位数
uint32_t app_getEnergy(void );
//获取当前功率,保留3位小数位数
uint32_t app_getPower(void );
//获取当前电压,保留3位小数位数
uint32_t app_getVoltage(void );
//获取当前电流,保留3位小数位数
uint32_t app_getCurrent(void );
#endif /* SRC_APP_DRIVERRN8209D_H_ */

3 测试报告

RN8209功率计量测试报告

原文地址:电表级单相计量芯片RN8209C在Zigbee和Z-Wave智能家居系统中的应用

RN8209C计量芯片驱动模块源代码,欢迎留言联系
QQ:279716582
微信:smartlabs

最后

以上就是欣慰黄蜂为你收集整理的单相计量芯片RN8209C串口应用模块,百万级产品实测1 芯片介绍2 校表流程2 代码实现3 测试报告的全部内容,希望文章能够帮你解决单相计量芯片RN8209C串口应用模块,百万级产品实测1 芯片介绍2 校表流程2 代码实现3 测试报告所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部