第三届电子设计与测试竞赛方案设计报告学院:信息工程学院组长姓名:戴紫旭学号:5120142401班级:电气1402班联系电话:15280959558指导老师:张静选题名称:智能巡线小车(C题)设计报告——智能巡线小车(C题)(林晓强桑朝春)1.系统方案论证1.1小车巡线原理这里的巡线是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。通常采取的方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。1.2方案论证与选择1.2.1巡线模块设计与比较采用一体反射式红外对管,所谓一体就是发射管和接受管固定在一起,反射式的工作原理就是接收管接收到的信号是发射管发出的红外光经过反射物的反射后得到的,所以使用红外对管进行循迹时必须是白色地板加黑色引导条。这次设计中由于是近距离探测,故采用红外对管来完成数据采集。由于红外光波比可见光长,因此受可见光的影响较小。同时红外线系统还具有以下优点:尺寸小、质量轻,便于安装。反射式光电检测器就是其中的一种器件,它具有体积小、灵敏度高、线性好等特点,外围电路简单,安装起来方便,电源要求不高。用它作为近距离传感器是最理想的,电路设计简单、性能稳定可靠。1.2.2供电方案设计与比较方案一:采用两个电源供电,将电动机驱动电源以及其周边电路与单片机电源分别供电,由于单片机的电压较低,而电机需要的电压较高,容易使单片机电压过高而损坏,使用两个电池供电,可以提高系统稳定性,但是多一组电池,增加了小车的质量,同时也增加了小车的惯性,降低了灵敏度。方案二:采用单一电源供电。电源直接给单片机供电,通过单片机的IO口连接到电动机上,这样输出的电压稳定,同时也减轻了小车的质量,使小车更加灵活。但是加高的电压提高了损坏单片机的风险。从安全性考虑,我们选择方案一。1.2.3电机驱动模块设计与比较方案一:33886驱动采用飞思卡尔公司的直流电机驱动芯片MC33886。其驱动能力强,有过流保护功能,状态监测功能,通过PWM调节可实现正反转。1)单独使用一片33886优点:应用电路简单,实现方便。缺点:芯片驱动电流小,内阻大,可能存在发热严重的问题,不好加散热片。2)采用两片或者四片MC33886并联优点:可以增大驱动能力,减少单片机发热量。缺点:存在均流不佳的问题,有碍提高整个装置的输出,甚至造成器件和装置的损害。方案二:L298N驱动L298N是ST生产的芯片,主要特点:工作电压高,最高工作电压可达到46V,并且可以驱动两个电机,可以直接通过电源来调节电压;可以直接用单片机的I/O口提供信号,而且电路简单,使用比较方便。经经验比较,L298N驱动模块运行可靠,取得效果较好,而且电路的电气性能和散热性能较好,此设计选用L298N驱动模块。1.2.4智能小车测距模块设计与比较方案一:用霍尔元件检测小磁片利用霍尔元件检测装在小车轮子上的小磁铁(放置的小磁铁个数可更改)给单片机发送中断脉冲,每受到一次或者几个脉冲后,小车轮子周长加一次,即最后的总数就为距离,霍尔元件具有体积小,频率相应宽度大,动态性好,对外围电路要求简单等优点。但是他的转换率比较低,受外界影响,尤其是温度。方案二:用光栅进行计算在小车的轮子上加上光栅,外围加上光电管进行检测。用这种方法进行检测精确度高,误差较小,安装方便。但是在小车转弯处精确度不高,会造成一定的误差。方案三:使用带有编码器直流电机用这种方法就是简单,直接计算出,而且精度高。缺点在于这种电机非常贵,自己需求大。但根据我们的实际状况,我们决定采用第三种方案。1.2.5刹车机构功能设计与比较方案一:自然减速式当系统发出停止信号时停止给驱动电机供电,小车在无动力状态因阻力而自然变为静止。由于惯性,小车全速行驶时需1.8秒后才能停止,因车轮滑行造成的误差较大。无法实现精确制动的目标。方案二:反转式当小车需要停车时给驱动电机以反转信号,利用轮胎与跑道的摩擦力抵消惯性效应。由于车速是渐减的,反向驱动信号长度也要渐减,否则小车可能反向行驶。使用此方案后全速刹车反应时间减少为0.5s。由于需要对小车进行刹车,从而更加准确的计算路程,故本系统中采用方案二。1.3控制系统总体设计自动循迹小车控制系统由主控制电路模块、稳压电源模块、红外检测模块、电机及驱动模块等部分组成,控制系统的结构框图如图1所示。图1控制系统的结构框图1.主控制电路模块:用EK-TM4C123GXL单片机、复位电路,时钟电路2.红外检测模块:光电传感器ST1883.电机及驱动模块:电机驱动芯片L298N、四个直流电机4.电源模块:双路开关电源2.系统电路设计及指标计算2.1光电管探测模块2.1.1红外传感器ST188简介稳压电源模块主控芯片EK-TM4C123GXLL298N减速电机光电传感器电压比较器含一个反射模块(发光二极管)和一个接收模块(光敏三极管)。通过发射红外信号,看接收信号变化判断检测物体状态的变化。A、K之间接发光二极管,C、E之间接光敏三极管(二者在电路中均正接,但要串联一定阻值的电阻)。图2ST188实物图图3ST188实物图2.1.2具体电路通过ST188检测黑线,输出接收到的信号给LM324,接收电压与比较电压比较后,输出信号变为高低电平,再输入到单片机中,用以判定是否检测到黑线。图4ST188电路图2.1.3传感器安装在小车具体的巡线行走过程中,为了能精确测定黑线位置并确定小车行走的方向,需要同时在底盘装设4个红外探测头,进行两级方向纠正控制,提高其巡线的可靠性。这4个红外探头的具体位置如图6所示。图5传感器安装图图中巡线传感器全部在一条直线上。其中X1与Y1为第一级方向控制传感器,X2与Y2为第二级方向控制传感器,并且黑线同一边的两个传感器之间的宽度不得大于黑线的宽度。小车前进时,始终保持(如图3-4中所示的行走轨迹黑线)在X1和Y1这两个第一级传感器之间,当小车偏离黑线时,第一级传感器就能检测到黑线,把检测的信号送给小车的处理、控制系统,控制系统发出信号对小车轨迹予以纠正。若小车回到了轨道上,即4个探测器都只检测到白纸,则小车会继续行走;若小车由于惯性过大依旧偏离轨道,越出了第一级两个探测器的探测范围,这时第二级探测器动作,再次对小车的运动进行纠正,使之回到正确轨道上去。可以看出,第二级方向探测器实际是第一级的后备保护,从而提高了小车巡线的可靠性。2.2单片机控制板模块对于我们的智能小车,我们使用EK-TM4C123GXL最小系统图6EK-TM4C123GXL最小系统控制板实物图经过我们对EK-TM4C123GXL最小系统的资料的研读,我们知道系统板上的电源模块,复位电路,晶振电路已经具备。然后我们对最小系统板上的可用I/O口进行了统计,统计结果如下:PA2--PA7PB0--PB7PC4—PC7PD0--PD3PE0—PE5PF0—PF5电机及驱动模块2.4.1L298N驱动模块L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值可达3A,持续工作电流2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电机,继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;并且可以外接检测电阻,将变化量反馈给控制电路。使用L298N驱动电机,该芯片可以驱动两个二相电机,也可以驱动一个四相电机,可以直接通过电源来调节输出电压。L298N的主要引脚功能如下:+5V:芯片电压5VVCC:电机电压,最大可接50VGND:共地接法Output1—Output2:输出端,接电机1Output3—Output4:输出端,接电机2EN1、EN2:高电平有效,EN1、EN2分别为IN1和IN2、IN3和IN4的使能端Input1~Input4:输入端,输入端电平和输出端电平是对应的图7L298N实物图图8L298N引脚图图9L298N驱动原理图2.4.2电机控制过程IN1,IN2,IN3,IN4接收脉冲信号L298N的1脚和15脚发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。OUT1,OUT2和OUT3,OUT4之间可分别接电动机的一相。5,7,10,12脚接输入控制电平,控制电机的正反转。ENA,ENB控制使能端,控制电机的停转。表1:电机驱动逻辑关系IN1IN2ENA电机状态XX0停止001顺时针011逆时针000停止110停止控制电机的运行速度只要控制系统发出时钟脉冲的频率或换相的周期,即在升速过程中,使脉冲的输出频率逐渐增加;在减速过程中,使脉冲的输出频率逐渐减少。注释:对应附录中的I/O连接表:6――z(y)1IN15――z(y)1IN24――z(y)2IN13――z(y)2IN22――z(y)1pwmIN1――z(y)2pwmIN2.3LCD显示模块我们采用1602液晶显示对我们所测得的比赛时间和路程,1602控制相对简单,成本也相对较低,因此我们选用1602作为显示模块。简介:工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。图10lcd1602实物图图11lcd1602引脚图2.4距离计算模块我们采用27GMB-1525Y直流减速电机,这种电机内部有两线霍尔编码器,4倍频减速箱减速,轮子每圈有几百脉冲。图12电机实物图电机上编码器的作用及其工作原理:编码器一般用在普通电机的轴端采集旋转了多少角度,伺服和步进电机都有自带的信号反馈一般不需要加装编码器,通过转子在编码器内部扫过了多少个暗刻线来输出多少个脉冲信号,精度选择就是编码器有多少分辨率,越高的角度记录越精确,有AB输出的也有A+B+A-B-输出的,把这两根信号线接在PLC输入端的高速计数输入端子上,一般都是PLC输入的前几个点上,程序控制也是要查找手册用高速计数器接收信号,通过计算得出你想要的电机旋转圈数然后来控制电机的启停达到电机在线性或是转盘角度上的精确定位。通过这种编码器,我们通过它来直接给单片机传送脉冲信号,读取数据,然后进行轮子周长的计算来计算出距离。图13流程框图2.5声光报警模块当系统检测到终点信号时,由主控芯片控制蜂鸣器间歇性鸣响,同时四个发光二极管开始工作,用此时的相应作为到达终点的报警信号。具体电路如下:轮子转动发送脉冲给单片机霍尔元件检测单片机处理数据,计算出距离图14声光报警模块电路图3.系统程序设计及算法分析3.1总体软件流程图小车进入寻迹模式后,即开始不停地扫描与探测器连接的单片I/O口,一旦检测到某个I/O口有信号变化,就执行相应的判断程序,把相应的信号发送给电动机从而纠正小车的状态。软件的主程序流程图如图18所示:图15主程序流程图3.2小车循迹流程图小车进入巡线模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测到某个I/O口有信号,即进入判断处理程序,先确定4个探测器中的哪一个探测