单相插座程序修改笔记

it2022-05-09  16

2018.4.25于306修改:

程序功能:手机发送测量参考值

实现功能:手机发送新的电压、电流、功率参考值,设置内部重新会修改电压、电流、功率参考值,0.01度电量脉冲参考值

修改位置:TIM6_Process()函数

函数部分如下

void TIM6_Process(void) { //УÕýģʽ if (U8_CURR_WorkMode == D_CAL_START_MODE) { U32_Cal_Times++;//УÕýʱ¼ä36S£¬1000W¸ºÔØ36Sʱ¼äÏûºÄ0.01¶Èµç if (U32_Cal_Times == D_TIME6_CAL_TIME) //0.01¶ÈУÕýʱ¼äµ½ { U8_CURR_WorkMode = D_CAL_END_MODE; U32_Cal_Times=0; U16_REF_001_E_Pluse_CNT = U16_E_Pluse_CNT; //¼Ç¼36Sʱ¼äÄÚµÄÂö³åÊý£¬´ËÂö³åÊý±íʾ0.01¶ÈÓõçÁ¿ atk_8266_send_cmd("AT+CIPSEND=0,8","OK",20); delay_ms(10); atk_8266_send_data("УÕý½áÊø","ok",20);//1000WÉ豸УÕýÒª36s ¶ÔÓ¦0.01¡ãµç Reset_RX_STA(1); } }

上述加粗语句修改为:

U16_REF_001_E_Pluse_CNT = 3600000/U16_P_REF_Data; // U16_REF_001_E_Pluse_CNT=U16_REF_001_E_Pluse_CNT*100000/U32_P_REF_PLUSEWIDTH_TIME;

U16_REF_001_E_Pluse_CNT = 3600000/U16_P_REF_Data; U16_REF_001_E_Pluse_CNT=U16_REF_001_E_Pluse_CNT*100000/U32_P_REF_PLUSEWIDTH_TIME;

小心大数值乘除导致的乘法溢出或者影响精度。

单相校准方法:  在插座上使用标准负载,如1000W,220V供电电压,4.545A电流,然后手机连接插座发出的无线,作为TCP client 连接192.168.4.1 端口8011,发送指令reference=10000,2200,4545即可。

   

 

单相插座设备测量模式:

(1)单周期测量模式

(2)计数脉冲测量模式

 

 

综上所述,0.01度电的脉冲数计算公式:

U16_REF_001_E_Pluse_CNT=0.01/ECF=0.01*1000*3600/(U16_P_REF_Data*10^-1*U32_P_REF_PLUSEWIDTH_TIME*10^-6)=36*10^10/(U16_P_REF_Data*U32_P_REF_PLUSEWIDTH_TIME)

程序里U32_P_REF_PLUSEWIDTH_TIME的单位是us所以要乘10的负六次方,U16_P_REF_Data单位不是W,U16_P_REF_Data/10才是W。

转载于:https://www.cnblogs.com/fyp7077/p/8945795.html

相关资源:数据结构—成绩单生成器

最新回复(0)