徐碧媛

(南京信息工程 大学电子与信息工程学院,江苏南京,210000)

0 引言

随着电子技术的飞速发展,小车系统对自动化的要求也越来越高。当下现有的道路资源紧缺,车辆限号,交通阻塞,事故频发等问题都对人们的生活造成了一定程度上的影响。因此,对双车系统跟随行驶的研究与优化对于减轻交通堵塞现象以及提高驾驶安全性具有重要的意义。

1 设计方案工作原理

■1.1 预期实现目标定位

根据题目设计任务要求,预期利用TI 提供的MSP_EXP432P401R 实现四条设计要求的全部内容:要求一:需要设计并制作领头小车和跟随小车,在不大于速度0.3m/s的10%内完成一圈行驶,间距保持20cm;要求二:跟随小车需先加速追上领头小车再沿外圈行驶两圈停止;要求三:两车实现交互完成超车领跑;要求四:领头小车识别等停标志后停车5s,两车不发生碰撞。

图1 小车跟随行驶场地示意图

■1.2 技术方案分析比较

(1)主控系统

方案一:以MSP430 单片机作为主控制系统。MSP430系列单片机是美国德州仪器推向市场的一种16 位超低功耗、具有精简指令集的混合信号处理器,有处理能力强、运算速度快、超低功耗等优点,但是它的端口数量少。

方案二:以MSP432 单片机作为主控制系统。MSP432系列是最新的更高主频和更丰富外设通用微控制器产品,有32 位的内核,可提供更高的性能。MSP432 端口数量相对更多。

综合本系统对单片机性能和I/O 口数量的需求,选择方案二。

(2)直流电动机驱动模块

方案一:基于L298N 的驱动模块。L298N 是一款接受高电压的电机驱动器,直流电机和步进电机都可以驱动。一片驱动芯片可同时控制两个直流减速电机做不同动作,在6V~46V 的电压范围内,提供2A 的电流,并且具有过热自断和反馈检测功能,但是电流过大可能引起L298N 的烧毁。

方案二:AT8236 模块。AT8236 是一款直流有刷电机驱动器,能够以高达6A 的峰值电流双向控制电机。利用电流衰减模式,可通过对输入信号进行脉宽调制来控制电机转速,同时具备低功耗休眠模式。AT8236 具有集成同步整流功能,可显着降低系统功耗要求,能有效改善散热性能,符合环保要求。

分析比较:相比 L298N 的热耗性和外围二极管续流电路,AT8236 芯片带有裸露焊盘的 ESOP8 封装,能有效改善散热性能,外围电路简单,只需外接电源滤波电容就可直接驱动电机,利于减小系统尺寸。综上最终选择方案二。

(3)循迹模块

方案一:OpenMV 循迹。利用大津法进行阈值的自动判定,将阈值上下的像素点划分成黑白两色,该方法可以自适应光线,适应性强,可以满足光照要求;对于数字识别,利用OpenMV 丰富的开源库和相关算法库,加入相关算法矫正,提高识别成功率和速度;药房返回部分采用记忆算法,在去往病房的过程中对路径进行记忆,根据记忆的结果进行路径返回。利用光电对管实线药物装载与卸载的识别机械结构对车辆的稳定性起着重要作用,对于两轮差速的小车,需要将重心集中在后轮轮轴部位,方便小车进行原地转向。

方案二:灰度传感器循迹。利用不同颜色的检测面对光的反射程度不同,光敏电阻对不同检测面返回的光其阻值也不同的原理进行颜色深浅检测。该传感器是数字传感器,通过检测结果,比较运动位置是否有偏差,再执行调控程序。可结合PID 算法实现小车的基本运动,灵敏度可调且较高。

综合PID 算法的掌握程度和硬件模块的性价比选择方案二。

(4)双车通信模块

方案一:蓝牙HC-05 实现双车通信。HC-05 是主从一体的蓝牙模块,可以较方便地实现两车通信,配置两个蓝牙的AT 指令模式,分别对两个蓝牙进行测试指令发送,初始化设置,两设备互相绑定,设置相同的串口波特率以及配对码,即可完成两块蓝牙之间的通信,易操作。

