毕业设计(论文)基于ATS89C52单片机的多功能智能小车设计.doc

上传人:仙人指路1688 文档编号:3978910 上传时间:2023-03-30 格式:DOC 页数:57 大小:12.72MB
返回 下载 相关 举报
毕业设计(论文)基于ATS89C52单片机的多功能智能小车设计.doc_第1页
第1页 / 共57页
毕业设计(论文)基于ATS89C52单片机的多功能智能小车设计.doc_第2页
第2页 / 共57页
毕业设计(论文)基于ATS89C52单片机的多功能智能小车设计.doc_第3页
第3页 / 共57页
毕业设计(论文)基于ATS89C52单片机的多功能智能小车设计.doc_第4页
第4页 / 共57页
毕业设计(论文)基于ATS89C52单片机的多功能智能小车设计.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《毕业设计(论文)基于ATS89C52单片机的多功能智能小车设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于ATS89C52单片机的多功能智能小车设计.doc(57页珍藏版)》请在三一办公上搜索。

1、基于ATS89C52单片机的多功能智能 小车设计作者姓名:专业名称:指导老师:摘要智能作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。智能电动车就是其中的一个体现。本次设计的简易智能电动车,采用STC89C52单片机作为小车的检测和控制核心;智能小车是一种能够通过编程手段完成特定任务的小型化机器人, 它具 有制作成本低廉,电路结构简单,程序调试方便等优点.由于具有很强的趣味性,智能小车深受广大机器人爱好者以及高校学生的喜爱. 本论文介绍的是具有自动避障功能的智能小车的设计与制作 (以下简称 智能小车) ,论文对智

2、能小车的方案选择,设计思路,以及软硬件的功能和工作原理进行了详细的分析和论述.经实践验收测试,该智能小车的电路结构简单,调试方便,系统反映快速,灵活,设计方案正确,可行,各项指标 稳定,可靠.智能避障小车采用四轮驱动,每个轮子各用一个直流电机驱动,通过轮子的正反转动从而达到控制转向的目的。在车体前部装有超声波传感器,当小车前面的传感器检测到障碍时,小车车头转向,这时主控芯片控制其中一个电机反转,车体转向。控制电机驱动来实现前进,转向,倒退等。本设计结构简单,较容易实现,但具有高度的智能化、人性化,一定程度体现了智能。关键词:智能车 STC89C52 单片机 L298NAbstractSmart

3、 sa a modern invention,the development direction of the future intelligence can be according to the preset mode automaticallu in an environment of operation ,dont need to think of management,can be used in scientific exploration and si on.Intelligent electric vehicle is one of the embodiment.The des

4、ign of simple intelligent electric cars,using STC89C52single chip microcomputer as the car detection and control core;Intelligent car is a kind of be able to complete the specific task by programming means the miniaturizationOf the robot,it has low production cost,circuit structure is simple and con

5、venient program debugging.Due to the strong interst,the smart car was deeply loved by robot lovers as well as college students.This paper introduces the intelligent car with obstacle avoidance function is the design and production,paper for smart car scheme selection,design idea and the function and

6、 working principle of the hardwave and software has carried on the detailed analysis and discussion.Acceptance testing by practice,the smart car circuit has simple structure,convenient debugging,the system response is fast,flesible,design scheme is correct,feasible and reliable indicators.Intelligen

7、t obstacle avoidance car with four-wheel drive,each wheel with a dc motor drive,through the positive rotation of the wheel so as to achieve the aim of control steering.ultrasonic sensor mounted at the pfont of the car when the sensor to detect obstacles in front of the car,the car front steering,thi

8、s is one of the main control chip control motor reversing,car body turning.control motor drive to achieve forward,steeting,backards.This design has simple structure,easy to implement,but are highly intelligent,humane,to a certain extent reflects the intelligence.Keywords Intelligent car STC89C52 Sin

9、gle chip L298N目录摘要IAbstractII目录1前言11. 系统的总体与设计21.1 要求21.1.1 基本要求21.2 总体设计22. 方案比较与选择32.1 主控单元32.2 电机方案32.3 舵机42.4 无线模块52.4.1工作原理52.4.2无线模块PT2262/PT227252.5 蓝牙模块62.5.1传输原理72.5.2采用HC-06蓝牙转串口模块72.6超声波模块82.6.1工作原理82.6.2实物图82.7避障模块83主要芯片及硬件单元分析93.1芯片STC89C5293.1.1ATS89C52概述93.1.2引脚功能及描述93.1.3工作原理103.2芯片L

