APP下载

基于CH32的麦克纳姆轮智能车系统结构设计

2022-10-19张可尧王琪王维西罗林秦海亭陆军

电子制作 2022年19期
关键词:车模编码器麦克

张可尧,王琪,王维西,罗林,秦海亭,陆军

(1.江苏科技大学 苏州理工学院,江苏张家港, 215600;2.南京信息工程大学 自动化学院,江苏南京, 210044;3.苏州市康力骨科器械有限公司,江苏张家港, 215600)

0 引言

随着应用技术的发展,社会上对机器人全向移动的功能需求越来越多,多数公司会使用麦克纳姆轮[1]这种特殊轮子来实现机器人全向移动的功能。目前麦克纳姆轮的应用场景也越来越广泛,例如焦晓飞将麦克纳姆轮和无线遥控相结合[2],改善了传统的转运支架车灵活性差、转弯半径大等缺点。以及在最近发展迅速的物流行业也存在传统模式效率低下、成本较高等问题,为了解决此类状况,南庆霞等人设计了一款能够自主运行并且实现抓取和放置物料功能的麦克纳姆轮智能车[3],为现代物流行业提供了新的解决思路。本文将麦克纳姆轮和智能车相结合,选用CH32V103R8T6作为核心,控制摄像头、电机驱动等外部模块,设计了一款通过单片机控制的麦克纳姆轮智能车[4~7]。

1 车模整体设计

麦克纳姆轮与传统车轮的不同点是转向不用依赖舵机。本文所选用的车模有固定四个电机,分别配备四个麦克纳姆轮,通过四个麦轮可以实现直行、旋转和横向移动等功能。并且车模需要有稳固的车身和稳定的旋转性能,因此智能车自身重量不能过重,重心要低,重量分布要均匀,不能出现一边重一边轻的情况,并且在安装各个外部模块的时候要尽量做到左右对称。车模整体布局如图1所示。

图1 车模整体布局

2 硬件总体设计与控制

■2.1 硬件设计

智能车的总体运行过程为:通过摄像头和陀螺仪采集外部信息并传输给单片机,单片机对信息进行处理并输出PWM波给驱动模块来控制电机,同时编码器采集电机转速传回给单片机,形成速度闭环控制[8~9]。硬件整体框图如图2所示。

图2 硬件整体框图

■2.2 准确运动控制

(1)简易运动控制:麦克纳姆轮的控制[10]主要包括横向由电机差速完成的方向控制和纵向由电机整体平均速度完成的速度控制。方向控制由麦克纳姆轮的差速控制实现,速度控制是由直流电机、正交编码器和单片机形成闭环控制系统,单片机通过编码器的速度反馈信号使实际速度不断逼近期望速度。

(2)底盘运动的分解:汽车模型在平面内的运动可以简化并分解为三个独立的分量,如图3所示。底盘的运动也可以分解为三个量:Vtx:沿X轴运动的速度;Vty:沿Y轴运动的速度;沿yaw轴旋转的角速度。

图3 平面运动分解

图4 右前轮速度分解

分别计算X、Y轴的分量为:

同理可以计算出其他三个轮子轴心的速度。

3 单片机功能分配

车模所需要的外围设备如下:四个电机和四个编码器;摄像头、舵机、陀螺仪和TFT屏幕各一个。电机驱动模块使用DRV8701E双电机驱动,需要一个定时器四个通道来控制四个电机;四个编码器需要四个定时器;摄像头的像素时钟信号采集需要使用GPIO触发DMA,来搬移摄像头像素点数据,然而CH32V103R8不支持GPIO触发DMA,但是可以通过GPIO触发TIMER,TIMER去使能DMA搬移数据。因此这里也需要一个定时器;舵机的控制需要一个定时器的一个通道作为舵机的PWM输出,来控制舵机转动;六轴陀螺仪加速度计,使用ICM20602等传感器,走硬件SPI接口采集数据,需要一个SPI;TFT屏幕,通过硬件SPI接口来控制;并且预留一个定时器用作周期中断。一共需要八个定时器,两个SPI接口。一个CH32V103R8 单片机只有三个通用定时器和一个高级定时器,两个SPI,定时器明显不足,所以采用双核方案。

双核需要区分主机和从机,TFT屏幕、陀螺仪、摄像头、两个编码器和四个电机分配给主机,总共使用了四个定时器和两个SPI接口。四个电机的接口都在主机上,所以主机用于输出PWM,来控制电机的转动。四个编码器只有两个可以将数据直接传给主机,剩余两个编码器采集的数据需要通过从机回传给主机。主机接收到从机回传的数据后,再通过PID对电机进行转速控制。剩余两个编码器和舵机分配给从机,使用了三个定时器,剩余一个定时器用于主机与从机的时钟同步。

