基于K60的光电平衡智能小车设计

2018-09-10 09:33:51贺东方贺伟贺一梦张一博许珺颖
河南科技 2018年2期

贺东方 贺伟 贺一梦 张一博 许珺颖

摘 要:本文主要介绍第十届全国智能车大赛设计的智能车系统方案。该系统以“飞思卡尔”32位单片机Kinetis MK60DN512ZVLQ10作为系统控制处理芯片,采用野火智能车陀螺仪ENC 03MB+加速度MMA7361CL二合一模块获取直立车姿态信息,并控制2个直立驱动马达使车模直立,同时借助于线性CCDTSL1401的图像采样模块获取赛道图像信息,通过软件算法提取赛道边界,识别当前所处赛道位置,算出小车与黑线间的位置偏差,采用PID算法对2个驱动马达进行差速控制,实现了车模的转向控制。通过光电编码器实时获取小车速度,形成速度闭环控制。

关键词:光电智能小车;飞思卡尔芯片;算法设计

中图分类号:U463 文献标识码:A 文章编号:1003-5168(2018)02-0119-03

Design of Optoelectronic Balancing Intelligent Car Based on K60

HE Dongfang HE Wei HE Yimeng ZHANG Yibo XU Junying

(School of Electrical and Information Engineering, Henan University of Urban Construction, Pingdingshan Henan 467036)

Abstract: This paper mainly introduced the design of intelligent vehicle system for the Tenth National Smart car competition. The system used "Freescale" 32-bit microcontroller kinetis MK60DN512ZVLQ10 as the system control processing chip, and control two vertical drive motor cars upright upright vehicle attitude information to obtain by wildfire intelligent vehicle gyro enc 03MB+ acceleration MMA7361CL combo module. At the same time, by means of linear CCDTSL1401 image sampling module access to the track image information, track boundary was extracted by the software algorithm, recognition of the current track position, the position deviation of calculated between the car and the black line by PID algorithm of two driving motor differential speed control, the realization of the models of steering control. The speed of the car was acquired through the photoelectric encoder, and the speed of the closed-loop control was formed.

Keywords: photoelectric intelligent car;carle chip;algorithm design

现代智能汽车是一个融合环境探知、路线选择、人车交互和多等级辅助驾驶等功能于一体的综合性系统,其集中运用了现代计算机处理、模式识别、传感器技术、信息融合、实时通信和智能控制等技术,是现代的高新技术综合体[1]。與此同时,“飞思卡尔智能”小车,越来越受到大家的关注和青睐。光电智能小车用单片机作为处理器,用传感器采集自己所需的信息并将信息传递给处理器,处理器对采集到的信息进行分析和处理,由处理器发出指令驱动执行元件执行命令[2]。整个系统是一个闭环控制,通过硬件和软件的结合,利用硬件和软件算法,使小车在预定的跑道上前行。

本文以Kinetis MK60DN512ZVLQ10作为智能小车的控制核心,制作出了“光电平衡小车”。该小车借鉴智能汽车设计原理,在实验环境下顺利实现智能循迹和避障行驶等功能。

1 机械系统设计

光电平衡智能小车系统的机械设计对小车的系统稳定性有着较为直接的影响,是整个系统设计中较为关键的环节。

1.1 重心的稳定设计

系统的设计要保持小车重心的稳定,这对小车在前行的过程中保持平衡并进行自主调节有很大的影响。在系统设计的过程中力求降低重心,为此把电路板放在前面,把电池放在后面,并用扎带进行固定,其余的硬件分布在小车的两边,这样可以保证重心平稳,为智能小车的稳定前行打下基础[3]。

1.2 轮胎的打磨

小车轮胎与赛道之间的摩擦力对小车在赛道上的稳定前行有着一定的影响。摩擦力太大会让小车在赛道上转弯不够快速,摩擦力太小会让小车在转弯的过程中出现侧滑,这样的结果都不是预期想要的。为了保证小车无论是直行还是在转弯的过程中都可以平滑地进行,使设计的小车性能更加完善,对小车进行了打磨处理。

2 硬件设计

智能小车硬件电路是整个控制系统的基础核心部分,关乎智能小车的性能。在系统整体设计中,为智能小车提供了一个稳定、可靠、开放、方便调试和系统改进的硬件平台,该平台由Kinetis MK60DN512ZVLQ10最小系统模块、电机驱动模块、电源管理模块、线性CCD模块、陀螺仪和加速度模块等组成[4]。这些模块在一起组成一个闭环系统,系统的整体框图如图1所示。

2.1 Kinetis MK60DN512最小系统板

该模块包括MK60DN512ZVLQ10芯片、晶振电路、复位电路、PORT模块、GPIO模块、UART模块、I2C模块和PIT定时中断模块等。

2.2 电源管理模块

电源管理模块是智能小车各个控制模块所需的稳定性能电源的有效保障。智能小车依靠功率较大的一个直流电机驱动2个轮子前行,在路面工况良好的情况下车辆加速时电机的瞬时电流将会大于10A。这种情况的发生势必会对整个供电系统造成较为明显的冲击。为了抑制电机的瞬时电流,减小冲击电流对系统造成的影响,对整个系统采用多路供电的模式,这样可以使系统内各个模块之间的相互干扰降至最低。系统中所用的电源主要有+7.2V和+5V 2种,供电电池产生的7.2V电压直接供给电机,7.2V电压经过器件LM1048转换后的电压为+5V,给驱动板、编码器、线性CCD、陀螺仪等模块进行供电。

