第二篇:基于 RA-ECO-RA4M2 开发板的四轮小车运动控制评测
1. 前言
在完成 RA-ECO-RA4M2 开发板的基础点灯、串口输出和按键测试后,我进一步尝试将其应用到四轮小车运动控制中。相比简单的 LED 或按键实验,小车控制更能体现开发板在实际嵌入式控制场景中的能力,因为它同时涉及 GPIO 输出、PWM 调速、电机驱动、供电隔离、运动逻辑设计和串口调试等多个方面。
本次评测以 RA-ECO-RA4M2 作为小车主控,配合两个TB6612 电机驱动模块控制四个直流减速电机,实现小车前进、后退、左转、右转、停止等基本运动功能。通过这一实验,可以比较直观地验证 RA4M2 在多路 GPIO 控制和 PWM 输出方面的实际表现。
2. 系统硬件组成
本次四轮小车控制系统主要由以下部分组成:
RA-ECO-RA4M2 开发板作为主控;
TB6612 电机驱动模块作为电机功率驱动;
四个直流减速电机组成小车底盘;
18650 电池或其他独立电源为电机供电;
USB 接口为开发板供电并提供串口调试,后续直接用TB6612对单片机供电进行短暂循迹。
在实际接线中,需要特别注意开发板电源和电机电源的关系。RA-ECO-RA4M2 的 IO 输出能力有限,不能直接驱动直流电机,因此必须通过 TB6612 这类电机驱动模块进行功率放大。开发板只负责输出方向控制信号和 PWM 调速信号,真正给电机供电的是电池侧电源。
其中一个非常重要的细节是:开发板 GND、TB6612 GND 和电池负极必须共地。如果没有共地,开发板输出的 PWM 和方向信号对 TB6612 来说就没有统一参考电平,可能会出现电机不转、乱转或者响应不稳定的问题。
3. 四轮运动控制方案
本次小车采用常见的左右差速控制方式。也就是说,四个轮子并不是完全独立控制,而是将左侧前后两个轮子作为一组,右侧前后两个轮子作为一组。左侧电机组由 TB6612 的一路通道控制,右侧电机组由另一路通道控制。
这种方式结构简单、控制逻辑清晰,适合教学实验和项目演示。小车的运动方向主要由左右两侧电机的转向和速度差决定。
小车前进时,左侧电机和右侧电机同时正转;
小车后退时,左侧电机和右侧电机同时反转;
小车左转时,右侧电机正转,左侧电机停止或反转;
小车右转时,左侧电机正转,右侧电机停止或反转;
小车停止时,两侧电机全部停止输出。
这种差速控制方式虽然没有四轮独立控制那么复杂,但对于普通循迹小车、环境巡检小车和移动监测平台来说已经足够使用。如果后期需要实现更精细的四轮独立控制,也可以增加第二片 TB6612 或更换四路电机驱动模块。
4. TB6612 驱动逻辑
TB6612 的控制逻辑比较清楚,每一路电机通常需要两个方向控制引脚和一个 PWM 调速引脚。
以一路电机为例:
AIN1 和 AIN2 控制电机方向;
PWMA 输入 PWM 信号,用于控制电机速度;
STBY 为待机控制脚,需要拉高后模块才能正常工作;
VM 接电机电源;
VCC 接逻辑电源;
GND 接公共地。
方向控制逻辑可以简单理解为:
AIN1 = 1,AIN2 = 0,电机正转;
AIN1 = 0,AIN2 = 1,电机反转;
AIN1 = 0,AIN2 = 0,电机停止;
AIN1 = 1,AIN2 = 1,通常用于刹车模式。
在 RA-ECO-RA4M2 上,方向控制可以使用普通 GPIO 完成,PWM 输出则可以使用 GPT 定时器完成。通过调节 PWM 占空比,可以改变电机平均输入电压,从而改变小车速度。
5. RA-ECO-RA4M2 的 PWM 输出体验
在本次评测中,RA-ECO-RA4M2 的 PWM 输出是小车控制的核心。电机调速不是简单地输出高低电平,而是需要稳定的 PWM 波形。RA4M2 片上集成 GPT 定时器资源,可以用于产生 PWM 信号。
使用 e² studio 和 FSP 配置 PWM 时,需要注意三个关键点。
第一,GPT 通道要正确选择。
第二,PWM 输出引脚要在 Pins 配置中打开对应功能。
第三,代码中不仅要配置占空比,还要调用定时器 open 和 start 函数。
在调试过程中,如果电机始终不转,不能只检查代码,还要检查 FSP 中对应 GPT 输出是否真正使能。有时程序看起来没有问题,但引脚并没有被配置为 GPT 输出功能,这种情况下 TB6612 收不到 PWM 信号,电机自然不会转。
从实际体验来看,RA-ECO-RA4M2 用于两路 PWM 电机控制是比较稳定的。通过串口输出当前电机状态,例如:
目前为方便调试,没有让电机一直转动。可以很方便地观察程序当前运行状态,也便于后续排查问题。
6. 小车基本运动测试
完成底层驱动后,可以按照以下顺序测试小车运动功能。
首先测试单侧电机。先让左侧电机正转、反转、停止,再测试右侧电机。这样可以确认每一路 TB6612 输出和电机接线是否正确。
然后测试双侧电机同步运动。左右两侧同时正转时,小车应该前进;左右两侧同时反转时,小车应该后退。
最后测试转向。左转和右转可以通过两种方式实现:一种是一侧停止,另一侧转动;另一种是一侧正转,另一侧反转。前者转向较平缓,后者可以实现原地转向。
实际测试时,如果小车前进时出现偏航,通常有三个原因:
第一,左右电机本身转速存在差异;
第二,左右轮胎摩擦力不同;
第三,左右 PWM 占空比虽然设置相同,但电机负载不同。
解决方法可以是在程序中加入左右轮速度补偿。例如左侧偏快,就适当降低左侧 PWM 占空比,或者提高右侧占空比。对于没有编码器反馈的普通小车,这种开环补偿是比较常见的做法。
小车运行
7. 评测总结
通过四轮小车运动控制实验可以看出,RA-ECO-RA4M2 不仅适合做基础入门实验,也可以承担实际运动控制任务。它的 GPIO 可以完成方向控制,GPT 定时器可以输出 PWM,串口调试可以实时观察电机状态,整体开发流程比较完整。
本次实验中,RA-ECO-RA4M2 的主要优势有三点。
第一,PWM 和 GPIO 配置规范,适合做小型运动控制项目。
第二,e² studio 和 FSP 可以图形化配置引脚和定时器,减少底层初始化工作量。
第三,串口调试方便,适合在小车运动过程中观察运行状态。
当然,在使用过程中也需要注意一些问题。例如电机电源和主控电源不能混淆,TB6612 必须共地,PWM 引脚必须正确配置,电机方向需要通过实际测试确认。
总体来说,RA-ECO-RA4M2 可以较好地完成四轮小车的基本运动控制。它不仅能够实现前进、后退、转向和停止等基础功能,也为后续加入循迹、避障、传感监测和无线通信功能打下了基础。
