概述
Veyron 威龙系列电机驱动器是DFRobot推出的新一代智能电机驱动器,产品线涵盖直流有刷电机驱动器、直流无刷电机驱动器及步进电机驱动器。其中Veyron 2x25A为直流有刷电机驱动器,拥有智能的接口方式:包含模拟电压(Analog)、脉宽信号(PPM)及UART接口,完善的保护功能:欠电压、过电压、过电流、过热、短路、电压反接等保护功能,简易的操作方式:一键接口选择、开/闭环自动识别、PID参数自整定等功能,极大程度简化了用户的操作。
电气特性
- 输入电压范围 :DC 6~36V,极限电压为40V
- 使用镍氢或镍镉电池组 :5节-30节
- 使用锂聚合物电池组 :2节-8节
- 单路最大允许连续电流 :25A
- 单路最大允许尖峰电流 :30A
电源端子定义
- M1A :第1路电机引线A
- M1B :第1路电机引线B
- B+ :外部直流电源输入+
- B- :外部直流电源输入-
- M2A :第2路电机引线A
- M2B :第2路电机引线B
编码器端子定义
与MxA/MxB同侧的编码器端子为Mx电机编码器接口
- A :编码器A相脉冲信号输入
- B :编码器B相脉冲信号输入
- GND :驱动器逻辑地
- VCC :驱动器DC-5V电源输出
通讯端子定义
- GND :驱动器逻辑地
- 5V :驱动器DC-5V/1A电源输出
- S1 :
- 在Analog接口模式下,为M1模拟电压量输入
- 在PPM接口模式下,为M1脉宽信号输入
- 在UART接口模式下,为驱动器Rx
- S2 :
- 在Analog接口模式下,为M2模拟电压量输入
- 在PPM接口模式下,为M2脉宽信号输入
- 在UART接口模式下,为驱动器Tx
散热风扇端子定义
散热风扇仅有2PIN,分别为5V电源输出和可控连接的驱动器逻辑地。可直接连接5V的散热风扇(最大提供电流500mA),或通过继电器控制大功率的散热风扇。
指示灯定义
- Reverse :电源反接保护指示灯(红色)
- Set :设置模式指示灯(绿色)
- Analog :模拟模式指示灯(绿色)
- PPM :脉宽模式指示灯(绿色)
- UART :UART模式指示灯(绿色)
- Status1 :(黄色)
- 在Analog和PPM模式下,该指示灯的亮度指示M1转速大小
- 在UART模式下,该指示灯在驱动器接收数据时亮,空闲时灭
- Status2 :(黄色)
- 在Analog和PPM模式下,该指示灯的亮度指示M2转速大小
- 在UART模式下,该指示灯在驱动器发送数据时亮,空闲时灭
- Error :故障指示灯(红色),并非只有指示故障的功能,下文将在应用时具体分析
KEY设置按键说明
可通过按该按键来调节驱动器的工作模式,可在Set、Analog、PPM、UART四个模式中切换,相应的指示灯指示将要进入的工作模式。在模式切换过程中,只有当前模式与驱动器内部保存的模式不一致时,驱动器才进行自动复位,进入新的工作模式。
接口类型
- Analog(两路模拟电压信号输入):电压范围0-5V(通常情况下外接电位器,在条件允许的前提下,建议用户在模拟电压输出端加一个电压跟随器;或使用PWM+滤波电路实现电压输出)。
- PPM(两路脉宽信号输入):信号源可由模型遥控接收机直接产生,或自行使用单片机产生。
- UART:支持10种常用波特率,同时兼容3.3V及5V系统。
控制模式
- 速度开环控制模式:该模式适用于无编码器的电机控制,根据控制量定性控制电机的转速。
- 速度闭环控制模式:该模式适用于带编码器的电机控制,通过UART接口设置编码器及减速器的相关参数,实现速度闭环控制。
保护功能
在UART接口模式下,可通过“GER”获取故障信息指令,查询故障源,详情请参考驱动器指令集。在PPM与Analog接口模式下,可通过Set、Analog、PPM、UART指示灯的组合判断故障源,如下表所示(注:发生任何一种故障,电机将停止工作,进入故障模式,此时,用户将无法控制电机。在UART接口模式下,可通过“CER”清除所有故障信息指令恢复正常工作模式,在PPM与Analog模式下,只能通过复位驱动器方可消除故障信息):
- 电源反接保护功能,若电源反接,电源反接指示灯(Reverse)亮,以示故障源。
- 可设定阈值的欠电压和过电压保护,倘若输入电压超出设定范围,故障指示灯(Error)亮,驱动器进入故障模式。
- 可设定的最大允许连续电流保护功能。实际电流大于最大允许连续电流,且小于最大允许尖峰电流,允许持续时间为2s,大于2s,故障指示灯(Error)亮,驱动器将进入故障模式。
- 可设定的最大允许尖峰电流保护功能。实际电流大于最大允许尖峰电流,允许持续时间为400ms,大于400ms,故障指示灯(Error)亮,驱动器进入故障模式。
- 可设定的最大允许温度保护功能。监测驱动器内部的温度,当温度高于40℃而小于极限温度,驱动器在自动散热接口输出5V电源,直到温度降低至35℃。当内部温度超过设定的极限温度,故障指示灯(Error)亮,驱动器进入故障模式。
- 在UART和PPM模式下,可通过“SSM”设置控制信号模式指令将驱动器设置为间断模式,若在规定时间内无有效控制信号,故障指示灯(Error)亮,驱动器将进入故障模式。
- 驱动器可以运行在单向或双向控制模式,在单方向控制模式下,可通过“SSD”启动零信号检测与否指令使能驱动器的启动零信号检测功能,当驱动器重启后,若初始信号不为零信号(即零速度信号),驱动器将停止,直到将控制信号调至零信号,驱动器方可进入正常工作模式。
实践攻略
至此,或许您还不知该如何使用这款驱动器,或许您会觉得有点繁琐,或许……,那都只是“或许”罢了,接下来笔者将带您认识这款简单易用的智能双路直流有刷电机驱动器。在这部分内容的开始,先对几个控制相关的辅助参数做一简要说明,有个大致的了解,具体内容请参考指令集部分:
- 方向模式:该参数仅在PPM及Analog模式中有效,决定电机运行时,是单方向运行还是双方向运行。
- 启动零信号检测:该参数仅在PPM及Analog模式中,且方向模式为单方向时有效,决定驱动器在意外复位时,是否使能启动零信号检测保护。
- 控制信号模式:该参数仅在UART及PPM模式中有效,配合“间断模式时限”参数使用,决定电机运行过程中,丢失控制信号时,是否停止。
此外对驱动器出厂默认值也做一简要介绍:
Common Parameters
- ID : 1(驱动器地址)
- BaudRate : 57600bps(波特率)
- Voltage Range : 6.0-36.0V(电压范围)
- Maximum Continuous Current : 25000mA(最大允许连续电流)
- Maximum Peaky Current : 30000mA(最大允许尖峰电流)
- Protected Temperature : 100C(最高允许温度)
- Signal Mode : Continuous(控制信号模式,默认为连续模式)
- PPM Signal Range : 500-2500us(PPM极值)
- PWM Type : Hpwm-Lpwm(on-off-on)(PWM产生方式)
- Direction Type : CW/CCW(方向模式,默认为双向模式)
- Discontinuous Timeout : 1000ms(间断模式时限)
- Start Detection Mode : Non Zero Detection(启动零信号检测,默认为不使能)
Parameters Of Motor1
- Reduction Gear Ratio : 1.00(减速比)
- Encoder Resolution : 1(编码器线数)
- Maximum Velocity : 1000(最高转速)
- Velocity Mode : Unloop(控制模式,默认为开环)
- Acceleration : 100(加速度)
- Deceleration : 100(减速度)
- PID_Kp : 0.000(比例项参数)
- PID_Ti : 0(积分项参数)
- PID_Td : 0(微分项参数)
Parameters Of Motor2
- Reduction Gear Ratio : 1.00(减速比)
- Encoder Resolution : 1(编码器线数)
- Maximum Velocity : 1000(最高转速)
- Velocity Mode : Unloop(控制模式,默认为开环)
- Acceleration : 100(加速度)
- Deceleration : 100(减速度)
- PID_Kp : 0.000(比例项参数)
- PID_Ti : 0(积分项参数)
- PID_Td : 0(微分项参数)
UART接口
倘若您手头的驱动器是全新的驱动器,上电过程中,将看到如下现象:三个指示灯Set、UART、Error同时亮2s后,指示灯Set与Error熄灭。说明当前模式为UART模式。此前三个灯同时亮时,Error指示灯是为了指明当前的指示状态为波特率指示状态,非接口模式指示。波特率与指示灯状态的关系如下表所示:
开环控制模式
连接好线缆,如下图所示(当然,若仅需控制一个电机,连接一个即可):
在UART开环控制模式下,与实际控制相关的设置参数如下: 波特率、驱动器地址、PWM信号产生方式、同步转速、异步转速、执行异步转速、加速度、减速度、控制信号模式、间断模式时限、最大允许连续电流、最大允许尖峰电流、最高允许温度、极限电压。请结合指令集,根据需求予以配置,当配置结束后,就可以通过发送相关指令对电机进行控制。
闭环控制模式
连接好线缆,如下图所示(当然,若仅需控制一个电机,连接一个即可):
在UART闭环控制模式下,与实际控制相关的设置参数如下:波特率、驱动器地址、编码器线数、减速比、PWM信号产生方式、最高转速、同步转速、异步转速、执行异步转速、加速度、减速度、控制信号模式、间断模式时限、PID参数、最大允许连续电流、最大允许尖峰电流、最高允许温度、极限电压。
- 配置好编码器线数、减速比等相关参数。
- 按几次侧面KEY按键,次数取决于当前模式,若当前模式为UART,只需按三次,Set指示灯亮,进入设置模式。此时,指示灯Status1闪烁(与UART模式无关),接着指示灯Status2闪烁(与UART模式无关)。
- M1开始旋转(注意:由于控制速度的指令,是通过正负号区分电机旋转的方向,规定此时电机旋转的方向为正方向),当驱动器检测到编码器信号后,将自适应编码器A/B相序,接着对M1进行PID自整定,M1逐渐从振荡状态转向稳态,完成M1的PID参数自整定,接着,对M2进行PID参数自整定。
- 驱动器自动复位,进入默认的UART模式。
- 可以使用(RS232转UART或USB转UART),通过串口助手,发送 “RCONFIG” 读取驱动器配置参数指令,查询所有掉电保存在驱动器内部的参数,此时会发现,接有编码器的电机参数中Velocity Mode变为loop,此外,必须注意一点,在实际转速控制的过程中, 目标速度不得设为大于最高转速的值,否则指令将不予以响应。
请结合指令集,根据需求予以配置,当配置结束后,就可以通过发送相关指令对电机进行控制。
PPM接口
PPM接口,非常重要的一个参数就是PPM极值,该极值的设定有两种方式:其一,是通过UART接口,发送指令予以设置;其二,是在Set设置模式下,当指示灯Status1与Status2闪烁过程中,使用模型遥控器控制的用户,将对应的摇杆在两个极限位置分别停留3s左右,驱动器将自动识别阈值,此过程中,若S1、S2均有正确的脉宽信号输入,驱动器将结合两路的信号,计算出可靠的极限值,若仅有一路有正确脉宽信号输入,则驱动器就使用该路信号作为最终的极限值依据。当然也可以通过单片机发送两个极限位置的脉宽信号,不过,不论采用哪种方法,PPM的极限值都不得超出500us-2500us范围。由于PPM接口,除了PPM极值外,其它配置参数均不可直接设置,欲设置相关参数,需先使用UART接口进行配置。所有的故障信息,需结合上文1.10 保护功能中的对照表查询故障源。此外,不论开环或闭环控制模式,PPM信号与电机转速的关系都符合下图的描述(注:信号低于最小极限值或高于最大极限值,驱动器将不予以响应)。
开环控制模式
连接好线缆,如下图所示(当然,若仅需控制一个电机,连接一个即可,5V是否需要连接根据实际情况而定):
在PPM开环控制模式下,与实际控制相关的参数如下:方向模式、PWM信号产生方式、启动零信号检测、PPM极值、控制信号模式、间断模式时限、最大允许连续电流、最大允许尖峰电流、最高允许温度、极限电压。 请结合指令集,根据需求予以配置,当配置结束后,即可通过发送脉宽信号,对电机进行控制。
闭环控制模式
连接好线缆,如下图所示(当然,若仅需控制一个电机,连接一个即可,5V是否需要连接根据实际情况而定):
在PPM闭环控制模式下,与实际控制相关的参数如下:编码器线数、减速比、方向模式、PWM信号产生方式、启动零信号检测、PPM极值、控制信号模式、间断模式时限、PID参数、最大允许连续电流、最大允许尖峰电流、最高允许温度、极限电压。
- 使用UART接口配置好编码器线数、减速比等相关参数。
- 通过侧面KEY按键,进入Set设置模式(Set指示灯亮)。接着,指示灯Status1和Status2相继闪烁(具体如何设置PPM极值,在PPM接口开始部分已说明)。
- M1开始旋转(注意:将当前方向规定为正方向,若方向模式为双向模式,当PPM信号介于S_Middle~S_Max电机正方向运行,当PPM信号介于S_Min~S_Middle则反方向运行),当驱动器检测到编码器信号后,将自适应编码器A/B相序,接着对M1进行PID自整定,M1逐渐从振荡状态转向稳态,完成M1的PID参数自整定,紧接着,对M2进行PID参数自整定。
- 驱动器自动复位,进入默认的UART模式,再通过KEY按键,将模式切换到PPM模式。
最后,确认所有参数都配置完毕后,即可通过发送符合要求的脉宽信号,对电机进行控制。
Analog接口
Analog是最为简单的接口模式,常作为测试驱动电路是否良好的方法。相比以上两种接口,唯一需要注意的一个细节就是,若用户使用电位器调节电机转速,方向模式为双向,并且要求电位器机械位置对称性高(即电位器可旋转的机械范围内,一半为正方向运行,另一半反方向运行),此时电位器的输出端建议采用电压跟随器输出,当然,用户也可以通过单片机产生PWM信号+滤波电路,或者采用专用的DAC芯片实现电压信号的可控输出。此外,不论开环或闭环模式,控制电压值与电机转速的关系都符合下图的描述。
开环控制模式
连接好线缆,如下图所示(当然,若仅需控制一个电机,连接一个即可,5V是否需要连接根据实际情况而定):
在Analog开环控制模式下,与实际控制相关的参数如下:方向模式、PWM信号产生方式、启动零信号检测、控制信号模式、间断模式时限、最大允许连续电流、最大允许尖峰电流、最高允许温度、极限电压。 请结合指令集,根据需求予以配置,当配置结束后,即可通过电压信号,对电机进行控制。
闭环控制模式
连接好线缆,如下图所示(当然,若仅需控制一个电机,连接一个即可,5V是否需要连接根据实际情况而定):
在Analog闭环控制模式下,与实际控制相关的参数如下:编码器线数、减速比、方向模式、PWM信号产生方式、启动零信号检测、控制信号模式、间断模式时限、PID参数、最大允许连续电流、最大允许尖峰电流、最高允许温度、极限电压。
- 使用UART接口配置好编码器线数、减速比等相关参数。
- 通过侧面KEY按键,进入Set设置模式(Set指示灯亮)。接着,指示灯Status1和Status2相继闪烁(与Analog接口模式无关)。
- M1开始旋转(注意:将当前方向规定为正方向,若方向模式为双向模式,当电压信号介于2.5~5V电机正方向运行,当电压信号介于0~2.5V则反方向运行),当驱动器检测到编码器信号后,将自适应编码器A/B相序,接着对M1进行PID自整定,M1逐渐从振荡状态转向稳态,完成M1的PID参数自整定,紧接着,对M2进行PID参数自整定。
- 驱动器自动复位,进入默认的UART模式,再通过KEY按键,将模式切换到Analog模式。
最后,确认所有参数都配置完毕后,即可通过0~5V电压信号,对电机进行控制。
指令集 V1.0
该版本指令集系统,共44条指令,不区分大小写,所有的指令,不论发送或者返回,都将以“回车+换行符(\r\n)”作为指令结束符。所有的系统参数可归纳为即变参数和非即变参数,这些参数,在响应“读取驱动器配置参数”指令时返回的,掉电均会保存(EEPROM),其余的参数掉电均会丢失(RAM)。
- 即变参数是指用户一旦设置将立即生效(注:需执行“EEPSAV”保存当前所有配置参数指令,方可保证掉电不会丢失),具体包括每路电机的加/减速度、PID参数、同步转速以及异步转速(注:同步转速和异步转速将在下文进行详细说明)。
- 非即变参数是指只有将设置的参数保存到EEPROM中, 并且系统重新复位后,方可生效的参数。
为便于用户程序解析返回指令包,纵观该驱动器的指令集,除“读取驱动器配置参数”指令外,所有的配置参数读取,均为单参数形式。下文将以地址为1的驱动器对每条指令进行较为细致地分析:
查询驱动器类型(ID,PING\r\n)
Veyron系列电机驱动器,均可通过该指令查询驱动器的类型,例如:对直流有刷电机驱动器发送该指令,将返回“BDC\r\n”。
*发送:1,PING\r\n
*返回:BDC\r\n
读取驱动器配置参数(ID,RCONFIG\r\n)
通过该指令,将获得驱动器的所有配置参数,在对参数进行设置后,可通过该指令查询参数是否已按要求更改,若已更改,且需将当前参数保存在EEPROM中,便可通过下文提到的“保存当前所有配置参数”指令进行参数保存。
*发送:1,RCONFIG\r\n
*返回:(驱动器所有配置参数)
恢复出厂设置(ID,FCONFIG\r\n)
通过该指令将驱动器所有配置参数还原为出厂设定值,驱动器收到该指令后将自动复位,并使能出厂配置参数。
*发送:1,FCONFIG\r\n
*返回:无
查询帮助(ID,HELP\r\n)
通过该指令获取DFRobot产品线的wiki地址,用户在该页面搜索驱动器的型号,即可查阅对应的使用文档。
*发送:1,HELP\r\n
*返回:(DFRobot产品线的wiki地址)
保存当前所有配置参数(ID,EEPSAV\r\n)
通过该指令保存当前配置参数,在保存之前,请使用“读取驱动器配置参数”指令确认驱动器当前配置参数是否为设定值,当驱动器收到该指令后将自动复位,并使能最新配置参数。
*发送:1,EEPSAV\r\n
*返回:无
设置波特率(ID,SBR,******\r\n)
该驱动器支持10种常用波特率,分别为1200、2400、4800、9600、14400、19200、28800、38400、57600、115200,出厂默认值为57600。
例如将波特率设置为115200
*发送:1,SBR,115200\r\n
*返回:无
设置驱动器地址(ID,SNA,***\r\n)
驱动器地址的取值范围为1~126,出厂默认值为1。当多个驱动器并行使用时,不允许总线中存在两个相同地址。不同的地址的驱动器,同时接收主机发送的指令,只有跟自身地址相同或为0(广播)才响应。
例如将驱动器的地址设置为8
*发送:1,SNA,8\r\n
*返回:无
获取编码器累计脉冲数(ID,GEP,*\r\n)
通过该指令可获取编码器的累积脉冲数,范围为:-2147483648~2147483647,驱动器对相位相差90°的编码器脉冲信号进行4倍频处理,即实际编码器若为200线,驱动器通过内部的硬件会将其变为200x4=800线,目前该驱动器仅支持增量式编码器。
例如获取M1的编码器累计脉冲数
*发送:1,GEP,1\r\n
*返回:(实际累计脉冲数,注意有正负之分,符号即为方向)
清零编码器累计脉冲数(ID,CEP,*\r\n)
通过该指令可将指定的某一路电机编码器累计脉冲数清零。
例如将M1的编码器累计脉冲数清零
*发送:1,CEP,1\r\n
*返回:无
设置编码器线数(ID,SER,****,####\r\n)
通过该指令可设定两路电机(M1/M2)的编码器线数,注意:设置编码器线数时,两路必须同时设定,不能单独设定某一路。出厂默认值为1。
例如将M1的编码器线数设为100,将M2的编码器线数设为200
*发送:1,SER,100,200\r\n
*返回:无
设置减速比(ID,SGR,****,####\r\n)
通过该指令可设置两路电机(M1/M2)减速器的减速比,实际控制及输出的转速即为实际负载转速。用户亦可将其设置为1,以获取电机最真实的转速信息。此外,驱动器支持小数的减速比,精确到小数点后2位。出厂默认值为1。
例如将M1的减速比设置为12.34,将M2的减速比设置为23.45
*发送:1,SGR,12.34,23.45
*返回:无
设置方向模式(ID,SDIR,*\r\n)
在大多数的应用中,电机有时需要顺时针旋转,有时却需要逆时针旋转,我们成之为双向控制模式。然而,在一些工程应用中,仅需一个方向旋转,我们称之为单向控制模式。其实这两种模式在UART接口中是一样的,然而在PPM及Analog模式中却大相径庭,一方面很容易出现人为的误操作,另一方面输入信号的控制精度也降低一半。该驱动器可以很容易地将驱动器设置为其中一种方向模式,配置参数为0时表示单向控制模式,为1时表示双向控制模式。该配置参数仅在PPM及Analog模式中有效,出厂默认值为1。
例如将驱动器的方向模式设置为单向模式
*发送:1,SDIR,0\r\n
*返回:无
设置PWM信号产生方式(ID,SPWM,*\r\n)
驱动器内部拥有两路独立的全N-Mosfet全桥驱动电路,大多数驱动器Mosfet栅极驱动信号对用户而言是不可设定的,为了满足不同用户的需求,我们设定了三种模式可待选择,配置参数与PWM生成方式的对应关系如下: 0:Hpwm-Lon 1:Hpwm-Lpwm(on-off) 2:Hpwm-Lpwm(on-off-on,出厂默认值)
例如将Mosfet驱动信号设为Hpwm-Lpwm(on-off)(注:该模式为完全互补模式)
*发送:1,SPWM,1\r\n
*返回:无
设置启动零信号检测与否(ID,SSD,*\r\n)
启动零信号检测仅对方向模式为单向模式且接口模式为PPM或Analog时有效。绝大多数的单向控制模式应用中,对安全性要求更为严格,譬如,接口模式为PPM或Analog时,由于这两种模式无内部加减速功能,均为随动控制,系统突然的复位将引起负载剧烈的冲击,当电机带动具有危险性的负载时,将对人身安全造成威胁。在这种情况下,可以通过使能启动零信号检测,增强安全性。当系统突然复位时,电机处于静止状态,只有将控制信号调至接近停止状态后,方可进行正常控制。配置参数为0时表示失能零信号检测功能,为1时表示使能零信号检测功能,出厂默认值为0。
例如使能启动零信号检测
*发送:1,SSD,1\r\n
*返回:无
获取当前转速(ID,GVC,*\r\n)
该指令需要注意的一点是:在闭环控制模式下,返回的转速值为当前减速后的输出转速,单位为r/min;在开环控制模式下,返回的参数为之前设定的量化速度。
例如获取M1的当前转速
*发送:1,GVC,1\r\n
*返回:(当前实际输出转速)
获取最高转速(ID,GVM,*\r\n)
在闭环控制模式下,电机的最高转速是在SET模式下自动检测的减速后最高转速,单位为r/min,当用户设定的转速高于该值时,指令将不予以响应;在开环控制模式下,最高转速为量化的参数,固定为1000。
例如获取M1的最高转速
*发送:1,GVM,1\r\n
*返回:(该路电机的最高转速)
设置同步转速(ID,SVS,*,*****\r\n)
所谓同步转速,是指转速一旦设定,驱动器立即根据该参数调节电机转速,注意设定的同步转速不应高于最高转速,否则驱动器将不响应该指令。
例如将M1的同步转速设定为100r/min
*发送:1,SVS,1,100\r\n
*返回:无
设置异步转速(ID,SVR,*,*****\r\n)
所谓异步转速,是指转速设定后,驱动器不立即根据该参数调节电机转速,只有在接收到执行异步转速指令时,方可生效。该指令组合,对多个电机需要同时控制时,可通过对每一路电机设定异步转速,然后通过广播方式发送执行异步转速指令。
例如将M1的异步转速设为100r/min
*发送:1,SVR,1,100\r\n
*返回:无
执行异步转速(ID,AVR,*,#\r\n)
该指令应与“设置异步转速”指令结合使用,实现多电机严格的同步。其中的两个参数并非与上文所述的M1对应1,M2对应2一致,这两个参数只能在0或1中取值,0表示该路不执行异步转速,1表示该路执行异步转速。*位置的参数控制M1,#位置的参数控制M2。
例如M1执行异步转速,M2不执行异步转速
*发送:1,AVR,1,0\r\n
*返回:无
获取加速度(ID,GACC,*\r\n)
在闭环控制模式下,加速度的单位为r/min/s;在开环模式下,则为一个量化的参数,不论开环或闭环控制,加速度均作用于电机端的转速。该驱动器在速度绝对值增大或速度方向相反时,速度变化率的绝对值均为加速度的值,并非如常规驱动器一样,在速度方向改变时,速度变化率的绝对值先以减速度的值,减速到0,再以加速度的值加速到目标速度。
例如获取M1的加速度值
*发送:1,GACC,1\r\n
*返回:(该路电机的加速度值)
获取减速度(ID,GDEC,*\r\n)
在闭环控制模式下,减速度的单位为r/min/s;在开环模式下,则为一个量化的参数,不论开环或闭环控制,加速度均作用于电机端的转速。速度的方向一致,绝对值减小时,速度的变化率均为减速度的值。
例如获取M1的减速度值
*发送:1,GDEC,1\r\n
*返回:(该路电机的减速度值)
设置加减速度(ID,SAD,*,*****,#####\r\n)
该指令同时设置一路电机的加/减速度值。在闭环控制模式下,加/减速度的单位为r/min/s;在开环模式下,则为一个量化的参数。
例如将M1的加速度设为50,减速度设为100
*发送:1,SAD,1,50,100\r\n
*返回:无
获取PPM最大值(ID,GPA\r\n)
PPM最大值出厂默认为2500us。
*发送:1,GPA\r\n
*返回:(PPM最大值)
获取PPM最小值(ID,GPI\r\n)
PPM最小值出厂默认为500us。
*发送:1,GPI\r\n
*返回:(PPM最小值)
设置PPM极值(ID,SPPM,****,####\r\n)
驱动器可通过两种方式设定PPM极值,其一:是在SET模式下,自动识别PPM极值,具体的方法将在PPM接口中予以介绍。其二:用户也可在UART接口下,通过指令重置PPM极值。不论哪种方法,都必须保证PPM最小值不小于500us,PPM最大值不大于2500us。
例如将驱动器PPM控制信号的最小值和最大值分别设定为1000us和2000us
*发送:1,SPPM,1000,2000\r\n
*返回:无
获取控制信号模式(ID,GSM\r\n)
驱动器的控制信号模式分为持续模式和间断模式,所谓持续模式是指驱动器一旦接收到有效的控制信号,驱动器将一直保持之前设定的参数运行,直至接收到新的参数才发生改变。间断模式是指一旦驱动器在规定的时间内未收到有效的控制信号,驱动器将停止工作,同时指示信号丢失故障(具体的时间,请参考“设置间断模式时限”指令)。此外,控制信号模式仅对UART和PPM接口有效,返回的参数为0表示持续模式,1表示间断模式,出厂默认值为0。
*发送:1,GSM\r\n
*返回:(当前控制信号模式)
设置控制信号模式(ID,SSM,*\r\n)
例如将控制信号模式设置为间断模式
*发送:1,SSM,1\r\n
*返回:无
设置间断模式时限(ID,SDCT,****\r\n)
间断模式时限,最大可设置为10s,其时间基数为10ms。
例如将间断模式时限设置为1s
*发送:1,SDCT,100\r\n
*返回:无
获取PID参数Kp(ID,GKP,*\r\n)
例如获取M1速度环PID的比例参数Kp
*发送:1,GKP,1\r\n
*返回:(当前M1的Kp值)
获取PID参数Ti(ID,GTI,*\r\n)
例如获取M1速度环PID的积分参数Ti
*发送:1,GTI,1\r\n
*返回:(当前M1的Ti值)
获取PID参数Td(ID,GTD,*\r\n)
例如获取M1速度环PID的微分参数Td
*发送:1,GTD,1\r\n
*返回:(当前M1的Td值)
设置PID参数(ID,SPID,*,*******,##,&&\r\n)
该驱动器M1和M2的速度环PID参数是完全独立的,分为比例参数、积分参数、微分参数。这三个参数可在SET模式下,驱动器将根据电机的负载情况,进行自整定,得出较为理想的参数值,极大方便了用户的使用。当然,该驱动器并没有剥夺用户自行配置的权利,可通过该指令进行三个参数的设定,同时结合“输出电机实时转速”指令及相关软件观测速度伺服的实际效果。
例如将M1的PID参数Kp、Ti、Td分别设置为0.2、4、1
*发送:1,SPID,1,0.2,4,1\r\n
*返回:无
获取最大允许连续电流(ID,GMCC\r\n)
实际电流大于最大允许连续电流,且小于最大允许尖峰电流,允许持续时间为2s,大于2s电机将自动停止,并指示过电流故障,出厂默认值为25000,单位mA。
*发送:1,GMCC\r\n
*返回:(最大允许连续电流)
获取最大允许尖峰电流(ID,GMPC\r\n)
实际电流大于最大允许尖峰电流,允许持续时间为400ms,大于400ms电机将自动停止,并指示过电流故障,出厂默认值为30000,单位mA。
*发送:1,GMPC\r\n
*返回:(最大允许尖峰电流)
获取当前电流(ID,GCC,*\r\n)
例如获取M1的当前电流
*发送:1,GCC,1\r\n
*返回:(M1当前电流,单位为mA)
设置最大允许连续电流和最大允许尖峰电流(ID,SMLC,*****,#####\r\n)
最大允许连续电流不得超过25000,最大允许尖峰电流不得超过30000。值得注意的是,两路电机共享同一参数。
例如将驱动器的最大允许连续电流和最大允许尖峰电流分别设置为12000mA和15000mA
*发送:1,SMLC,12000,15000\r\n
*返回:无
获取最高允许温度(ID,GMT\r\n)
驱动器温度检测范围为:-10~100℃,分辨率为1℃。
*发送:1,GMT\r\n
*返回:(最大允许温度,单位为℃)
获取当前温度(ID,GCT\r\n)
若当前温度大于40℃,驱动器风扇接口将输出5V/500mA电源,用户可外接一个5V风扇或者通过继电器控制大功率的风扇,对驱动器进行散热,当温度降到35摄氏度时,将断开电源输出。若没有散热措施或散热措施不起作用,当内部温度大于最大允许温度时,电机停止,同时指示过温故障。
*发送:1,GCT\r\n
*返回:(驱动器当前功率驱动芯片附近温度,单位为℃)
设置最高允许温度(ID,SMT,***,\r\n)
最大允许温度值不能大于100℃,若大于该值,驱动器将不响应该设置指令。
例如将最大允许温度设置为50℃
*发送:1,SMT,50\r\n
*返回:无
获取系统电压(ID,GSV\r\n)
若当系统电压超出极限电压范围,电机将停止,同时指示欠电压或过电压故障。
*发送:1,GSV\r\n
*返回:(当前系统电压*10,分辨率为0.1V)
设置极限电压(ID,SLV,***,###\r\n)
该驱动器推荐电压范围为DC 12~36V,下限设定值应不小于6V,上限设定值不大于40V,否则,驱动器将不予以响应。
例如将驱动器的下限和上限电压阈值分别设为10V和24V
*发送:1,SLV,100,240\r\n
*返回:无
获取故障信息(ID,GER\r\n)
故障信息应转换为十六进制数值型,结合下表查询故障源:
Bit | Error Sources |
0 | Reserved |
1 | Lower Voltage |
2 | Over Voltage |
3 | Over Temperature |
4 | M1 Over Current |
5 | M2 Over Current |
6 | Control Signal Lost |
7 | Reserved |
8 | Reserved |
9 | Reserved |
10 | Reserved |
11 | Reserved |
12 | Reserved |
13 | Reserved |
14 | Reserved |
15 | Reserved |
Lower Voltage :欠电压保护 Over Voltage :过电压保护 Over Temperature :过温保护 M1 Over Current :M1过电流保护 M2 Over Current :M2过电流保护 Control Signal Lost :控制信号丢失(当控制信号模式为间断模式时,主控制器需在设定的时间内发送控制指令,若在设定的时间内无控制信号,驱动器将认为控制信号丢失)
*发送:1,GER\r\n
*返回:(故障信息,如返回2,则为欠电压保护)
清除所有故障信息(ID,CER\r\n)
当出现故障后,驱动器进入保护模式,电机将无法驱动。在UART接口下,可通过清除故障信息以进入正常模式;在PPM和Analog接口下,只能重新上电,复位驱动器,方可进入正常模式。
*发送:1,CER\r\n
*返回:无
输出电机实时转速(ID,OUT,* \r\n)
电机实时转速输出主要是为了调节PID参数,若需要停止输出,只需输入一条空指令“\r\n”,即可。值得注意的是,为了更好地监测PID参数调节结果,该指令返回的电机实时转速为电机端转速。
例如获取M1实时转速
*发送:1,OUT,1\r\n
*返回:X,Y,Z\r\n(此处的X、Y、Z为实际数据的抽象表示,X表示驱动器内部第X次转速测量,取值范围为:0~4294967295;Y表示电机实际转速;Z表示电机目标转速。)
外形尺寸
- 长=67mm
- 宽=57mm
- 高=30mm
购买链接
购买Veyron 2x25A直流有刷电机驱动器 (SKU:DRI0021)