微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 请问DRV8833芯片nFAULT端口怎么判断故障状态

请问DRV8833芯片nFAULT端口怎么判断故障状态

时间:10-02 整理:3721RD 点击:

请问DRV8833芯片nFAULT端口怎么判断故障状态?这个端口连接单片机,我是在有电流限制的情况下,测这个端口的,怎么在达到限流时,nFAULT端口没有变成低电平吗?请专家指教。

keen zhang

请问DRV8833芯片nFAULT端口怎么判断故障状态?这个端口连接单片机,我是在有电流限制的情况下,测这个端口的,怎么在达到限流时,nFAULT端口没有变成低电平吗?请专家指教。

这个端口是open drain的,需要接上拉。在过温和过流的情况下会变低。

我是用单片机上拉端口上拉的,但是在过流情况下不会变低啊?是不是因为我在xISEN端口连接了限流电阻?

单片机上拉端口一般都是很弱的上拉,不知道你的端口用的是不是弱上拉,最好是改成外部上拉

这里要分清两种情况:

一是电流限制, 一是过流保护OCP

1.  电流限制是通过外接Rsense电阻来实现的,限制点就是0.2/R. 到了电流限制值,芯片会自动控制输出电流恒定在限制点,而且不会产生过流信号,这种恒流控制作用正是大多数步进电机驱动时所需要的特性。

2. OCP是指在故障状态下,比如输出线圈对自己,对VM或对地短路时,桥路输出电流在Tocp (2.25us)时间内达到芯片OCP值 (3.3A),芯片会认为输出有短路情况发生,自动切断发生短路的桥路,并且在nFAULT端输出低报警,当芯片重新上电并且没有短路情况存在时,芯片恢复正常。

以上两种功能由完全独立的两套电路实现,并且都是内部纯模拟电路,响应快速可靠。

 

谢谢了!

如果到了电流限制值,芯片有没有什么输出警告?或者推荐一下TI其他的有这功能的芯片。

请问您为什么需要这个功能?是在什么样的应用中需要这个电流限制的信号?

因为步进电机的驱动器频繁工作在限流与非限流之间,您可以通过看驱动端口的驱动信号就可以判断出线圈电流是否达到电流限制值了。

“驱动端口的驱动信号就可以判断出线圈电流是否达到电流限制值了”这句我不理解,怎么驱动信号就可以判断是否达到电流限制值?

因为步进电机驱动器在线圈电流达到电流限制值之后,会根据Decay模式的配置,进入相应的Decay状态。处于Decay状态时,H桥的动作不同于驱动时的动作,因而在两个输出端口看到的电压波形也不一样。举个例子,若Decay模式配置为slow decay,处于驱动状态,输出端为一高一低,当线圈电流达到电流限制值时,进入slow decay 状态,输出端均为低。通过此时驱动端口电压的变化就可以判断线圈电流是否达到电流限制值了。

谢了,我用的是直流有刷电机和步进电机不一样

DRV8833关于限流有这样的描述:也就是说如果设置了限流,一旦电流超过限流值,时间超过Tocp=2.25uS的话,nFault引脚同样会拉低。

这个地方英文描述的current limit翻译过来容易产生歧义,有必要再解释一下:上面截图中所有描述都是针对OCP机制,也就是我之前说的电流保护这一套电路,它是所有DRV8系列共有的一套MOS瞬间大电流短路保护电路,又门级驱动直接控制,和由限流电阻设定的电流值是完全独立的,而通常我们把由限流电阻设定的电流控制环路叫做current regulation

所以Kailyn所说的“电流超过限制值”2.25us nFault 引脚同样会拉低,其中,“限制值”不是我们的限流电阻设定值,而是芯片内部设计定死的OCP保护值,MIN 2A, TYP 3.3A. 当出现OCP nFAULT 拉低时,对应桥路输出关断,芯片是不会自己恢复的。

当芯片工作时,电机电流达到我们限流电阻设定的限流值时(该值一定要设计在OCP值之下),芯片产生regulation动作,而不会有nFAULT 输出的。

 首先谢谢Wilson的纠正。那么您的意思是,当电流超过OCP的值,也就是说超过3.3A时,桥路输出端开,这时候芯片不会自动恢复到正常工作状态下,就像DRV8832datasheet中提到的,只能需要重新上电才可,但是如果电流达到2A以上,3.3A以下,内部保护电路启动,但是电流一旦低于2A,芯片会自动恢复到正常工作?

Kailyn

这个地方OCP值其实只有一个值,芯片设计时并不刻意设计的十分准确,手册上给出的Min 2A TYP 3.3A 是说芯片之间的差异,名义值是3.3A,而且只保证最小不低于2A,这样一来对每一个芯片并不存在一个2A到3.3A的区间。我们接上电机必须要保证所接的电机线圈内阻和感抗产生的电流爬升不能在2.25us时间内达到2A或更大,如果真有这种情况,即使接上电机没有短路,芯片也会认为是短路发生了。不过在DRV8833这个电压和电流档位的直流电机或步进电机的直流阻抗都不会这么低,不用担心真的出现这种情况。

与此同时我们如果还接了限流电阻,并设定电流在2A之下的某一个值,(最好离2A有足够的余量,通常不要超过1.5A),电机电流在开启时,先是在2.25us内不触发OCP,接着直到电流达到regulation设定值,regulation 发生动作(regulation的响应一定是要等到OCP时间之后的),保证电流不再继续增加,这样一来,在通常情况下(短路例外),电机的电流就永远不会触及到最小2A的OCP保护点了。

 

谢谢你们的回答,我的理解是如果设定了电流值(小于1.5A),正常工作下是不会促发OCP,只有在短路的情况下才会促发OCP.

nFAULT 信号 的变化可以判断电机是否堵转

应该判断不了堵转吧,堵转后电流应该还是不会超过过流阈值,电流还是由衰减自动控制的,但是总的消耗电流会增大

我用stm32控制DRV8833驱动直流电机,我的DRV的fault为什么出来的是10khz的方波呢?

没人解答呢

电路图? 有没有加合适的电源去耦电容? nFAULT 外部上拉了吧,方波说明可恢复,排除OCP,要么TSD,要么UVLO,这个频率不太可能是过温,所以UVLO可能性比较大,电源不行又没有大的电容做缓冲就可能出现UVLO每个PWM ON的时候就开启的问题。当然,上面只是一种假设。

我觉得还是和上电时的顺序有关,我最后采用全部硬件控制了,就没问题。

不明白 每个PWM ON的时候就开启的问题 这句话是什么意思。。。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top