基于单片机的智能小车的设计
目录
摘要 ..............................................................................3 第一章 引言 ......................................................................3 第二章 方案说明 ..................................................................3 2.1、方案论证 ...................................................................3 2.2、总体设计方案概述 ..........................................................4 第三章 硬件电路设计 ..............................................................5 3.1、主控电路 .....................................................................5 3.1.1、L7805稳压器 ...............................................................5 3.1.2、MAX232芯片简介 ..........................................................6 3.2、八路红外传感器模块 ..........................................................6
3.2.1、LM324简介 ..............................................................6
3.2.2、74HC14D简介 ..............................................................6 3.3、L298N电机驱动模块 ..........................................................7
3.3.1、L298N简介 ..............................................................8
3.4、机械部分 .....................................................................9 第四章 软件系统设计 ..............................................................9 4.1、程序流程图 ...................................................................9 4.2、程序设计方案.................................................................9 参考文献 .........................................................................12 第五章 结束语 ...................................................................12 致谢 .............................................................................12 附录1 ...........................................................................13
0
附录2 ...........................................................................13 外文页 ...........................................................................20
基于单片机的智能小车的设计
摘要 本文介绍了基于STC89C52单片机的智能小车的设计与实现。小车主要能够识别黑线并检测障碍物从而实现在固定跑道内行驶并且可自动避障。小车以STC89C52单片机控制器;采用八路红外传感器及其处理模块实现对黑线及障碍物的检测;通过单片机产生PWM波并通过L298N来对小车的方向和速度进行控制。
关键字 STC89C52 单片机 红外传感器 PWM L298N
第二章 方案说明
2.1、方案论证
(1)控制系统
方案二:采用STC89C52单片机,该单片机是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,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、总体设计方案概述
电机 L298N电机控制模块 1 STC89C52单片机系统 八路红外传感器
图1 总体设计框图 本设计以STC89C52单片机系统为控制中心,通过八路红外传感器模块中的两路传感器检测障碍物,
四路传感器检测黑线,检测障碍物的两路传感器分别分布在车头的两端,使其能够检测车前较大范围内的障碍物,尽量减小检测盲区;检测黑线的四路传感器分别分布在小车的四角,从而能够保证小车在跑道内行驶。传感器在接通电源后会不断的发送和接收红外线,接收到的信号经过LM324进行放大然后由74HC14D施密特触发器转换成数字信号输出,而当单片机检测到需要转向的传感器信号时,单片机通过改变PWM波的占空比来调整小车两侧的电机转速,从而使其两侧轮产生速度差,以实现小车的转向。
避障:在小车行驶过程中,若左侧传感器检测到障碍物而右侧传感器未检测到,则小车首先后退之后向右转;同理,若右侧检测到而左侧未检测到,小车先后退之后左转;如果左右均检测到默认小车先后退之后右转。
检测黑线:安装在小车四角的红外传感器负责检测黑线,由于小车是向前行驶所以最先驶出黑线的应该是小车的前端,当左前端传感器检测到黑线时,向单片机发送信号,小车右转;当右前端传感器检测到黑线时,小车左转;当左后端检测到黑线而左前端未检测到时小车先右转再左转,当右后端检测到黑线而左前端未检测到时先左转后右转,当前端两传感器同时检测到黑线时小车先后退之后左转。控制逻辑见 表1
表 1
检测 检测到 检测物 未检测到 障碍物 黑线 0 1 1 0 PWM:脉冲宽度调制(PWM),简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,此处我们主要通过单片机输出PWM波同时通过调节其占空比来实现对小车的控制。
第三章 硬件电路设计
3.1、主控电路
2