微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > DRV8834控制步进电机,电机90度以上

DRV8834控制步进电机,电机90度以上

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

步进电机在运行中很热,单片机复位后不运行的话,电机接进来也热,只有让EN脚Disable,电机才会冷却下来。

想问的问题是:原来我用lm293和lm298那种方式控制这个电机,频率一样,都是500~1000Hz,但是那两种方式电机并不明显发热,请问这是为什么?谢谢

ps.我用的是Indexer Mode

木有人么。。。

驱动器控制步进电机是按照恒流控制的方式运行的,步进电机停止,电流还是会存在,同时给予步进电机很高的保持力矩。

如果在步进电机停止后不需要很大的保持力矩,你可以控制DRV8834的enable 引脚,或者nSleep引脚,或者Vref引脚来关断电机的电流。用Vref引脚控制电压的话还可以实现低电流保持的功能。

DRV8834 和 L298比的话,芯片本身肯定是具有更低的功耗和更高的效率,毕竟不是一个年代的东西,L298的饱和电压降单边就有1.3V之大。

当然DRV8834由于封装小,大电流使用时也要注意接好芯片的热焊盘到大面积覆铜上以利散热。

步进电机的发热完全取决于对电机电流的控制,在同样的电流控制条件下(幅值和通电时间),不管用什么方案,电机的发热量都应该是差不多的。

如上图配置的电路,我用nENBL脚控制电机的停止,STEP一直给脉冲,现在可以通过控制nENBL脚来控制电机的运转和停止,但是停止后,电机还持续升温,难道是因为我电机是5V,而nENBL是拉高到3.3V的原因?

而且,我发现,我的这三个引脚都不初始化,只通电,电机都热,这不科学啊,没有方向,没有脉冲,没有使能,竟然有输出?

现在我把nSleep飞线出来,发现拉低这个脚,输出可以关掉,而仅拉高enable脚是不行的,还有持续电流,可是手册上说的应该是可以关断的呀?

Sam, 你好!

请问当芯片enable管脚被拉高时,sleep未使能时候,线圈电流维持在什么水平?是否用示波器看过此时的电流波形?

Axel,您好!
现在的核心问题是我的系统如果上电不初始化,所有芯片管脚应该是高阻态的,对于DRV8834来说,就跟断开差不多,而这个时候,已经有输出了,电机持续发热的情况和只拉高enable脚一模一样。这样对于整个系统来说,存在很大的安全隐患,一通电,还未驱动DRV8834,电机已经供电

Indexer Mode下一般是要使用电流反馈控制的,但是你的电路没有使用电流控制

Sam, 你好!

由于最近出差,回复较晚,深表歉意!

请看一下DRV8834 datasheet的第三页,有很多芯片引脚是内部下拉的,其中nENBL/AENBL,STEP/BENBL,DIR/BPHASE,M0/APHASE,M1,CONFIG都是由内部下拉电阻下拉的。

根据您提供的电路图,看到CONFIG管脚是被VINT上拉的,因而在初始上电时刻会进入indexer mode,然后由于nENBL/AENBL管脚被下拉,从而芯片被使能,有电流输出,从而导致电机发热。

建议您修改下CONFIG引脚的连接,就可以解决这个问题。

谢谢!

Axel

Sam,

补充一下,DRV8834的nSleep管脚有内部500K的下拉(可以从datasheet里面看到),被您电路图里面的上拉电阻上拉之后,因而上电时也不会进入sleep模式,驱动芯片直接被使能,从而导致电机发热。

Axel,

首先感谢您专业的回答,让我受益匪浅,非常感谢!

我现在的nSleep脚连单片机,上电后管脚高阻态,那么应该进入休眠而不用管enable脚如何,但是初始化后,电机还是发热,只有拉低sleep脚才可以

还有,即便上电后进入indexer模式,但是很快我就拉高enable,可电机也还继续更热热呢?谢谢

Sam,

我有用DRV8834EVM板做过实验,nEnable和nSleep均可以打开和关断线圈电流,并没有复现您所描述的问题。

希望您可以帮我确认两个事情:

1. 用示波器抓出初始化时及以后nSleep管脚的波形

2.用示波器抓成nEnable管脚被MCU拉高的波形

若这两个波形均正常的情况下,看下sepper线圈两端是否有输出,这样我这边可以再做进一步的试验和分析。

谢谢!

Axel

Indexer mode,Phase/enable mode,怎么控制的?

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

网站地图

Top