10、298N123.2.1L298N简介123.2.2引脚功能及描述133.2.3控制原理133.3 电机方案153.4电源方案153.5 舵机163.6 无线模块163.7 蓝牙模块164.系统软件分析174.1发送端软件设计174.1.1 无线模块发送端174.1.2蓝牙模块发送端174.2 接收端软件设计174.2.1 无线模块接受端174.2.2蓝牙模块接受端185最小系统图206系统程序流程图236.1各模块框架图236.2 L298N控制直流电机程序256.3无线遥控流程图276.4蓝牙控制程序286.5 超声波避障模块程序297智能小车实物图30总结34致谢35参考文献36附录:各模

11、块程序37前言社会的发展,科技的进步,使得人们对生活中的很多的事物都提出了更高的要求,就像人们自己走累了想到了坐车,所以马车出现了,而马车已经满足不了人们对速度的追求的时候,便又发明了汽车,所以科技创新是基于人们的需要而出现的,那么到了现在这个普通汽车已经很普遍的掌控在人们手中的时候,一个新的概念被提了出来,它就是智能车。其实,智能车研究最早都是在一些发达国家进行的,所以比较早接触智能车领域的国家已经对智能车辆进行了深入、系统、大规模的研究阶段。我国智能车的研究起步比较晚,所以很多还集中在某个单项技术的研究上,不过对于智能车技术的探索却如雨后春笋;各种智能车大赛层出不穷,各高校及智能车研究机构

12、也纷纷加入智能车的研究行列。本设计就是根据前人在智能小车的设计基础上对其进行又一次全新的探索。本车的设计充分考虑了成本与性能综合,它以STC89C52单片机为核心,采用了大扭力的四驱小车底盘,使小车具有充足的动力,除此外,小车还安装了超声波传感器用于检测前方的障碍物,所以小车具有较好的反应速度及检测精度。1. 系统的总体与设计设计并制作了一个智能电动车,其行驶路线满足所需的要求。1.1 要求1.1.1 基本要求满足基本的功能:无线控制,蓝牙控制,超声波避障1.2 总体设计智能避障小车采用四轮驱动,每个轮子各用一个直流电机驱动,通过轮子的正反转动从而达到控制转向的目的。在车体前部装有超声波传感器

13、,当小车前面的传感器检测到障碍时,小车车头转向,这时主控芯片控制其中一个电机反转,车体转向。控制电机驱动来实现前进,转向,倒退等。2. 方案比较与选择根据设计任务要求,并且根据我们自己的需要而附加的功能,该电路的总体框图可分为几个基本的模块,框图2.1如所示:图2.12.1 主控单元控制器主要用于控制电机,通过相关传感器对路面的障碍进行处理,并将处理信号传输给控制器,然后控制器做出相应的处理,实现小车的自动避障。 采用STC89C52RC作为系统控制的方案。STC89C52RC单片机算术运算功能强,软件编程灵活、自由度大,功耗低、体积小、技术成熟,成本也比ARM低。2.2 电机方案采用直流电机

14、,配合L298N驱动芯片组合。优点在于硬件电路的设计简单。当外加额定直流电压时,转速几乎相等。这类电机用于录音机、录相机、唱机或激光唱机等固定转速的机器或设备中,也用于变速范围很宽的驱动装置。如图2.2所示 图2.22.3 舵机控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机转动的方向和速度,从而达到目标停止。如图2.3所示图2.32.4 无线模块2.4.1工作原理发射模块由编码芯片和发射电路组

15、成,当有信号触发时,PT2262 进行编码,然后经过315 MHz 调制电路调制后,将功率放大,最后输出编码, 接收模块收到的信号输入再将收到的信号解码。当接收到信号后, VT 脚输出高电平,同时与PT2262 相应的数据引脚(D0D5)也输出高电平。2.4.2无线模块PT2262/PT2272 芯片简介编码芯片PT2262 以及解码芯片PT2272 是台湾普城公司生产的一种CMOS 工艺制造的低功耗、低价位的通用编解码电路,是目前在无线通信电路中较为常用的芯片,外形分别如图2.4、图2.5 所示图2.4图2.52.5 蓝牙模块2.5.1传输原理HC06蓝牙转串口模块的作用是将从手机蓝牙发送过

