毕业设计-基于89c52单片机的wifi智能小车设计_第1页
毕业设计-基于89c52单片机的wifi智能小车设计_第2页
毕业设计-基于89c52单片机的wifi智能小车设计_第3页
毕业设计-基于89c52单片机的wifi智能小车设计_第4页
毕业设计-基于89c52单片机的wifi智能小车设计_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

四川信息职业技术学院毕业设计说明书设计题目基于89C52单片机的WIFI智能小车设计专业应用电子技术班级应电101学号1036015姓名邹君指导教师陈运军二一二年十二月三日目录摘要1第1章论述2第2章方案论证及选择421总体设计方案4211整机系统4212整机工作原理522系统方案的选择与比较5第3章硬件电路设计631DB120WG无线路由器6311刷机固件介绍6312刷机步骤732单片机最小系统设计9321主控制芯片89C529322STC89C52RC单片机最小系统1132389C52单片机的使用1333电机驱动电路14331电机驱动模块使用14332驱动原理及电路图15333驱动模块原理及电路原理图1534摄像头介绍16341摄像头简介16342摄像头的分类17343摄像头的工作原理17344摄像头的主要结构和组件1735舵机18351舵机的控制18352舵机的作用1936电源模块19361LM78系列集成稳压芯片介绍19362稳压电路2037路由器及驱动模块供电模块LM259620371LM2596系列开关稳压集成电路的主要特性21372LM2596构成的可调压电源模块2138灯光、蜂鸣器及电平转换电路设计23第4章系统程序设计2441系统程序简介2442程序流程图24421主程序流程图24422串口中断子函数流程图25423定时器2中断子函数流程图25424避障子函数流程图26425寻迹函数流程图26第5章制作与调试2951系统仿真29511常用软件介绍29512仿真测试3052实物调试31结论32参考文献33附录1系统设计原理图34附录2元器件明细表35附录3源程序36摘要WIFI智能小车由电机、小车车体、89C52控制芯片、WIFI收发模块、电机驱动、舵机、电源、摄像头等主要部件以及灯光、蜂鸣器、电平转换等辅助模块构成。WIFI智能小车利用笔记本或手机等能连接无线路由器的终端智能设备连接到路由器,通过应用软件显示路由器上摄像头上采集到的视频信号,再通过这些智能的终端设备发送控制指令到无线路由器,通过无线路由器将指令传送给单片机进行处理。然后通过单片机控制电机驱动驱动电机转动、舵机转动,从而实现控制小车的运动及视频采集。关键词路由器;WIFI;智能小车;89C52第1章论述现在是一个智能化的时代,各种智能化设备正在逐步替代人为的操作。随着汽车工业的迅速发展,关于智能汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。设计的WIFI智能小车能够实自动寻迹、避障功能,可程控行驶速度、电脑手机WIFI连接控制行驶及其他的控制方式。本系统能实现对小车的运动状态进行实时控制。系统控制灵活、可靠,精度高,可满足对系统的各项要求。本设计以89C52为控制核心,利用超声波传感器检测道路上的障碍并测量小车与障碍之间的距离,小车通过红外传感器能够的自动避障,通过改变PWM信号的占空比可以控制快慢速行驶,以及自动停车,自动寻迹等功能。通过对本小车研究,我们可以初步构建智能汽车的模型与理论基础。对于智能汽车的研究,国内外都有很大的成就,谷歌的无人驾驶汽车,已经能够在高速公路上安全行驶数千公里,在高速行驶下都能有这么好的操控能力,无非是智能汽车领域的一座里程碑。对于智能泊车系统,现在也已经进入了民用领域,很多车型也装配了该系统,有了他,汽车用超声波传感器扫描路面两侧,通过比较停车的空间和车辆的长度,自动寻找合适的停车位。找到合适位置后,驾驶者只需控制刹车,车辆自动控制转向操作,即可将车停进停车位,并且液晶屏会有相应的显示。本设计选用的89C52单片机属于MCS51系列单片机,由INTEL公司开发,其结构是8048的延伸,改进了8048的缺点,具有指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP。其内部有128个RAM单元及4K的ROM。89C52有两个16位定时计数器,两个外中断,三个定时计数中断,及一个串行中断,并有4个8位并行输入口。89C52内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用221184MHZ的晶振频率。由于89C52的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故用来作为控制核心。新一代单片机为外部提供了相当完善的总线结构,为系统的扩展与配置打下了良好的基础。本设计主要研究内容就是基于89C52设计一部WIFI智能小车,小车能够实现自动循迹,自动避障,超声波测量距离。WIFI遥控的智能小车控制系统,包括了对驱动电路,红外通讯以及无线视频通信等的探索和研究。本项目文主要从小车设计方案的选取、硬件设计、软件设计、测试结果方面进行主要论述。我们在第3章主讲单片机与路由器的设计,包括了单片机最小系统的电路设计对路由器进行刷机处理;整个小车的一个供电电源的设计,需要通过电源给整个系统供12V、8V、5V等几个电压;电机的驱动模块,详细的说明了电机驱动的原理,视频信号的采集;第4章程序的设计给出了程序整体的流程图及编写思想;第5章调试简述整机的每个模块调试及方法。第2章方案论证及选择21总体设计方案WIFI智能小车需要由WIFI模块、电机驱动模块、核心控制模块、摄像头模块等构成。211整机系统如图21所示。路由器模块89C52单片机电机驱动模块蜂鸣器电路照明电路摄像头电脑控制终端电机图21系统结构框图项目系统包括路由器、单片机最小系统、电机驱动电路、电机、电平转换电路、电源电路、舵机、摄像头、蜂鸣器电路、灯光电路等。路由器用于接收电脑等终端设备发送的指令和将摄像头采集到的视频信号传送到电脑等终端设备;单片机最小系统是整个小车的控制核心,控制着各个模块统一协调工作;电机驱动电路用于驱动电机转动,可以使电机产生正转、反转,从而使车体产生前进、后退、转弯等动作;电机的作用就是使整个车体运动;电平转换电路是将路由器输出的33V串口电平转换为单片机能判断的高低电平;电源电路作用是为整个小车系统共电;舵机制作成云台,然后装上摄像头,使摄像头可实现上下、水平方向180度旋转调节;摄像头用于采集视频信号;蜂鸣器电路用于报警提示;照明电路为小车在夜间行驶提供照明。212整机工作原理由电脑终端,通过WIFI无线网络连接到路由器,再通过电脑应用软件,向路由器发送控制命令及数据。路由器接收到数据后通过内部的串口发送软件,将接收到的命令和数据,通过路由器串口发送到89C52单片机的串口端,单片机接收到这些命令后执行相应的指令,如驱动小车运动、舵机运动、蜂鸣器鸣叫、照明电路的开关等。视频信号,通过摄像头采集之后通过路由器发送到电脑终端,并在其应用软件中显示摄像头采集到的视频信号。22系统方案的选择与比较方案一选择网上已经经过改装过的WIFI小车专用的TPLINKWR703N无线路由器做为我们WIFI小车的WIFI连接模块,使用MSP430G2553单片机作为WIFI小车的控制芯片。自己再够买元器件,自己搭接电源、驱动电路及单片机最小系统。方案二利用网上大家公认做WIFI小车较好的大亚DB120WG无线路由器,作为我们的WIFI智能小车的WIFI连接模块,使用我们教学用的51系列单片机89C52做为我们WIFI智能小车的控制芯片。利用手里面现有的一些电源、驱动等模块等制作我们的WIFI智能小车。方案选择基于我们对成本和制作性的考虑我们选取的是方案二。第3章硬件电路设计31DB120WG无线路由器路由器如图31路由器内部如图32所示。311刷机固件介绍固件WIFIROBOTSOPENWRTRG100A_DB120CFE固件说明1、SER2NET已设置开机启动图31DB120WG路由器图32路由器内部结构图2、MJPG_STREAMER开机启动。摄像头只有2种驱动,UVC和301,目前开机MJPG_STREAMER缺省启动了301摄像头,301摄像头无需设置直接跳到第3步,UVC需要修改下即可SSH登陆后,VIETC/INITD/WIFICAR,找到摄301像头参数MJPG_STREAMERBI“INPUT_UVCSOR640X480F30“O“OUTPUT_HTTPSOP8080W/WEB“修改为UVC参数MJPG_STREAMERBI“INPUT_UVCSOR352X288F15Y“O“OUTPUT_HTTPSOP8080W/WEB“然后在PUTTY命令行下输入CHMOD777/ETC/INITD/WIFIROBOT更改属性输入/ETC/INITD/WIFICARENABLE启动该配置文件重启路由器,301摄像头设置完成。3、支持LUCI/WEB管理,错误设置后不能进入的,可以长按复位键回初始模式4、网络设置,目前是AP模式,IP19216811。312刷机步骤1、网线连接电脑和路由器的LAN1(靠近电源那个网口,升级只能使用此口,有的版本丝印不是LAN1,反正记住靠近电源的那个口即可),电脑IP设置为1921681169/2552552550,19216811;设置完成点击网络邻居,选择属性,选择升级用的有线网口,右键点修复。2、用USBTTL线接好路由的GND、RXD、TXD三条线(VCC电源千万别接,会烧路由),打开PUTTY,选好端口号,端口号请查看电脑设备管理器,设置波特率为115200,点击下面的OPEN。3、路由器通电,接线且设置正确的话,PUTTY窗口应该出现路由器的信息,在通电3秒内,按下键盘的回车键,阻止路由器CFE启动,这时候应出现CFE。4、输入小写EA,EA之间有个回车键,然后再按下Y,点击回车,路由器开始擦除清除原系统固件。清除之后,路由会持续输出很多命令行,且不会停止,我们不用管,关掉路由电源。5、重新打开路由电源,和第四步一样,通电3秒内按下回车键阻止CFE继续启动打开浏览器,输入19216811,应看到上传固件的的选择文件,PUTTY窗口也会出现路由器升级进度信息,此时千万不要断电,理论上此时断电会刷坏路由器,升级完成后,耐心等待5分钟,路由器会自动重启。6、等待路由启动后,等待几分钟再次重启一次路由,打开网页19216811,输入密码登陆进入路由器的设置,将路由器的无线网络开启,只有这样电脑等终端设备才能通过WIFI信号和路由器连接。7、用PUTTY登陆路由,转到/ETC/INITD/目录,可以看到一个SER2NETCONF文件,打开它可以看到路由串口的配置信息,默认配置的波特率是9600,8位数据位,1位停止位,无校验位。完成之后需要设定MJPGSTREAMER和SER2NET随机启动,不然没法正常工作。8、由于我使用的摄像头是301芯片的,在电脑上显示会花屏,所以还需要对脚本进行修改,其操作步骤如下具体步骤A、登陆路由器TELNET19216811IP地址根据你的路由器实际地址而定。B、编辑脚本/ETC/INITD/WIFICARVI/ETC/INITD/WIFICAR(在START80后面增加一行KILLALLMJPG_STREAMER,修改后的脚本看下面内容。)/BIN/SH/ETC/RCCOMMONSTART80KILLALLMJPG_STREAMERSTARTMJPG_STREAMERBI“INPUT_UVCSOR640X480F15“O“OUTPUT_HTTPSOP8080W/WEB“MJPG_STREAMERBI“INPUT_UVCSOR352X288F15Y“O“OUTPUT_HTTPSOP8080W/WEB“SER2NETSTOPKILLALLMJPG_STREAMERKILLALLSER2NETC、保险起见,修改WIFICAR脚本权限。CHMOD777D、重启路由器。SYNC;SYNC;REBOOT9、插上301芯片的摄像头,在电脑上打开我们的一个WIFI小车的控制界面软件,选择WIFI控制模式,然后打开视频,这时我们可以看到一个稳定视频信号通过路由器无线传送到了我们的电脑终端,至此说明我们路由器刷机及其配置完成。32单片机最小系统设计最小系统主控芯片是宏晶公司MCS51系列单片机中的89C52。321主控制芯片89C5289C52是宏晶公司MCS51系列单片机中基本的产品,它采用ETC公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。89C52内置8位中央处理单元、256字节内部数据存储器RAM、8K片内程序存储器(ROM)32个双向输入/输出I/O口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52有PDIP40PIN和PLCC44PIN两种封装形式。主要功能特性1、标准MCS51内核和指令系统。2、32个双向I/O口。3、3个16位可编程定时/计数器。4、向上或向下定时计数器。5、6个中断源。6、全双工串行通信口。7、帧错误侦测。8、自动地址识别。9、空闲和掉电节省模式。10、片内8KROM(可扩充64KB外部存储器)。11、256X8BIT内部RAM(可扩充64KB外部存储器)。12、时钟频率3512/24/33MHZ。13、改进型快速编程脉冲算法。14、50V工作电压。15、布尔处理器。16、4层优先级中断结构。17、兼容TTL和CMOS逻辑电平。18、PDIP40和PLCC44封装形式。管脚说明VCC供电电压。GND接地。P0口P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为STC89C52的一些特殊功能口,管脚备选功能P30RXD(串行输入口)P31TXD(串行输出口)P32/INT0(外部中断0)P33/INT1(外部中断1)P34T0(记时器0外部输入)P35T1(记时器1外部输入)P36/WR(外部数据存储器写选通)P37/RD(外部数据存储器读选通)RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。振荡电路外接石英晶体或者陶瓷谐振器以及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。为了使装置能够被外部时钟信号激活,XATL1应该有效,而XTAL2应该被悬空。由于输入到内部的时钟信号电路通过了一个二分频的信号,外部信号的工作周期比没有别的要求,但是最大值和最小值的大小可以在数据表上观察出来。当正常工作时,外部振荡器可以计算出XTAL1上的电容,最大可达到100PF。这是由于振荡器电容和反馈电容之间的相互作用。当外部信号是标准高电平或者低电平时,电容不会超过20PF。空置模式用户的软件都可以调用空置模式。当单片机出于这种模式,耗能就会自然降低。特殊功能端和板子上的随机存储器在空置状态保持各自的电平。但是处理器阻止装置执行指令。空置模式会被激活如果端口处于复位状态或者中断系统有效。322STC89C52RC单片机最小系统STC89C52RC单片机最小系统的基本工作电路包括电源电路、时钟电路和复位电路。其组成方框图如图33所示。单片机电源电路时钟电路复位电路图33单片机最小系统组成方框图1电源电路电源电路模块为单片机最小系统和其他功能模块提供标准的5V电源电压。2时钟电路单片机的时钟信号为单片机芯片内部的各种操作提供时间基准,时钟电路为单片机产生时钟脉冲序列。作为单片机工作的时间基准,典型的晶体振荡频率为12MHZ。MCS51系列单片的时钟信号可以由两种方式产生一种为内部时钟方式,利用芯片内部的振荡电路;另一种为外部时钟方式。其两种电路如图34所示。(A)内部时钟方式(B)外部时钟方式图34单片机时钟信号示意图3复位电路单片机复位是使CPU和系统中的其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。当在MCS51系列单片的RST引脚处引入高电平并保持2个机器周期,单片机内部就执行复位操作。单片机常见的复位电路有两种基本形式一种是上自动电复位,另一种是手动复位。其两种电路方式如图35(A)、(B)所示。由于STC89C52RC单片机芯片内有时钟振荡电路,所以此系统单片机均采用内部时钟方式。只需在单片机的XTAL1和XTAL2引脚外接石英晶体和微调电容,就构成了自激振荡器并在单片机内部产生时钟信号脉冲信号。同时,也采用手动复位电路。其具体电路设计如图36所示。(A)上电自动复位(B)手动复位图35单片机复位电路示意图在此图中,C1、C2电容的作用的是稳定频率和快速起振,其值为530PF,在此选择30PF;晶振X1的振荡频率范围在3533MHZ之间选择,因为需要使用串通讯涉及波特率,所以在此选择221184MHZ。32389C52单片机的使用本次设计,使用到了89C52单片机的I/O口的输入输出功能、内部定时器T0、T1、T2的使用及串口中断、外部中断。P10/T2EXCI345678RS9XDNWALVOGUKESCKYMPFUB图36单片机最小系统电路图89C52单片机的I/O口的输入功能用于传感器信号的输入处理。通过单片机对外部传感器的信号采集处理,从而对外部条件进行判断以确定小车下一步的运行状态。89C52单片机的I/O口信号输出,主要是给驱动模块送控制信号用于控制电机的转动、给舵机送PWM控制信号控制舵机的偏转以及控制开关蜂鸣器、灯光等。单片机的内部定时器的使用是用于产生PWM信号,以及其他需要精确时间的地方。单片机的串口中断,用于与路由器进行的串口通讯,接收电脑终端发送的串口指令。单片机的外部中断用于红外信号的接收,然后通过解码程序得到命令,从而控制小车的运动。33电机驱动电路电动小车的驱动不但要求电机驱动系统具有高转矩重量比、宽调速范围、高可靠性,而且电机的转矩转速特性受电源功率的影响,这就要求驱动具有尽可能宽的高效率区。我们所使用的电机一般为直流电机,主要用到永磁直流电机、伺服电机及步进电机三种。直流电机的控制很简单,性能出众,直流电源也容易实现。我们使用的这种直流电机的驱动及控制需要电机驱动芯片进行驱动。常用的电机驱动芯片有L297/298,MC33886,ML4428等。331电机驱动模块使用我们使用的L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。项目使用的是4个直流电机,项目中使用了两块L298N电机驱动来驱动这四个直流电机的转动。其实物及引脚图如下图37所示。其中6和11引脚是它的使能端,一个使能端控制一个电机,只有当它们都是高电平的时候两个电机才有可能工作,5、7、10、12是298的信号输入端和单片机的IO口相连,2、3、13、14脚是输出端,输入5和7脚控制输出2和3脚,输入的10、12脚控制输出的13、14脚。332驱动原理及电路图驱动部分我们使用的是L298N驱动芯片构成的一个驱动电路模块如图38所示。333驱动模块原理及电路原理图电路原理图如下图39所示。图37L298驱动芯片实物及引脚图图38驱动实物图IN1527304EA6BVS9GD8OUTLJRKCUFGANO使用直流/步进两用驱动器可以驱动两台直流电机。分别为M1和M2。引脚A,B可用于输入PWM脉宽调制信号对电机进行调速控制。(如果无须调速可将两引脚接5V,使电机工作在最高速状态,既将短接帽短接)实现电机正反转就更容易了,输入信号端IN1接高电平输入端IN2接低电平,电机M1正转。(如果信号端IN1接低电平,IN2接高电平,电机M1反转。)控制另一台电机是同样的方式,输入信号端IN3接高电平,输入端IN4接低电平,电机M2正转。(反之则反转),PWM信号端A控制M1调速,PWM信号端B控制M2调速。可参考下图表31。输入PWM信号改变脉宽可调速电机旋转方式控制端IN1控制端IN2控制端IN3控制端IN4调速端A调速端B正转高低/高/反转低高/高/M1停止低低/高/正转/高低/高反转/低高/高M2停止低低/高34摄像头介绍本项目中摄像头实现实时监测小车周边情况,使之成为一个无线可控移动的视频监控器,也用于判断小车当前路况。341摄像头简介表31电机驱动状态表图39L298驱动模块电路原理图摄像头CAMERA又称为电脑相机、电脑眼等,它作为一种视频输入设备,在过去被广泛的运用于视频会议、远程医疗及实时监控等方面。近年以来,随着互联网技术的发展,网络速度的不断提高,再加上感光成像器件技术的成熟并大量用于摄像头的制造上,这使得它的价格降到普通人可以承受的区间。普通的人也可以彼此通过摄像头在网络进行有影像、有声音的交谈和沟通,另外,人们还可以将其用于当前各种流行的数码影像、影音处理。342摄像头的分类摄像头分为数字摄像头和模拟摄像头两大类。模拟摄像头可以将视频采集设备产生的模拟视频信号转换成数字信号,进而将其储存在计算机里。模拟摄像头捕捉到的视频信号必须经过特定的视频捕捉卡将模拟信号转换成数字模式,并加以压缩后才可以转换到计算机上运用。数字摄像头可以直接捕捉影像,然后通过串、并口或者USB接口传到计算机里。现在电脑市场上的摄像头基本以数字摄像头为主,而数字摄像头中又以使用新型数据传输接口的USB数字摄像头为主,目前市场上可见的大部分都是这种产品。除此之外还有一种与视频采集卡配合使用的产品,但目前还不是主流。由于个人电脑的迅速普及,模拟摄像头的整体成本较高等原因,USB接口的传输速度远远高于串口、并口的速度,因此现在市场热点主要是USB接口的数字摄像头。以下主要是指USB接口的数字摄像头。343摄像头的工作原理摄像头的工作原理大致为景物通过镜头LENS生成的光学图像投射到图像传感器表面上,然后转为电信号,经过A/D模数转换转换后变为数字图像信号,再送到数字信号处理芯片DSP中加工处理,再通过USB接口传输到电脑中处理,通过显示器就可以看到图像了。我们这里是将摄像头连接在路由器的USB接口上,通过路由器上的摄像头驱动软件使摄像头工作,并由路由器通过WIFI将视频信号发送出去。电脑等终端接收设备,接收到视频信号后通过控制软件的界面显示图像。344摄像头的主要结构和组件从摄像头的工作原理就可以列出摄像头的主要结构和组件1、主控芯片(详情请参阅下面介绍)2、感光芯片(详情请参阅下面介绍)3、镜头(详情请参阅下面介绍)4、电源。摄像头内部需要两种工作电压33V和25V,因此好的摄像头内部电源也是保证摄像头稳定工作的一个因素。在本次WIFI小车的制作中我们使用的天敏S606的摄像头,如图310所示。35舵机舵机如图311所示。舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这辆根线给舵机提供最基本的能源保证,主要是电机的转动消耗。电源有两种规格,一是48V,一是60V,分别对应不同的转矩标准,即输出力矩不同,60V对应的要大一些,具体看应用条件;另外一根线是控制信号线,FUTABA的一般为白色,JR的一般为桔黄色。另外要注意一点,SANWA的某些型号的舵机引线电源线在边上而不是中间,需要辨认。但记住红色为电源,黑色为地线,一般不会有错。351舵机的控制舵机的控制信号为周期是20MS的脉宽调制(PWM)信号,其中脉冲宽度从05MS25MS,相对应舵盘的位置为0180度,呈线性变化。也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。舵机内部有一个基准电路,产生周期20MS,宽度15MS的基准信号,有一个比较器,将外图311舵机图310天敏S606摄像头加的PWM信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。由此可见,舵机是一种位置伺服的驱动器,转动范围不能超过180度,适用于那些需要角度不断变化并可以保持的驱动当中。比方说机器人的关节、飞机的舵面等。352舵机的作用在本次WIFI小车中我们利用两个舵机做成一个云台(如图312),将摄像头固定在云台上,通过89C52单片机控制舵机旋转一定的角度,把我们想要角度的图像通过摄像头传送到电脑等终端设备。36电源模块单片机和舵机需要分别单独供5V、6V的电源。本项目采用的是通过集成稳压芯片LM78XX系列构成一个5V、6V的稳压模块供电。LM78系列引脚及实物图如图313所示。361LM78系列集成稳压芯片介绍电子产品中,常见的三端稳压集成电路有正电压输出的78系列和负电压输出的79系列。顾名思义,三端IC是指这种稳压用的EIC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为正6V,7909表示输出电压为负9V。因为三端固定集成稳压电路的使用方便,电子制作中经常采用。图312舵机云台在实际应用中,应在EQWEWQW三端集成稳压电路上安装足够大的散热器(当然小功率的条件下不用)。当稳压管温度过高时,稳压性能将变差,甚至损坏。当制作中需要一个能输出15A以上电流的稳压电源,通常采用几块三端稳压电路并联起来,使其最大输出电流为N个15A,但应用时需注意并联使用的集成稳压电路应采用同一厂家、同一批号的产品,以保证参数的一致。另外在输出电流上留有一定的余量,以避免个别集成稳压电路失效时导致其他电路的连锁烧毁。362稳压电路78稳压电路原理图如图314所示。2KR1ES3DLE04CAP78UPOL56VINTGHDR这是一个输出正5V、6V直流电压的稳压电源电路。IC采用集成稳压器7805、7806,其中电容分别为输入端和输出端滤波,LED和电阻R1构成一个电源指示电路,具体参数如图314所示。当输出电较大时,7805应配上散热板。37路由器及驱动模块供电模块LM2596路由器需要一个12V/1A的电源;电机驱动需要一个8V左右的电源。我们这图313LM78系列稳压引脚及实物图3147805、06集成芯片稳压电路原理图里分别使用了两个可调压的LM2596电源模块分别调节到想要的电压为路由器和电机驱动供电。LM2596系列是美国国家半导体公司生产的3A电流输出降压开关型集成稳压芯片,它内含固定频率振荡器(150KHZ),和基准稳压器(123V),并具有完善的保护电路电流限制、热关断电路等。利用该器件只需极少的外围器件便可构成高效稳压电路。提供有33V、5V、12V及可调(ADJ)等多个电压档次产品。此外,该芯片还提供了工作状态的外部控制引脚。图315为LM2596芯片实物以及引脚示意图。1为VIN,2为OUTPUT,3为GND,4为FEEDBACK,5为ON/OFF。371LM2596系列开关稳压集成电路的主要特性1、最大输出电流3A2、最高输入电压37V3、输出电压33V、5V、12V及(ADJ)等,最大输出电压37V4、震荡频率150KHZ5、转换效率7588(不同电压输出时的转换效率不同)6、工作温度范围401257、工作模式低功耗/正常两种模式。可外部控制8、工作模式控制TTL电平相容9、所需外部组件仅四个(不可调);六个(可调)10、器件保护热关断及电流限制11、封装形式5脚(TO220T;TO263S372LM2596构成的可调压电源模块开关电源调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性。可调节输出小于37V的各种电压。该器件内部集成频率补偿和固定频率发生器,开关频率为150KHZ,与低频开关调节器相比较,可以使用更小规格的滤波元件。由于该器件只需4个外接器件,可以使用通用的标准电感,这更优化了LM2596的使用,极大地简化了开关电源电路的设计。其中,。213,OUTREFV123REFV213OUTREF20FC由于路由器耗电较大需要供12V/1A的电,我们通过调节LM2596的开关电源模块电路为路由器供12V/1A的电源以及给耗电较大的电机供电。其电路图316所示。可调压LM2596电路原理图如图316所示。图315LM2596实物及引脚图图316LM2596构成的可调压电源模块电路图38灯光、蜂鸣器及电平转换电路设计灯光、蜂鸣器及电平转换电路都是通过三极管的开关作用实现的,如图317、318、319所示。灯光电路和蜂鸣器电路都是通过单片机引脚输出高低电平到三极管的基极,使三极管导通或截止,从而控制LED的点亮熄灭,控制蜂鸣器的鸣叫。其中灯光电路中的电阻用于限流保护发光二极管。电平转换电路中将5V转化为3V是通过滑动电阻器降压实现的,将3V转换为5V是通过3V的信号控制三极管的截止,导通进行控制从而使三级管的发射极对应输出高低电平用于输入单片机进行处理。Q32N904DENGUAD1LEGKRSVCMIC56PHROT图317灯光控制电路图318蜂鸣器控制电路图319电平转换电路第4章系统程序设计41系统程序简介硬件平台结构一旦确定,大的功能框架即形成,软件在硬件平台上构筑,完成各部分硬件的控制和协调工作。系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。因此,软件是系统的灵魂。软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。我们的小车控制是通过89C52单片机控制驱动电路和给舵机送控制信号,然而这些控制信号的命令又是电脑等终端设备通过无线路由器串口传送给单片机的,所以在程序中我们需要设计到串口的使用、定时器使用、I/O口的使用。42程序流程图智能WIFI小车的软件编写主要分为命令接收部分、命令执行部分、以及具体的信号的采集和处理。421主程序流程图系统主程序模块主要完成对系统中各模块电路的初始化等工作,主要包括对定时器、串口中断、外部中断的初始化,同时执行电脑等终端设备所发送的命令,等待外部中断以及根据所需要的功能进行相应操作。软件总体设计及程序流程如下图41所示。图41主函数流程图判断串口接收的指令开始初始化I/O口初始化定时器T1、T2及串口中断小车前进小车后退小车左转小车右转小车停止蜂鸣器开蜂鸣器关小车灯开小车灯关小车寻迹小车避障舵机1转舵机2转小车加速小车减速422串口中断子函数流程图通过串口中断,实现单片机和路由器进行通讯。进入中断后关掉中断,避免数据信号重复引起中断。根据命令数据发送的规律,将命令解码储存在相应的二维数组当中,方便在主函数中调用。具体流程图如下图42所示。423定时器2中断子函数流程图通过定时器的初始值和循环次数,确定出舵机PWM信号的20MS的周期,通过控制高电平持续的中断次数,来确定具体的PWM信号。其流程图如下图43所示。结束指令类型或数据接收到结束命令NY串口中断将IR归零将接收到的数据命令赋给数组计数CONT0小车方向小车速度灯蜂鸣器舵机寻迹避障计数CONT图42串口中断流程图424避障子函数流程图根据传感器探测到小车四周障碍物状态,从而确定驱动几个电机的旋转方向,也就确定了小车的运动状态。其流程图如下图44所示。425寻迹函数流程图根据传感器扫黑线上的状态,从而确定驱动几个电机的旋转方向,也就确定了小车的运动状态。其流程图如下图45所示。结束T1200T1200T1IO1、T2IO2中断标志位清零定时中断初始化T2T1、T2自加舵机1控制端归零舵机2控制端归零舵机1控制信号复位T10舵机2控制信号复位T10图43定时中断函数流程图判断P2口状态避障函数小车前进小车后退小车左转小车右转小车停止图44避障子函数流程图寻迹函数图45寻迹子函数流程图判断P0口状态小车前进小车后退小车左转小车右转小车停止第5章制作与调试51系统仿真随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。511常用软件介绍1KEIL软件KEILC51是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。KEIL提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些部分组合在一起。运行KEIL软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么KEIL几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。其软件界面如图51所示。图51KEIL软件界面图2PROTEUS软件PROTEUS软件是英国LABCENTERELECTRONICS公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。PROTEUS是世界上著名的EDA工具仿真软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年即将增加CORTEX和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、KEIL和MPLAB等多种编译。其软件界面如图52所示。图52PROTEUS软件界面512仿真测试1系统初始化测试主要完成对系统中各模块电路的初始化等工作,如在PROTEUS里面对软件的一些参数进行调试。将PROTEUS里的单片机89C52的晶振设置为我们实物中使用的参数221184MHZ,将T0、T1和T2定时器开启并使之从单片机的I/O口输出,我们通过PROTEUS软件里的示波器,就可看出我们设置的定时器初始值是否合适,如果不合适我们就能根据I/O口的波形,修改我们的参数直到合适为止。2分模块对软件进行测试,在PROTEUS软件中我们把我们的寻迹、避障模块程序分别进行调试,我将传感器的状态在软件中用开关替代,在输出I/O引脚上加上发光二极管,用观察输出状态。这样我们就可将外部的输入状态和输出进行对比,判断出个模块软件的编写是否正常。52实物调试根据系统设计方案,此系统调试可分为硬件调试、软件调试和软硬件联调三个部分。1硬件调试由于此设计实物的焊接、装配工作量非常大,所以在电路安装完成后,首先应对系统进行整体检查,确认电路无虚焊、短路、断路等错误,然后应该对电路各功能模块进行分级调试,逐步实现系统的整体功能。2软件调试此系统的软件程序,均使用C语言编写。首先选用单片机开发板作为程序调试的载体,逐步对各模块子程序进行调试,然后再将各子程序模块进行有机组合、联调,最终完成整个系统的软件调试。3软硬联调系统软硬件联调的主要任务是检测系统中各模块的功能和效果,同时需要校正系统的相关数据,按实际测量数据进行调试,直至数据结果准确为止。结论通过本次WIFI智能小车的理论学习、论文编写和实物的制作,进一步的认识到了自身存在的不足。特别是自己在路由器方面知识的欠缺,这使得我在小车在起步制作时路由器部分的处理花费了大量的时间。但通过我在网上不断的查询相关的资料,在网上请教这方面的高手,最终我还是完成了路由器部分的处理。但是我还是不知道其中具体的一些细节的原理,如我的摄像头为什么会在后期不能使用,使用不同摄像头时路由器要进行怎样的一个处理。还有在整机装配的时候我没有注意到一些细节的地方,这使得我把小车拆装了多次。要想把事情做好提高效率,这就需要注意学习生活工作中做事的细节,以及对自己知识的扩充。同时,通过这次的毕业设计,我的各方面能力也得到了大幅度的提高。在知识上一方面,我系统的总结了自己的专业知识,明确了自己今后事业的发展方向。另一方面,我如饥似渴的自学了单片机及其外围电路知识,并通过自己独立对软件的编写和实物制作,最终完成了整个WIFI智能小车的设计。在能力上我通过不断查阅资料、与师生交流学习新知识、在网上请教相关的人士,然后又将自己沉淀后的知识和经验运用到实际电路设计理念中,丰富其功能与质量。在综合素质上,我虽然遇到很多的挑战和困难,但从未想过放弃,最终凭借自己百折不饶、勇于钻研的精神解决了这些技术难点。当然,由于我的知识和能力有限,整个设计还有很多不足之处有待完善和改进,恳请老师指教,这必将是我在踏上工作岗位之前的最大一笔收获。参考文献1张永枫单片机应用实训教程北京清华大学出版社,20082刘守义单片机应用技术西安西安电子科技大学出版社,20073赵克林C语言实例教程北京人民邮电出版社,20094徐玮C51单片机高效入门北京机械工业出版社,20065刘建清从零开始学单片机技术北京国防工业出版社,20066刘建清从零开始学单片机C语言北京国防工业出版社,20067王静霞单片机应用技术(C语言版)北京电子工业出版社,20098李伯成嵌入式系统可靠性设计北京电子工业出版社,20069先锋工作室单片机程序设计实例西安清华大学出版社,200310马忠梅单片机的C语言应用程序设计北京北京航空航天大学出版社,198811李群芳单片微型计算机与接口技术北京电子工业出版社,2007附录1系统设计原理图P0VC234567RSTXDEALINWGHEADR89MKICSQYPFUOLBNGTOUJ/MHKY附录2元器件明细表项目代号名称型号、规格数量备注更改U1单片机模块STC89C52RC最小系统1U2驱动模块L298N模块2U3路由器DB120WG1M1电机直流电机(带减速器)4R1电阻1K1Q1三极管90142L杜邦线20CM若干K开关船型开关3U4电源模块LM25962U5电源模块LM78052D1发光二极管白色光3R2电阻2K1Q2红外接收头VS18381手机电池若干车体1轮子4螺丝、螺柱若干旧底图总号更改标记数量更改单号签名日期底图总号拟制邹君审校日期签名等级标记第1张共1张标准化2012124批准基于单片机的WIFI智能小车设计附录3源程序/文件名串口接收试验C描述该文件实现通过单片机无线从电脑接收数据。通过处理电脑发送的数据对小车进行操控该试验使用的晶振是221184。创建人邹君,2012年11月11日版本号20感谢各大工作室和同学对本人的大力支持。/INCLUDEINCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTSBITP3_2P32/保留SBITIRINP33/红外接收器数据线SBITP3_4P34/LED控制SBITP3_5P35/蜂鸣器控制SBITP3_6P36/舵机控制SBITP3_7P37SBITP2_0P20/电机速度控制(没用)SBITP2_1P21SBITTXP26/超声波触发端SBITRXP27/超声波接收端UINTTIME0/超声波往返时间LONGS0/S表示超声波距离UCHARDISBUFF40/超声波数据显示缓存UCHARIO120,IO220,SDD11,SDD21/舵机及电机初始状态变量U

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论