TI的步进电机或半桥驱动芯片DRV8711,具有:
1、两种模式,步进电机模式可以用作驱动电机;直接PWM输入模式,可以直接控制每个MOS管的开关。
2、单电源供电,逻辑电路直接由内部供电,同时还可对外提供5V,10mA的电源。
3、灵活的电流衰减模式。
4、输出电机的反电动势,可以判断电机堵转
5、输出电流、步进模式、衰减模式、堵转都可以通过SPI来编程。
一、SPI通信
1、读写时序
SPI配置DRV8711 8个寄存器的代码:https://download.csdn.net/download/qlexcel/10788455
2、寄存器一共有8个
a、0x00 CTRL
电机必须通过SPI使能才能运行,另外方向、细分、死区时间都可以设置,如果step信号不快,也可以通过SPI设置RSTEP位来步进。
b、0x01 TORQUE
电流大小的计算:
低8位用于设置比例。
比如采样电阻0.1Ω,ISGAIN设为0(电流增益为5),TORQUE设为255,那么电流的幅值为
(2.75*255)/(256*5*0.1)=5.5A
c、0x02 OFF
DRV8711高度自由,PWM的打开、关闭时间都可以进行设置,PWM的周期,即载波周期由TBLANK、TOFF和死区时间决定。
d、0x03 BLANK
e、0x04 DECAY
f、0x05 STALL
g、0x06 DRIVE
DRV8711的高低侧栅极驱动的时间和峰值电流都可以进行设置,根据MOS管的输入电容不同进行调整。
如上面栅极端口的波形图所示,当栅极控制状态改变时,端口会先输出tDRIVE时间的IDRIVE大小的峰值电流,来给MOS管快速充电,之后用小的电流来维持状态。因此如果这个寄存器没有配置好,可能MOS管不能完全打开。
过流保护如下:
根据OCPTH的值,当设为0时,如果采样电阻为0.02Ω,那么过流值为0.25/0.02=12.5A。
h、0x07 STATUS
2、堵转检测功能
首先反电动势的采样时刻是电流过零点,电流波形轮廓是正弦波,一个周期只有两次过零点。根据细分数不同,因此多少步检测一次也不同。因此堵转检测功能并不能用来做失步检测。同时还有局限性:1、转速太小,反电动势太小,本功能不可靠;2、整步运动没有电流过零点,本功能无效。
从上图可知,从电机线圈采集反电动势后,经过电阻分压缩小VDIV倍,然后和SDTHR做比较,如果小于SDTHR表示堵转,counter计数一次,如果计数次数超过SDCNT后,输出报警信号。
堵转配置步骤:
A、确定电机的堵转速度,单位是RPM,比如电机每分钟5转的时候就认为电机堵转了。
B、把SDTHR和VDIV的值设为最小值。
C、增加SDTHR和VDIV的值直到报堵转错误,确定好SDTHR和VDIV的值。调整SDCNT可以改变堵转多少步之后才报警。
3、衰减模式
DRV8711的电流衰减模式及其的灵活,提供的模式有6种,电流衰减模式相关的配置参数有3个。
A、衰减模式介绍
000: Force slow decay at all times。一直慢衰减。
001: Slow decay for increasing current, mixed decay for decreasing current (indexer mode only)。电流增加时使用慢衰减,电流减少时使用混合衰减。
010: Force fast decay at all times。一直快衰减。
011: Use mixed decay at all times:开始为快衰减,TDECAY时间后转为慢衰减。
100: Slow decay for increasing current, auto mixed decay for decreasing current (indexer mode only)。电流增加时使用慢衰减,电流减少时使用自动混合衰减。
101: Use auto mixed decay at all times:(TBLANK是MOS的固定打开时间)(ITRIP是步进电机每一步对应的相电流)在TBLANK后,如果电流小于ITRIP,则MOS管一直打开直到电流升到ITRIP。如果电流大于ITRIP,则MOS管关闭,先进入快衰减模式,TBLANK之后转为慢衰减。
B、衰减模式相关参数
共有TBLANK、TOFF、TDECAY
TBLANK:是MOS管固定打开的时间,太小会导致电流曲线凹下去。
TOFF:是MOS管固定的关闭时间,电流的衰减就是在这段时间内完成的,TDECAY也是包含在这段时间内的。
TDECAY:只在混合衰减时才有用,在TDECAY时间后,由快衰减转为慢衰减。
4、使用DRV8711的SPI还有一个需要注意的地方,它的SPI数据输出是开漏输出的:
因此必须要外接上拉电阻才有输出。