方案二:WiFi 模块ESP8266 实现双车通信。ESP8266芯片体积小,功耗低,支持透传,丢包现象不严重,价格低。

综合通信协议的可读性和可操作性分析选择方案一。

■1.3 系统结构工作原理

通过对小车相关功能需求的分析,确定了系统结构原理图如图2 所示,电源给主控芯片供电,主控芯片通过各IO口实现各模块功能,从而实现小车智能化运动。循迹模块中PID 算法控制领头小车的速度达到规定要求,使得双车全程行驶平稳。

图2 系统结构原理图

图3 AT8236 原理图

2 核心部件电路设计

■2.1 主控芯片

采用 TI 公司的 MSP-EXP432P401R 作为主控制器,MSP_EXP432P401R 是使用高性能的ARM Cortex-M4F 为内核的32 位处理器,低功耗,片上外设丰富,内置高速存储器,丰富的增强型I/O 端口和外设连接到外部总线。MSP432P4 MCU 采用了带浮点单元和 DSP 加速功能的48MHz 32 位 ARM Cortex M4F,功耗为80uA/MHz 工作功耗和 660nA RTC 待机操作功耗,高级加密标准 (AES256) 加速器、CRC、DMA、32 位硬件乘法器,存储器为256K 闪存、64KBRAM,而且 MSP-EXP432P401R 具有C 语言风格的汇编语言,有与标准C 兼容的C 语言,C 语言函数可以与汇编函数互相调用,使其开发更加容易,整个系统更加简单。

■2.2 驱动芯片

驱动芯片我们采用的是AT8236。此芯片是一款单通道H 桥电机驱动器,能够以高达 6A 的峰值电流双向控制单个电机。芯片内部集成同步整流功能,能够有效降低系统功耗要求。利用电流衰减模式,可通过对输入信号进行脉宽调制来控制电机转速,电路结构简单。芯片为单通道电路输出,可以驱动一个电机,其中AOUT1、AOUT2 与BOUT1、BOUT2 为2 路驱动信号输出,分别驱动两个电机,一个小车系统前后四轮分属两个电机驱动,驱动模块外接的2路驱动信号采用外接PWM 信号同时控制两个电机正反转和速度。

■2.3 蓝牙通信

蓝牙HC-05 模块原理图如图4 所示。是一款主从一体的蓝牙模块,无线工作频段为2.4GHz ISM,调制方式为GFSK。接收灵敏度高,为-85dBm,为双车提供双向无线通信。通过实现两个单片机串口之间的无线通信为双车系统通信奠定基础。先对两个蓝牙进行配置,用TTL 转串口的数据互传,发送测试指令,设置配对码,绑定地址连接模式,初始化后实现相互通信,从而控制两车运动。HC-05 的六根引脚,将VCC 接电源的正极,VDD 为外接供电电源输入端接GND 地线,模块串口发送引脚TXD 可直接接单片机的RXD 引脚,模块串口接收引脚RXD 可直接接单片机的TXD引脚,KEY 用于进入AT 状态,LED 这个引脚是用来检测蓝牙模块是否已经连接上了其他蓝牙设备。HC-05 通过TX 和RX 引脚,支持使用标准AT 命令。为此,须在启动时进入特殊命令模式。启动进入数据模式,这样它就可以与其他设备进行无线通信。

图4 HC—05 原理图

3 系统软件设计分析

■3.1 系统总体工作流程

根据题目要求,我们设计了小车跟随系统的工作流程,如图5 所示。系统硬件主要有中央处理器、电机驱动电路、循迹模块、蓝牙通信模块、测速模块、超声波防撞模块等部分组成。利用霍尔编码器测速,PID 算法控制领头小车的速度达到规定要求,使得双车全程行驶平稳,实现领头小车的平均速度误差最小达到4.3%;利用超声波传感器模块使得两车全程不发生碰撞,设定程序使得领头小车和跟随小车交互沿内圈行驶实现超车领跑,利用蓝牙通信实现小车跟随,由五路的灰度传感器实现循迹以及识别特定位置上的等停指示标识。使用蜂鸣器模块使小车完成一次行驶到达终点时发出声音提示,从而实现小车的运控设计。

