APP下载

智能送餐小车控制系统设计

2022-07-04顾菊芬

武汉工程职业技术学院学报 2022年2期
关键词:巡线小车驱动

顾菊芬

(苏州信息职业技术学院 江苏 苏州:215200)

职业院校致力于培养服务于行业一线、实践能力强的高素质技能型应用人才。以综合项目训练为载体开展课程教学,可以在项目实施过程中对学生进行工程知识、技能、素养教育的无痕渗透,是实现高素质高技能人才培养的重要抓手[1]。我校电子创新社团“创客岛”以专业社团的兴趣班模式,在第二课堂通过专业教师指导学生开展综合训练项目,激发学生的专业学习热情。本文以智能送餐小车控制系统设计综合训练项目为例开展教学,在此过程中培养学生的设计思维和工程实践能力[1-2],并渗透科学精神、工匠精神等。

1 总体设计

智能送餐小车是一种能够自主或半自主地提供客户送餐服务的智能机器人。智能送餐小车面向餐厅完成自动送餐,可以缓解服务人员数量不足、服务人员的工作强度过大等问题[2-8]。智能送餐小车设计制作对于培养学生自上而下的工程设计全局意识、自下向上的回归迭代思维、模块化原则、等价原则、成本与表现的平衡思维是一个较好的综合训练项目载体。

1.1 小车底盘的选用

智能送餐小车考虑到送餐过程的平稳性和承重选用四轮驱动的麦克纳姆轮底盘(见图1),当两侧的轮子同速度相反速度运动时,能够实现向左或者向右的平行运动、前进、转弯等。

图1 小车底盘

小车底盘采用麦克纳姆轮,使用的是520直流减速电机带编码盘。自动送餐服务车总体结构包括外壳、底板、底盘和抓取机构。自重小于等于10 kg;负载能力为10 kg;供电方式为锂电池供电。底盘尺寸参数360mm×238mm。

选用电机参数:

额定电压:12V 减速比:1:56

额定功率:4.32W 电机类型:永磁有刷

额定扭力:6.5kg·cm 最大扭力:9kg·cm

电机带编码器,AB相增量式霍尔传感器,线速:360

1.2 电控板总体设计

智能送餐小车前后各有8位的循迹传感器;车身中间两侧有定位检测传感器,用于定位检测;电机驱动采用PWM调速;车循迹速度可设置;车旋转速度可设置。为此,在小车底盘上需要设计相应的电控系统、驱动电路、传感器电路,线路板大致布局见图2,保证小车重心稳定,反应迅速。

图2 小车电控板总体布局

2 电路设计

根据方案设计,电控系统组成如图3所示,系统组成部分如下:

图3 电控系统示意图

(1)主控制器STM32F103ZET6,该芯片具有2个基本定时器、4个通用定时器、2个高级定时器、112个通用IO口,资源充足,定时器可以配置产生2路PWM提供电机调速信号;

(2)传感器模块。使用白光LED发射强大光线,用8个光敏传感器采集路面信息,将信号反馈给控制单元,由控制单元判别黑线位置以控制车的速度、转向和制动;

(3)电机驱动模块和速度控制模块。根据码盘反馈信号,用集成桥式驱动电路驱动电机的运转状态,形成闭环控制,对电机的速度进行准确快速的调节。

小车电控板采用单片机作为核心控制单元,安装在车前后部的光电传感器负责采集信号,并将采集到的信号传入核心控制单元,核心控制单元对信号进行判别处理后,由内部模块发出PWM波,分别对两侧的直流电机进行控制,完成小车的转向、前进和制动。液晶显示模块可以实时显示小车的状态。

2.1 电源系统

电源系统如图4所示,采用外部16.8V锂电池供电,经LM2596-12转换为12V直流电供直流电机电源,经LM2596-5转换为5V直流电供编码器、集成电路芯片电源,5V经线性稳压电源AMS1117-3.3V转换为3.3V供单片机电源,以满足系统的供电要求,同时通过采用线性稳压电源可以减小电源纹波,保证系统工作的可靠性。电源部分加过流、过压和防反接保护、软启动电路等;电源部分电解电容越大越好,储能充放电用,否则负载电流太大会把电源电压拉下来幅度较大,影响系统运行。

图4 电源系统原理图

2.2 电机驱动电路

直流电机驱动控制电路主要包括改变直流电动机两端的电压控制直流电动机的转动方向的H桥电路和改变电机转动速度的PWM控制电路[2-8]。

