0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于电机驱动芯片DRV8823+C8051F020单片机在XBT自动投放系统中的应用方案

基于电机驱动芯片DRV8823+C8051F020单片机在XBT自动投放系统中的应用方案

来源: 21ic
2021-08-26
类别:工业控制
eye 7
文章创建人 拍明

原标题:基于电机驱动芯片DRV8823在XBT自动投放系统中的应用方案

  TI公司推出的4H桥电机驱动芯片DRV8823为该项关键技术的实现提供了很好的解决方案。

  1 DRV8823简介

  DRV8823是TI公司推出的1.5 A四路刷式或双路双极步进电机驱动器,它内部采用4H桥电机驱动模块,可以驱动2个步进电机或者4个直流电机。其内部使用4组N沟道功率MOS FET组成H桥,构成独立的电机驱动模块来驱动电机绕组,非常适合多路电机驱动使用,它为自动化设备的应用提供了一个集成的电机驱动解决方案。芯片的供电电压为8~32 V,每相通道的电流最大可达1.5 A,并且可以通过软件编程设置为8个不同等级的值。芯片具有低电压睡眠模式,在系统过压、过温或过流后均可以自动关闭电机、断开电机负载加以保护,其内部组成结构略——编者注。DRV8823与微控制器仅需要通过简单的串行接口就可完成所有的信号控制功能。

  2 DRV8823时序及寄存器介绍

  2.1 DRV8823的时序

  DRV8823的串行数据时序如图1所示,SSTB信号在原理图中一直为高电平,因此串行接口一直有效并且输出使能。数据包的传输包括16个数据位,需要注意的是,与常规SPI总线不同,控制器需要先向DRV8823芯片传输数据字节的低位。

  

image.png


  控制器将串行数据写入DRV8823,额外时钟边沿之后的最后数据位将继续移位到数据寄存器,因此,最后的16位数据将被锁定和使用。通过设置两个电机控制寄存器字段中的高4位来选择控制1#电机或者2#电机,即:如果串行数据的高4位是0000,则对电机1(桥A和B)进行操作;反之,如果是0001,则对电机2(桥C及D)进行操作。只有SCS输入引脚为高电平有效时,数据才能被转移到串行接口。数据最初只是被移入到一个临时寄存器,该数据在SSTB上升沿时才被写入电机驱动器。如果SSTB一直处于高电平,则16位数据传输完毕后才全部锁存。

  2.2 DRV8823的寄存器

  DRV8823的各路电机控制是通过写寄存器实现的,电机驱动命令寄存器如表1和表2所列。

  

image.png


  3 DRV8823与C8051F020的接口

  3.1 硬件连接

  项目中使用DRV8823驱动8个直流减速电机,直流减速电机的正常运转电流仅为100 mA,每片DRV8823可以驱动4个直流减速电机,因此需要两片DRV8823与CPU连接。由于工程中选取的直流减速电机的供电电压是12 V,因此芯片的供电电压是12 V,其中一片DRV8823与C8051F020的接口如图2所示。图中V3P3是DRV8823内置3.3 V基准输出,芯片与CPU之间采用模拟SPI接口进行通信,即采用C8051F020的两个I/OP3.6和P3.7引脚模拟与DRV8823通信。C8051F020的MTSDI(P3.7)连接至DRV8823的SDATA,MTSCLK(P3.6)连接至DRV88 23的SCLK,在MTSCLK为上升沿的时候将串行数据移入,SCS作为DRV8823的片选,高电平有效,高电平锁存串行数据,使用C8051F020的一个I/O口连接SCS即可。

  

image.png


  3. 2 限流电阻计算

  每个通道电机满量程电流计算公式如下:

  

电机<a target=驱动芯片DRV8823在XBT自动投放系统中的应用" src="https://supp.iczoom.com/images/public/202108/1629959028521080852.jpg" width="200" height="42"/>


  其中,VREFX是采用的基准电压,这里取芯片的基准电源电压,3.2

  电机命令寄存器如表1所列。以B桥为例,D15~D12固定写0000,D11是BDECAY模式写0即可,D10~D8为电流控制位,硬件设置为1.36 A

  4 DRV8823编程实现

  DRV8823芯片智能化程度高,使用C8051F020的两个I/O口对其进行写操作即可实现编程控制。写操作的命令很少,仅是对一个寄存器进行写操作,即电机命令寄存器,便可实现每相电机的打开、关闭等功能。编程时应参考芯片资料的时序图,SSTB信号在原理图中一直为高,因而串行接口一直有效,并且输出使能。

  4.1 SPIO接口的初始化

  DRV8823的初始化要求所有电机都无效(ENBL=0),所有电机的DECAY=0,X12-10设置成001。为节省代码篇幅,以电机的A桥为例,使用如下代码完成DRV8823的初始化。

image.png

  

image.png


  4.2%20DRV8823控制函数

  DRV8823驱动函数完成对各路电机的控制,包括正反转控制、使能控制和关闭控制等功能。函数的输入参数包括电机编号(1,2,3,4),电机使能位(0为禁止,1为使能),电机正反转(0为反转,1为正转),输出参数为空。

  在程序的编制过程中,要求必须保持其他电机的原状态,不能对其他不需要操作的电机进行操作,即在操作时会用到大量的逻辑与或操作。在对电机进行控制时,首先要判断电机的状态,然后确定相应操作。实现代码:

  电机控制流程图如图3所示。

  

image.png


  结语

  多枚XBT自动投放与测量系统是2010年国家海洋公益性项目“投弃式温深剖面测量仪产品化研究与示范”所支持的一个研制子项目。2014年3月,本文设计的系统安装在某海洋调查船上,在南海进行了投放实验,取得了良好的测量效果,系统利用C8051F020控制两片DRV8823实现了通过8路直流减速电机控制阀门的自由开启和关闭,并得到了很好的应用和验证。与其他多路电机控制设计方案相比,该实现方法具有电路简单、体积小、控制可靠和操作简单等特点。

  因此,DRV8823为多枚XBT自动投放与测量系统的成功实现提供了很好的帮助,具有较高的工程应用价值。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