当前位置:文档之家› 基于单片机的智能小车控制

基于单片机的智能小车控制

信息工程专业课程设计(二)题目基于《STC89C52》单片机的智能小车姓名学号所在院系所在班级完成时间基于单片机的智能小车摘要:智能化作为现代电子产品的新趋势,是今后的电子产业的发展方向。

智能化设计的电子产品可以按照预先设定的模式在一个环境里自动运作,不需要人为的管理,可应用于科学勘探、环境监测、智能家居等方面。

基于单片机的智能小车控制就是其中的一个体现。

本设计实现了一种基于51单片机的按键操作控制和温度检测显示系统,通过温度传感器采集温度数据并且通过显示模块显示出来,通过对按键的操作,自动控制转向电机转向,改变行驶方向。

本课题设计的智能小车,具有按键控制前后左右的功能,温度采集功能,液晶显示功能。

序言 (1)第1章总体设计方案 (2)1.1课题任务分析 (2)1.2 方案论证 (3)1.2.1小车驱动部分 (3)1.2.2 温度显示部分 (3)第2章系统硬件构成 (4)2.1系统设计原理 (4)2.2主要元器件简介 (4)2.2.1 STC89C52RC简介 (4)2.2.2 液晶显示电路 (5)2.2.3 L298N芯片直流电机驱动模块 (6)2.2.4遥控部分独立按键电路 (7)第3章软件的设计与说明 (8)3.1软件设计 (8)3.2软件的说明 (9)3.2.1 控制部分主程序流程 (9)3.2.2 温度检测显示部分主程序流程图 (10)第4章调试与总结 (12)4.1 调试的总结 (12)参考文献 (13)致谢 (14)附录 (15)附件1 L298N电机驱动模块 (15)附件2 小车侧视图 (16)附件3 小车俯视图 (16)附件4 小车最终硬件图 (17)附件5 程序清单 (18)序言随着我国科学技术的进步,智能化和自动化技术越来越普及,各种高科技也广泛应用于智能小车和机器人玩具制造领域,使智能机器人越来越多样化。

智能小车是一个多种高新技术的集成体,它融合了机械、电子、传感器、计算机硬件、软件、人工智能等许多学科的知识,涉及到当今许多前沿领域的技术[1]。

而智能电动车正是智能机器人的一种,具有不可估量的实际意义。

智能车辆是一个运用计算机、传感、信息、通信、导航、人工智能及自动控制等技术来实现环境感知、规划决策和自动行驶为一体的高新技术综合体。

它在军事、民用和科学研究等方面已获得了应用,对解决道路交通安全提供了一种新的途径。

随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。

全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究,许多国家已经把电子设计比赛作为创新教育的战略性手段。

电子设计涉及到多个学科,机械电子、传感器技术、自动控制技术、人工智能控制、计算机与通信技术等等,是众多领域的高科技。

电子设计技术,它是一个国家高科技实例的一个重要标准,可见其研究意义很大。

第1章总体设计方案1.1课题任务分析本文设计了智能小车控制系统。

智能小车是一个运用传感器、单片机、信号处理、电机驱动及自动控制等技术来实现环境感和自动行驶为一体的高新技术综合体,它在军事、民用和科学研究等方面已获得了应用。

通过各种选题之后,我发现制作智能小车非常有意思,它唤起我们对玩具的革新思想,智能小车制作的兴趣。

自己遇到过的汽车的功能是怎样的,想通过自己的手创作出属于自己的智能汽车。

也夹杂一种童年时对玩具智能化的假想。

所以我选定制作单片机智能小车。

通过这次设计,掌握51单片机的原理,了解简单传感器组成原理,初步掌握传感器的调整及测试方法,提高动手能力和排除故障的能力。

同时通过本课题设计与装配、调试,提高自己的动手能力,巩固已学的理论知识,建立单片机理论和实践的结合,了解传感器各单元电路之间的关系及相互影响,从而能正确设计、计算定时计数的各个单元电路。

初步掌握传感器的调整及测试方法。

提高动手能力和排除故障的能力。

本设计采用直流电机,电机专用驱动芯片L298N进行电机驱动控制,主控芯片为STC89C52,控制器部分采用简单按键,温度数据的采集采用DS18B20温度传感器模块,显示部分采用1602液晶。

本次设计虽然只是一个演示模型,但是具有充分的科学性和实用性。

首先我们根据汽车的复杂情况,按照现有材料搭建一个小车模型,车轮,车身,直流电机,按键,温度传感器,单片机,L29BN电机驱动模块等。

DS18B20温度传感器将检测到的温度数据传给单片机,单片机根据接收到的信号进行处理再传给显示模块显示,由按键模块控制小车进行倒车、前进、左转、右转等动作。

1.2 方案论证1.2.1小车驱动部分方案一:小车的电机驱动部分采用自己搭建的9012三极管电路来实行小车的驱动,9012三极管电路具有电路简单,操作方便的等特点。

方案二:小车的电机驱动部分采用L298N芯片直流电机驱动模块,该模块具有较大的驱动带载能力,驱动部分端子供电范围Vs:+5V~+35V,并且另外自带了5V、3V的输出端口。

方案论证:本设计为2轮驱动的小车,对于小车驱动部分要求能够有较大的帯载能力,并且在小车的实际设计过程中,需要不同的输出电压来提供给小车的各个模块。

因此综上所述采用方案二,小车的电机驱动部分使用L298N芯片直流电机驱动模块。

