Sensor/Motor Drive Board - Version 2.2 技术解析
一、引言
在机器人系统构建中,一块功能强大且集成度高的驱动板至关重要。Sensor/Motor Drive Board - Version 2.2(SKU:DFR0057)就是这样一款能够快速搭建机器人系统的驱动板。在使用该设备前,我们需要仔细阅读手册,并且要注意该设备不可用于军事或医疗用途。
文件下载:DFR0057.pdf
二、规格参数
电源与电流
- 供电电压范围为 6V - 12V,最大可承受 15V。
- 在 12V 电压下,工作电流为 150mA。
工作环境
工作温度范围是 -10℃ 到 +70℃。
CPU 性能
采用 Cortex - M3 CPU,具有 90MIPS 的处理能力,并且支持 DMA 访问。
接口类型
- 支持 RS232/TTL 接口,波特率可选 9600、19200、38400 或 115200 bps。
- 拥有 8 路 12 位模拟输入。
- 11 个数字 I/O 线(其中 IO0 - IO7 可配置为舵机控制)。
- 最多可控制 8 个带速度控制的舵机。
- 支持 I2C、RS485 接口(V2.2 版本不支持 CAN 和 SPI 接口)。
电机控制
配备双 4 安培 H 桥,可控制 2 个带 A/B 编码器接口的直流电机,集成 PID 速度控制,支持里程计和电机电流读取。
物理规格
尺寸为 96mmx90mmx20mm,并且其安装孔结构与 PC104 兼容,重量为 87g。
三、引脚图与硬件配置
供电
给 SDB 板供电时,只需将电源的地线连接到标记为 “GND” 的螺丝端子,将电源的正极线连接到标记为 “+12V” 的螺丝端子。需要注意的是,不要施加超过 15V 的直流电压。
串口硬件配置
SDB 板支持 RS232/TTL 接口,可通过跳线选择 RS232/TTL 输出模式。
四、命令集
所有命令均为十六进制格式,并且所有响应数据的末尾都以 0x0A(换行符)结束。以下是一些主要命令的介绍:
舵机控制模式配置
此命令用于将 DIO 配置为舵机控制模式。I/O 状态字节由 Bit0 - Bit7 计算得出,对应于 IO0 - IO7。当 IO 位设置为 1 时,舵机模式启用;设置为 0 时,舵机模式禁用。例如,要将 IO3 和 IO4 设置为舵机模式,I/O 状态字节为 0x18。
DIO 输入/输出模式设置
该命令可将数字引脚单独设置为输入或输出模式。在配置此 DIO 模式之前,必须先禁用舵机控制模式。
DIO 输出设置
当 Bit 设置为 1 时,输出为高电平;设置为 0 时,输出为低电平。如果某个 DIO 被配置为数字输入模式,设置其输出的命令将无效。
DIO 输入读取
此命令用于读取配置为输入模式的 DIO 上的值。
舵机控制
在将 DIO0 - 7 配置为舵机控制模式后,该命令可用于控制舵机的位置和速度。“S0 Pos” 是舵机的位置值,范围从 0 到 180,90 对应中心位置;“S0 Speed” 是舵机的速度值,范围从 0 到 0xFF,0xFF 表示最高速度。
模拟输入读取(12 位)
该命令用于读取模拟引脚的值,返回的模拟值由高字节和低字节组成,0xFF 对应 3.3V,0x00 对应 0V。若模拟输入超过 3.36V,返回的数据可能不准确。
RS485 波特率配置
此命令可设置 RS485 总线的波特率,可选值有 2400 bps、9600 bps、19200 bps、38400 bps 和 115200 bps。
RS485 通信
该命令可通过 RS485 总线从 RS232/TTL 传输数据,数据长度不得超过 64。
I2C 数据读写
- 写数据:此命令可通过 I2C 向设备写入数据,总数据长度必须小于 64 字节。
- 读数据:该命令可通过 I2C 从设备读取数据,总数据长度小于 4 字节。
电机参数设置
此命令用于设置直流电机速度控制的参数,包括编码器每转脉冲数(ENCODER_PPR)、齿轮比(GearRatio)和车轮周长(WheelPerimeter)。
电机速度设置
可设置电机的速度,M1_SPEED/M2_SPEED 由高字节和低字节组成,MOTO_DIR 用于控制电机方向。
电机速度和电流读取
- 电机速度读取:可读取电机的当前速度。
- 电机电流读取:可读取电机的当前电流,电流值为 16 位,由高字节和低字节组成,单位为 mA。
PID 参数设置
用于设置电机控制的 PID 参数,包括比例增益(Kprop)、微分增益(Krate)和积分增益(Kint),增益值需乘以 10。
电机驱动模式设置
可设置电机的驱动模式,有 PID 速度控制(闭环控制)和直接功率控制(开环控制)两种模式。
电机功率设置
可设置电机的功率,功率比值范围从 0 到 200,100 表示完全停止,200 表示最大正向功率,0 表示最大反向功率。
编码器数据读取和重置
- 读取编码器数据:可读取电机的旋转计数器值。
- 重置编码器读数:可重置编码器的计数器。
读取板卡版本
此命令可读取板卡的版本信息。
五、总结
Sensor/Motor Drive Board - Version 2.2 是一款功能丰富、集成度高的驱动板,为机器人系统的搭建提供了强大的支持。通过合理运用其各种接口和命令集,工程师们可以实现复杂的机器人控制任务。大家在实际使用过程中,是否遇到过一些特殊的应用场景,又是如何解决的呢?欢迎在评论区分享交流。
-
驱动板
+关注
关注
21文章
303浏览量
33672 -
命令集
+关注
关注
0文章
5浏览量
6549
发布评论请先 登录
探索MN34041 Sensor NanoVesta Head Board:高性价比图像传感解决方案
NovalithIC™ H-Bridge Demo Board Version 2.2 (BTN89xxTA) 技术解析
PSoC Thermal Management Expansion Board Kit CY8CKIT - 036 深度解析
FocusLCDs 2.2 英寸 TFT 显示模块 E22RB - FW1180 - N 技术解析
Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board - 电子工程师的实用之选
Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board使用指南
3803 Group (Spec.H QzROM version) 单芯片8位CMOS微计算机深度解析
深入解析Microchip MCP1630 1A Bias Supply Demo Board
AT32M412 PMSM FOC Motor Control Library入门指南
如何使用AT32 EdgeAI Sensor EV Board
探索MOTIX™ Motor Bench:电机控制评估的得力助手
RTT Studio新建通用项目时无法选MCU和Board怎么解决?
TI Sensor Control Board (SCB) 技术解析与应用指南
Sensor/Motor Drive Board - Version 2.2 技术解析
评论