基于单片机的WIFI智能小车设计(共52页).doc
《基于单片机的WIFI智能小车设计(共52页).doc》由会员分享,可在线阅读,更多相关《基于单片机的WIFI智能小车设计(共52页).doc(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上基于单片机的WIFI智能小车设计摘 要WIFI智能小车由电机、小车车体、89C52控制芯片、WIFI收发模块、电机驱动、舵机、电源、摄像头等主要部件以及灯光、蜂鸣器、电平转换等辅助模块构成。WIFI智能小车利用笔记本或手机等能连接无线路由器的终端智能设备连接到路由器,通过应用软件显示路由器上摄像头上采集到的视频信号,再通过这些智能的终端设备发送控制指令到无线路由器,通过无线路由器将指令传送给单片机进行处理。然后通过单片机控制电机驱动驱动电机转动、舵机转动,从而实现控制小车的运动及视频采集。关键词:路由器;wifi;智能小车;89C52专心-专注-专业AbstractT
2、he intelligent WIFI car involved a motor, a body, the 89C52 control chip, a WIFI transfer module, motor drivers, a power supply, lights, a buzzer and a voltage converter. The intelligent WIFI car can use an intelligent terminal (such as a laptop or a mobile phone) to connect with the router and use
3、application software to display the video signal collected by the camera, then the intelligent terminal will send control commands which can be processed by the MCU though the routers. The MCU will control the turning of motors and realize the moving of the car and the video collection.Keywords:Rout
4、er;WIFI;intelligent car;89C52目 录第1章 概述现在是一个智能化的时代,各种智能化设备正在逐步替代人为的操作。随着汽车工业的迅速发展,关于智能汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。设计的WIFI智能小车能够实自动寻迹、避障功能,可程控行驶速度、电脑手机WIFI连接控制行驶及其他的控制方式。本系统能实现对小车的运动状态进行实时控制。系统控制灵活、可靠,精度高,可满足对系统的各项要求。本设计以89C52为控制核心,利用超声波传感器检测道路上的障碍并测量小车与障碍之间的距离,小车通过红外
5、传感器能够的自动避障,通过改变PWM信号的占空比可以控制快慢速行驶,以及自动停车,自动寻迹等功能。通过对本小车研究,我们可以初步构建智能汽车的模型与理论基础。对于智能汽车的研究,国内外都有很大的成就,谷歌的无人驾驶汽车,已经能够在高速公路上安全行驶数千公里,在高速行驶下都能有这么好的操控能力,无非是智能汽车领域的一座里程碑。对于智能泊车系统,现在也已经进入了民用领域,很多车型也装配了该系统,有了他,汽车用超声波传感器扫描路面两侧,通过比较停车的空间和车辆的长度,自动寻找合适的停车位。找到合适位置后,驾驶者只需控制刹车,车辆自动控制转向操作,即可将车停进停车位,并且液晶屏会有相应的显示。本设计选
6、用的89C52单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,具有指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP。其内部有128个RAM单元及4K的ROM。89C52有两个16位定时计数器,两个外中断,三个定时计数中断,及一个串行中断,并有4个8位并行输入口。89C52内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用22.1184MHz的晶振频率。由于89C52的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故用来作为控制核心。新一代单片机为外部提供了相当完善
7、的总线结构,为系统的扩展与配置打下了良好的基础。本设计主要研究内容就是基于89C52设计一部WIFI智能小车,小车能够实现自动循迹,自动避障,超声波测量距离。WIFI遥控的智能小车控制系统,包括了对驱动电路,红外通讯以及无线视频通信等的探索和研究。本项目文主要从小车设计方案的选取、硬件设计、软件设计、测试结果方面进行主要论述。我们在第3章主讲单片机与路由器的设计,包括了单片机最小系统的电路设计对路由器进行刷机处理;整个小车的一个供电电源的设计,需要通过电源给整个系统供12V、8V、5V等几个电压;电机的驱动模块,详细的说明了电机驱动的原理,视频信号的采集;第4章程序的设计给出了程序整体的流程图
8、及编写思想;第5章调试简述整机的每个模块调试及方法。第2章 方案论证及选择2.1 总体设计方案WIFI智能小车需要由WIFI模块、电机驱动模块、核心控制模块、摄像头模块等构成。2.1.1 整机系统如图2-1所示。路由器模块89C52单片机电机驱动模块蜂鸣器电路照明电路摄像头电脑控制终端电机图2-1 系统结构框图项目系统包括路由器、单片机最小系统、电机驱动电路、电机、电平转换电路、电源电路、舵机、摄像头、蜂鸣器电路、灯光电路等。路由器用于接收电脑等终端设备发送的指令和将摄像头采集到的视频信号传送到电脑等终端设备;单片机最小系统是整个小车的控制核心,控制着各个模块统一协调工作;电机驱动电路用于驱动
9、电机转动,可以使电机产生正转、反转,从而使车体产生前进、后退、转弯等动作;电机的作用就是使整个车体运动;电平转换电路是将路由器输出的3.3V串口电平转换为单片机能判断的高低电平;电源电路作用是为整个小车系统共电;舵机制作成云台,然后装上摄像头,使摄像头可实现上下、水平方向180度旋转调节;摄像头用于采集视频信号;蜂鸣器电路用于报警提示;照明电路为小车在夜间行驶提供照明。2.1.2 整机工作原理由电脑终端,通过WIFI无线网络连接到路由器,再通过电脑应用软件,向路由器发送控制命令及数据。路由器接收到数据后通过内部的串口发送软件,将接收到的命令和数据,通过路由器串口发送到89C52单片机的串口端,
10、单片机接收到这些命令后执行相应的指令,如:驱动小车运动、舵机运动、蜂鸣器鸣叫、照明电路的开关等。视频信号,通过摄像头采集之后通过路由器发送到电脑终端,并在其应用软件中显示摄像头采集到的视频信号。2.2 系统方案的选择与比较方案一:选择网上已经经过改装过的wifi小车专用的TPLINK WR703N无线路由器做为我们wifi小车的wifi连接模块,使用MSP430g2553单片机作为wifi小车的控制芯片。自己再够买元器件,自己搭接电源、驱动电路及单片机最小系统。方案二:利用网上大家公认做wifi小车较好的大亚db120-wg无线路由器,作为我们的wifi智能小车的wifi连接模块,使用我们教学
11、用的51系列单片机89C52做为我们wifi智能小车的控制芯片。利用手里面现有的一些电源、驱动等模块等制作我们的wifi智能小车。方案选择:基于我们对成本和制作性的考虑我们选取的是方案二。第3章 硬件电路设计3.1 DB120-WG无线路由器路由器如图3-1:图3-1 db120-wg路由器路由器内部如图3-2所示。图3-2 路由器内部结构图3.1.1 刷机固件介绍固件wifi-robots-openwrt-RG100A_DB120-cfe固件说明:1Ser2net 已设置开机启动2mjpg_streamer开机启动。摄像头只有2种驱动,uvc和301,目前开机mjpg_streamer缺省启
12、动了301摄像头,301摄像头无需设置直接跳到第3步,uvc需要修改下即可ssh登陆后,vi etc/init.d/wificar,找到摄301像头参数mjpg_streamer -b -i input_uvc.so -r 640x480 -f 30 -o output_http.so -p 8080 -w /web修改为uvc参数mjpg_streamer -b -i input_uvc.so -r 352x288 -f 15 -y -o output_http.so -p 8080 -w /web然后在putty命令行下输入chmod 777 /etc/init.d/wifirobot更改
13、属性输入/etc/init.d/wificar enable 启动该配置文件 重启路由器,301摄像头设置完成。3支持Luci/web 管理,错误设置后不能进入的,可以长按复位键 回初始模式4网络设置,目前是AP模式,IP:192.168.1.1。3.1.2 刷机步骤1网线连接电脑和路由器的LAN1(靠近电源那个网口,升级只能使用此口,有的版本丝印不是LAN1,反正记住靠近电源的那个口即可),电脑IP设置为192.168.1.169/255.255.255.0,192.168.1.1;设置完成点击网络邻居,选择属性,选择升级用的有线网口,右键点修复。2用USB TTL线接好路由的GND、RXD
14、、TXD三条线(VCC电源千万别接,会烧路由),打开putty,选好端口号,端口号请查看电脑设备管理器,设置波特率为115200,点击下面的Open。3路由器通电,接线且设置正确的话,putty窗口应该出现路由器的信息,在通电3秒内,按下键盘的回车键,阻止路由器CFE启动,这时候应出现CFE。4输入小写e a,e a之间有个回车键,然后再按下y,点击回车,路由器开始擦除清除原系统固件。清除之后,路由会持续输出很多命令行,且不会停止,我们不用管,关掉路由电源。5重新打开路由电源,和第四步一样,通电3秒内按下回车键阻止CFE继续启动打开浏览器,输入192.168.1.1,应看到上传固件的的选择文件
15、,putty窗口也会出现路由器升级进度信息,此时千万不要断电,理论上此时断电会刷坏路由器,升级完成后,耐心等待5分钟,路由器会自动重启。6等待路由启动后,等待几分钟再次重启一次路由,打开网页192.168.1.1,输入密码登陆进入路由器的设置,将路由器的无线网络开启,只有这样电脑等终端设备才能通过wifi信号和路由器连接。7用putty登陆路由,转到/etc/init.d/目录,可以看到一个ser2net.conf文件,打开它可以看到路由串口的配置信息,默认配置的波特率是9600,8位数据位,1位停止位,无校验位。完成之后需要设定mjpg-streamer和ser2net随机启动,不然没法正常
16、工作。8由于我使用的摄像头是301芯片的,在电脑上显示会花屏,所以还需要对脚本进行修改,其操作步骤如下:具体步骤:A登陆路由器:telnet 192.168.1.1 (IP地址根据你的路由器实际地址而定)。B编辑脚本/etc/init.d/wificar:# vi /etc/init.d/wificar (在START=80后面增加一行killall mjpg_streamer,修改后的脚本看下面内容。)#!/bin/sh /etc/monSTART=80killall mjpg_streamerstart() mjpg_streamer -b -i input_uvc.so -r 640x4
17、80 -f 15 -o output_http.so p 8080 -w /web# mjpg_streamer -b -i input_uvc.so -r 352x288 -f 15 -y -o output_http.so -p 8080 -w /webser2netstop()killall mjpg_streamerkillall ser2netC保险起见,修改wificar脚本权限。# chmod -777D重启路由器。# sync;sync;reboot9插上301芯片的摄像头,在电脑上打开我们的一个wifi小车的控制界面软件,选择wifi控制模式,然后打开视频,这时我们可以看到一
18、个稳定视频信号通过路由器无线传送到了我们的电脑终端,至此说明我们路由器刷机及其配置完成。3.2 单片机最小系统设计最小系统主控芯片是宏晶公司MCS-51系列单片机中的89C52。3.2.1 主控制芯片89C5289C52是宏晶公司MCS-51系列单片机中基本的产品,它采用ETC公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。89C52内
19、置8位、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种选择空闲和掉电模式。在空闲模式下冻结CPU而RAM、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。主要功能特性:1标准MCS-51内核和指令系统。232个双向I/O口。33个16位可编程定时/计数器。4向上或向下定时计数器。56个中断源。6全双工串
20、行通信口。7帧错误侦测。8自动地址识别。9空闲和掉电节省模式。10片内8kROM(可扩充64kB外部存储器)。11256x8bit内部RAM(可扩充64kB外部存储器)。12时钟频率3.5-12/24/33MHz。13改进型快速编程脉冲算法。145.0V工作电压。15布尔处理器。164层优先级中断结构。17兼容TTL和CMOS逻辑电平。18PDIP(40)和PLCC(44)封装形式。管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的
21、第八位。在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口的管脚被外部拉低,将输出电流。这是由于内部上拉的
22、缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为STC89C52的一些特殊功能口,管脚备选功能:P3.0 RXD(串行输入口) P3.1 TXD(串行输出
23、口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 WIFI 智能 小车 设计 52
限制150内