2011年全国大学生电子设计竞赛论文课题:智能小车(C题)摘要:为了满足智能小车的设计要求,设计了以微控制器为核心的控制系统和算法。首先进行了各单元电路方案的比较论证,确定了硬件设计方案。小车采用了两轮双电机驱动方式,以16位微控制器MC9S128MAA作为控制核心。采用VNH3SP30驱动直流电机,该驱动芯片具有内阻小、电流大、且控制简单的特性。通过编码器及PID控制算法实现了小车运动速度和转向的精准控制。通过红外发射管及1KL3B红外接收管,实现了小车搜寻内沿黑线及边线等功能;系统显示单元选用了图形点阵式LCD,通过串行数据通信实现信息显示。实际测试表明,所采用的设计方案先进有效,完全达到了设计要求。关键词:智能小车,红外,寻线,超车,单片机-1-1、系统方案的设计与论证1.1系统总体框架整个系统分为系统模块、角度检测模块、电机驱动模块、电源模块、显示模块。各模块的系统框图如图1所示。MCU标志线线检测模块边线检测模块电机驱动超声模块无线通信模块图1系统模块框图1.2方案论证与比较(1)控制模块传统的51单片机广为应用,具有使用简便、便宜价格等优点,但是其运算能力较低,速度较慢,功能相对单一,难以实现较复杂的任务要求。MC9S12XS128是一款功能强大的16位微控制器,具有非常丰富的片上资源,如:10位精度的ADC,节省了片外AD;强大的定时器,方便对电机进行控制,可以进行浮点型运算。另外还有精密的比较器,大容量的RAM和ROM,可存储大容量的程序。(2)电机模块方案方案一:采用步进电机控制悬挂物体的准确运动,步进电机不需要使用传感器就能精确定位,但其驱动能有限不适合驱动小车。方案二:采用低内阻大电流的电机驱动芯片VNH3SP30驱动直流电机,相比于L298NSP30优势明天且速度相应较好。基于上述理论分析,我们选择方案二。(4)显示系统方案方案一:采用LED数码管显示器。LED数码管亮度高,醒目,但是其电路-2-复杂,占用资源较多,显示信息量较小。方案二:LCD液晶显示器。LCD有明显的优点:微功耗、显示信息量大、字迹清晰、美观、视觉舒适,使整个控制系统更加人性化。因此,决定选用方案二。综合以上各部分的比较结果,决定以MC9S12XS128微控制器为核心,通过驱动芯片控制直流电机实现小车的运动控制,以红外发射接收管实现边线和标志线的检测,同时在LCD上显示实时信息。2、系统的硬件设计与实现2.1系统的总体设计根据前面的分析,设计出本系统的总体架构如图2所示。MCUMC9SXS128MAA标志线线检测模块边线检测模块电机驱动超声模块无线通信模块图2.系统架构框图2.2单元电路设计及参数计算(1)边线检测模块寻边线模块利用XL6003产生的恒流源驱动红外发射管,接收管采用1KL3B高灵敏度红外接收管,再通过LM393比较器实现硬件二值化输出,直接输送至单片机的IO口,提高了系统的工作效率。图3和图4分别给出了寻边线模块的工作流程及原理图。-3-红外管发射接收管检测比较器判断输出0检测到黑线输出0高于比较电压低于比较电压恒流源驱动图3寻边线模块的工作流程图4寻边线模块的原理图(2)标志线检测模块标志线检测采用检测黑线常用的TCRT5000对管,在接收管输出处上拉即可直接连接单片机IO口输入单片机,在单片机内部经过数字滤波实现精准的标志线检测。该模块的原理图如图5所示。图5标志线检测模块原理图(3)直流电机驱动电路竞赛之初我们采用LN298作为电机驱动,但经过一天的调试以后发现LN298的驱动能力不足且内阻较大,PID调速很不稳定,因而采用了大电流低内阻的SP30芯片实现电机驱动,经过调试获得了良好的速度特性。电机驱动电路的原理图如图6所示。-4-图6电机驱动板原理图(4)液晶显示电路选取了48*84点阵型的NOKIA5110液晶,显示与前车距离。3、软件设计系统软件采用C语言开发,在CodeWarriorIDE环境下调试并实现功能。主程序流程如图7所示,进入主程序并初始化后,判断拨码开关键值后执行相应的程序。软件程序设计采用模块化的结构,便于分析和实现功能。当拨码开关5为off是实寻线绕场一周程序,当为on的时候为超车程序。流程图如图8所示。-5-开始寻内侧线匀速前进识别超车线寻外侧线减速前进识别起跑线停止图7正常行驶一周的系统软件流程初始化(A车在前)A车出发沿内边线行驶发给B车行驶指令B车出发AB车寻线利用超声跟随逐步提速A车寻边线超车标记线减速等待B超车B车寻到超车标记线开始超车超车结束发送超车结束信息AB车交换序号循环超车图8超车程序的流程图4、系统实测在系统各部分硬件搭建完毕,软件调试结束后,我们对系统进行了实际测试。数据表格分别如表1-表3所示。-6-表1.小车行进一周的时间(单位:秒)第一圈第二圈第三圈第四圈第五圈第六圈第七圈第八圈均值甲车191918181818181818.25乙车181819181819191918.5表2.超车一周的时间(单位:秒)第一圈第二圈第三圈第四圈第五圈第六圈第七圈第八圈均值甲车242424252525242524.5乙车232324242423232523.6表3.两车间的最大距离(单位:cm)第一圈第二圈第三圈第四圈第五圈第六圈第七圈第八圈均值间距223232243231226237234225231.45.结论通过合理的系统构建和软件编程,本系统能够完成题目要求,实现平稳的行驶和超车过程。实际测试表明,所设计的软件和硬件系统具备良好的稳定性,小车具有较快的速度,可持续运行10圈,超出题目要求。由于时间的原因,在设计时有部分因素未能实现,如采用探测距离更远的传感器、实现更好的速度调节等。