0基于单片机的智能小车的设计目录摘要..............................................................................3第一章引言......................................................................3第二章方案说明..................................................................32.1、方案论证...................................................................32.2、总体设计方案概述..........................................................4第三章硬件电路设计..............................................................53.1、主控电路.....................................................................53.1.1、L7805稳压器...............................................................53.1.2、MAX232芯片简介..........................................................63.2、八路红外传感器模块..........................................................63.2.1、LM324简介..............................................................63.2.2、74HC14D简介..............................................................63.3、L298N电机驱动模块..........................................................73.3.1、L298N简介..............................................................83.4、机械部分.....................................................................9第四章软件系统设计..............................................................94.1、程序流程图...................................................................94.2、程序设计方案.................................................................9参考文献.........................................................................12第五章结束语...................................................................12致谢.............................................................................12附录1...........................................................................131附录2...........................................................................13外文页...........................................................................20基于单片机的智能小车的设计摘要本文介绍了基于STC89C52单片机的智能小车的设计与实现。小车主要能够识别黑线并检测障碍物从而实现在固定跑道内行驶并且可自动避障。小车以STC89C52单片机控制器;采用八路红外传感器及其处理模块实现对黑线及障碍物的检测;通过单片机产生PWM波并通过L298N来对小车的方向和速度进行控制。关键字STC89C52单片机红外传感器PWML298N第二章方案说明2.1、方案论证(1)控制系统方案二:采用STC89C52单片机,该单片机是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口[3]。其完全可以满足本设计对小车功能的要求,并且价格便宜;所以本设计最终选用STC89C52单片机作为其控制芯片。(2)避障与寻线传感器方案一:采用US-100超声波测距模块,该模块可实现2cm~4.5m的非接触测距功能,拥有2.4~5.5V的宽电压输入范围,静态工作电流2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠且方向性好但其近距离反射时干扰较大。方案二:采用八路红外对管及处理模块,该模块可工作在3.3到5V电压下检测距离在1-6厘米,采用多圈式电阻调节检测距离,且尺寸较小可方便的搭载在小车上,同时其平均价格要比US-100要低;其八路的传感器可分别用作测距与检测黑线;综合上述考虑,本设计采用八路红外对管作为其避障与寻线传感器。2.2、总体设计方案概述STC89C52单片机系统八路红外传感器L298N电机控制模块电机2本设计以STC89C52单片机系统为控制中心,通过八路红外传感器模块中的两路传感器检测障碍物,四路传感器检测黑线,检测障碍物的两路传感器分别分布在车头的两端,使其能够检测车前较大范围内的障碍物,尽量减小检测盲区;检测黑线的四路传感器分别分布在小车的四角,从而能够保证小车在跑道内行驶。传感器在接通电源后会不断的发送和接收红外线,接收到的信号经过LM324进行放大然后由74HC14D施密特触发器转换成数字信号输出,而当单片机检测到需要转向的传感器信号时,单片机通过改变PWM波的占空比来调整小车两侧的电机转速,从而使其两侧轮产生速度差,以实现小车的转向。避障:在小车行驶过程中,若左侧传感器检测到障碍物而右侧传感器未检测到,则小车首先后退之后向右转;同理,若右侧检测到而左侧未检测到,小车先后退之后左转;如果左右均检测到默认小车先后退之后右转。检测黑线:安装在小车四角的红外传感器负责检测黑线,由于小车是向前行驶所以最先驶出黑线的应该是小车的前端,当左前端传感器检测到黑线时,向单片机发送信号,小车右转;当右前端传感器检测到黑线时,小车左转;当左后端检测到黑线而左前端未检测到时小车先右转再左转,当右后端检测到黑线而左前端未检测到时先左转后右转,当前端两传感器同时检测到黑线时小车先后退之后左转。控制逻辑见表1表1检测检测物检测到未检测到障碍物01黑线10PWM:脉冲宽度调制(PWM),简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,此处我们主要通过单片机输出PWM波同时通过调节其占空比来实现对小车的控制。第三章硬件电路设计3.1、主控电路图1总体设计框图3本模块主要是采集信号并进行分析,同时输出PWM波控制电机速度,从而控制小车前进转弯等动作。其中,此处采用STC89C52单片机作为主控芯片,由9—12V直流电通过78M05稳压芯片后进行供电;单片机读写口连接了MAX232芯片,并焊接了串口接口,使其能够直接使用USB转串口线下载程序;除此之外,单片机引脚全部通过排针引出,使得此电路连接其他模块更加方便。复位及时钟电路分别见图2和图3,单片机引脚电路见附录13.1.1、L7805稳压器L7805是我们最常用到的稳压芯片,本设计中采用7节5号干电池进行供电,电容C2、C3对输入到L7805前的直流电进行滤波,之后输入到L7805,经其稳压后输出5V直流电,给单片机供电。如图43.1.2、MAX232芯片简介MAX232芯片是美信(MAXIM)公司专门为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电;TTL/CMOS数据从T1IN、T2IN输入,转换成RS-232数据后从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输入到单片机的RXD、TXD口;此处MAX232主要在下载程序时对由串口发出来的信号进行转换。其电路如图53.2、八路红外传感器模块图2复位电路图3时钟电路图4稳压电路4红外线在不同颜色的物体表面具有不同的反射性质,所以我们可以利用红外对管对黑线及障碍物进行检测;此模块拥有两个LM324放大器和两个74HC14D,当红外线在不同颜色物体上的反射光被接收管接收到时会产生不同幅度的电压,经由模块的LM324芯片进行信号放大,之后输入到74HC14D进行高低电平的转换。小车在行驶过程中红外管不断地向外发射红外线,当红外光遇到白色地面时发生漫发射,反射光被接收管接收,模块输出低电平;如果遇到黑线则红外线被吸收,接收管接收不到信号,此时模块输出高电平;单片机通过程序控制不断检测模块输出引脚的高低电平从而实现信号的检测。小车的避障原理与此类似,当红外管不断发出红外线,而在距小车前方6cm无障碍物时,红外线不发生反射,此时接收管接收不到反射光,模块输出低电平;当小车前方6cm内有障碍物时,红外管发出的红外线将会被反射回来,接收管接受到反射光,模块输出高电平。3.2.1、LM324简介LM324内部包括有两个独立的、高增益、内部频率补偿的运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。3.2.2、74HC14D简介74HC14D是6路施密特触发器件,内含6个独立的出发倒相器,在正逻辑中它们执行波形整形和倒相功能;它也是5V电源供电且不需要外围元件。53.3、L298N电机驱动模块该模块采用了L298N双H桥直流电机驱动芯片,驱动电机部分VIN采用+9V直流电源供电,同时模块上安装了L78M05稳压器对vin的输入进行稳压,逻辑部分VCC采用+5V供电,小车运行时通过单片机向该模块1、2、3、4脚输入控制信息来控制小车电机的转速。其电路如图6、7、8图5TTL转换电路图6电机控制电路[7]63.3.1、L298N简介L298N内部包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。输出电压最高可达50V,可以直接通过电源来调节输出电压;用单片机的IO口提供信号;而且电路简单,使用比较方便。L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。4脚VS接电源电压,VS电压范围VIH为+2.5~46V。输出电流可达2A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机