16、来的指令接收到后转换成串口的形式通过单片机的串口传给单片机。只需将该模块的RXD接上51单片机的RXD引脚就行(当然还有电源),TXD不用接,因为我们只用它接收手机蓝牙信号,不发送数据。它出厂默认设置的波特率9600 ,不重新设置它的波特率的话,在写单片机串口程序时,也要将波特率设置为9600。 2.5.2采用HC-06蓝牙转串口模块 采用CSR主流蓝牙芯片,蓝牙V2.0协议标准,串口模块工作电压3.3V。 波特率为1200,2400,4800,9600,19200,38400,57600,115200用户可设置核心模块尺寸大小为:28mm x 15 mm x 2.35mm。 5、 工作电流:

17、40MA ,休眠电流:小于1MA 用于GPS导航系统,水电煤气抄表系统,工业现场采控系统。可以与蓝牙笔记本电脑、电脑加蓝牙适配器、PDA等设备进行无缝连接。如图2.6所示图2.62.6超声波模块2.6.1工作原理 超声波是一种频率比较高的声音,指向性强.超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。2.6.2实物图如图2.7所示图2.72.7避障模块 超声波传感器自身可以测定距离,小车在前行过程中,超声波传感器不断的检测障碍物的距离,此时可以设定一

18、个距离值S,当单片机检测到距离小于S 时,自动停车。然后转动固定超声波传感器的舵机左右转动,并分别测出距离S1、S2.当S1S2,则退后转大弯继续行走,当S1、S2 距离不等时,转向距离小的一边然后行走。3主要芯片及硬件单元分析3.1芯片STC89C523.1.1ATS89C52概述STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应

19、用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM, MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。3

20、.1.2引脚功能及描述stc89c52的内核和AT51系列单片机一样,故引脚也相同:18:I/OP1口(P1.0P1.7);9:复位脚(RST/Vpd);1017:I/OP3口(P3.0=RXD,P3.1=TXD,P3.2=-INT0,P3.3=-INT1,P3.4=T0,P3.5=T1,P3.6=-WR,P3.7=-RD);18、19:晶振(18=XTAL2,19=XTAL1);20:地(Vss);2128:I/OP2口(P2.0P2.7); 29:-PSEN;30:ALE/-PROG;31:-EA/Vpp3239:I/OP0口(P0.7P0.0);40:+5V电源。注:引脚功能前加“-”,

21、说明其是低电平有效。如P3.2=-INT0。3.1.3工作原理STC89C52 单片机是最早期也最典型的产品,低功耗、高性能、采用CHMOS 工艺的8位单片机。它具有更加简单方便等优点,具体如下5:STC89C52 单片机是最早期也最典型的产品,低功耗、高性能、采用CHMOS 工艺的8位单片机。它在硬件资源和功能、软件指令及编程上与Intel 80C3X 单片机完全相同。在应用中可直接替换。在STC89C52 内部有FLASH 程序存储器,既可用常规的编程器编程,也可用在线使之处于编程状态对其编程。编程速度很快,擦除时也无需紫外线,非常方便。STC89C5X 系列可认为是Intel 80C3X

22、 的内核与STC FLASH 技术的结合体。它为许多嵌入式控制系统提供了灵活、低成本的解决方案。1.主要性能与MCS-51 产品指令系统完全兼容;片内集成4KB 的FLASH 存储器,可反复编程/擦除1000 次;数据保留时间:10 年;全静态设计,时钟频率范围为024MHz、33MHz;三个程序存储器保密位;1288 字节的内部RAM;32 条可编程的I/O 口线;2 个可工作于4 种模式的16 位定时/计数器;5 个中断源/2 个中断优先级;可编程串行通道;具有4 种工作模式的全双工串行口;低功耗的待机工作模式和掉电工作模式;片内振荡器和时钟电路;具有4 种工作模式的全双工串行口;低功耗的

23、待机工作模式和掉电工作模式;片内振荡器和时钟电路;图2-2 STC89C52 引脚图2.管脚说明VCC:供电电压。GND:接地。P0 口:P0 口为一个8 位漏级开路双向I/O 口,每脚可吸收8 个TTL 门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH 编程时,P0 口作为原码输入口,当FLASH 进行校验时,P0 输出原码,此时P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的8 位双向I/O 口,P1 口缓冲器能接收输出4 TTL 门电流。P1 口管脚写入1 后,被内部上拉为高,可用作输入

