66 lines
2.7 KiB
Markdown
66 lines
2.7 KiB
Markdown
# 固件使用说明
|
||
|
||
> zhanli : 更新 2023-12-26 :小车驱动经过验证更新
|
||
|
||
## 一、注意事项以及环境安装
|
||
|
||
### 1.1 代码使用注意事项
|
||
|
||
在目录`STM32`中,`params.mk`指定了部分的宏定义配置。目前实验室购买的两台小车的电机驱动是不同的,一台小车的电机驱动是TB6612FNG,另外一台小车的电机驱动是DRV8870。所以在编译的时候注意对小车的电机驱动芯片进行区分。一般来说简单的区分方式是单芯片的是TB6612,双芯片的是DRV8870。
|
||
|
||
```makefile
|
||
# params.mk
|
||
# 定义宏定义
|
||
-DMOTOR_DRIVER_TB6612=1
|
||
-DMOTOR_DRIVER_DRV8870=2
|
||
# 这里指定的是TB6612,如果是8870,则-DMOTOR_DRIVER=MOTOR_DRIVER_DRV8870
|
||
-DMOTOR_DRIVER=MOTOR_DRIVER_TB6612
|
||
|
||
```
|
||
### 1.2 Keil的环境安装
|
||
|
||
`PIBOT\软件工具\软件工具集\MDK520\`目录提供了Keil5的安装包`MDK520.EXE`,安装过程不再赘述。
|
||
> [百度云链接](https://pan.baidu.com/s/15Q2ioZ0Vt-2zKLFBYAf-Yg ): 提取码:`owla`
|
||
>
|
||
> 完成安装后需要继续安装`Keil.STM32F1xx_DFP.2.2.0.pack`
|
||
|
||
## 二、编译与烧写
|
||
|
||
参考文档"1.代码编译和烧写"。
|
||
|
||
## 三、参数配置
|
||
|
||
#### 3.1、下位机驱动板配置
|
||
|
||
小车驱动底板采用是串口通信,核心板接口上支持`USB`通信。小车与`ROS`交互使用的是`uart3`(小车底板上的`micro usb`接口),小车打印log采用是`uart1`(小车底板上的排针)。
|
||
|
||
#### 3.2 硬件的连接
|
||
|
||
我们将`Pibot`的核心板的`micro usb`连接到电脑,如果驱动正确的情况下,通过串口调试助手可以打开对应的COM口,如下图所示:
|
||
|
||
#### 3.3 检查串口通信
|
||
|
||
为了测试小车的功能,我们可以在串口发送`5a 00 00 5a`命令,这个命令会返回小车的固件版本和构建时间信息。其定义如下所示。如果为我们发送命令后,小车有数据返回则说明串口通信正常。
|
||
|
||
```c
|
||
{
|
||
char version[16]; // 固件版本
|
||
char time[16]; // 构建时间
|
||
}
|
||
```
|
||
|
||
- 发送(十六进制): `5a 00 00 5a`
|
||
- 接收(十六进制): `5a 00 20 76 32 2e 30 2e 30 00 00 00 00 00 00 00 00 00 00 32 30 32 30 30 31 30 39 2d 6d 33 65 33 00 00 00 d1`
|
||
|
||
#### 3.4、驱动板的初始化配置
|
||
|
||
由于不同的小车的轮子种类和传感器的种类不同,所以需要对小车进行初始化配置。
|
||
|
||
打开串口助手,设置115200波特率。下面的命令是配置小车的基本信息的。
|
||
|
||
```shell
|
||
# 注意: 下面的指令是针对pibot驱动底盘,其本质是电机减速比、编码器精度灯参数的二进制
|
||
5A 01 40 41 00 AF 00 2C 00 0A 40 01 8C 0A 00 00 0A 00 FA 00 32 00 00 00 C8 00 47 5A 00 01 0F 0F 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 81
|
||
```
|
||
|
||
|