描述
<p>简要介绍作品:
本作品以STM32F407单片机为控制核心,以直流线速电机和麦克纳姆轮为运动单元,设计了一个能够向任意方向运动的遥控小车。本设计使用手机蓝牙APP进行遥控,通过PID算法控制四个电机的转速,使小车能够在自身朝向不变的情况下,实现前进,后退,横向运动、斜向运动和画圆等运动。</p>
<p>一、作品详情
1、主控芯片
使用自制的STM32F407最小系统模块外加一块自制的四驱车专用外设板,包括 PWM引脚、串口引脚等。
2、运动单元
使用四个自带15000编码值光电编码器的直流减速电机和四个直径60mm的麦克纳姆轮,四个轮子的转速和方向决定着轮子在X和Y方向产生的分力的大小,这些分力可以合成为任意方向任意大小的矢量合力,保证小车能够朝任意方向和速度进行运动。
3、电机驱动
本设计使用了BTN7971B电机驱动,此驱动采用两路PWM波控制一个电机,通过配置两路PWM波的占空比,可以同时控制电机的转速和方向。此驱动精度高,驱动电压范围和工作频率较大,电流大且发热小,驱动能力强,且具有过流保护功能。
4、稳压模块
使用DC-DC可调降压稳压电源模块LM2596,将电池的12V转为5V为单片机供电。
5、蓝牙遥控APP
基于开源的代码编写了一个安卓蓝牙APP作为遥控,与小车上的蓝牙模块进行配对,蓝牙模块与单片机的串口相连,以此实现手机对小车的远程控制。</p>
<p>二、作品所面临的挑战及所解决的问题
1、挑战
(1)由于每个电机本身参数以及外界摩擦等问题,会导致四个电机的转速与目标转速存在较大差距。
(2)在画圆运动中,四个电机如何配合使用。
2、解决办法
(1)使用PID算法,通过读取当前电机转速与目标转速的差值,进行PID运算,对电机的转速进行补偿或削减,最终使四个电机的速度都在目标速度左右。
(2)使小车在X和Y方向分别进行正弦函数的运动和余弦函数的运动,最终合成为圆形运动。
三、作品硬件、软件部分涉及到的关键点</p>
<p>1、硬件部分
四个电机和编码器以及四个麦克纳姆轮选型需要相同,否则难以实现精确控制。
2、软件部分
PID的参数需要调整合适,既要使电机能够快速达到目标速度,又不能使电机产生振荡;在朝各个方向运动时,电机速度的比值与运动角度的关系的确定。</p>
评论(2)