图5 系统总体工作流程图

■3.2 主要模块程序设计

(1)循迹模块

代码中包含PID 控速部分,运用PID 可以使得小车平稳地进行直线运动,转弯和倒车。依靠编码器反馈数值,通过速度闭环解决对小车行驶距离的把控,小车所采用的PID 算法是闭环控制系统中常用的控制算法之一,其全称为比例积分微分控制。其传递函数如公式(1)所示。

图6 循迹流程图

通过配置串口的波特率便可以控制串口通讯的速率。为保证数据接收正常,本设计通过对控制系统中的MSP_EXP432P401R 进行编写通信协议程序,以防止无线接收模块在受到干扰的情况下收到错误指令而使小车失控的情况发生。代码如下:

(2)通信模块

设置第一个HC-05 蓝牙无线通信模块。串口调试助手XCOM 将蓝牙模块1 恢复默认设置:AT+ORGL,并发送。设置蓝牙模块1 配对码,配置蓝牙1 的配对码:AT+PSWD=“0000”,并发送。蓝牙1 与蓝牙2 的配对码须一样才能成功配对。设置1 主模式串口调试助手A,将蓝牙A配置为从机模式:AT+ROLE=1,并发送。蓝牙模块1 绑定蓝牙模块2 地址。AT+BIND=98d3,32,30d8ea,这个地址是查询蓝牙模块2 的地址后得出的数据。确认绑定地址,设置串口波特率串口调试助手XCOM,设置蓝牙1 的串口波特率,输入AT+UART=56700,0,0。设置蓝牙模块1 的连接模式为0,即AT+CMODE=0。数据0 的含义是蓝牙连接模块必须按照指定蓝牙地址进行连接,这样第一个蓝牙模块1才能自动连接第二个蓝牙模块2。重新上电后两个蓝牙模块都进入常规工作模式,各自的蓝牙模块会自动搜索相同绑定地址的蓝牙配对模块,完成配对。两个蓝牙模块之间既能通过单片机的串行口传递主模块发给从模块的数据。

(3)电机驱动模块

通过改变传入的CCR1 来改变通道的占空比,从而实现前进,直行时左转微调,直行时右转微调,停车等不同程度的PWM 波输出,实现电机驱动。编写直行函数,直行左转微调函数,直行右转微调函数,停车函数,循迹函数。最后在主函数中调用即可。

4 工作环境条件

设计分析软件环境:Windows 11;Keil uVision5;立创EDA。

仪器设备硬件平台:可调直流电源、100MHz 示波器、MSP_EXP432P401R 芯片。

配套加工安装条件:螺丝刀、万用表、焊锡、焊台、热熔胶枪。

5 作品成效总结分析

■5.1 系统测试性能指标

(1)要求一:领头小车与跟随小车相距20cm 绕外圈行驶一圈,速度在0.27m/s~0.33m/s 之间。测试结果如表1 所示。

表1 速度与距离测试

误差在允许范围内,距离误差不大于6cm,要求一结果符合要求。

(2)要求二:跟随小车先加速追上领头小车,再一起外圈行驶两圈停止。领头小车速度测试结果如表2 所示。

平均速度误差在10%以内,距离误差不大于6cm,符合要求。

(3)要求三:两车绕外圈一起行驶一圈,然后交互完成超车领跑。如表3 所示。

表3 要求三:测试结果

平均速度均大于0.3m/s,距离误差不大于6cm,符合要求。

(4)要求四:领头小车识别等停标志后停车5s,两车不发生碰撞。小车全程平均速度如表4 所示。

表4 要求四:领头的速度小车测试

平均速度误差在10%以内,距离误差不大于6cm,达到要求。

■5.2 成效得失对比分析

本系统较为完整地完成了设计要求,本小组也通过这次比赛进一步掌握了利用单片机整合主控以及通信运控功能。在测试中,将小车速度误差降低到了4.3%,运用PID 使得小车平稳行驶。本系统另外设计了OLED 显示屏模块,运用I2C 协议将要打印的数据发送在显示屏上便于观看。