基于坡道行驶电动智能小车系统设计与研究
2021-06-17凌旭陈立戴俊良
凌旭,陈立,戴俊良
(湖南化工职业技术学院机电工程学院,湖南株洲,412000)
0 引言
随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。智能小车设计与研究,成为一种新的发展趋势,无论是在特殊行业,还是民生生活都发挥着重要作用[1-3]。本研究设计一款坡道行驶电动智能小车,能自动循迹,可程控行驶速度在规定时间内完成任务,在停车点准确定位停车。小车在行驶前,需要路段设计和坡道设计如图1所示;路段设计:在木板表面铺设一条宽,长各约为1cm线条作为路线指示;总长度设计为1m,路线开始为直线,垂直于木板底边,在坡顶转向90°,平行于木板顶边与顶边相隔距离为≤20cm,转弯半径为10cm~20cm,转弯完成后路线在延长≥30cm;停车标记设计为宽,长各为1cm,5cm。坡道设计:用长,宽各约为1m的木板搭建小车坡道,坡道角度可以任意调节。
图1 小车坡道角示意及行驶线路顶视图
1 小车方案选项
■1.1 理论分析
要求小车能够在不同倾斜角的木板上完成循迹,行驶速度均匀并且行驶时间可控,并且能够在终点稳定停止。若需要完成以上要求,需要对位于木板上的小车进行受力分析,小车的受力分析如图2所示。
由牛顿第二定律公式 F=m×a可知:小车静止在坡道时应满足:
mgsinθ≤μmgcosθ;摩擦系数应满足μ≥tanθ;
小车在坡道匀速行驶应满足:F车=mgsinθ+μmgcosθ;需小车电机产生作用力。
图2 小车受力分析图
由以上分析得:小车若要在循迹时要做到匀速行驶、运行时间可控,在终点稳定停止,与小车的质量、动摩擦因数以及电机的力矩大小都有关联。
■1.2 系统方案选型
本系统采用超低功耗16位微控制器MSP430F5529作为系统设计的主控芯片[4-5]。
选用ST188反射式红外光电传感器进行循线。ST188由高发射功率光电二极管和高灵敏度光电晶体管组成。光电二极管由高电平触发,发射出红外线,若接收面为白色,则返回信号至接收管,若为黑色,则返回信号被吸收,接收管无信号。该传感器价格低廉,且多个红外传感器配合使用,能做到基本的循迹。
选用DC3V-6V减速直流电机,减速直流电机结构简单,易于固定,且便于驱动,通过单片机输出PWM至驱动电路即可控制电机的转速,电流小,不会烧坏电路。
选用编码器型号为512线mini增量式编码器作为测试模块。该编码器具有体积小、重量轻、精度高的特点,可读取的最大转速为10000rpm。使用简单,输出脉冲稳定,误差较小。
本系统采用6个ST188红外光电传感器对黑色纸条进行信号采集,通过LM393电压比较器读取传感器返回的电平,由MSP430单片机的IO口获得比较后的电压,根据不同的电平组合判断小车状态。主控芯片输出PWM来控制电机的转速,来矫正小车的姿态,使小车能够沿标记线平稳行驶。同时通过编码器读取车轮转速,引入位置式PID算法对车轮转速进行精确控制。此外,系统还含有OLED显示屏以及四个按键,以便于观测实时数据以及设置参数,通过语音播报提示小车状态。系统硬件框图如图3所示。
图3 系统硬件框图
2 系统电路设计
■2.1 电机驱动电路设计
本系统采用的电机驱动为TB6612FNG模块,是一款直流电机驱动器件,它具有大电流MOSFET-H桥结构,双通道电路输出,可同时驱动2个电机。驱动控制逻辑如下:芯片VM直接接电池电源,VCC内部逻辑供电,STBY置高后模块才能正常工作,AN1和AN2不同电平组合控制电机的正反转,PWA接单片机PWM输出口控制电机转速,原理图如图4所示。
图5 MSP430F5529电路图
图4 TB6612FNG驱动模块原理图
■2.2 主控板电路设计
本系统选择的主控为MSP430F5529,原理图如图5所示。对MSP430F5529 进行资源拓展,板上搭载5.0V、3.3V稳压电路以及部分模块接口,其中稳压电路为每个接口模块进行供电,OLED显示屏用于显示小车运行时的位置和速度信息,配合四个独立按键可进行小车的模式选择以及参数设定,小车的运行每个模式以及最后停止时都由语音模块实时播报,拓展板资源。
■2.3 系统电源电路设计
系统MCU和各种外设在正常供电的情况下才能正常工作,此时MCU才能正常接收信号和处理信息,整个系统的电源需要多种供电接口,电机驱动需要电池电源,MCU、OLED显示屏需要3.3V供电,语音播报、编码器、需要5V供电。3.3V、5.0V电源分别使用LM2596-3.3V、LM2596-5.0V对电池电压进行降压,可调电源通过电位器进行电压调节,调节范围为 6~25V,由 LM2596-ADJ电源芯片来实现电压输出,每个电路输出都外接五组排针,完全能满足对电源的需求,同时每组电路都包含LED指示灯,能够实时观测电路的状态。电路原理图如图6所示。
■2.4 红外循迹电路设计
本系统选用6个ST188红外光电传感器对标记线进行识别,ST188通过发射端的光电二极管发射红外光线,接收端通过高灵敏度晶体管接收反射回来的光线输出对应的电平信号,再进入LM393电压比较器与其基准电压进行比较,使MCU的IO口能够读取到稳定的电平。在电路设计中,将发射管处串联的电阻选为100Ω,以便发射管能够发射高强度的红外信号。电压比较器LM393的基准电压由一个10k的电位器进行调节,在OUT输出口处接上一个上拉电阻,用于保护MCU的IO口,同时再接一个LED指示灯,以便使用时能够直观的看到输出电平。部分电路原理图如图7所示。
图6 系统电源模块原理图
图7 红外循迹电路图
3 系统软件设计
■3.1 位置式PID算法
通过编码器读取小车的速度,通过位置式PID算法对小车速度进行闭环控制,PID控制是一种常见的反馈控制,由比例(P)、积分(I)、微分(D)组成。比例控制为基础控制,积分控制为消除稳态误差,微分为加快系统的响应速度。P、I、D分别对应现在、过去、将来,分别对系统进行调节修正,减少系统误差,理想连续控制的公式如下[6-8]:
其中Kp为比例系数、Ti为积分时间常数、Td为微分时间常数、e(t)为实际值与设定值的差、u(t)控制为输出值。
经过多次参数的整定,小车循线运行效果最优的参数为:P=6.35;I=1.36;D=0.63。
■3.2 软件设计
该系统最重要的部分在于小车的自动循迹,MCU通过GPIO口读取红外光电传感器所返回的电平来判断自身在标记线上的位置,输出不同的PWM控制电机转速,从而实现小车在标记线上的自动循迹以及终点停车。对电机采用位置式PID算法进行闭环控制。此外,采用模拟IIC控制OLED显示一个菜单。菜单包括速度,红外读取的值以及小车的各种参数,其中菜单光标的移动以及参数调整由四个普通按键完成。小车的语音播报由MCU的UART0控制,用于播报小车循迹时间以及运动状态。
图8 主函数程序流程图
图9 中断服务函数流程图
4 试验系统测试
■4.1 测试方案
对该系统进行测试时,需要用直尺对赛道各部分长度进行测量,检查赛道是否符合标准。小车在不同的模式运行时,通过秒表记录小车循迹时间。在小车稳定停在终点时,使用直尺测量小车上的标记点到停车标记中线的距离。测试小车在不同高度下的数据时,需要使用手机上的“指南针”APP对斜坡进行角度设定。
■4.2 测试结果
试验一:设定木板坡度角θ=0°,要求智能小车在12s、15s、18s设定时间循迹自动行驶不能脱离标记线且准确停在停车标记点处误差≤2cm(即小车上标记点到停车标记中心线的垂直距离误差),试验数据如表1所示。
表1 距离误差
试验二:设定木板坡度角θ=0°,将循迹线长度设定为1m长,时间设定为13s、16s、19s时间内循迹自动行驶不能脱离标记线且准确停在停车标记点处时间误差≤1s,试验数据如表2所示。
表2 时间误差
试验三:设定木板坡度角θ=0°~42°,将循迹线长度设定为1m长,时间设定15s,循迹自动行驶不能脱离标记线且准确停在停车标记点处误差≤2cm,时间误差≤1s,试验数据如表3、表4所示。
表3 15°~25°坡度数据表格
表4 30°以上坡度数据表格
通过在不同角度下记录小车的碾压或脱离标记线次数、卡顿次数、行驶时间的偏差、以及在终点稳定停车次数可知,随着坡道高度的增加,小车停顿的次数逐渐增加,其行驶时间与设定时间的偏差也随之增加。由于小车加入闭环控制,其碾压或偏离标记线的次数一直在可控范围内,经过多次的测试,小车能完成循迹要求的最大角度为42°。
■4.3 试验分析
(1)小车出现碾压或脱离标记线主要是因为在拐角处转弯时红外传感器出现误判或者漏判,导致小车没有做出正确的姿态调整,出现碾压甚至脱离标记线的情况。
(2)小车在行驶时的卡顿现象:一是因为在转弯时车轮的重心不稳,导致小车左方轮子出现悬空现象,无法实现小车的差速转弯而停在拐点;二是小车红外传感器精度不高,再加上循迹线仅为1cm的黑白标记线,小车无法完全实现无卡顿的循迹。
(3)小车实际行驶时间与设定时间出现偏差:一是因为小车在拐弯处的卡顿,增加了小车行驶时间;二是随着高度增大,小车运行时所受到的反作用力也随之增大。
5 总结
通过采用MSP430/MSP432平台设计智能小车电机驱动电机电路、主控板控制电路、电源电路、红外循迹电路等相关硬件设计。利用位置式PID算法,进行智能小车运动控制。测试智能小车在不同坡度、不同时间坡道平稳运行、标记线上循迹效果良好,偏离误差≤1cm,且运动时间可控,能够在终点稳定停车,最大行驶倾斜角可达42°。该系统设计具有响应速度快,控制精度高等有点。