2.3 驱动电机模块

2个驱动电机为系统整车提供前进力源,控制着光电智能小车的行驶速度。驱动电机模块选用4片BTN7971驱动芯片构成4个半桥电路,电机驱动已经用MOS管做好信号隔离,以免对系统的整体运行产生影响。驱动芯片利用K60单片机输出的PWM信号,把蓄电池输出的驱动电机的7.2V电压调制为频率f一定、占空比q可变的电压序列。为了防止电机在运行的过程中遇到突发或极端情况,对电机自身产生不良影响,对芯片输出的PWM波进行限幅处理,作为对电机驱动模块的保护。

在整个系统控制的过程中,需要各个模块的共同配合对电机进行驱动。陀螺仪和加速度计传感器采集到的信息用来控制直立过程;线性CCD采集到的信息用来识别道路,直行或者拐弯。各个模块的精准配合,使电机正常运转。该模块的接口电路如图2所示。

2.4 陀螺仪与加速度计模块

陀螺仪与加速度计传感器为方案提供直立过程所需的参数。光电平衡智能小车只有2个轮子,要保证2个轮子可以在赛道上前行,就必须保证小车在2个轮子的情况下可以“站着”,就是小车在直立的时候具有自动调节功能,保证小车“自己”在不倒下的前提下稳定下来。

陀螺仪能够感应小车在Z轴上的变化,加速度计MMA7361会采集到此时直立的参数,然后对采集到的信息进行处理,用PID算法使设计的小车可以在不断调试之后进行直立不动,达到智能小车控制的基本要求。

2.5 线性CCD模块

线性CCD是光电平衡组小车获取赛道信息的主要传感器,根据竞赛规则要求,线性CCD领选用TSL1401系列线性CCD传感器。

线性CCD相当于智能小车的“眼睛”,用来判断小车前进过程中的道路。线性CCD传感器会采集到赛道上不同的地方的亮度进而转化为电压值,在芯片中采用二值化算法进行处理,这种算法就是把电压值高的作为白色处理,电压值低的作为黑色处理,这样小车就可以识别赛道不同地方的差别,进而可以找到整个赛道的边界。小车在前行的过程中,不断采集赛道上的信息,同时芯片可以在任何地方处理当时的信息,保证小车可以在预定的轨道前行。因为不同的赛道需要的速度以及是否需要转弯是不同的,所以小车在不同的元素轨道内需要采用不同的控制算法来保证小车不偏离赛道,直至跑完全程。因此,线性CCD在小车的前进过程中发挥了很大的作用。线性CCD的连接图如图3所示。

2.6 车速检测模块

光电智能小车在设计过程中为了实现车速的闭环控制,系统要实时监测该智能车的前进速度。系统设计中采用欧姆龙编码器E6A2-CW3C进行测速,该编码器转动一圈,可以输出500个脉冲。采集到的编码器数值信息送给单片机,单片机按照预设的程序要求进行数据处理,保证小车按照设定的程序要求运行。

3 系统软件、算法设计

系统算法的设计是智能小车整个系统的核心,决定着小車是否能够稳定运行以及能否快速前行。软件系统设计时首先需要对Kinetis MK60DN512ZVLQ10芯片中的PWM模块、GPIO模块、I/O模块等进行初始化。PWM模块的功能是用来控制驱动电机的转速,PWM越大,驱动电机的转速也越快[5]。I/O模块的功能是用于信息的发射和各种数据的接收。然后,在软件算法设计过程中采用滤波算法、PID算法等。

在自动控制理论中,闭环系统的稳定性要强于开环控制。软件系统设计也采用闭环控制,这样的闭环系统通过不断地采集信息和反馈信息,使小车的性能越来越完善,同时也趋近设计要求[6]。系统程序流程图如图4所示。

4 结论

本文以光电智能小车为研究对象,设计了基于飞思卡Kinetis MK60DN512ZVLQ10单片机的智能小车控制系统。在整个系统中,线性CCD采集道路信息,陀螺仪和加速度计传感器采集自身偏离信息,编码器实现实时检测车速。在单片机中对采集到的信息进行处理,采用一系列闭环控制算法实现小车的起跑、直行、转弯、停止等一系列动作,通过不断地进行调试和修改参数,使小车可以在赛道上稳定、快速、准确地跑完全程。

参考文献:

[1]童诗白,华成英.模拟电子技术基础[M].北京:高等教育出版社,2012.

[2]阎石.数字电子技术基础[M].北京:高等教育出版社,2013.

[3]周立功,陈明计.RM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2008.

[4]谭浩强.C程序设计[M].4版.北京:清华大学出版社,2005.

[5]贺伟,侯宁,刘增力,等.智能循迹小车控制系统设计[J].贵州大学学报(自然科学版),2015(3):89-92.

[6]邵贝贝.单片机嵌入式应用的在线开发方法[M].北京:北京航空航天大学出版社,2008.