Microchip
直播中

何兰兰

7年用户 201经验值
私信 关注
[问答]

dsPIC33EV128GM004输出比较PWM边沿对齐故障

嗨,我正在写一个电机控制应用程序的DSPIC33 EV128GM00 4,我使用OC1刹车控制使用边缘对齐PWM模式。我已经配置了比较器C1作为FLTA,所以如果它变低,OC1模块将进入故障模式并将其输出设置为低。如果我使用逐周期故障模式,那么它正常工作,一旦FLTA变低,OC1OUT也变低,但是这要求软件在下一个周期之前禁用模块,以防止在下一个周期再次激活输出,并且这需要极低的延迟。然而,如果我使用非活动故障模式,这意味着锁存故障,并且应该是我的应用程序中的首选模式,每当FLTA变低时,OC1OUT保持高以维持设置的占空比,周期结束,并且只有OC1OUT保持低。这种行为似乎违背了dsPIC33/PIC24 FRM输出与专用时标手册的比较,该手册在其第30页中清楚地表明不应该发生这种情况,并且在FLTA激活时,输出应该变低,并且保持这种方式直到故障标志被软件清除。我是否面对一个我找不到的硅勘误表,或者我做了什么错事吗?这是OC1初始化的相关代码:最好的问候和感谢您的评论。

回帖(2)

杨叶

2020-4-7 13:57:40
嗨,你检查PWM误差和它们的工作情况了吗?当做
举报

刘晓红

2020-4-7 14:15:34
嗨,RISC,谢谢你的回复,我检查了PWM和OC ErrATAS,找不到任何与此相关的东西。这似乎与我生成故障信号的方式有关,它需要一个被输出信号消隐的去饱和比较器(比较器1),以便每当OC1输出低时,它阻止OCFA的低电平信号(如果IGBT没有接通,显然它不会但是,这并不意味着有一个简短的例子。为此,我已将PWM2故障输入(HSPWM模块)编程为与OC1输出在同一管脚上,然后使用FLT2作为CM1的消隐信号,有效地防止在OC1输出低时FLTA变低。除此之外,我还为CM1设置了2.75美元的过滤。有可能,即使外部CM1 out按预期运行,但内部OC1 out逻辑中的某些东西并不喜欢故障信号被其自身的输出变低(以便当故障触发故障消失时)所消除,或者可能是其他东西,不过我已经实现了一个解决方案nd使用比较器中断和设置OC1以逐周期故障模式工作,从而当触发故障时,输出被解除断言,并且CM1中断启动,将占空比设置为0,设置FLTA标志和设置模块为故障不活动模式,以这种方式工作希望,即使它需要额外的CPU周期来实现。希望这可以帮助任何人在相同的情况下。最好的问候。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分