DRV8812,用检流电阻配合参考电压的方式细分驱动,正常运行没有问题,但是在接通电源的情况下,拔出电机后重新插上,电机没电。通过控制sleep线让其sleep后再唤醒,可正常重新工作。如果电机电阻很大,电感很小,也可直接热插拔,仍能保持运行状态,所以我估计,是热插拔时产生的瞬间感应电流让DRV8812产生过流保护了。
这种情况,本来也属正常,但是今天碰到个棘手的问题,一个客户,他原来用的步进电机和连接线本身就有接触问题,但是由于他们原先用的控制板估计没有任何保护,或者保护电流更大一点,所以完全支持热插拔,就算电机连接线有接触不良,配合其他措施,居然也能瞒天过海,让人觉察不到任何异常。而我们的板,用了8812,根本无法接受热插拔,客户也看到了,只要轻轻碰一下电线,电机就掉电了,明显是接触问题,可是客户认为,别人的板能容受这种情况,我们不能,是我们技术有问题。我们说这是美国大厂的芯片,做得仔细,提供了保护,他们说这样的保护没意义,别人不用保护也没事。
我们有泪不敢哭,只能答应客户尝试屏蔽这种保护。但是现在我也不敢保证是否真的是过流保护,如果是,我打算做个临时应急方案,给8812的输出端接个电阻,相当于给步进电机强行并联一个电机,这样相当于没有热插拔,但是有多大可行性,电阻大小如何选择才能保证不会引起热插拔,心里没底。
还有一个方案,只能以后改板再考虑,就是不停的扫描nfault线,如果扫描到某个8812保护了,就立即拉一下nsleep或者reset线让8812重新工作。
这个事情,各位大侠怎么看?我记得有一款步进电机驱动芯片是明文规定不可热插拔的,型号是A开头的,自己也试过,热插拔电机直接就烧芯片,所以这个事情应该不是那么容易处理的。当然不排除一种可能,就是客户故意贬低我们,或者他们自己也搞不清楚那些线是否同一批。