天天看点

连续两个周末去客户的工厂协助处理控制器的问题,收获了以下成果,1)经过分析,发现使用的通过光耦设计的过零检测电路抗干扰能

作者:物联网全栈开发

连续两个周末去客户的工厂协助处理控制器的问题,收获了以下成果,

1) 经过分析,发现使用的通过光耦设计的过零检测电路抗干扰能力比较差,应该改用我设计的强抗干扰能力的过零检测电路

2) 可控硅触发驱动电路,在上电过程中,由于+5.0V的电压迟于+24.0V电压,产生异常脉冲,导致可控硅误触发,有严重的安全隐患

3)精确计算并实测过零信号脉宽、相移等,据此计算最大、最小导通角,确定导通角延时的限定值以及触发脉冲的时长等,严格避免了触发脉冲错到下一个半波,导致可控硅全导通的情况。

4) 只有采用硬件微分电路的针对电流和电压的闪络检测算法,没有可靠的软件闪络检测算法,存在检测不到闪络或者误检测到闪络的情况。

我将软件闪络检测算法移植TMS320F28335平台,在ADC中断中计算半个周期的二次电流、二次电压的积分值和微分值,在定时器中断即将使能PWM输出可控硅触发脉冲串之前判断闪络,有以下机制:

a. 根据二次电流、二次电压的微分值与额定值比较,判断是否发生闪络;

b. 根据前8个半波的数值由最小二乘法算法基准值,将二次电流、二次电压的积分值与基准值比cc.较,判断是否发生闪络;

c. 检测硬件微分检测电路所连接的IO口的边沿跳变标志,如果标志置位,说明二次电流或二次电压发生了突变,可能发生闪络,根据ADC中断中最高检测的电压值判断是否发生闪络;

通过硬件+软件,电流+电流,积分+微分的强有力的组合判断,实现了闪络的及时判断以及保护,又大大提高了检测的可靠性,避免了误码,从而提高了除尘效率,降低了能耗。

4) 发现了在定时器中断中即使开启了PWM,10kHz,50%的触发脉冲串依然需要再过100us才由IO口输出的问题,改成以下的代码之后,PWM立即通过IO口输出。

EPwm1Regs.AQSFRC.bit.RLDCSF = 3;//绕过影子寄存器直接从CPU加载,IO口立即输出PWM

EPwm1Regs.AQCSFRC.bit.CSFA = AQ_NO_ACTION;

EPwm1Regs.TBCTR = (EPWM1_TBPRD - 2);

EPwm1Regs.TBPRD = EPWM1_TBPRD;

EPwm1Regs.CMPA.half.CMPA = EPWM1_CMPA;

EPwm1Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // load immediate

在整改过程中,也碰到一些问题:

比如,CPUTimer产生中断之后,在停止之前,自动加载PRD到TMR寄存器,导致产生中断缓存到PIE,影响了通过CPUTimer输出触发脉冲串;

通过清零PIEIFR寄存器清除CPUTimer自动加载产生的中断,由于该操作不是原子位操作,会把ADC完成中断也同时清除,导致ADC不能产生中断;

连续两个周末去客户的工厂协助处理控制器的问题,收获了以下成果,1)经过分析,发现使用的通过光耦设计的过零检测电路抗干扰能
连续两个周末去客户的工厂协助处理控制器的问题,收获了以下成果,1)经过分析,发现使用的通过光耦设计的过零检测电路抗干扰能
连续两个周末去客户的工厂协助处理控制器的问题,收获了以下成果,1)经过分析,发现使用的通过光耦设计的过零检测电路抗干扰能

继续阅读