基于STM32的示教型送餐机器人的设计
2019-11-16陈新欣
陈新欣
摘 要:本文机器人为送餐而设计,采用STM32F103RCT6为主控核心,采用蓝牙通信技术实现示教遥控,利用超声波实现避障。示教者教导机器人运输路线,然后系统通过电子罗盘记录一维平面转弯角度,再与动力车轮反馈的脉冲数据相结合,传输路径到ROM,达到断电记忆路径的目的,然后重复路径,将菜肴送到餐桌,实现多菜肴运输功能。
关键词:STM32 记忆路径 示教功能
中图分类号:TP242 文献标识码:A 文章编号:1674-098X(2019)05(c)-0013-03
1 功能描述
本文为送餐而设计,采用STM32F103RCT6为主控核心进行智能控制;按照我们对相应功能的计划,首先设计出合理的送餐机器人的小车,采用特殊的塑料支架作为盛放餐点的托盘,然后在机身加上LN298电机驱动模块,采用蓝牙通信技术实现远距离控制小车运动;通过设计的微信小程序来实现手机界面操作;利用超声波模块,让小车实现前方避障功能。使用人员操作教导机器人运输路线,然后机器人通过电子罗盘记录一维平面转弯角度,再与动力车轮反馈的脉冲数据相结合,传输路径到ROM,达到断电记忆路径的目的,然后重复路径,将菜肴送到餐桌,实现多菜肴运输功能。該机器人通过设置按键设定送餐次数,OLED显示屏来进行人机交互,将餐点温度、机器运行信息、时间等传送至OLED显示,防止人员拿取菜肴时温度过高,实现良好的控制效果;系统通过A/D转换电路采集电压数据,从而判断电池电压情况。
2 系统硬件设计
系统总体结构如图1所示。
系统原理图如图2所示。
根据STM32A/D转换口,内部下拉电阻大概10K,所以我们采用最简单的串联分压电路来采集电压,然后通过A/D转换为数字量。由于核心板电压不能过高,也不能太低,我们采用MT3608升压模块,将电池的3.7V通过升压达到稳定的5V供给核心板,12V电压连接开关供给电机驱动模块L298N驱动电机运动,经过实验证明该电路能稳定输出。该系统的最终PCB板图如图3所示,考虑到系统的简洁,外部扩展电路不在该图上显示。
3 系统软件设计
在该机器人控制系统中,程序大体上可分为数据处理、过程控制两个基本类型。数据处理包括数据的采集、数字滤波、标度变换等;过程控制主要是使控制芯片按一定的方法进行计算,然后再输出,以便控制生产。
该机器人的程序运行流程为:STM32开始运行时,初始化系统,通过A/D采集数据,传输到OLED显示电源电压,通过操作者按键设置运输菜肴数目,并通过OLED显示菜肴数据,操作者开始设置运输路线,“教导”送餐机器人送一遍,当达到目的地,发送结束信号,送餐机器人开始重复刚才记忆的路线,达到重复运输菜肴的效果,如果途中有行人走过,送餐机器人会停止运输,运输菜肴达到操作者设置的值,即送餐结束,其主程序流程图如图4所示。
电子罗盘在较高磁场的环境下,会出现角度较大误差,导致复原路径出现极大的误差,导致送餐点不正确或者出现误差,开始运行时,进行电子罗盘校准来减少磁场带来的干扰。我们设计一种运输方式,停止调整角度的方法来减少角度带来的误差,送餐机器人每一次停止,都会记录停止角度,当复原路径时,达到停止点都会调整角度,修正角度带来的误差。
由于送餐机器人的速度,或突然的停止或运动,会导致菜肴摇动或机器人出现摩擦位移,从而使机器人路径出现错误,为了减少转弯摩擦力对机器人的影响,我们设计一种n形三段速度曲线,采用与电子罗盘角度相结合的减速方法,电子罗盘数据与记录下的数据相差作为控制值,将小车速度降低,使得小车实现平稳转弯与平稳启动/停止,从而达到稳定运行的效果。
4 结语
针对循迹送餐机器人在送餐循迹过程中路径偏差较大、修正时间比较长,不够智能化,成本过高,在家庭布置循迹轨道过于麻烦、添加室内定位系统价格过高、影响本来的家庭布局等问题,我们提出一种基于STM32的示教型送餐机器人,是用“记忆”路线的方式来规划路线,从而达到送餐的目的,我们的优势在于无需对环境进行改变,送餐的路线随时可以进行修改,局限性大大减小。通过较高的精度来运输菜肴,检测菜肴或环境的温湿度,较好的人机交互界面等,使其成为家庭内的好帮手,更加嵌入家庭生活,具有较好的推广价值。
参考文献
[1] 陈凯.智能送餐机器人控制系统的设计与实现[D].杭州电子科技大学,2017.
[2] 朱彦.基于感性工学的家庭服务机器人外形设计研究[J].包装工程,2015, 6(14):50-54.
[3] 付永忠.基于STM32的控制系统硬件与软件设计[J]. 机械制造,2016(7):82-86.