DR70xQ H桥驱动芯片使用详解

目录

1、芯片介绍

2、引脚控制说明

2.1 模式控制

2.2 错误反馈

3、芯片控制

3.1 DR70x控制

3.2 DR703/DR704控制

4、实例代码

4.1 DR702

4.2 DR703/DR704


1、芯片介绍

        DR70x H桥驱动芯片是一种高性能的电路芯片,主要用于直流电机控制。该芯片采用了先进的H桥驱动技术和电流反馈机制,能够快速、准确地控制电机的速度和方向,并具有高效、低噪音、低能耗等优点。 该芯片的主要特点如下:

1.大电流输出能力:DR70x H桥驱动芯片采用了大功率MOS场效应管,能够输出高达15A的电流,可满足大多数直流电机的驱动需求。

2.全局PWM控制:该芯片支持全局PWM控制,能够提供更加灵活的控制方式,有效减少了输出噪音。

3.双路电流反馈:DR70x H桥驱动芯片采用了双路电流反馈机制,可以准确地测量电机的电流,保证了电机的稳定性和可靠性。

4.多重保护机制:该芯片具备短路保护、过压保护、欠压保护和过流保护等多重保护机制,可有效保护芯片和电机的安全。

总的来说,DR70x H桥驱动芯片是一款性能优越、功能全面、可靠稳定的电路芯片,可以广泛应用于直流电机的控制,包括电动工具、电动车、机器人等领域。

2、引脚控制说明

2.1 模式控制

        DR702为硬件配置接口,其所有功能可以通过硬件外围电阻电容元器件进行设定,DR702的控制简单并且占用MCU资源少。

        DR703/DR704则含有SPI接口,用于MCU通讯,因此其可以灵活的进行功能配置并读取出所有状态寄存器信息。DR703的寄存器提供丰富的过压过流报警信息,方便系统获取电机工作的实时状态并实现更高的功能等级。相较于DR703Q,DR704Q进一步增加了过压保护功能、离线负载检测功能以及电流检测共模点可配等检测功能。

        MODE引脚为控制模式引脚,具体控制信息下表所示:

2.2 故障反馈

DR70x

        nFAULT PIN:该引脚应拉至5V或3.3V。当故障被检测时,改引脚为逻辑低

注:DR70x都有该引脚

DR703/DR704

  

         通过读取地址为0X00的错误状态寄存器获取故障状态。

3、芯片控制

3.1 DR70x控制

        

 DR70x控制模式都由MODE引脚来控制,工作状态都由nSLEEP引脚来控制,工作模式都由IN1、IN2脚来控制,两个引脚不同的电平可以控制芯片电流方向。

3.2 DR703/DR704控制

DR702其控制模式只由硬件来控制。

DR703/DR704相较于DR702多了SPI通信,可以由SPI来控制其一些工作模式和获取寄存器故障状态。其SPI工作模式配置如下:

 SPI工作模式为MODE0

        CPOL = 0,SCLK空闲状态为低电平

        CPHA = 0,第一个边沿开始采集

        MSB,最高有效位MSB

        帧与帧之间,CS引脚至少要被拉高500ns

SPI帧内容

芯片输入帧内容

        1位读写位(bit15) 0:

        4位地址信息(bit14~bit11)

        3位无关数据(bit10~bit8)

        8位数据位(bit7~bit0)

芯片输出帧

        8位无关数据(bit15~bit8)

        8位数据位(bit7~bit0)

4、实例代码

4.1 DR702

/* DR702芯片功能初始化 */
void dr702_init(void)
{/* nsleep引脚拉高 */gpio_set_bit(nSLEEP_GPIO_PORT, Bit_SET);/* mode引脚模式选择 MODE1 半桥模式 */gpio_set_bit(MODE_GPIO_PORT, Bit_SET);
}/* DR702芯片半桥1低边驱动 输出低有效 */
void dr702_low1_driver(void)
{/* IN1引脚拉低 */gpio_set_bit(IN1_GPIO_PORT, Bit_RESET);/* 配置IN2引脚输出PWM波 duty为占空比值 */dr702_in2_output(duty);
}
  1. nSLEEP引脚拉高,芯片由休眠模式转化为正常工作模式
  2. MODE引脚拉高,芯片模式选择MODE1,独立的PWM半桥输出
  3. IN1引脚拉低,IN2引脚输出PWM波(需去除idriver上的硬件限流保护)

4.2 DR703/DR704

#include "DR704.h"
#include "spi.h"/* DR704初始化 */
void dr704_init(void)
{/* nsleep引脚拉高 */gpio_set_bit(nSLEEP_GPIO_PORT, Bit_SET);/* mode引脚模式选择 MODE1 半桥模式 */gpio_set_bit(MODE_GPIO_PORT, Bit_SET);/* SPI初始化 */spi_init();/* SPI CS引脚拉低,代表SPI通讯开始 */gpio_set_bit(SPI_CS_PORT, Bit_RESET);/* 关闭DR704芯片自带的过流保护功能 */spi_send_addr_data(0x20, 0x7F);/* SPI CS引脚拉高,代表SPI通讯结束 */gpio_set_bit(SPI_CS_PORT, Bit_SET);
}/* DR704正转 */
{/* IN1引脚拉低 */gpio_set_bit(nSLEEP_GPIO_PORT, Bit_SET);/* 配置IN2引脚输出PWM波 duty为占空比值 */dr702_in2_output(duty);}
  1. nSLEEP引脚拉高,芯片由休眠模式转化为正常工作模式
  2. MODE引脚拉高,芯片模式选择MODE1,独立的PWM半桥输出
  3. 通过SPI将DR704的过流保护功能关闭,IN1引脚拉低,IN2引脚输出PWM波

需要全部工程源码请留言或私信!!!

注:本文仅为使用该芯片提供基础引导。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部