24、,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的8 位双向I/O 口,P2 口缓冲器可接收,输出4个TTL 门电流,当P2 口被写1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流,这是由于内部上拉的缘故。P2 口当用于外部程序存储器或16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH 编程和

25、校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚是8 个带内部上拉电阻的双向I/O 口,可接收输出4 个TTL 门电流。当P3 口写入1后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为ST89C52的一些特殊功能口,P3 口管脚备选功能:P3.0 RXD(串行输入口);P3.1 TXD(串行输出口);P3.2 INT0(外部中断0);P3.3 INT1(外部中断1);P3.4 T0(计时器0 外部输入);P3.5 T1(计时器1 外部输入);P3.6 WR (外部数据存储器写选通);P3.7 RD

26、 (外部数据存储器读选通);P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位时,要保持RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。如想禁止ALE的输出可在SFR 8EH 地址上置0。此时, ALE 只有在执行MOVX,MOVC 指令是ALE 才起作用。另外

27、,该引脚被略微拉高。如果微处理器在外部执行状态ALE 禁止,置位无效。PSEN :外部程序存储器的选通信号。在由外部程序存储器读取指令期间,每个机器周期两次PSEN 有效。但在访问外部数据存储器时,这两次有效的PSEN 信号将不出现。EA /VPP:当EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1 时,EA 将内部锁定为RESET;当EA 端保持高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于施加12V 编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输

28、出。3.振荡器特性XTAL1 和XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4.芯片擦除整个EPROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平10ms 来完成。在芯片擦除操作中,代码阵列全被写1且在任何非空存储字节被重复编程以前,该操作必须被执行。5.编程算法(1)地址线上输入欲编程的存储单元地址;(2)在数据线上输入编程数据;(3)

29、加正确的控制信号组合;(4)在高压模式下使VPP 为12V;(5)在ALE 引脚上加一次负脉冲,可对FLASH 存储器的一个字节或保密位进行编程。编程一个字节的周期是内部自定时的,典型时间不会超过1.5ms。改变编程的存储单元地址和编程数据重复步骤(1)(5),直到编程文件最后。此外,STC89C52 设有稳态逻辑,可以在零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作,但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.2芯片L298N3.2.1L298N简介L2

30、98也是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。3.2.2引脚功能及描述L298N可接受标准TTL逻辑电平信号VSS,VSS可接457V电压。4脚VS接电源电压,VS电压范围VIH为2546V。输出电流可达2A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT

31、3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。EnA,EnB接控制使能端,控制电机的停转。表1是L298N功能逻辑图。3.2.3控制原理如图4.1所示图4.1(1)虚线框图1控制电机正反转,U1A,U2A是比较器,VI来自炉体压强传感器的电压。当VIVRBF1时,U1A输出高电平,U2A输出高电平经反相器变为低电平,电机正转。同理VIVRBF1时,电机反转。电机正反转可控制抽气机抽出气体的流量,从而改变炉体压强。(2)虚线框图2中,U3A,U4A两个比较器组成双限比较器,当VBVIVA时输出低电平,当VIVA,VIVB时

32、输出高电平。VA,VB是由炉体压强转感器转换电压的上下限,即反应炉体压强控制范围。根据工艺要求,我们可自行规定VA,VB的值,只要炉体压强在VA,VB所确定范围之间电机停转(注意VBVRBF1VA,如果不在这个范围内,系统不稳定)。(3)虚线框图3是一个长延时电路。U5A是一个比较器,Rs1是采样电阻,VRBF2是电机过流电压。Rs1上电压大于VREF2,电机过流,U5A输出低电平。由上面可知,框图1控制电机正反转,框图2控制炉体压强的纹波大小。当炉体压强太小或太大时,电动机转到两端固定位置停止,根据直流电机稳态运行方程3UCeNRaIa其中:为电机每极磁通量;Ce为电动势常数;N为电机转数;

33、Ia为电枢电流;Ra电枢回路电阻。电机转数N为0,电机的电流急剧增加,时间过长将会使电机烧坏。但电机起动时,电机中线圈中的电流也急剧变大,因此我们必须把这两种状态分开。长延时电路可把这两种状态区分出来。长延时电路工作原理:当Rs1过流U5A产生一个负脉冲经过微分后,脉冲触发555的2脚,电路置位,3脚输出高电平,由于放电端7脚开路,C1,R5及U6A组成积分器开始积分,电容C1上的充电电压线性上升,延时运放积分常数为100R5C1。当C1上充电电压,即6脚电压超过23VCC,555电路复位,输出低电平。电机启动时间一般小于08s,C1充电时间一般为081s。U5A输出电平与555的3脚输出电平

