DRV8848通道输出不正常原因

举报
kobesdu 发表于 2022/01/29 13:30:06 2022/01/29
【摘要】 背景DRV8848 提供适用于家用电器和其他机电一体化应用的双 H 桥 电机驱动器。该器件可用于驱动一个或两个直流电机、一个双极性步进电机或其它负载。利用一个简单的 PWM 接口便可轻松连接到控制器电路;在使用DRV8848做直流电机的驱动时,发现两对通道只能有一路通道控制。问题解决通过调试和翻看数据手册发现:DRV8848有并联模式,两对通道可以并联输出。要使两对通道分别输出,需要设置芯片...

背景

在做电机驱动的过程中,使用到了8848芯片。

DRV8848 提供适用于家用电器和其他机电一体化应用的双 H 桥 电机驱动器。该器件可用于驱动一个或两个直流电机、一个双极性步进电机或其它负载。利用一个简单的 PWM 接口便可轻松连接到控制器电路;在使用DRV8848做直流电机的驱动时,发现两对通道只能有一路通道控制。

问题解决

通过调试和翻看数据手册发现:DRV8848有并联模式,两对通道可以并联输出。要使两对通道分别输出,需要设置芯片退出并联模式。

来自DRV8848数据手册说明如下

The two drivers can be used in parallel to deliver twice the current to a single motor. To enter parallel mode, AIN1 and AIN2 must be left Hi-Z during power-up or when exiting sleep mode (nSLEEP toggling from 0 to 1). BIN1 and BIN2 are used to control the drivers. Tie AISEN and BISEN to a single sense resistor if current control is desired. To exit parallel mode, AIN1 and AIN2 must be driven high or low and the device must be powered-up or exit sleep mode.

译文【这两个驱动器可以并联使用,为单个电机提供两倍的电流。要进入并行模式,在通电或退出睡眠模式时(nSLEEP从0切换到1),AIN1和AIN2必须保持Hi-Z状态。BIN1和BIN2用于控制驱动程序。如果需要电流控制,则将AISEN和BISEN连接到单个感测电阻器上。要退出并行模式,AIN1和AIN2必须处于高电平或低电平,设备必须通电或退出睡眠模式。

按照芯片手册的说法,应该是,想要退出并联模式,需要将AIN1 AIN2同时置高电平或者低电平,并且将SLEEP引脚0-1

STM32使用代码修改如下

GPIO_WriteBit(GPIOB, GPIO_Pin_8,(BitAction)0x00);//AIN1

GPIO_WriteBit(GPIOB, GPIO_Pin_9,(BitAction)0x00);//AIN2

GPIO_WriteBit(GPIOC, DRV8848SLEEP_PC13_OUT,(BitAction)0x00);//SLEEP引脚

delay_ms(5);

GPIO_WriteBit(GPIOC, DRV8848SLEEP_PC13_OUT,(BitAction)0x01);//SLEEP引脚

delay_ms(5);

即按照数据手册的说明,将AIN1 AIN2同时置低电平,并给sleep引脚一个上升沿的过程。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。