DRV8848通道输出不正常原因

背景


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. 也就是说,要退出并联模式,需要将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引脚一个上升沿的过程。

上一篇:JSP+Servlet培训班作业管理系统[3]–点击菜单加载功能页面


下一篇:一个正常运行的网站如何快速实现CDN加速