34、经U7相或,如果U5A输出低电平大于C1充电时间,U7在C1充电后输出低电平由与门U8输入到L298N的6脚ENA端使电机停止。如果U5A的输出电平小于C1充电时间,6脚不动作电机的正常启动。长延时电路吸收电机启动过流电压波形,从而使电机正常启动。3.3 电机方案采用L298N的直流驱动芯片:L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;

35、具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;并且可以外接检测电阻,将变化量反馈给控制电路。使用L298N驱动电机,该芯片可以驱动两个二相电机,也可以驱动一个四相电机,可以直接通过电源来调节输出电压;也可以直接用单片机的I/O口提供信号;而且电路简单,使用比较方便原理图如图4.2所示:图4.23.4 电源方案使用7.2V可充电式锂电池,经过稳压电路得到5V电压。电池的优点是体积小、重量轻,为单片机机和各模块供电,能够满足本次设计的要求。此电路中使用两个7805稳压模块,分别为单片机及传感器模块和电机供电,以便防止干扰,使

36、电路更加稳定。3.5 舵机控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。3.6 无线模块PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编/解码电路,是目前在无线通讯电路中作地址编码识别最常用的芯片之一。PT2262/2272最多可有12位(A0-A11)三态(悬空,接高电平,接低电平)地址设定

37、管脚,任意组合可提供531441个地址码。PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚(Dout)串行输出,可用于无线遥控发射电路。PT2262和PT2272的引脚排列见图2。对于编码器PT2262,A0A5共6根线为地址线,而A6A11共6根线可以作为地址线,也可以作为数据线,这要取决于所配合使用的解码器。若解码器没有数据线,则A6A11作为地址线使用,这种情况下,A0A11共12根地址线,每线都可以设置成“1”、“O”、“开路”三种状态之一,因此共有编码数312531441种;但若配对使用的解码器的A6A11是数据线,例如PT2272,那么这时PT2262

38、的A6A11也作为数据线用,并只可设置为“1”和“0”两种状态之一,而地址线只剩下A0A5共6根,编码数降为36=729种。3.7 蓝牙模块HC06蓝牙转串口模块的作用是将从手机蓝牙发送过来的指令接收到后转换成串口的形式通过单片机的串口传给单片机。只需将该模块的RXD接上51单片机的RXD引脚就行(当然还有电源),TXD不用接,因为我们只用它接收手机蓝牙信号,不发送数据。它出厂默认设置的波特率9600 ,不重新设置它的波特率的话,在写单片机串口程序时,也要将波特率设置为9600。4.系统软件分析4.1发送端软件设计本系统采用无线模块发送信号和蓝牙发送信号两种模式工作4.1.1 无线模块发送端发

39、射模块由编码芯片和发射电路组成,当有信号触发时,PT2262 进行编码,然后经过315 MHz 调制电路调制后,将功率放大,最后输出编码。 接收模块收到的信号输入再将收到的信号解码。当接收到信号后, VT 脚输出高电平,同时与PT2262 相应的数据引脚(D0D5)也输出高电平。4.1.2蓝牙模块发送端蓝牙模块发送端安装在安卓手机上。4.2 接收端软件设计4.2.1 无线模块接受端接收模块收到的信号输入再将收到的信号解码。当接收到信号后, VT 脚输出高电平,同时与PT2262 相应的数据引脚(D0D5)也输出高电平。4.2.2蓝牙模块接受端从手机蓝牙发送过来的指令接收到后转换成串口的形式通过

40、单片机的串口传给单片机。只需将该模块的RXD接上51单片机的RXD引脚就行(当然还有电源),TXD不用接,因为我们只用它接收手机蓝牙信号,不发送数据。它出厂默认设置的波特率9600 ,不重新设置它的波特率的话,在写单片机串口程序时,也要将波特率设置为9600图4.3图4.45最小系统图该系统主要用到的是单片机,所以主要的部分是最小系统图,该最小系统图原理图如图5.1,PCB图如图5.2所示,实物图如图5.3,5.4所示:图5.1图5.2图5.3图5.46系统程序流程图按照预定的功能,系统实现预定的功能的程序流程图如下所示:6.1各模块框架图智能小车结构图,无线模块流程图,蓝牙遥控框架图,避障原