1.2.2 温度显示部分方案一:温度的显示通过数码管显示,数码管驱动简单,但是所能显示的字符数量有限有局限性方案二:用液晶来显示温度传感器采集到的温度,虽然操作比数码管要复杂一点,但是功能比数码管要强大很多,能够显示各种各样的字符方案论证:本设计是要显示温度,并且要显示需要显示英文字符,数码管无法满足要求,因此采用1602液晶来做显示模块第2章系统硬件构成2.1系统设计原理本设计主要分为两部分:按键控制部分和温度检测部分。

控制部分主要由电源电路,单片机最小系统,按键模块和电机驱动模块组成,遥控部分的系统框图如图2-1所示。

小车部分由电源电路,单片机最小系统,显示电路,无线电木块,报警电路,超声波电路等电路模块组成,小车部分的系统框图如图2-2所示。

2.2主要元器件简介2.2.1 STC89C52RC简介常用的单片机有很多种:Intel8051系列、Motorola和M68HC系列、Atmel 的AT89系列、台湾华邦(Winbond)W78系列、荷兰PiliPs的PCF80C51系列、MicrochiP公司系列4位单片机、台湾义隆的EM-78系列等[1]。

本次设计最终选用了STC89C52单片机。

图2-11 液晶显示电路2.2.3 L298N芯片直流电机驱动模块该模块由L298N作为双H桥直流电机驱动芯片,驱动部分端子供电范围Vs:+5V~+35V。

如果在模块上取电压供电,则模块供电范围为Vs:+7V~+35V。

模块的驱动不封峰值电流Io为2A。

其他相关参数见表2-1。

模块的实物图见附录附件1(注:红色线框部分为电源接口)。

表2-1 L298N芯片直流电机驱动模块产品参数逻辑部分端子供电范围Vss +5V~+7V(可板内取电+5V)逻辑部分工作电流范围0~36mA控制信号输入电压范围低电平:-0.3V≤Vin≤1.5V高电平:2.3V≤Vin≤Vss使能信号输入电压范围低电平:-0.3≤Vin≤1.5V(控制信号无效)高电平:2.3V≤Vin≤Vss(控制信号有效) 最大功耗20W(温度T=75℃时)存储温度-25℃~+130℃驱动板尺寸82mm*57mm*33mm(带固定铜柱,散热片高度)驱动板重量60g其他扩展控制方向指示灯、逻辑部分板内取电接口2.2.4遥控部分独立按键电路遥控部分的独立按键与单片机的接口设置为P1.2、P1.3、P1.4、P1.5,分别控制小车的前进、后退、左转弯、右转弯。

独立按键采用低电平触发,即当按下按键时给单片机一个低电平信号,单片机随后做出相应的处理,当按键松开时,单片机接收到一个高电平信号,单片机随后继续做出相应处理。

控制部分的独立按键电路如图2-12所示。

图2-12 控制部分独立按键电路第3章软件的设计与说明3.1软件设计系统功能的实现依赖于软、硬件的协同工作。

主控芯片为STC89C52RC单片机。

单片机控制软件实现遥控和小车的各项功能。

程序编译采用Keil uVision4编程软件,Keil uVision4程序编译界面如图3-1所示。

程序部分采用目前单片机最通用的C语言进行编程。

程序的烧录软件采用STC_ISP_V479软件烧写编译好的HEX文件,STC_ISP_V479软件程序烧写界面如图3-2所示。

图3-1 Keil uVision4编程软件界面图3-2 STC_ISP_V479软件程序烧写界面3.2软件的说明3.2.1 控制部分主程序流程遥控部分主程序流程图如图3-3所示。

程序从主函数开始执行,独立按键模块初始化,同时在主函数中定义单片机口对应的按键按下时所发出的函数值。

接下来判断是否有按键按下,如果有按键按下,则发送相应的按键对应的函数值,接着判断是否又有按键按下。

如果未发现按键按下则在主函数中循环判断是否有按键按下。

图3-3 遥控主程序流程图3.2.2 温度检测显示部分主程序流程图小车部分主程序流程图如图3-5所示。

程序从主函数开始执行,液晶显示模块初始化,按键模块初始化。

各个模块初始化完毕后,单片机判断是否接受到了DS18B20采集的数据信号,如果接收到信号,处理相应的数值,如果没有接收到新的数值则返回继续判断是否接受到新的信号。

接收到信号后,单片机对应的对液晶的读写进行命令。

图3-5 温度检测显示部分流程图第4章调试与总结基于单片机的智能小车控制有许多的模块,在做整体设计之前首先是对每个模块的调试。

只有在确保每个模块都正常的情况下才能进行总体的设计和总体的调试。

每个模块都需要软硬件的调试才能确保模块的正常。

单片机的电路系统相对于简单一些,对于焊接只要多练习就不会出现问题,但是,单片机的电路系统中只要出于一处的错误,则会对检测造成很大的不便,而且电路的交叉线较多,对于各种锋利的引脚都要注意处理,否则会刺破带有包皮的导线,则会对电路造成短路现象。

在本次单片机的设计调试中遇到了很多的问题。

回想这些问题只要认真多思考都是可以避免的,主要问题在于电机不能正常速度驱动,原因出于电源电压不够造成的。

解决方案:更换大功率电源。

4.1 调试的总结通过这次设计,掌握51单片机的原理,了解简单传感器组成原理,初步掌握传感器的调整及测试方法,提高动手能力和排除故障的能力。

同时通过本课题设计与装配、调试,提高自己的动手能力,巩固已学的理论知识,建立单片机理论和实践的结合,了解传感器各单元电路之间的关系及相互影响,从而能正确设计、计算定时计数的各个单元电路。

初步掌握传感器的调整及测试方法。

提高动手能力和排除故障的能力。

相关主题