毕业设计(论文)基于STC12C5A60S2的智能车设计.doc
-
资源ID:3979913
资源大小:4.63MB
全文页数:46页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
毕业设计(论文)基于STC12C5A60S2的智能车设计.doc
学校代码:10129系 别:计算机技术与信息管理系年 份:2016 毕业设计说明书题 目: 基于STC12C5A60S2单片机的智能车设计小组成员:班 级:13级计算机网络技术班指导教师: 2016年05月摘 要沿袭着前一辈工程师的研发思路,使用资料较多的单片机和原理较简单的传感器搭建一个能够实现壁障和遥控功能的小车还是可以实现的。通过单片机对传感器和模块的控制和处理,让各个模块和芯片按照目的要求运作,便是这次设计的主要目的。本文的研究的思想就是利用单片机控制技术和传感器技术相结合,以STC12C5A60S2单片机为核心,L298N电机驱动、超声波模块、LM339电压比较器、LCD12864显示屏、HC-06从机蓝牙模块组成智能小车。利用LCD显示技术实现数字化显示。通过采集传感器的数据交给单片机处理并按照设定的程序代码区控制小车的运行。关键词:智能小车;单片机;红外壁障;超声波测距;蓝牙模块AbstractArtificial intelligence as a new product of modern society, some time ago, Google Corporation developed AlphaGo program to beat the world chess champion, the artificial intelligence has been pulled into the people's vision. Artificial intelligence will be the trend of future development. In the rapid development of the software at the same time, the hardware circuit also is in a period of rapid development, with the development of large-scale and ultra large scale integrated circuit prompted more and more intelligent hardware volume becomes smaller and smaller, more outstanding performance. In the development of high-tech industries at the same time, the power of life science and technology is constantly expanding people's horizons. Typical is the advent of smart phones, Samsung apple HUAWEI as the representative, quickly put the previous generation of functional machine market occupied, and update speed is still accelerating. Followed by the UAV, Xinjiang zero as the representative, consumer grade UAV also began to appear in people's field of vision, lowered the threshold, so that everyone can become a professional aerial expert. And intelligent vehicle currently in China is still in the development stage to be temporarily without a can as the flagship model of the benchmark, which prompted the a large number of innovative companies in the continuous thinking and research, the purpose is to fill the smart car a gap in the market.Followed the previous generation of Engineers research and development ideas, the use of more information on the microcontroller and the principle of a simple sensor to build a wall barrier and remote control function of the car can still be achieved. Through the control and processing of the sensor and the module, it is the main purpose of this design to make each module and the chip operate according to the purpose.Key words: intelligent car;single chip microcomputer;infrared wall obstacle; ultrasonic distance measuring;Bluetooth module目 录第1章 绪论11.1 智能车研究的背景和意义11.2 智能车的研究现状11.3 智能车研究目前常用的方法1第2章 系统需求分析32.1 系统设计与功能32.2 系统设计原理图32.3 主要器件介绍32.3.1 单片机32.3.2 LCD12864显示模块102.3.3 HC-SR04超声波传感器112.3.4 L298N电压驱动芯片122.3.5 LM339电压比较器芯片122.3.6 DS18B20温度传感器132.3.7 HC-06从机蓝牙模块142.3.8 9G小舵机14第三章 系统硬件设计163.1 单片机最小系统183.2 基于L298N的电机驱动电路设计193.3 基于LM339的红外探测传感器设计203.4 LCD12864液晶屏电路213.5 蜂鸣器电路223.6 超声波模块电路233.7 DS18B20温度传感器电路233.8 串口程序烧录及串行蓝牙通讯电路233.9 PCB板图243.10实物图26第四章 系统软件设计274.1 开发环境274.2 软件程序设计284.2.1 软件延时程序设计284.2.2 液晶屏程序设计284.2.3 超声波程序设计294.2.3 红外壁障程序设计294.2.4 DS18B20程序设计294.2.5 HC-06蓝牙模块程序设计304.2.6 舵机旋转程序设计314.2.7 主函数程序设计32第五章 系统测试335.1 硬件测试335.2 软件测试335.3 软件的下载34总结38参考文献39致谢40第1章 绪论众所周知,科技行业现在的发展状况可以用日新月异来形容,即使技术含量极高的航天事业,也能被其他国家独立研发出来,前几年的朝鲜发射卫星就是鲜明的例子。所以高科技行业是永远不会有休息的时候,今天开发出来的新型玩具,可能第二年就被更有趣的所替代,智能车领域也符合科技发展的规律,传感器的质量和算法的优越决定了智能车的性能。而在玩具领域,智能车目前还处于发展阶段。因此设计出来一款可以稳定实现特定功能的小车具有重要的意义和市场价值。1.1 智能车研究的背景和意义随着科技的进步和人们生活水平的不断提高,给孩子创造一个科技环绕的生活环境不仅能让小孩变得爱思考和爱动手。传感器和主控芯片价格的越来越低,让自己创造个智能小车的门槛变得越来越低。1.2 智能车的研究现状现在智能车仍处于发展阶段,市场上还没有一套完整的智能车玩具。智能车依旧只能活在实验室中,为创客们学习提供一个良好的平台。以飞思卡尔半导体(现被恩智浦收购)公司举办的飞思卡尔杯智能车竞赛将智能硬件带到了高校校园,越来越多的爱动手的大学生已经加入到智能车的开发中,对环境的感知技术也在不断突破,从之前的简单利用红外线的方法识别黑白线变成用线性CCD检测比赛道路,再到现在流行的双车追逐。这无一不表现出智能车将会成为大学生动手创造的一个良好平台。但是想要把智能车给产业化,就目前的形式来说,挑战还是蛮大的,因为传感器的质量决定小车智能化的程度,而想在小车上使用高端的传感器去作为玩具普及到日常生活,这很显然是不现实的,但是选用价格低廉的传感器便会导致小车性能下降,产品品质不高。所以现在智能车想产业化融入日常生活还有待突破。1.3 智能车研究目前常用的方法无论智能车还是普通车,最先考虑的应当是车子的动力系统,优秀的动力才是小车的前提,对于小车的驱动,目前最常用的是采用MOS管搭建,芯片厂商根据这个思路生产了很多的电机驱动芯片,如L298N、BTN7971B、TB6612等。电机,电机分为有刷和无刷,航模用的三相电机还有KV值区别。而我们这次设计本着成本低的原则,选用价格低廉的180g小马达和L298N驱动芯片便能实现要求。主控芯片,主控芯片选用设计要求的51单片机。传感器也选用价格便宜的红外探头采集电压经比较电路反馈给单片机的方案。第2章 系统需求分析2.1 系统设计与功能本设计是基于STC12C5A60S2单片机的智能小车,主要完成以下任务:(1)选择STC12C5A60S2单片机,了解其基本特性和功能、以及应用。(2)正确使用相关传感器采集周围的环境,并让单片机能正确做出处理。(3)通过单片机对LCD的控制,显示单片机发送需要显示的数据信息。2.2 系统设计原理图小车主要由增强型51单片机STC12C5A60S2、HC-SR04超声波模块、L298N电机驱动、LM339电压比较器、DS1302温度传感器、9G小舵机、HC-06从机蓝牙模块构成。在系统结构方面,主要是由单片机采集红外、超声波和蓝牙的数据,分析完成后让电机按照程序设定的方向旋转,并给液晶屏对应的指令,让它能够显示中间数据以及系统状态。图2-1 系统设计结构图Pig2-1 system design structure2.3 主要器件介绍2.3.1 单片机单片机也习惯性称为微控制器(Microcontroler Unit,MCU),是因为它最早被用在工控领域。单片机是计算机领域的一个重要分支,它不是处理某一项特定功能的芯片,而是集成了计算机能作为控制器的最核心部分,它是一个简化的计算机系统,能处理运算量不高的情况下的控制核心,它是大规模和超大规模集成电路发展的产物。作为计算机领域的一个重要分支,单片机凭借体积小,价格便宜,操作方便,迅速占领了大多数电子产品,从使用领域上,单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。在单片机发展的历史中,最具有意义的便是INTEL的8051。在此之后,单片机的发展更是迅速,出现了16位,乃至现在以ARM公司CORTEX作为内核32位单片机。字长在增加的同时,处理速度也在飞速增长,内部存储空间,寄存器数量,外设种类也在不断发展,当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。市面上最多的还是ATMEL公司的AT98C52,在AT的专利期限过去后,越来越多的以8051内核的51单片机如雨后春笋般发展。我国具有自主研发能力的南通国芯微电子的宏晶STC系列,具有有点突出的并且兼容传统51单片机的特点,迅速成为了全球最大的8051系列单片机供应商。STC12C5A60S2是STC公司推出的一款功耗较低、抗干扰性好、性能强的COMS 8 bit微控制器。是宏晶公司推出的一款1T系列单片机,单时钟/机器周期,时钟频率进入单片机后默认不分频,并且指令代码完全兼容传统8051。具有60K程序空间,以及1280Byte的SRAM和1KB E2PROM。STC12C5A60S2使用了传统的MCS-51内核,但具备了一般传统8051单片机不具有的功能,速度的提升、存储空间的增加和更多的寄存器数量。在单个芯片上,集成了一个8bit的CPU和可编程的FLASH,正是因为这个原因,使得STC12C5A60S2在嵌入式控制系统领域中占有一席之地。具有以下标准功能:8KByte的Flash,12802Byte RAM,44位准双向I/O口,并且集成了看门狗定时器,以及内置1KB E2PROM,MAX810复位电路,外部掉电检测电路,内部R/C振荡器,4个16位定时器/计数器,3个时钟输出口,7个外部中断,两路PWM(脉宽调制输出)/PCA(可编程计数器阵列),8路10位精度ADC,工作频率在035MHz(相当于普通8051的0420MHz),无需专用编程器和仿真器便可实现ISP和IAP,通用全双工异步串行口,由于STC12系列是高速的8051,可再用定时器或者PCA软件实现多串口。为了在系统空闲时最大限度的节省功耗,STC12C5A60S2可以选择两种工作模式,分别是空闲模式和节电模式,当运行在空闲模式时:CPU停止工作,允许RAM、定时/计数器、串口、中断工作。当运行在掉电保护工作模式下时:RAM中的内容被保存,RC振荡器暂停工作,单片机正在处理的数据将暂停运行,单片机和外设之间的中间数据在RAM中缓存,下次唤醒时继续处理未处理完的数据,唤醒方式有:外部中断或硬件复位,此时的功耗下降至最低。而且这款单片机的CUP分频速率也可以根据需要自由选择。该芯片具有PDIP、TQFP、LQFP和PLCC等多种封装,以适应不同情况的需求。其结构框图如图2-2所示:图2-2 STC12C5A60S2结构框图Pig2-2 STC12C5A60S2 structure block diagram图2-3 STC12C5A60S2 LQFP封装引脚排列Pig2-3 LQFP STC12C5A60S2 package pin array1.多功能I/O口STC12C5A60S2共有四个8位的并行I/O口:P0、P1、P2、P3端口,以及零散的P4口,它们对应的引脚分别是P0.0P0.7,P1.0P1.7,P2.0P2.7,P3.0P3.7,共38根I/O线。每根线可以单独用作输入或输出。P0端口,该口既可以作为普通的输入/输出口,在系统扩展外部存储器的时候输出低8位的地址,当P0口用作输I/O口时,此时是一个8位的准双向口,内部存在弱上拉(传统8051单片机P0口是开漏结构,需要外接上拉电阻),无需外接上拉电阻。当P0作为Address/Data复用总线使用时,是低8位地址线。P1端口,该口是带有内部上拉电阻的8位准双向I/O端口,可位寻址,P1口也是结构最单一,用途最单一,复位时表现为高电平,可驱动4个LSTTL负载。仅能作为普通的数据输入或输出用,内部结构如下:输出的信息只能是内部总线的信息,当内部总线为0时,MOS管被导通,引脚电平被拉到GND上,对外表现出低电平。当内部总线为高电平时,MOS管被截止,但是由于内部上拉电阻的作用,引脚被上拉到VCC,对外表现为高电平。当P1口作为输入时,需要内部总线向锁存器写高电平,将MOS管截止,引脚上输入电平才能被送到三态缓冲器的输入端,再给三态门一个读信号,引脚上的电平状态就会通过三态门进入内部总线。如图2.3.3:图2-4 STC12C5A60S2 P1口锁存器和缓存器结构Pig2-4 12C5A60S2 P1 port latch and buffer structureP1口具有第二功能,如表2-1。表2-1 P1口管脚第二功能Table2-1 P1 mouth pin second function端口引脚第二功能P1.0/ADC0/CLKOUT2ADC输入通道0;独立波特率发生器的时钟输出P1.1/ADC1ADC输入通道1P1.2/ADC2/ECI/RXD2ADC输入通道2;PCA计数器的外部脉冲输入脚;第二串口数据接收端P1.3/ADC3/CCP0/TXD2ADC输入通道3;外部信号捕获、高速脉冲输出及PWM输出;第二串口数据发送端P1.4/ADC4/CCP1/SSADC输入通道4;外部信号捕获、高速脉冲输出及PWM输出;SPI同步串行接口的从机选择信号P1.5/ADC5/MOSIADC输入通道4;SPI同步串行接口的主出从入P1.6/ADC6/MISOADC输入通道5;SPI同步串行接口的主入从出P1.7/ADC7/SCLKADC输入通道5;SPI同步串行接口的时钟信号P2端口,该口是带有内部上拉电阻的8位准双向I/O端口,可位寻址,复位时输出高电平,在系统扩展时又可以作为高8位地址总线使用。作为输出时:可驱动4个LSTTL负载。当内部总线为0时,MOS管被导通,引脚电平被拉到GND上,对外表现出低电平。当内部总线为高电平时,MOS管被截止,但是由于内部上拉电阻的作用,引脚被上拉到VCC,对外表现为高电平。当P1口作为输入时,需要内部总线向锁存器写高电平,将MOS管截止,引脚上输入电平才能被送到三态缓冲器的输入端,再给三态门一个读信号,引脚上的电平状态就会通过三态门进入内部总线。见下图2-5。图2-5 C12C5A60S2 P2口锁存器和缓存器结构Pig2-5 STC12C5A60S2 P2 port latch and buffer structureP3端口,该口是带有内部上拉电阻的8位双向I/O端口,当做普通输入/输出口时,使用方法和P1、P2类似,可驱动4个LSTTL负载。当系统需要扩展外部器件时,P3口作为第二功能使用。如表2-2所列。图2-6 TC12C5A60S2 P1口锁存器和缓存器结构Pig2-6 STC12C5A60S2 P1 latch and buffer structure表2-2 端口引脚与复用功能表Table2-2 P3 port pin and multiplexing function table端口引脚复用功能P3.0/RXDUART串行数据输入P3.1/TXDUART串行数据输出P3.2/INT0外部中断0输入P3.3/INT1外部中断1输入P3.4/T0/INT/CLKOUT0定时器/计数器0的外部输入;定时器0下降沿中断;定时器/计数器0的时钟输出P3.5/T1/INT/CLKOUT0定时器/计数器1的外部输入;定时器1下降沿中断;定时器/计数器1的时钟输出P3.6/WR外部数据存储器写脉冲P3.7/RD外部数据存储器读脉冲当不主动设置P3端口各位的第二功能,则P3端口线自动处于第一功能状态。当需要使用特定的第二功,其他的引脚做普通I/O口使用时,不能对P3口进行字节操作。P4端口,增强型STC12C5A60S2单片机P4口的访问,如同访问常规的P1/P2/P3口,并且均可位寻址,P4口的地址在C0H,但是标准的REG52头文件中并没有P4口的声明,所以在使用P4口的时候需要在#include <reg52>下一行声明特殊功能寄存器sfr P4=0XC0;然后P4口就可以和普通IO口一样进行字节操作或者位操作。对于P4口的第二功能,需要设置相关的寄存器,将寄存器置位,就可以将P4特定的引脚设置成特定的功能。在这次设计中,普通的四组IO口已经够用,不需要使用P4口的第二功能,所以不再详述。根据4组8位I/O口的结构,可按照需要确定各自的范围。当在一些复杂的系统中,用P0和P2组成16位地址总线,而P3口则因为它特有的第二功能,经常用作传输和控制用,最终只有P1口作为普通的输入/输出口。2.RST复位输入脚(4脚)在振荡器运行时,在复位脚上给两个机器周期的高电平将会使其单片机复位。在复位电路中,根据时间常数 =RC,电容一般为10uf,电阻为10K,需要的时间为10K*10uf=0.1S,在复位时,电容器充电,两端电压在03.5V增加,电阻在5V1.5V之间减少。而单片机晶振频率一般为12M,即时钟周期为1/12 s,这款增强型的8051单片机是1T,所以不需要对时钟频率分频,则机器周期=时钟周期=12us,远小于电容和电阻的时间常数,所以开机时,单片机会复位。当复位按键按下时,电容被短路,RET脚被VCC拉高,所以会出现两个机器周期以上的高电平时间,单片机也会复位。3.地址锁存和ROM编程脉冲输入引脚(27脚)ALE/PROG为高电平时为地址锁存允许控制信号;为低电平时为对内部ROM编程脉冲输入端。在系统扩展时,ALE用来锁存P0口的地址,进而隔离低位地址和数据。当系统中未使用外部存储器时,ALE脚也会有六分之一的固定频率输出,因此可作为外部时钟或外部定时脉冲使用。4.时钟震荡输入XTAL1、XTAL2信号外接晶振引脚。当使用芯片内部时钟时,这两个脚用于外接石英晶振和两个小电容,从而提供震荡频率;当使用外部时钟时,用于接外部时钟脉冲信号。2.3.2 LCD12864显示模块液晶(Liquid Crystal,简称LC)是一种20世纪前后使用广泛的一种轻薄的显示技术。人们熟悉的物质状态(又称相)为气、液、固,较为生疏的是电浆和液晶(Liquid Crystal,简称LC)。液晶相要具有特殊形状分析组合始会产生,它们可以流动,又拥有结晶的光学性质。而液晶的组成物质是一种有机化合物,即以碳元素为核心所构成的一种化合物,同时又具有两种物质的液晶,是以分子间力量而组合的,它们的特殊光学性质和对电磁场敏感特性极有使用价值。 液晶显示(LCD)具有功耗较低、体积较小、重量轻、超薄等许多其他显示器的特点,近几年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。本设计使用的点阵式LCD不仅可以显示字符、数字,还可以显示各种图形及汉字,并且可以实现屏幕上下左右滚动,动画等功能,用途十分广泛。本系统采用液晶显示模块LCD12864,为单色LCD。屏幕分为两半控制,控制引脚为CS1和CS2,数据通过移位寄存器输入。为了方便编程,选用液晶屏模块时选用了带字库的液晶屏,使用时不需要对汉字进行取模,直接以汉字字符或汉字字符串的形式编写程序就行。一共20个管脚,定义如下:表2-3 STC12C5A60S2 P1 latch and buffer structureTable2-3 LCD12864 module pin definition编号名称引脚说明编号名称引脚说明1GND电源负极11DB4串行数据2VCC电源正极12DB5串行数据3V0对比度13DB6串行数据4RS指令/数据14DB7串行数据5R/W读/写15PSB传输方式6E使能16NA空脚7DB0串行数据17RESET复位8DB1串行数据18VOUT电压输出9DB2串行数据19BLA背光正极10DB3串行数据20BLK背光负极2.3.3 HC-SR04超声波传感器超声波测距模块可以提供2CM400CM的非接触式距离感测功能,测距精度在3mm左右,模块内含超声波发射器、接收器与控制电路。基本原理是在TRIG引脚上给10US的高电平,然后会自动发出一组特定频率的超声波,当遇到障碍物时,声波反射后会检测到回声,ECHO脚会产生高电平。ECHO脚表现出的高电平时间就是两倍的到障碍物的距离。即距离=(高电平时间*声速)/2 ,电气特性如表2-4。表2-4 HC-SR04超声波模块引脚定义Table2-4 HC-SR04 ultrasonic module pin definition参数超声波模块特性电压5V DC声波频率40Hz最小角度15°触发信号要求10US以上的TTL脉冲输出回响信号输出TTL电平信号,与距离成正比2.3.4 L298N电压驱动芯片L298是意法半导体ST公司生产的一款大电流大电压的电机驱动芯片。内部含有两个H桥的高电压大电流半桥式非反相驱动器,可以直接用它驱动直流电机或步进电机,采用逻辑信号控制的方法,控制四个信号引脚的高低电平便可以决定电流输出的方向。并且含有两个使能端,方便用户调节PWM时控制。对于H桥的解释就是利用三极管或者MOS管的开关作用,示意图如2-7所示。图2-7 H桥的搭建示意图Pig2-7 Schematic diagram of the H bridge construction如图2-7所示,Q1、Q3为PNP型三极管,Q2、Q4为NPN型三极管,当Q1=1、Q3=0、Q2=1、Q4=0时,Q3与Q2导通,电流从如图所示的方向流过,电机逆时针旋转,同理可以推算出让电机顺时针旋转的三极管状态。L298N中就含有两个类似的H桥,芯片中海包含了两个使能端,使能有效时才会让H桥中的三极管处于放大或截止状态。2.3.5 LM339电压比较器芯片LM339就是集成了四路的电压比较器,四个独立的电压比较器可以在使用时互不干扰,独立工作,用它的两路比较器来采集小车左右方向的障碍物信息,另外两路可以拓展循迹。其芯片引脚定义如下:图2-8 LM339电压比较器引脚图Pig2-8 LM339 voltage comparator pin diagram3脚和12脚为供电脚,以其中一路来说明引脚作用:6脚INPUT2-和7脚INPUT2+是第二路比较器的反相和同相输入端,当两脚的电压存在大小关系时,1脚OUTPUT会表现出高低电平。另外三路同理。2.3.6 DS18B20温度传感器DS18B20温度传感器是达拉斯半导体公司推出的一款温度测量传感器,内部包含高速暂存RAM和可电擦除RAM的存储器。采用了专利性的单总线通讯协议,即仅需一跟线便能实现与主控单元通讯,只要给特定的指令,传感器便会在特定的物理地址中写入特定的数值,读取该数值,按照芯片手册中的转换方式,便能得到传感器所在的实际温度数据。DS18B20能在农业或工业中普遍使用的一个重要原因就是它支持多点组网功能,即多个DS18B20可以并联在唯一的三线上,节省I/O口资源的实现组网多点测温。图2-9 DS18B20实现多点测温Pig2-9 DS18B20 multi point temperature measurement对于DS18B20的操作,因为它是单总线的通讯方式,所以它的每一个指令都必须按照数据手册的要求严格执行,因为任何一条指令时序错误,便可能导致读不出数据或数据错误。具体的操作方法在编程章节再详细介绍。2.3.7 HC-06从机蓝牙模块HC-06是一种集成蓝牙功能的PCB板,用于短距离无线通讯,属于蓝牙数据传输模块。通讯方式为串行方式,采用了主流的CSR蓝牙芯片,执行蓝牙V2.0协议标准。波特率默认9600,默认蓝牙名称是”HC-06” 密码:123456,用户可进入AT模式修改名称密码波特率等相关参数。因为我们在设计智能车时,仅需要将手机传送过去的蓝牙数据接收并处理即可,并不需要用蓝牙的方式向上位机传递小车的运行参数,所以在选用模块时只需要选择仅带从机功能的HC-06即可。因为蓝牙模块的数据传递方式为串口传输,所以它只有四根线,即VCC GND TXD RXD,连线方式和单片机串口连接方式相同。共电源,发送端连接收端,接收端连发送端。单片机接收到串口数据时,便执行单片机的串口传输规则,打开串口中断,将接受到的数据移入SBUF寄存器,再综合处理。图2-10 蓝牙模块与单片机连接示意图Pig2-10 Schematic diagram of Bluetooth module and single chip microcomputer2.3.8 9G小舵机顾名思义,舵机是用来控制舵的,比如轮船的方向舵,飞机的方向舵、升降舵等,这些都需要控制一定的角度,但并非需要连续旋转。所以一般舵机都是只能转动一定的角度,我们这里说的舵机主要应用于航模、车模和监控等多种领域。我们提及的舵机一般是正负 90度之间转动(连续旋转舵机除外),舵机内部是有直流电机,位置电位器和驱动反馈电路板组成,当我们需要舵机转到一定角度时,输入信号会与标准信号比较,如果反馈位置不是所需要的位置,电机则会朝向需要的方向转动,直到转到指定位置,电位器反馈信息促使电机停止转动。舵机的控制信号实际上是PWM信号,周期不变,高电平的时间决定舵机的实际位置。单片机中常用的PWM产生方式有2种,其一是通过定时器或者延时模拟出PWM信号,其二是单片机内部包含PWM发生器。STC12系列内部有PCA(Programmable Counter Array)可编程计数器阵列,可以作为PWM输出,但是在实际测试时,其表现却不尽人意,输出50%以下的占空比时,波形跟理想波形相差太大,所以在控制舵机时采用第一种用定时器模拟出PWM的方案。图2-11 舵机信号控制图Pig2-11 Rudder signal control chart第三章 系统硬件设计本设计主要由单片机最小系统、超声波及舵机、红外对管及比较器、温度传感器、液晶显示器和蜂鸣器电路等部分组成。其中单片机最小系统是单片机工作的基础;超声波及舵机实现对前方障碍的检测,检测到前方有障碍后,舵机再旋转,判断左右方向障碍;红外对管及比较器则修正小车在移动过程中左右可能出现的小偏差;液晶显示电路实时显示测量距离值和温度值。系统整体框图如图3-1所示。图3-1 系统结构框图Pig3-1 System structure diagram本系统以STC12C5A60S2单片机为核心,主要包超声波、红外对管及温度传感器部分,单片机数据处理及控制控制部分,显示屏显示部分。系统通过控制电机驱动芯片达到控制电机的目的,最后在液晶上面显示。Altium Designer中原理图的绘制:Altium Designer是目前EDA设计使用较广的一款软件,是澳洲Altium公司改进DXP和PROTEL99 SE后的成果,用户界面友好,功能强大,是一款优秀的绘制双层/多层电路板软件。图3-2 系统原理图Pig3-2 System principle diagram3.1 单片机最小系统要使单片机工作起来最基本的电路构成为单片机最小系统如图3-3所示。图3-3 最小系统图Pig3-3 Minimum system diagram单片机最小系统包括单片机、复位电路、时钟电路构成。STC12C5A60S2为5V单片机,所以通常给单片机外界5V直流电源。连接方式为单片机中的40脚VCC接正极5V,而20脚GND接电源地端。在VCC和GND之间加上三个103PF的滤波电容器。复位电路是单片机最小系统中所必须的,由电容和电阻提供时间周期,使得单片机在上电时会自动复位。当复位按键按下时,电容器被短路,RET引脚接收到两个机器周期以上的高电平,也会使系统复位,让程序重新从0000H出执行。时钟电路也是单片机最小系统中的必要电路。它好比单片机的心脏,它控制着单片机的工作节奏。时钟电路就是振荡电路,是向单片机提供的时间基准,单片机所有的动作都是在这个基准上进行的。XTAL1和XTAL2分别为反向放大器的输入和输出。通常将晶振接在这两个引脚上,旁边再加上两个负载电容短接到地,让单片机处于并联谐振的状态,最大限度的保证频率值的误差,减小温飘。本系统采用STC系列单片机,相比其他系列单片机具有很多优点。一般STC单片机资源比其他单片机要多,而且执行速度快,内部存储器空间更大。STC系列单片机使用串口对单片机进行烧写,下载程序较为方便;STC12C5A60S2单片机内部集成了看门狗电路;且具有很强抗干扰能力。而且STC是国产的51单片机,DATASHEET为中文,资料更丰富。本系统采用内部方式的时钟电路和加电自复位的复位电路,如下图所示。图3-4 时钟电路图3-5 复位电路Pig3-4 Clock circuit Pig3-5 Reset circuit由于增强型51单片机STC12C5A60S2 在P0口结构上已经将P0口内部加上了上拉电阻,所以在最小系统中就不需要在P0口加额外的上拉电阻了。3.2 基于L298N的电机驱动电路设计L298N是一款内部含有双H桥的电机驱动芯片,每个H桥大概能接受2A左右的电流,电压为系统输入的电压,信号控制为主控芯片的TTL电平。选用Multiwatt的封装L298N为电机提供了强劲稳定的动力。电气连接图如图3-6所示:图3-6 电机驱动电路图Pig3-6 Motor drive circuit diagram其中5、7、10、12脚为控制信号接收脚,连接到单片机的I/O口即可,当INA INB INC IND上分别加高低电平便可以决定2、3、13、14脚输出的电流方向;6和11脚是INA INB 与INC IND的使能脚,当ENA为低电平时,INA INB无论为何值输出端都不会有电流产生,ENB同理,所以在这两个使能脚上加PWM信号,便可以很轻松的调节转速;1脚和15脚SENSE A和SENSE B分别对地接一电阻,下拉的驱动电流将通过这个电阻。当电流过大时电阻上的压降也变大,下拉驱动管的射极电位将被抬高,使下拉驱动管趋于截止,起到过电流保护作用。在原理图上添加8个SMA封装的贴片二极管1N4007作为续流保护二极管,吸收由负载电感造成的反峰,因为电机类似于电感的性质,有可能会发生自感,为了防止电源关闭时自感电压击穿开关元件,才设置了这些二极管作为自感能量的释放途经。同时也是防止电机受外力作用运转时发电造成芯片损坏。3.3 基于LM339的红外探测传感器设计红外探测传感器由于发出的是红外光,常见光对它的干扰极小,且由于价格便宜,而被广泛应用于智能小车的循线、避障以及其它机器人中物料检测、灰度检测等系统中。红外探测传感器含有两个探头,一个是无色透明的LED,此为发射管,它通电后能够产生人眼不可见红外