41、理框架图分别如图6.1,图6.2,图6.3,图6.4所示:图6.1图6.2图6.3图6.46.2 L298N控制直流电机程序6.3无线遥控流程图6.4蓝牙控制程序6.5 超声波避障模块程序7智能小车实物图总结本系统采用MSC-51系列单片机STC89C52、L298N电机控制芯片和超声波传感器来设计智能小车,实现了小车的自动避障。系统不足之处为避障的检测距离较短。这是由于所选超声波传感器的检测距离所限,若要进行提高需更换检测距离更远的传感器即可;本设计方案按照要求,以单片机为控制核心,结合无线遥控模块、蓝牙模块、超声波避障模块、电机控制模块实现小车的无线遥控,蓝牙遥控,自动避障功能。基本完成各

42、项指标,实现小车的智能化行驶。系统是通过软硬结合的方式,得到硬件检测信号后输入单片机各个对应的I/O接口,通过汇编程序控制过程,小车由遥控启动后,自动寻迹,并不断检测遥控、避障,只要得到其中任何一种信号都将转入它们对应的功能模块,实现有效控制。由于时间不足以及客观多方面的困难,整个小车相比任务书中的要求已经简化的比较多,伴随着也出现多个地方的不足:遥控只能达到前进后退左右转向,不能控制停止;电机转速过快使寻迹灵敏度不高等等。不过,这些一定的不足有利于激发我的兴趣,不断改进完善小车:遥控达到以上功能外还将加入速度控制,停启等;语音则应用语音芯片实现人类语音智能控制;同时也可以加入里程计算显示或则

43、其他温度、湿度、气压的控制检测等多方面的功能,达到智能机器人的效果。这些也需从工作中学习实现,让自己更上一个台阶。 致谢历时几个月的毕业设计已经告一段落。经过自己不断的搜索努力以及老师的耐心指导和热情帮助,本设计已经基本完成。在这个过程中老师以及曾做过此类设计的同学给予了我很大的帮助,给我提供了大量的硬件和软件资料,也给我的设计提出了宝贵的意见和建议。在此,对大家表示衷心的感谢! 这次设计不仅是对我们大学三年专业知识的一次集中地检验,同时也为我们提供了一个进入职场前的实战机会;通过这次在老师指导下做设计的机会,我对于技术实践方面有了更深刻的认识,也进一步夯实了所学的专业知识。虽然在设计中对于知

44、识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这几个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。 由于自身水平有限,设计中一定存在很多不足之处,敬请各位老师批评指正。 最后,再次向给予我指导和帮助的老师和各位同学表示最诚挚的谢意!参考文献1 吴炳胜,王桂梅等编著,80C51单片机原理及应用M,冶金工业出版社,20012 靳栀,潘育山,邬芝权,单片机原理及应用C51编程技术M,西南交通大学出版社,2004.33陈汝全,电子技术常用器件应用手册第二版M,机械工业出版社,2000.104吉雷,Protel99从入门到精通J,西安电子科技大

45、学出版社,2000.105高鹏年,安涛,寇怀成,电路设计与制版M,人们有点出版社,20006陈光东,赵性初,单片机微型计算机原理与接口技术M,华中理工大学出版社,19937余永权,江明慧,黄英,单片机在控制系统中的应用M,电子工业出版社,2003.108万隆,巴奉丽,单片机原理及应用技术M,清华大学出版社,2010.39杨素行,模拟电子技术基础简明教程第三版M,高等教育出版社,2010.12附录:各模块程序L298N控制直流电机程序#include #define uint unsigned int #define uchar unsigned charsbit en1=P10; 电机驱动管脚

46、定义sbit en2=P11;sbit s1=P12;sbit s2=P13;sbit s3=P14;sbit s4=P15;uchar t=0; /* 中断计数器 */ uchar m1=0; /* 电机1速度值 */ uchar m2=0; /* 电机2速度值 */ uchar tmp1,tmp2; void ini_timer0(void) 定时器初始化函数 EA=1; ET0=1; TMOD=0x02; TH0=156; /重装初值使定时器定在100us TL0=156; TR0=1;void start_car(void) /小车启动,启动函数,开启定时器,暂时处于停车待机状态 s1=0; s2=0; s3=0; s4=0; en1=1; en2=1;void motor(uchar index, uchar speed) 电机处理函数 if(index=1) /* 电机1的处理 */ m1=speed; s1=1;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号