常见的电机驱动主要有两种,一种是专用的驱动电路加MOSFET管设计,一种是采用专用的集成电机驱动芯片[2-11]。LMD18200T是一款专用于直流电动机驱动的H桥组件集成芯片,芯片外形封装和内部结构如图5所示,在同一个芯片上集成了CMOS控制电路和DMOS功率器件,可以非常方便的与单片机、电机、增量型编码器构成一套完整的运动控制系统。

图5 LMD18200T芯片外形和内部结构图

LMD18200T内部集成了一个标准的H型驱动桥,由四个DMOS管组成。上桥臂的2个开关管的通断是通过充电泵电路提供栅极电压进行控制。第二个充电泵电路可通过引脚1、11外接电容构成,如果需要提高工作频率,则需要提高外接电容的容量,这时充电泵电路向开关管栅极输入的电容充电速度越快,电压上升的时间越短,从而达到提高工作频率。直流电机电枢接在引脚 2、10之间,电枢电流的方向从引脚2至引脚10则电机正转;反之,电枢电流的方向从引脚10至引脚2,则电机反转。如果需要检测芯片输出是否过流,可以在电流检测输出引脚8接一个对地电阻,从而通过电阻来输出过流情况。芯片内部有过电流和过热保护电路,过电流阈值10A,当超过该值时芯片自动封锁输出,并按照一定周期自动恢复输出。若过电流持续时间较长,则启动过热保护,芯片自动关闭整个输出。过热信号可通过引脚9输出,当结温达到145℃时该引脚有输出信号,结温达170℃时,芯片关断。具有良好的抗干扰性。输出引脚2、10峰值输出电流高达6A,连续输出电流达3A;工作电压高达55V。LMD18200T芯片引脚功能详见表1。

表1 LMD18200T芯片引脚功能

服务小车双侧电机驱动原理图如图6所示,采用两片LMD18200T分别进行驱动双侧电机,需要注意的是,在电机的两个输入端口之间应并入一定容量的电容,而且电源中也应并入一个大容量的电容,这两个电容的作用在于滤波,可以在电机的启动过程中降低冲击电流的幅度,防止电机电流太大而对主板产生的电磁干扰。电机和驱动电路的散热问题会影响小车的正常工作,因此在电机和驱动电路上都加上了散热片。两片专用集成电机驱动芯片LMD18200T的4脚刹车信号均接地,根据LMD18200T芯片电路功能,左右侧电机控制信号分别为PWM调速信号和DIR方向信号,电机控制信号真值表如表2、表3所示。

图6 双侧电机驱动原理图

表2 左侧电机控制信号

表3 右侧电机控制信号

在实际设计中,针对左右侧电机编写底层函数分别控制左侧电机、右侧电机的正转、反转、停止、速度控制的函数。在后续的小车动作函数编写中,可以调用底层函数,以实现小车左拐、右拐、直行、后退、掉头等动作函数。

2.3 巡线传感电路

在智能小车系统中,巡线传感器就是整个系统的“眼睛”,其对于路径的识别在控制系统中尤为重要。光电检测方式和摄像头检测方式各有优缺点。摄像头检测方式检测前瞻距离大,但是电路设计复杂,软件处理数据量大,检测信息更新速度慢,综上所述,选择性价比更高的光电检测方式[2-11]。

巡线传感电路原理图如图7所示。采用高亮度白光LED和光敏电阻、比较器等组成,采用高亮度白光LED的目的是为了抗场地的环境光干扰。巡线传感电路检测路面信息的原理是:黑色物体与白色物体对光的吸收程度不同,导致两者的反射系数有很大差别。由于白光照射到黑色物体上的大部分被吸收掉了,只有少量被反射回;而白光照射到白色物体上的大部分光线被反射回来,所以白光照射在黑色和白色物体上后光敏电阻接收到的反射光强不一样,根据光敏电阻的特性曲线光敏电阻阻值发生变化的程度不同,因此光敏电阻和1K阻值的电阻组成的分压电路取出的电压不一样,从而区分出黑白路面。光照射电路与光接收电路一一对应,在不同背景下反光强度不同,光敏电阻的值变化不同,为了减轻CPU处理压力,通过比较器信号处理电路转换为高低电平信号,送主控板检测。

图7 循迹传感器信号处理电路电原理图

巡线传感器的布局采用一排安装或多排安装的形式。由于直线排列的控制策略较为简单,检测效果良好,故本系统采用“一”字型直线布局的排列方式。

3 程序设计

3.1 差速调整转向角度

服务车采用左右侧电机驱动,没有专门的转向系统,故采用左右侧电机控制差速控制转向角度。为了更好的实现车辆转向的控制品质,小车装有前后两排灰度传感器,通过感知小车位置偏差,调节控制小车转向角度,实现小车稳定可靠的巡线工作。

