




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
呼伦贝尔学院计算机科学与技术学院本科生毕业论文设计题目基于ARDUINO控制的WIFI智能小车学生姓名苑伟学号2011121138专业班级2011级计算机科学与技术一班指导教师陶锐完成时间2015年5月22日目录摘要IABSTRACTII第1章绪论111论文选题背景112论文选题的意义113论文论述2第2章系统方案选择与总体设计321设计任务322设计中考虑到的问题323系统方案的选择与比较324总体设计方案4241整体系统4242整体工作原理5第3章硬件介绍及设计631ARDUINOUNOR3单片机系统6311概要6312主控芯片ATMEGE328PPU7313ARDUINOUNO最小系统39314ARDUINOUNOR3单片机系统的使用1332路由器WR703N14321路由器硬件介绍14322路由器改装15323路由器刷OPENWRT1733电机驱动电路18331电机驱动模块使用18332驱动原理及电路图1934摄像头介绍20341摄像头简介21342摄像头的分类21343摄像头的工作原理21344摄像头的主要结构和组件2135测速传感器22351测速传感器说明22352测速传感器使用2336超声波传感器23361传感器说明及原理23362HCSR04传感器的使用2437舵机模块24371舵机的控制25372舵机的作用2639硬件系统整体设计27第4章系统软件安装及设计2841系统程序简介2842单片机程序流程图28421主程序流程图28422外部串口中断函数流程图29423定时器中断子函数流程图29424控制小车程序流程图30425避障子程序流程图32426舵机子程序流程图3343路由器软件安装及程序流程图34431软件的安装及配置34432程序设计及流程图35第5章系统调试及问题解决3751系统仿真37511常用软件介绍37512仿真测试3852硬件设计问题及调试38521测速模块的调试及问题解决38522摄像头调试及问题解决3953软件设计问题及调试40531单片机软件调试及问题40532路由器软件调试及问题42第6章总结44参考文献45致谢46附录1元器件明细表47附录2单片机部分程序源码48附录3路由器部分程序源码54I摘要本次设计WIFI智能小车主要采用ARDUINO作为底层硬件控制核心,接收来自路由器的指令执行相关操作;采用PWM脉冲调节小车速度、舵机控制以及灯光亮度;采用定时器实现小车数据的发送、小车的避障及计算小车的行驶速度;运用简单的PID算法实现轮胎直接的差速控制;采用路由器发射无线WIFI,使用LUA脚本实现了接收单片机数据及发送操作指令,设计了WEB页面控制小车的B/S模式结构。关键字ARDUINO;PWM脉冲;PID算法;WEB控制IIABSTRACTTHEDESIGNOFWIFISMARTCARSMAINLYADOPTSTHEARDUINOASTHECONTROLCORETORECEIVEINSTRUCTIONSFROMTHEROUTERPERFORMRELATEDOPERATIONSUSINGPWMPULSETOADJUSTTHEVEHICLESPEED,STEERINGGEARCONTROLANDLIGHTINGBRIGHTNESSUSINGTIMERTOREALISETHETRANSMISSIONOFCARDATA,THEBREAKDOWNOFTHECARANDCALCULATETHECARSPEEDSUSINGTHESIMPLEPIDALGORITHMTYREDIRECTDIFFERENTIALCONTROLUSINGWIRELESSWIFIROUTERLAUNCH,USINGTHELUASCRIPTIMPLEMENTSRECEIVINGMCUDATAANDSENDOPERATIONINSTRUCTIONS,ANDATLAST,ITDESIGNSAWEBPAGETOCONTROLTHECARB/SMODESTRUCTUREKEYWORDARDUINOPWMPULSEPIDARITHMETICWEBMANAGE第1页共55页第1章绪论11论文选题背景21世纪是一个遍布智能化设备的时代,我们身边充满了各式各样的智能化设备,智能电视,智能冰箱,智能洗衣机等,然而这些设备都离不开嵌入式系统与单片机系统。并且现如今又出现了物联网这一个概念使得无线控制、无线传输变的更加火热,因此物联网将会是我们说有设备之间连接通信不可缺少的一部分。也许有人会问什么是物联网。物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。9英文名称“INTERNETOFTHINGS(IOT)”。物联网是物与物相连的互联网。它的两种含义一、物联网其实仍然是互联网,只是互联网的一种延伸和扩展的网络;二、其用户互联网络伸展到了任何物品与物品之间,并且进行信息交互和通信,这可以称为物物相息了。物联网通过各种通信感知技术(智能感知、识别技术、普适计算)广泛应用于网络的融合中,也被称为继计算机。对于我们的家庭设备来说物联网的核心设备与出口就是路由器,而路由器的系统OPENWRT更是这个网络控制的主脑设备。OPENWRT是一个嵌入式的LINUX体统,它的特点是高度自动化、模块化,并且拥有强大的网络组件与扩展性。在智能家居、小型机器人、工控设备、VOIP设备及路由器中通常可以见到它的身影。如果对LINUX体统有一定的了解,对于想学习嵌入式LINUX的人来说OPENWRT是一个不错的选择。它的好处在于对于开发人员,OPENWRT拥有完整的框架来构建应用程序,并且无需建立一个固件来支持,同时还支持很多种不同芯片的路由器以及源码开放;对于用户来说,可以完全制定想要的功能,互联网上提供很多应用程序,可以以不一样的方式玩转设备。这意味着其拥有完全定制的能力,可以用前所未有的方式使用该设备。对于现代的智能设备来说远程无线遥控已成为一种趋势,我们可以通过远程遥控家里的电源开关,网络摄像头,空调等。在军用方面我们可以通过远程遥控无人侦察机查看军情,可以遥控智能机器人拆除炸弹等,这可以减少人员的伤亡。12论文选题的意义但当我们出门在外时家里缺少一位智能管家,他可以监控管理我们的房屋及家具设备,而他的前身就是由WIFI智能小车,WIFI智能机器人发展而来。同时其他的远程遥控设备,如无人机,智能机器人及其他远程智能设备都离不开单片机,无线模块等设备。而WIFI智能小车的研究可以学习了解到这些技术,同时通过WIFI小车的精准控制等研究可以也可以运用到其他的远程设备上。WIFI小车可以实现室内的室外的远程监控,使得网络视频监控更第2页共55页加灵活。13论文论述本系统能够实现通过摄像头远程监控周围环境,对小车的运动状态进行实时监控,系统要求控制灵活、可靠、精准度高、可实现与其他设备的连接与通信。本系统采用的单片机是ARDUINOUNO。它是ARDUINOUSB接口系列的最新版本,作为ARDUINO平台的参考标准模板。UNO的处理器核心是ATMEGA328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHZ晶体振荡器,一个USB口,一个电源插座,一个ICSPHEADER和一个复位按钮。ATMEGA328内置的UART可以同数字口0(RX)和1(TX)与外部实现串口通信。14路数字输入端口工作电压为5V、最大电流为40MA。外部中断端口为数字口2号和3号,触发条件为上升沿、下降沿或同时触发。由于ARDUINOUNOR3的性能满足WIFI小车的数据传输及时间精度的要求,而且产品为开源硬件提供相当完善的硬件结构,产品来源丰富应,用也相当成熟,是一款适合大学生学习研究的性价比很高的产品。本设计中要研究的内容是基于ARDUINO开源硬件及WR703N路由器设计的一部WIFI智能小车。小车能够实现前方物体自动避障,超声波车辆距离,无线视频监控,小车差速控制,摄像头灯光控制等。WIFI智能小车系统包括了两路电机、两个光电测试模块、ARDUINO单片机控制板、电机驱动模块、超声波测速模块、无线路由器、USB灯光摄像头等硬件设备。本项目主要论述的是WIFI小车设计方案的选择、硬件设计、软件设计以及测试方法等。在第2章我们主要涉及到的内容就是系统方案的整体设计与选择,以及选择这种方案的原因与优缺点;第3章我们主要讲到的是单片机的详细电气特性,各个引脚接口的使用,路由器TTL串口的查找与增益天线的焊接,电机驱动与测距模块的详细说明,各个设备之间的电源供给情况,以及模块的电路图简单说明与整体的电路图设计。第4章我们主要讲到的是单片机的软件编程,路由器的软件安装与选择,ANDROID控制端的软件设计等,在路由器中通过LUA脚本、STTY串口软件等配合控制单片机。第5章我们主要讲到的是软件与硬件的测试与调试,以及在在调试过程中的问题解决。第3页共55页第2章系统方案选择与总体设计21设计任务本设计主要是通过无线网络或者远程连接WIFI小车实现小车的前进、后退、转弯、监控视频采集、其他数据的采集以及前方距离探测等功能。本设计要求通过WEB浏览器端进行控制。1实现PC端、手机与小车WIFI的连接。2能够通过WEB网页对小车进行实时控制。22设计中考虑到的问题1由于设计中的小车底层硬件控制是通过单片机控制,单片机与无线模块的通信如何实现,启动设备时如何初始化。2如果前方有障碍物时小车行驶速度太快,如何避免撞到前方障碍物,以及小车如何转弯时角度的测量与小车当前方向。3各元件之间额定电压与电流各不相同如何控制各元件电压与电流的供给以及整个系统电源的稳定性。4由于单片机IO口的电流为MA级的,无法直接驱动电机,如何进行电机的驱动。5对于通过ANDROID客户端控制WIFI小车是如何进行通信,选择何种协议进行通信,在软件设计方面如何实现不同手机设备之间的兼容性。23系统方案的选择与比较1通过设计任务及要求,设计前考了到的问题等,在网上搜索大量资料提炼出以下几种设计方案。方案一选择网上最典型的且容易上手的TPLINKWR703N无线路由器作为WIFI小车的WIFI通信模块,使用51系列单片机作为WIFI小车的底层控制芯片。该方案路由器功耗小相关资料齐全。方案二选择网上比较耗电功率大性能较好的大亚DB120WG无线路由器作为WIFI小车的WIFI通信模块,使用STC11F02F单片机(核心为8051)作为WIFI小车的底层控制芯片,需要电源稳定容量大。方案三网上购买直接与单片机相连的WIFI控制模块作为WIFI小车的通信模块。使用近几年出现的开源硬件ARDUINO单片机作为WIFI小车的底层控制芯片,缺点是要求单片机性能较高、成本高,需要编写大量的驱动程序,设计复杂,优点无线设备与单片机联系紧密且之间通信较好。2通过上述方案的比较以及我们对于成本制作性的考虑设计出方案四,下面为方案四的选件理由方案四我们选择TPLINKWR703N无线路由器,特点是功耗小性能比较强大,相关资料齐全,不需要编写大量的驱动程序;WIFI小车的控制芯片第4页共55页我们选择ARDUINOUNO单片机,特点是ARDUINO系列的单片机为开源硬件,相关硬件软件资源齐全,单片机烧写容易,无需其他的编码器下载器等,而且ARDUINOIDE中工具可以通过图形界面进行编程。24总体设计方案WIFI智能小车包含的模块有WIFI模块、电机驱动模块、单片机控制模块、摄像头模块、超声波测距模块、光电测速模块、舵机模块等构成。241整体系统系统整体设计方案如下图21摄像头路由器PC/ANDROID端测速模块舵机模块摄像头灯光电机驱动ARDUINOUNOR3编码器电机超声波感应图21方案设计图项目系统包括路由器、ARDUINOUNO单片机、电机驱动电路、电机、电平转换电路、光感测速电路、舵机电路、电源电路、摄像头、摄像头灯光电路,超声波感应电路等。路由器用于接收PC或手机等终端设备发来的指令和将采集到的视频信号传送到PC或手机登终端设备;ARDUINOUNOR3单片机是整个小车的控制核心,控制着各个模块统一协调工作;电机驱动电路用于驱动电机转动,可以使电机产生正转、反转,从而使车体产生前进、后退、转弯等动作;电机的作用就是使整个车体运动;电平转换电路是将路由器输出的33V串口电平转换为单片机能判断的高低电平;电源电路作用是为整个小车系统供电;摄像头用于采集视频信号;摄像头灯光电路通过单片机控制调节灯光亮度方便为小车在夜间行驶提供照明;超声波感应电路用于防止小车行驶速度过快撞到前方物体以及测量前方障碍物距离;光感测速电路用于测量小车左右轮胎的差速,防止小车不能正确向前行驶;舵机电路用于控制摄像头的旋转方向。第5页共55页242整体工作原理指令传送,由PC等终端,通过WIFI无线网络连接到路由器,再通过WEB网页向路由器发送控制命令及数据。路由器接收到数据后通过内部的串口发送软件,将接收到的命令和数据通过路由器串口发送到ARDUINOUNO单片机的串口端,单片机接收到这些命令后执行相应的指令,如驱动小车运动、调节照明灯光电路、调节小车行驶等。信息采集,通过测速模块测量行驶速度,超声波感应测量前方距离、舵机等获取到数据传输给单片机,再由单片机通过串口发送给路由器,再由路由器将这些数据与视频信息,发送到PC或手机终端,并在其应用软件中显示摄像头采集到的视频信号和行驶速度等信息。第6页共55页第3章硬件介绍及设计31ARDUINOUNOR3单片机系统ARDUINO是一个能够用来感应和控制现实物理世界的一套工具。它由一个基于单片机并且开放源码的硬件平台,和一套为ARDUINO板编写程序的开发环境组成。准确的说ARDUINO是一块简单、方便的以AVR单片机为核心的GPIO接口板,并可以通过USB接口和电脑通信。它基于开放的源代码编程,具有使用类似JAVA,C语言的IDE集成开发环境,提供丰富的库函数。10311概要ARDUINOUNO是ARDUINO开源平台中最典型的参考标准,其处理器为ATMEGA328P,工作电压为5V,输入电压(推荐712V)范围620V,数字IO脚14路(其中6路作为PWM输出),模拟输入脚6路,IO脚直流电流40MA,33V脚直流电流50MA,FLASHMENORY32KB(其中05KB用于BOOTLOADER),静态随机存储器(SRAM)为2KB,电可擦除只读存储器(EEPROM)为1KB,工作时钟为16MHZ,产品样式如图31,电路图如图32图31ARDUINOUNOR3第7页共55页图32ARDUINOUNOR3电路图312主控芯片ATMEGE328PPUATMEGE328PPU(如图33)属于美国ATMEL公司AVR单片机成员之一,它采用8位高性能,低功耗AVR微控制器以及先进的RISC结构有131条指令,绝大多数为单时钟周期执行,32个8位通用工作寄存器全静态工作,片上2周期乘法器;高耐久性非易失性内存段系统内可编程FLASH程序存储器32KBYTES,1KBYTES的EEPROM,2KBYTES内部SRAM,写/擦除周期10,000FLASH/100,000的EEPROM,数据保存20年(85C)100年(2C),可选BOOT代码区具有独立锁定位在系统编程的片上引导程序,且真正的同时读写操作,还有编程软件安全;工作电压为1855V,温度范围40C到85C;速度等级04MHZ工作电压为1855V、010MHZ工作电压为2755V、020MHZ工作电压为4555V;功耗在1MHZ,18V,25C,主动模式为02MA,掉电模式为01A省电模式功为075A。第8页共55页主要功能特性外设特性有两个8BIT定时器/计数器具有独立预分频器和比较模式,1个16位定时器/计数器具有独立预分频器,比较功能和捕捉功能,实时计数器具有独立振荡器,六个PWM通道,8通道10位ADC在TQFP和QFN/MLF封装,6通道10位ADCPDIP封装,可编程的串行USART,主/从SPI串行接口,面向字节的两线串行接口(飞利浦I2C兼容),片内模拟比较器中断和引脚电平变化唤醒;单片机的特殊功能有上电复位和可编程的掉电检测,内部校准振荡器,外部和内部中断源,6种睡眠模式空闲,ADC降噪,省电,掉电,待机,和扩展待机;23可编程I/O线,28引脚PDIP,32引脚TQFP封装,28焊盘QFN/MLF以及32引脚QFN/MLF。管脚说明VCC数字电源电压。GND接地。端口B(PB70)XTAL1/XTAL2/TOSC1/TOSC2端口B为8位双向带内部上拉电阻的I/O端口(每个选定位)该端口B输出缓冲器具有高汇和源能力对称的驱动特性作为输入,端口BPINS被外部拉低,将输出电流,如果上拉电阻被激活端口BPINS为三态时复位条件变得活跃,即使系统时钟没有运行。根据不同的时钟选择熔丝设置,PB6可以作为输入到反相振荡放大器和输入到内部时钟工作电路。根据不同的时钟选择熔丝设置,PB7可作为反向输出振荡放大器如果内部标定RC振荡器作为芯片时钟源,PB76作为TOSC21为输入异步T/C2寄存器ASSR的AS2置位。图33ATMEGE328PPU第9页共55页端口C(PC50)端口C为7位双向带内部上拉电阻的I/O端口(每个选定位)。该PC50输出缓冲器具有高汇和源能力对称的驱动特性作为输入,端口CPINS被外部拉低,将输出电流,如果上拉电阻被激活。端口CPINS为三态时复位条件变得活跃,即使系统时钟没有运行。PC6/RESET如果RSTDISBL位被编程,PC6作为一个I/O引脚请注意,PC6的电气特性与端口C的其他引脚不同如果RSTDISBL熔丝位未编程,PC6作为复位输入该引脚上的低电平持续时间大于最小脉冲长度将产生复位,即使系统时钟没有运行。端口D(PD70)端口D为8位双向带内部上拉电阻的I/O端口(每个选定位)。该端口D输出缓冲器具有高汇和源能力对称的驱动特性作为输入,端口DPINS被外部拉低,将输出电流,如果上拉电阻被激活港口DPINS为三态时复位条件变得活跃,即使系统时钟没有运行。AVCCAVCC是电源电压引脚为A/D转换器,PC30,ADC76它应在外部连接到VCC即使不使用ADC如果ADC被使用时,它应连接到VCC通过一个低通滤波器请注意,PC64使用数字电源电压,VCC。AREFAREF是模拟参考引脚为A/D转换器。ADC76(TQFP和QFN/MLF封装)在TQFP和QFN/MLF封装的ADC76作为模拟输入到A/D转换器这些引脚从模拟电源供电,并作为10位ADC通道。313ARDUINOUNO最小系统113131电源ARDUINOUNO可以通过3种方式供电,而且能自动选择供电方式外部直流电源通过电源插座供电,电池连接电源连接器的GND和VIN引脚以及USB接口直接供电。使用外接电源进行输入时(如图34),A是电源输入口,电源的输入的范围为7V到12V图中B是二极管,二极管的特性是单向导通。使用二极管的目的是即使电源输入的正反极性反转,也不会烧毁线路板上的元器件。C是稳压管,把输入电压稳定在5V。由于C器件的输入和输出间需要一定的压差,所以A的输入电压不能低于7V另外,如果A的输入电压过高,会使得器件C输入和输出电压差过大,从而使得C因为温度过高也烧毁。在使用外接电源输入时,请把输入电源的电压范围控制在7V到12V之间。原第10页共55页则上,越靠近7V越好。图34外部直流电源通过电源插座供电使用USB口直接供电时(如图35)。图中A是USB接头,可以给ARDUINOUNO提供5V的电压。B是保险管,当UNO所需要的电流大于500MA的时候,该保险管会自动断开,以防止损坏电脑。保险管B是带自我恢复功能的,当ARDUINOUNO所需要的5V电流恢复到允许的范围内后,保险管会自动恢复连接,继续为ARDUINOUNO提供5V电压。图中C是10K的排阻,用来对外接电源输入进行分压。当外接电源输入电压VIN大于7V时,D器件的第3脚由于电压高于D器件的第2脚33V,所以D器件的第1脚输出高电平。器件E是PMOS,当D器件的第1脚输出高电平时,器件E处于截至状态,从而切断了USB接口的供电。当外接电源输入电压VIN小于6V时,D器件的第3脚由于电压低于D器件的第2脚33V,所以D器件的第1脚输出低电平。器件E处于导通状态,此时,ARDUINOUNO由USB口进行供电。器件F是线性稳压器,负责把5V电源转变成3V电源,该器件能给ARDUINOUNO提供大约50MA的电流。第11页共55页图35USB接口直接供电电源引脚说明VIN当外部直流电源接入电源插座时,可以通过VIN向外部供电;也可以通过此引脚向UNO直接供电;VIN有电时将忽略从USB或者其他引脚接入的电源。5V通过稳压器或USB的5V电压,为UNO上的5V芯片供电。33V通过稳压器产生的33V电压,最大驱动电流50MA。GND地脚。3122存储器ATMEGA328P包括了片上32KBFLASH,其中05KB用于BOOTLOADER。同时还有2KBSRAM和1KBEEPROM3133输入输出14路数字输入输出口工作电压为5V,每一路能输出和接入最大电流为40MA。每一路配置了2050K欧姆内部上拉电阻(默认不连接。除此之第12页共55页外,有些引脚有特定的功能。串口信号RX(0号)、TX(1号)与内部ATMEGA8U2USBTOTTL芯片相连,提供TTL电压水平的串口接收信号。外部中断(2号和3号)触发中断引脚,可设成上升沿、下降沿或同时触发。脉冲宽度调制PWM(3、5、6、9、10、11)提供6路8位PWM输出。SPI(10SS,11MOSI,12MISO,13SCK)SPI通信接口。LED(13号)ARDUINO专门用于测试LED的保留接口,输出为高时点亮LED,反之输出为低时LED熄灭。6路模拟输入A0到A5每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5V,可以通过AREF调整输入上限。除此之外,有些引脚有特定功能TWI接口(SDAA4和SCLA5)支持通信接口(兼容I2C总线)。AREF模拟输入信号的参考电压。RESET信号为低时复位单片机芯片。3134通信接口串口ATMEGA328内置的UART可以通过数字口0(RX)和1(TX)与外部实现串口通信;ATMEGA16U2可以访问数字口实现USB上的虚拟串口。TWI(兼容I2C)接口SDA(A4)是双向数据线,SCL(A5)是时钟线SCL。在TWI总线上传送数据,首先送最高位,由主机发出启动信号,SDA在SCL高电平期间由高电平跳变为低电平,然后由主机发送一个字节的数据。数据传送完毕,由主机发出停止信号,SDA在SCL高电平期间由低电平跳变为高电平。SPI接口它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。3135下载程序ARDUINOUNO上的ATMEGA328已经预置了BOOTLOADER程序,因此可以通过ARDUINO软件直接下载程序到UNO中。可以直接通过UNO上ICSPHEADER直接下载程序到ATMEGA328P。3136注意要点ARDUINOUNO上USB口附近有一个可重置的保险丝,对电路起到保护作用。当电流超过500MA是会断开USB连接。ARDUINOUNO提供了自动复位设计,可以通过主机复位。这样通过第13页共55页ARDUINO软件下在程序到UNO中软件可以自动复位,不需要在复位按钮。在印制板上丝印“RESETEN“处可以使能和禁止该功能314ARDUINOUNOR3单片机系统的使用本次设计,使用到了ARDUINOUNO单片机的I/O口的输入输出功能、串口通信RX(0号)TX(1号)功能、外部中断(2号3号)功能、脉冲宽频调制PWM(9、10、11)功能、TWI通信(SDAA4和SCLA5)功能、内部定时器功能。ARDUINO微控制器的数字端口和模拟端口与ATMEGA328芯片引脚的对应关系如图34。标有013标号的引脚对应的是数字端口,在013前面有符号“”的引脚对应的端口具有PWM输出功能。标有A0A5标号的是模拟端口。第14页共55页图37ARDUINOUNO端口与ATMEGE328引脚关系图36ARDUINOUNO端口与ATMEGE328P引脚关系ARDUINOUNO微控制器的数字I/O口输出,通过4、5端口(6、7端口)给驱动模块送控制信号用于控制左侧(右侧)电机的转动方向、通过9端口(10端口)向驱动模块送PWM控制信号控制左侧(右侧)电机的转速、通过2端口(3端口)接收左侧测速模块(右侧测试模块)信息。通过11端口向摄像头发送PWM控制信号调节灯光亮度,通过TWI通信端口接收舵机的数据信息,单片机的内部定时器的使用是用于结算测速模块测量的速度,以及其他需要精确时间的地方。单片机的串口通信,用于与路由器进行的串口通讯,接收电脑终端发送的串口指令,从而控制小车的运动。第15页共55页32路由器WR703NTPLINK的TLWR703N是一款小而强大的路由器,不足百元的价格,拥有一款无线路由器具有的基本功能(如图38),而且可以支持USB3G无线网卡。但703N的潜力不止如此,目前有不少电子爱好者开始了基于703N的折腾,OPENWRT通用固件已经出现在常用的家庭路由器中,也是一款特别不错的嵌入式系统。图38TPLINKWR703N321路由器硬件介绍TPLINKWR703N采用ATHEROS的AR9331AL1A处理器,主频400MHZ,它是一个高度集成和成本效益的IEEE80211N1X1的24GHZ系统单晶片(SOC)的无线局域网(WLAN)AP和路由器PLATFORMSIN的一个单芯片,AR9331包括一个MIPS24K五端口处理器,IEEE8023快速以太网交换机的MAC/PHY,一个USB20MAC/PHY和外部存储器接口串行闪存,SDRAM,DDR1或DDR2,音频接口I2S/SPDIFOUT,SLIC的VOIP/PCM接口,UART,GPIO,可以用于LED控制或其他通用接口配置。AR9331集成了两个千兆互助委员会加一个五端口快速以太网交换机,交通四个一流的服务质量(QOS)的AR9331集成引擎。的80211N1X1的MAC/BB/无线电与内部PA和LNA。它支持80211N操作高达72MBPS的为20MHZ和150MBPS的分别为40MHZ信道,IEEE80211B/G的数据传输速率。其他功能还包括片上一次性可编程(OTP)存储器。WR703N的SPIFLASH为4MB,RAM为32MB,为了安装跟多的程序需要改装FLASH为8M,如果为了减小CPU的压力就要改RAM为64MB。有一个USB接口,一个10/100MBPSLAN/WAN服用口最高传输功率为150MBPS。路由器固件编程器固件中包含UBOOT、FW和ART。UBOOT就像电脑的第16页共55页BIOS,是底层的管理系统;FW就像电脑的操作系统,实现路由器的各种功能;ART就像电脑的无线驱动程序,是无线校验码;UBOOT的长度为128KB(0X20000);ART为64KB(0X10000);FW有4M和8M的区别,4M的为3840K(0X3C0000),8M的为7936KB(0X7C0000)。在刷机之前要对要刷入FLASH的UBOOT、FW、ART的文件长度用ULTRAEDIT或WINHEX进行校验。尤其是UBOOT,如果大小不对,千万不要尝试刷入,那是一定会变砖的。4M的FLASHFLASH地址从0X0000000X3FFFFF(如表31)TTL访问FLASH的地址从0X9F0000000X9F3FFFFF(如表31)表314MB的FLASH地址FLASH起始地址TTL起始地址FLASH终止地址TTL终止地址UBOOT0X0000000X9F0000000X01FFFF0X9F01FFFFFW0X0200000X9F0200000X3DFFFF0X9F3DFFFFART0X3F00000X9F3F00000X3FFFFF0X9F3FFFFF322路由器改装我们可用过WR703N改装各种不同功能的电子设备,如挂载优盘硬盘当网络硬盘或者离线下载电影等、挂载摄像头当网络监控器、挂载音响当WIFI音响等等,自己喜欢的设备。我们要通过路由器与单片机通信实现WIFI小车的控制,如图39为WR703N路由器的内部电路板。要想控制单片机要有串口通信接口TTL,WR703N有两种方式实现TTL串口通信,一种是连接USB转TTL,另一种是直接在电路板上焊接TTL串口,我们采用第二种方式连接获得TTL信号如图310。图39TPLINKWR703N电路板第17页共55页WR703N的TTL串口图的右上角靠近内存的位置(图310),当焊接好TTL线以后要连接USB转TTL线查看连接是否通畅,TPOUT连接USBTTL线的RX端,TPIN连接USBTTL线的TX端。图310WR703N路由器TTL串口为了增加WR703N路由器的WIFI信号的传输功率我们需要为路由图添加SMA天线(如图311),网上有传说,去掉C30电容后,会增大发射功率。实际效果并不明显。图311SMA外接天线位置323路由器刷OPENWRT1原WR703N固件刷OPENWRT访问WR703N在OPENWRT的WIKI页,然后在FLASHING一节中找到下载链接SQUASHFSFACTORYBIN。进入路由器管理界面,出厂配置为HTTP/19216811,用户名和密码均为ADMIN。第18页共55页进入路由器管理界面以后,在左侧选择系统工具软件升级,软后选择下载好的固件升级固件,等待一段时间大约2MIN后路由器自动重启路由器固件刷新成功。2OPENWRT固件刷OPENWRT第一步使用WINSCP将升级固件上传到路由的/TMP目录下1打开WINSCP,“主机名“也就是IP填你的路由IP,端口默认22不改,“用户名/密码“默认是ROOT/ADMIN。2文件协议选择SCP,然后点“登陆“,接着会进行登陆过程,然后弹出一个窗口,直接点“确定“就可以了,3双击右方列表框中唯一的目录,显示路由所有的文件列表,再双击/TMP打开,然后将703N原厂固件拖入该目录,等待几秒完成就行了第二步1打开PUTTY,输入路由IP,端口23不改,连接类型选择SSHOPENWRT改过密码之后就不能用TELNET登陆了,再点“打开“弹出黑框提示登陆,“用户名“打ROOT,回车之后输密码再回车注意,此处密码是不显示的,需保证输入正确,成功之后会显示一个由字符组成的OPENWRT图案以及部分参数2使用CAT/PROC/MTD查看路由支持的升级命令。ROOTOPENWRTCAT/PROC/MTDDEVSIZEERASESIZENAMEMTD00002000000010000“UBOOT“MTD10010E63000010000“KERNEL“MTD2006C19D000010000“ROOTFS“MTD3004A000000010000“ROOTFS_DATA“MTD40001000000010000“ART“MTD5007D000000010000“FIRMWARE“3根据上面的升级参数执行升级命令。MTDRWRITEOPENWRTBINMTD533电机驱动电路电动小车的驱动不但要求电机驱动系统具有高转矩重量比、宽调速范围、高可靠性,而且电机的转矩转速特性受电源功率的影响,这就要求驱动具有尽可能宽的高效率区。我们所使用的电机一般为直流电机,主要用到永磁直流电机、伺服电机及步进电机三种。直流电机的控制很简单,性能出众,直流电源也容易实现。我们使用的这种直流电机的驱动及控制需要电机驱动芯片进行驱动。常用的电机驱动芯片有L297/298,MC33886,ML4428等第19页共55页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脚。图312L298驱动芯片实物及引脚332驱动原理及电路图驱动部分我们使用的是L298N驱动芯片构成的一个驱动电路模块如图313所示。第20页共55页图313电机驱动模块电路原理图如下图314所示。图314L298驱动模块电路原理图使用直流/步进两用驱动器可以驱动两台直流电机。分别为M1和M2。引脚ENA,ENB可用于输入PWM脉宽调制信号对电机进行调速控制。(如果无须调速可将两引脚接5V,使电机工作在最高速状态,既将短接帽短接)实现电机正反转就更容易了,输入信号端IN1接低电平输入端IN2接高电平,电机M1正转。(如果信号端IN1接高电平,IN2接低电平,电机M1反转。第21页共55页)控制另一台电机是同样的方式,输入信号端IN3接低电平,输入端IN4接高电平,电机M2正转。(反之则反转),PWM信号端A控制M1调速,PWM信号端B控制M2调速参考如表32。表32电机驱动状态表输入PWM信号电机旋转方向控制端IN1控制端IN2控制端IN3控制端IN4调速端A调速端B正转高低/高/反转低高/高/M1停止低低/高/正转/高低/高反转/低高/高M2停止/低低/高34摄像头介绍本项目中摄像头实现实时监测小车周边情况,使之成为一个无线可控移动的视频监控器,也用于判断小车当前路况。341摄像头简介摄像头CAMERA又称为电脑相机、电脑眼等,它作为一种视频输入设备,在过去被广泛的运用于视频会议、远程医疗及实时监控等方面。近年以来,随着互联网技术的发展,网络速度的不断提高,再加上感光成像器件技术的成熟并大量用于摄像头的制造上,这使得它的价格降到普通人可以承受的区间。普通的人也可以彼此通过摄像头在网络进行有影像、有声音的交谈和沟通,另外,人们还可以将其用于当前各种流行的数码影像、影音处理。342摄像头的分类摄像头分为数字摄像头和模拟摄像头两大类。模拟摄像头可以将视频采集设备产生的模拟视频信号转换成数字信号,进而将其储存在计算机里。模拟摄像头捕捉到的视频信号必须经过特定的视频捕捉卡将模拟信号转换成数字模式,并加以压缩后才可以转换到计算机上运用。数字摄像头可以直接捕捉影像,然后通过串、并口或者USB接口传到计算机里。现在电脑市场上的摄像头基本以数字摄像头为主,而数字摄像头中又以使用新型数据传输接口的USB数字摄像头为主,目前市场上可见的大部分都是这种产品。除此之外还有一种与视频采集卡配合使用的产品,但目前还不是主流。由于个人电脑的迅速普及,模拟摄像头的整体成本较高等原因,USB接口的传输速度远远高于串口、并口的速度,因此现在市场热点主要是USB接口的数字摄像头。第22页共55页以下主要是指USB接口的数字摄像头。343摄像头的工作原理摄像头的工作原理大致为景物通过镜头LENS生成的光学图像投射到图像传感器表面上,然后转为电信号,经过A/D模数转换转换后变为数字图像信号,再送到数字信号处理芯片DSP中加工处理,再通过USB接口传输到电脑中处理,通过显示器就可以看到图像了。我们这里是将摄像头连接在路由器的USB接口上,通过路由器上的摄像头驱动软件使摄像头工作,并由路由器通过WIFI将视频信号发送出去。电脑等终端接收设备,接收到视频信号后通过控制软件的界面显示图像。344摄像头的主要结构和组件从摄像头的工作原理就可以列出摄像头的主要结构和组件1、主控芯片2、感光芯片3、镜头4、LED灯。摄像头内部需要两种工作电压33V和25V,因此好的摄像头内部电源也是保证摄像头稳定工作的一个因素。在本次WIFI小车的制作中我们使用的是中星微ZC301的摄像头,如图315所示图315中星微ZC301摄像头35测速传感器本设计通过两块测速传感器来测量两个轮胎之间的速度差,然后通过PWM信号来控制小车是直线行驶,转弯等,同时监控当前小车的行驶速度等数据。351测速传感器说明我们的测试传感器使用的是最新的电机马达测速传感器模块对射光电传感器(槽型光耦)。该传感器广泛的用于电机转速检测,脉冲计数,位置限位等方面,它的工作电压为33V5V之间,槽宽10MM,有电源接入状态指示灯与输出状态指示灯,当输出高电平时灯亮,输出低电平时灯灭,如果第23页共55页有遮挡时输出高电平,无遮挡时输出低电平。采用74HC04D六组反相器,有门电路数6个,它是一种高速CMOS器件,兼容低功耗肖特基TTL电路。测速传感器及电路图如316所示图316测速传感器及电路图352测速传感器使用本次设计中我们使用到两块测试传感器,传感器GND连接ARDUINOUNO控制板的GND,OUT电平输出端分别连接ARDUINOUNO控制板2、3外部中断端口。传感器通过感应20孔编码器产生高低电平来记录小车的行驶速度如图317所示。图31720孔编码器及使用36超声波传感器本次设计中使用HCSR04超声波传感器主要用于测量前方物体距离小车的距离以及通过测量距离避免小车因向前行驶速度过快撞击前方障碍物毁坏车体。第24页共55页361传感器说明及原理HCSR04超声波测距模块可提供2CM400CM的非接触式距离感测功能,测距精度可达高到3MM;模块包括超声波发射器、接收器与控制电路。基本工作原理如图3181采用IO口TRIG触发测距,给至少10US的高电平信号;2模块自动发送8个40KHZ的方波,自动检测是否有信号返回;3有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声;4两次测距时间间隔最少在60MS以上,以防止发射信号对回响信号的影响;波从发射到返回的时间。测试距离高电平时间声速340M/S/2HCSR04电气参数如表33所示表33HCSR04电气参数电气参数HCSR04超声波模块工作电压DC5V工作电流15MA工作频率40HZ最远射程400CM最近射程2CM测量角度15度输入出发信号10US的TTL脉冲输出回应信号输出TTL电平信号,与射程成比例图318超声波时序图362HCSR04传感器的使用有时序图可知,只需要提供一个10US以上脉冲触发信号,我们需要第25页共55页把TRIG连接ARDUINO控制板的12端口,该模块内部将发出8个40KHZ周期电平并检测回波。需把ECHO连接到ARDUINOUNO控制器的13端口检测回报信号,一但检测到有回波信号则输出回响信号回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式US/58厘米或者US/148英寸;或是距离高电平时间声速(340M/S)/2;建议测量周期为60MS以上,以防止发射信号对回响信号的影响。要注意的是此模块不宜带电连接,若要带电连接,则先让模块的GND端先连接,否则会影响模块的正常工作。测距时,被测物体的面积不少于05平方米且平面尽量要求平整,否则影响测量的结果。37舵机模块在本设计中我们使用的舵机型号为SG90,舵机的输入线共有三条,红色中间是电源线,一边棕色的是地线,这辆根线给舵机提供最基本的能源保证,主要是电机的转动消耗。电源有两种规格,一是48V,一是60V,分别对应不同的转矩标准,即输出力矩不同,60V对应的要大一些,具体看应用条件;另外一根线是控制信号线,FUTABA的一般为白色,JR的一般为桔黄色。另外要注意一点,SANWA的某些型号的舵机引线电源线在边上而不是中间,需要辨认。但记住红色为电源,黑色或棕色为地线,一般不会有错。舵机如图311所示。图319SG90舵机371舵机的控制舵机的控制信号为周期是20MS的脉宽调制(PWM)信号,其中脉冲宽度从05MS25MS,相对应舵盘的位置为0180度,呈线性变化。也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。舵机内部有一个基准电路,产生周期20MS,宽度15MS的基准信号,有一个比较器,将外加的PWM信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。由此可见,舵机是一种位置伺服的驱动器,转动范围不能超过180度,适用于那些需要角度不断变化并第26页共55页可以保持的驱动当中。比方说机器人的关节、飞机的舵面等。图320舵机工作原理372舵机的作用在本次WIFI小车中我们利用两个舵机做成一个云台(如图321),将摄像头固定在云台上,通过ARDUINOUNO单片机控制舵机旋转一定的角度,把我们想要角度的图像通过摄像头传送到电脑等终端设备。图321摄像头云台38电源模块在本次设计中为了节约设计成本以及给小车提供足够的电力,我们将使用已有的12V移动电源来为小车提供充足的电力,通过移动电源12V输出连接一个多了输出电源模块来隔绝电路,路由器的电源通过移动电源5V、15A输出口直接供电。第27页共55页39硬件系统整体设计通过各硬件模块构成整个WIFI小车硬件系统如图所示A5A4A3A2A1A0VINGNDGND5V33V0RX1TX2345678910111213ARDUINOUNOGNDL298NPWMAIN1IN2IN3IN4PWMBVCCGND5VRXTXGNDWR703NUSBZC301PK测速AGNDOUTVCC测速BGNDOUTVCC6V/DCGNDVCCHCSR04ECHOTRIGVCCGND舵机AINPUTVCCGND12V升压稳压电源GNDVCCMM5V5V舵机BINPUTVCCGND图321电路图详细设计第28页共55页第4章系统软件安装及设计软件提供了发挥硬件功能的方法和手段扩大其应用范围,并能改善人一机界机,方便用户使用。没有配备软件的计算机称为“裸机”,是没有多少实用价值的。硬件与软件的形象比喻为硬件是计算机的“躯体”,软件是计算机的“灵魂”。对于一款好的智能设备来说,软件就是它的灵魂,如果没有了软件智能设备也不在是智能设备。因此为设备设计一款好的软件也是相当重要的。41系统程序简介硬件平台结构一旦确定,大的功能框架即形成,软件在硬件平台上构筑,完成各部分硬件的控制和协调工作。系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。因此,软件是系统的灵魂。软
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年保育员能力考试试题试题及答案
- 2025年中国热带农业科学院椰子研究所第二批招聘笔试备考题库附答案详解
- 2024-2025学年自考之《社区护理》自我提分评估及参考答案(研优卷)
- 2025年扎兰屯市卫健系统“归雁计划”回引人才笔试备考题库及参考答案详解
- 2025年北京市人民政府外事办公室所属事业单位招聘笔试备考题库参考答案详解
- 2025年上海社会科学院工作人员招聘(34人)考前自测高频考点模拟试题附答案详解(达标题)
- 2024国家电网招聘考试通关考试题库含答案详解(达标题)
- 2024-2025学年度保安员考试试卷附答案详解(突破训练)
- 一件感人至深的事件叙事作文(14篇)
- 2025安徽省基层法律服务工作者考试测试题及答案一
- 2025年检查检验项目分级审核制度
- 2025年新版汉字听写大赛题库(含答案)
- 2025年供应科考试试题及答案
- 无人机装调检修工技术考核试卷及答案
- 《传感器原理及应用》课件-第8章+光电效应及光电器件
- 古诗词诵读教学设计与实施方案
- 2025年山东省政府采购评审专家考试题库附含答案
- 眼镜验光师试题(及答案)
- 第二章 有理数的运算 单元测试(含解析)2025-2026学年人教版(2024)数学七年级上册
- 2024年危险化学品典型事故案例反思
- 四川普通高中会考英语试卷及答案
评论
0/150
提交评论