基于STM8S105的智能车结构及控制系统的研究
2020-09-29曹鹏勇王建文
曹鹏勇,王建文
(华东理工大学机械与动力工程学院,上海200237)
全国大学生工程训练综合能力竞赛是由教育部高等教育司主办的全国性大学生科技创新实践竞赛活动[1]。根据竞赛要求,笔者设计了一种由重力驱动的自控避障智能车,它以质量为1 kg、高度为(400±2)mm的砝码的重力势能为整车的行进动能。在避开障碍物的前提下,智能车行进的距离越长,表明其性能越佳,因此应尽可能提高势能向动能转化的效率。
根据要求,所设计的三轮智能车行进所需的能量只能由砝码提供,且能自动实现障碍物识别、轨迹优化、转向和制动等功能[2]。如图1所示,智能车由机械机构和自动控制电路组成,机械机构用于将砝码下落产生的重力势能转化为智能车后轮的行进动能,单片机及其他电路模块焊接在印刷电路板(printed circuit board,PCB)上,可以根据传感器的信号驱动舵机以带动智能车前轮转向。
图1 智能车实物图Fig.1 Physical diagram of intelligent vehicle
1 智能车关键机构的设计与分析
1.1 阶梯式绕线轮设计
目前控制智能车上坡的方法主要有以下2种:
1)智能车在平滑或避障路段时,采用如图2所示的突变式绕线轮,砝码和牵引线以“小-大-小”的绕线方式分别绕在其小轴和大轴上,以实现智能车的加速上坡功能。这种设计在结构和控制上较为简便,但几乎没有考虑牵引线在大小轴间切换时形成的冲击可能会造成智能车侧翻、绳与砝码连接处线断裂等问题[3]。
图2 突变式绕线轮示意图Fig.2 Schematic diagram of catastrophic winding wheel
2)采用如图3所示的齿轮组传动机构,通过检测道路坡度变化,利用舵机控制离合器切换来实现智能车的加速上坡功能。这种设计的优点是可以精确判断上坡的位置,以进行上坡预判;缺点是齿轮组的切换需要机电配合,过程较复杂,且齿轮、轴承等零部件的增加会增加智能车的总质量,成本也相应提高[4]。
图3 齿轮组传动机构示意图Fig.3 Schematic diagram of gear set transmission mechanism
为弥补上述方法的缺陷,笔者设计了一种平滑过渡型阶梯式绕线轮,如图4所示。绕线轮的凸台设计可使砝码的牵引线端在由轴1切换至轴2时无冲击突变现象发生,且其结构简单,性能可靠。智能车的运行速度平稳过渡,可实现平地低速行驶和加速上坡功能。
智能车正常行驶时车速较慢,受到的空气阻力可以忽略不计,故其上坡时主要须克服车轮与坡道间的滚动阻力和爬坡阻力,则有:
图4 阶梯式绕线轮示意图Fig.4 Schematic diagram of stepped winding wheel
式中:i*为智能车上坡时的最大传动比即阶梯式绕线轮轴1与轴2半径的比值;m为小车的整车质量;g为重力加速度,取g=9.8 m/s2;f为智能车上坡时车轮与坡道间滚动阻力的系数,坡道为粗糙路面时取0.015,为松软路面时0.05;amax为智能车可攀爬的最大爬坡度;R3为阶梯式绕线轮轴2的半径;Tmax为砝码下落可产生的最大转矩;i1为智能车在平地行驶时齿轮的减速比;η为绕线轮变速的传动效率,一般取为90%。
1.2 传动机构设计
1.2.1 齿轮传动动力学分析
根据传动比稳定、传动效率高等要求,智能车驱动采用齿轮传动,须实现在任意时刻智能车行进动力近似于车轮与路面的摩擦力。齿轮传动效率提升的关键在于齿轮的啮合。结合齿轮啮合处既耗能又可蓄能的特性,将齿轮传动机构啮合处等效为一组弹簧-阻尼单元。如图5所示,传动机构中齿轮1与齿轮2的啮合最为重要。为便于分析齿轮啮合时的动力学参数,仅对齿轮1、齿轮2及其啮合处进行纯扭转分析[5-7]。
齿轮1、齿轮2啮合处的运动微分方程可表示为:
式中:I1、I2分别为齿轮1、齿轮2的转动惯量;R1、R2分别为齿轮1、齿轮2的分度圆半径;θ1、θ2分别为齿轮1、齿轮2的转动角度;T1、T2分别为齿轮1、齿轮2所受的外部转矩;Km、Cm分别为齿轮啮合点处的等效刚度和阻尼。
令齿轮1与齿轮2啮合线处的相对位移为s,可得:
由此可将式(2)简化为:
图5 智能车传动机构示意图Fig.5 Schematic diagram of transmission mechanism of intelligent vehicle
式中:me为齿轮传动系统的等效质量。
根据式(4),可将齿轮传动系统动力学模型简化为仅考虑啮合处位移的单自由度模型[9]。将齿轮啮合处的齿轮1、齿轮2看作2个子系统,且暂不考虑子系统的内部特性,则齿轮传动系统的动力学模型如图6所示。其中:Ka为齿轮子系统的刚度;Ma为齿轮子系统的惯性;Ca为齿轮子系统的阻尼。
图6 齿轮传动系统动力学模型Fig.6 Dynamics model of gear transmission system
根据图6所示的动力学模型,齿轮传动系统的运动学方程可表示为:
式中:M为齿轮传动系统的惯性矩阵,等于Ma按相应自由度叠加的结果;K为传动系统的刚度矩阵,等于Ka、Km按相应自由度叠加的结果;C为传动系统的阻尼矩阵,等于Ca、Cm按相应自由度叠加的结果;X为齿轮间相对位移;T为齿轮所受外部转矩矩阵。
1.2.2 理想传动比设计
如图7所示,智能车在平地运动时涉及避障、转弯。
图7 智能车避障运动示意图Fig.7 Schematic diagram of obstacle avoidance movement of intelligent vehicle
为保证智能车在不同传动比下有相同的转向灵敏度,基于稳态横摆角速度增益不变来设计其理想状态下的传动比。车体转弯时,其二自由度平面运动模型可以表示为[9-10]:
式中:Gh为智能车稳态横摆角速度增益,其值为转向时智能车的横摆角速度与前轮转角比值;a、b分别为在转弯过程中两轮到智能车重心的垂直距离;k1、k2分别为前轮和后轮的侧偏刚度,即侧偏力对侧偏角的导数;L为智能车两车轮的中心距;u=ay/g,ay为智能车的侧向加速度;i0为智能车的理想传动比。
Kw为稳定系数,用以衡量智能车的稳定状态:Kw=0时,智能车无偏移;Kw>0时,随着Kw增大,智能车不足转向量增大;Kw<0时,随着Kw减小,智能车过度转向量增大。令Gh=Kw,求得i0:
1.2.3 转矩的计算
在实际设计中,智能车采用三级传动,其最大理论行走长度S为:
式中:S1为重力势能为0 J时智能车的滑移距离;H为砝码下落高度,H=400 mm;R4为阶梯式绕线轮轴1的半径;R5为智能车后轮半径;v为智能车在行进中的实测速度;Fn为智能车对路面的压力;μ为车轮与路面间的摩擦系数,赛道的材质为木板,取μ=0.5~0.6。
转矩及阻力矩分析如下:
1)砝码的重力G=m1g,其中m1为砝码质量。忽略滑轮处的滚动摩擦,则大齿轮轴所受拉力F≈G。
2)在智能车的大齿轮轴上添加1个阶梯式绕线轮,该绕线轮轴的最大半径为R3,最小半径为R4,智能车启动时的半径为R4,此时绕线轮轴上的启动转矩T2=FR4≈GR4,由齿轮传动力矩转换式T1n1=T2n2可知,经齿轮传动后智能车的启动转矩T1=T2/i0,其中n1、n2分别为齿轮1、2的转速。
3)智能车后轮受到的阻力f1=(G+N)μ,阻力矩Tf=R5f1,其中N为智能车除砝码外的重力。
4)智能车启动条件为:T1>Tf,即:GR4> (G+N)μi0R5。
2 智能车控制系统设计
所设计的智能车控制板如图8所示。采用ES3104舵机控制智能车转向和刹车(锁定传动轴),采用E3Z-D62红外传感器检测赛道边缘和障碍物,采用JY61P陀螺仪检测智能车在平地、上坡道和下坡道的行进姿态。考虑到输入、输出端口的数量,焊接的实际需要以及成本,选用STM8S105单片机作为智能车的核心控制器,在C编译环境中进行软件设计,应用ST-Link连接电脑USB(universal serial bus,通用串行总线)与STM8S105单片机的编程接口,并进行IAR EW430软件下载和在线监控,来完成智能车的控制程序设计和调试[11]。
图8 智能车控制板实物图Fig.8 Physical diagram of control board of intelligent vehicle
当智能车在直线路段行驶时,STM8S105单片机采集JY61P陀螺仪的偏转角,结合左右两侧传感器的信号,控制前轮,使智能车规避两侧挡板。当智能车下坡时,抱刹舵机锁定传动轴以进行电控刹车,下坡后刹车松开。智能车控制系统的软件设计流程如图9所示。
图9 智能车控制系统的软件设计流程Fig.9 Software design process of intelligent vehicle control system
采用4节1.2 V的充电电池作为智能车控制系统的电源电压。考虑到舵机等负载的功率,采用电流最大容量为3 A的拨动开关。E3Z-D62红外传感器、STM8S105单片机、JY61P陀螺仪、OLED(organic light-emitting diode,有机发光二极管)显示屏、ES3104舵机的工作电压见表1。采用直流-交流转换器芯片将电池电压转换为各元器件的工作电压:使用LM2577-ADJ升压芯片将电源电压升至12 V,为E3Z-D62红外传感器供电;采用2片LP38690DT-5V(5 V,1 A)为2个ES3104舵机供电,满足舵机使用要求;采用LP38690DT-3.3V主控芯片为STM8S105单片机、JY61P陀螺仪、OLED显示屏供电。
STM8S105单片机作为一款8位微控制器,有32个引脚,最多有28个I/O,采用表面贴装技术(surface mounted technology,SMT)贴片封装,内含可调整的16 MHz RC振荡器,具有16 kB或32 kB的程序存储空间。单片机芯片可利用资源丰富,包含脉宽调制(pulse width modulation,PWM)输出、模/数转换器(analog-to-digital converter,ADC)采样、外部及定时器中断等功能,具有串行外设串口(serial peripheral interface,SPI)和I2C总线。根据智能车的实际需求,单片机引脚包括4个红外传感器输入端口、2个PWM输出端口、5个控制OLED显示屏的端口、1个用于调节控制模式的模/数转换端口和1个按键输入接口等。STM8S105单片机的引脚如图10所示。STM8S单片机的功能资源与智能车的控制需求相匹配[12]。
表1 智能车主要耗电元器件的工作电压Table 1 Working voltage of the main power-consuming components of intelligent vehicle 单位:V
图10 STM8S105单片机引脚示意Fig.10 Schematic diagram of STM8S105 single-chip microcomputer pins
采用128 mm×46 mm的OLED显示屏来显示控制模式,采用E3Z-D62红外传感器来检测和调试数据。OLED显示屏的工作电压为3.3 V,分辨率为(128×64)像素,工作电流小于5 mA,与STM8S105单片机引脚直接连接。OLED显示屏的引脚包括VDD(逻辑电源)端口、D0和D1(输入/输出)端口、RST(复位)端口、DC(数据/命令)端口和CS(片选使能端)端口等。OLED显示屏的引脚如图11所示。
STM8S105单片机采用I2C与JY61P陀螺仪进行通信。为降低高电平干扰,JY61P陀螺仪的2个通信引脚上须采用4.7 kΩ上拉电阻以稳定输入信号。JY61P陀螺仪采用MPU6050六轴加速度计芯片进行车体姿态角度偏移测量,其模式选择旋钮为一个连接于单片机PB3端口的10 kΩ可调电阻,旋动模式选择旋钮即可改变电位,根据模拟量和数字量进行模式切换。JY61P陀螺仪的引脚如图12所示。
图11 OLED显示屏引脚示意Fig.11 Schematic diagram of OLED display pins
图12 JY61P陀螺仪引脚示意Fig.12 Schematic diagram of JY61P gyroscope pins
E3Z-D62红外传感器为三线制NPN型,接线方式为[13]:红色线接电源正极,蓝色线接电源负极,黑色线为输出信号线。当E3Z-D62红外传感器检测到障碍物时,STM8S105单片机输入端口采集低电平;当E3Z-D62红外传感器未检测到障碍物时,STM8S105单片机输入端口采集高电平。在避障中断服务程序中,设有中断优先级,4个传感器按图7所示排列,当传感器1,3检测到障碍物时,单片机信号输出,控制转向舵机右旋转,同理,当传感器2,4检测到障碍物时,转向舵机左旋转,且传感器3,4信号的执行优先级大于传感器1,2。结合JY61P陀螺仪三轴倾角的数据,对数据进行逻辑判断[14]:当单个中断发生时,该处中断响应;当多个中断同时发生时,中断优先级越高,则越先响应,即实现自动避障功能[15]。
使用Altium Designer设计的智能车PCB如图13所示,其尺寸为100 mm×77 mm。采用Power Port(电源端口)以及Net Label(网络标号)以避免连线过于复杂,如:采用“3V3”电源端口来标识3.3 V电源,采用“GND”电源端口来标识电源地线;采用网络标号来标识单片机的引脚以及与元器件连接的接插件插座的电气连接[16-17]。
3 智能车运行仿真分析
结合式(7)至式(10),利用Python软件并调用matplotlib.pyplot模块来分析不同齿轮传动比下智能车的运行速度与行进距离[18]。选取摩擦系数μ=0.5,齿轮传动效率η1=0.90,阶梯式绕线轮轴1的半径R4=4 mm,后轮半径R5=83 mm。不同齿轮传动比下智能车运行速度的仿真值和行进距离的实测值如图14和图15所示。
图13 智能车PCB的设计示意图Fig.13 PCB design schematic diagram of intelligent vehicle
图14 不同齿轮传动比下智能车运行速度的仿真值Fig.14 Simulation values of running speed of intelligent vehicle under different gear transmission ratios
图15 不同齿轮传动比下智能车行进距离的实测值Fig.15 Measured values of travelling distance of intelligent vehicle under different gear transmission ratios
不同传动比下仿真得到的智能车理论行进距离及其实际行进距离的对比如表2所示。由表2可以看出:在运行状态下,智能车实测速度随传动比的增大而减小;忽略赛道因素的影响,传动比为5∶1和6.3∶1时,智能车的实际行进距离与理论行进距离接近。综上所述,传动比为6.3∶1时,智能车能够很好地避开所有障碍物,在已有机械结构条件下达到最大的极限行进距离,满足设计要求。
表2 不同齿轮传动比下智能车理论行进距离与实际行进距离的对比Table 2 Comparison between theoretical travelling distances and actual travelling distances of intelligent vehicle under different gear transmission ratios
4 结论
本文从工程设计角度出发,兼顾机械效率及能量利用率,设计了平滑过渡型阶梯式绕线轮,使智能车具有变速功能且运行平稳;建立了齿轮传动系统动力学模型,推导了单自由度下齿轮机构啮合处的运动学方程;采用模块化思想设计了智能车的控制系统,合理利用了STM8S105单片机系统的中断、定时功能,同时解决了多传感器同时工作时响应优先级的分配问题;利用Python软件对智能车的运行情况进行可视化仿真分析,得出不同传动比下智能车的运行速度和行进距离,并对比了理论行进距离和实际行进距离。笔者所设计的智能车能够很好地避开所有障碍物,具有较好的稳定性。