在小车运行过程,主要动作包括:小车巡线直行、巡线左拐、巡线右拐、盲走直行、盲走左拐、盲走右拐、遇到地图标志处理判断等。其中巡线直行是非常基础且重要的动作,在巡线直行过程最重要的是对位置偏差的采样和分析,并调整处理。

3.2 巡线直行位置纠偏处理

小车装有前后两排灰度传感器,通过信号处理电路输出高低电平。小车在巡线过程,前后排灰度传感器应有分左偏、右偏、居中和不在线上,具体应至少16种情况,表5所列出的是小车巡线左偏的情况。根据偏移情况,左偏移增量分别为-7~-1,右偏移增量分别为+1~+7,不在线上的为99,单独处理。

表5 小车左偏情况

左偏情况分析,类似的右偏情况也是一样的。按照表格所示,小车巡线过程和线的位置共分16种情况,居中,无需调整,左偏,右偏,需要根据偏移量进行调整。如果不在线上采取盲走策略。巡线直行过程采用采样数据-分析数据后进行增量式PID调整小车转向角度策略,核心代码如下:

j=speed/15;

if((i>=-8)&&(i<=8))

{

error_left = speed-i*j;

error_right = speed+i*j;

PID_Speed_Left = error_left-gyro[1]*0.4;

PID_Speed_Right = error_right+gyro[1]*0.4;

Motor(left,backward,PID_Speed_Left);

Motor(right,backward,PID_Speed_Right);

}

else

if(i==99)

{

Motor(left,backward,speed);

Motor(right,backward,speed);

}

3.3 地图标志检测处理

小车在巡线过程还需判断运行标志,根据设计的地图,小车运行标志包括左丁字口、右丁字口、前T路口、后T路口、十字路口等标志,如图8所示。根据前后两排灰度传感器反馈的高低电平值判断得出当前所处的地图标志,从而确定小车下一步的动作:直行、后退、左拐、右拐。

图8 送餐小车运行地图标志

设计编写送餐小车动作函数如下:

void Track_Forward(uchar speed,uchar exit); //向前 循迹;speed速度;tuichu退出条件;

void Track_Backward(uchar speed,uchar exit); //向后 循迹;speed速度;tuichu退出条件;

void Track_Forward_Delay(uchar speed,uchar time);

void Track_Backward_Delay(uchar speed,uchar time);

void Online_Forward(uchar speed,uchar exit,uchar xiuzhengl,uchar xiuzhengr);

void Online_Backward(uchar speed,uchar exit,uchar xiuzhengl,uchar xiuzhengr);

void Online_Forward_Delay(uchar speed,uchar time);

void Online_Backward_Delay(uchar speed,uchar time);

void Turn_Left(uchar speed,uchar b_a);

void Turn_Right(uchar speed,uchar b_a);

void Turn_Compass(uchar speed,int jiaodu);

void Forward_Analyse(uchar speed); //前方数据处理;speed 为速度

void Backward_Analyse(uchar speed);

4 系统调试

为了进行智能送餐小车的测试,搭建了一个模拟餐厅的工作环境,在地面事先规划好一定宽度的白线路径,每个餐桌边上的白线为“”字线,作为餐桌定位标志。智能送餐小车调试环境如图9所示。

图9 智能送餐小车调试环境

自动送餐服务小车实际运行效果如图10所示,具体运行调试过程如下:实验人员将放置于餐盘在小车托盘上,启动服务小车送至某号餐桌;随即沿回型路线返回待命区。依次调试其他餐桌号,功能均正常。

图10 智能送餐小车实际运行效果

5 结束语

自动送餐小车能够正确引导操作、定位、停车和装运餐具,自动化程度和智能化水平较高,具有一定的实用价值,由于采用硬件模块化、自制传感器线路板等措施,工程成本较低、性能表现较高。在电子类专业综合项目训练的实践教学过程中,作为教学载体具有较好的展示效果,可以充分调用学生的学习兴趣、激发学习动力。学生基于问题开展有效学习,在发现问题、解决问题过程中提升了工程素养。社团学生在面向工程的综合训练中得到较好的锻炼,在各类电子创新竞赛、省大学生机器人大赛取得不俗的成绩。

猜你喜欢

巡线小车驱动
数据驱动世界。你得懂它 精读
基于模糊PI控制的驱动防滑仿真系统分析
基于共振磁耦合供电及电磁传感定位的无人机智能巡线技术与应用
基于移动互联网的智能化巡线管理系统的建设与应用
大车拉小车
屈宏斌:未来五年,双轮驱动,砥砺前行
深入实施创新驱动发展战略
无人机为仁化高山电网线路“把脉”
刘老师想开小车
无人机在电力巡线中的应用模式研究