4 系统硬件设计

■4.1 主控模块

主控模块采用CH32V103R8T6单片机,供电电压为2.7~5.5V,工作温度范围为-40℃~85℃工业级。单片机包括内置 RTC、12位ADC转换模块、7个定时器(1个16位高级定时器、3个16位通用定时器和2个看门狗定时器)、 8个标准通信接口等模块,能够很好地满足本文所需功能。

■4.2 电源电路

(1)电路的地:通常整体电路中的地分为数字地、模拟地、电源地等几种不同的地,此处以数字地和模拟地为例。电路中的地为零电位的参考点,数字地和模拟地在低频信号等个别情况下可以互相通用,但大部分情况都需要把二者明确区分开来。因为模拟信号是一串连续的电流或电压的变化,极易受外界的干扰,而数字信号是0、1高低电位,比如常见的方波就是典型的数字信号,所以数字信号受外界影响的程度要比模拟信号小得多,并且数字信号会产生多次谐波,会极大地影响模拟信号的正常工作,所以两个地需要隔离开。这里采用单点接地的方法,将电源地分别连接数字地和模拟地,并且各串联一个0Ω电阻。这样两个地既关联了起来,又保证了直流电位相等,且互不影响。

(2)稳压模块:电源模块是整个控制系统的动力来源,电源的稳定性会极大地影响整个硬件电路的稳定性。智能车系统由一个2000mAh,7.4V锂离子电池供电,稳压电路均使用AMS1117作为稳压芯片,稳压电路如图5所示。

图5 稳压电路

■4.3 速度采集模块

编码器选用1024正交mini编码器,该型号编码器体积小、稳定性好,输出CMOS 信号,工作电压3.3~5V,工作电流13.6mA,接数字地,电路如图6所示。当编码器沿顺时针和逆时针旋转时,A、B相输出的信号图形如图7所示。

图6 编码器电路

由图7可知编码器在旋转时,两条数据线上的电平将不断变化,根据不同的变化状态可计算出编码器旋转的方向,如表1所示。

图7 输出信号图形

表1 编码器旋转状态

表中“+1”表示沿着顺时针旋转一格,“-1”表示沿着逆时针旋转一格,当A、B相的数据都发生变化时,无法判断是顺时针还是逆时针,所以旋转状态都为“±2”,即顺时针或逆时针旋转两格。最后通过编程来表达以上表格的含义,并频繁地调用此函数,就可以计算出旋转速度和距离。

■4.4 驱动模块

(1)电机驱动:电机驱动模块采用基于DRV8701E的四路MOS桥驱动,其中DRV8701E为驱动芯片,TPH1R403NL为驱动MOS,模块工作电压为6~18V,理论最大电流为150A,PWM引脚最高频率100kHz。驱动电路如图8所示。

图8 驱动电路

此电驱可以通过DRV8701E门级驱动芯片采用片内电荷泵的方式自举升压,无需外置升压电路,可解决升压电路干扰信号的问题,简化驱动芯片电源部分。并且无需两路PWM控制电机正反转速,只需一路PWM控制速度一路高低电平信号控制正反转,可节约一路PWM引脚,更加节约单片机PWM引脚资源。

(2)缓冲电路:电机驱动模块中的缓冲电路芯片选用SN74HC125PWR芯片,工作电压为2~6V,芯片引脚与逻辑图如图9所示。

图9 缓冲芯片引脚与逻辑图

该芯片提供了4个独立的栅极缓冲器,每个缓冲器还集成了一个三态输出或高阻抗输出,具有三态输出的独立线路驱动程序。驱动模块信号输入和输出分别对应1A、2A、3A、4A和1Y、2Y、3Y、4Y。缓冲电路如图10所示。

图10 缓冲电路

5 总结

设计了一款基于CH32V103R8T6控制的麦克纳姆轮智能车,本文主要包括规划车模整体方案,硬件电路等方面设计的详细方案。从结果上来看,本文所设计的智能车能够基本满足所需功能,并且是首次通过摄像头控制麦克纳姆轮进行固定赛道循迹。通过小车调试过程中对硬件结构及电路的不断改进,麦克纳姆轮智能车的硬件性能在不断地提高,通过对此智能车的研究可以促进麦克纳姆轮机器人技术的发展。

猜你喜欢

车模编码器麦克
WV3650M/WH3650M 绝对值旋转编码器
1/2的魔法
小王子
设定多圈绝对值编码器当前圈数的方法
生活很艰难,但你被爱着
转炉系统常用编码器选型及调试
舞台机械技术与设备系列谈(二)
——编码器
车展,没有车模看什么
2017年西麦克展览公司展览计划
汽车模型成收藏新宠