版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连东软信息学院高职毕业设计(论文)论文题目论文题目:遥控智能车设计与实现系所:电子工程系专业:嵌入式系统工程学生姓名:学生学号:指导教师:导师职称:讲师完成日期:2014年4月25日大连东软信息学院DalianNeusoft大连东软信息学院毕业设计(论文)摘要IV遥控智能车设计与实现摘要为了探索自然环境极端的地方,为了完成危险性高的工作,如:排爆、侦查等。使用机器人代替人去实现,已经是世界发展的趋势,既然是代替人去实现,最基本是对机器人进行远程遥控,其次通过摄像头观察到机器人所能看到的事物。本设计采用STC89C52RC单片机作为核心控制器,主要包括视频传输模块、无线遥控模块、电源模块、驱动模块和车身载体六个部分。本设计是基于WiFi通信、无线控制的视频小车设计。主控程序是用C51程序编写的,方便裁剪和修改、调试。本设计可实现如下功能:无线遥控--遥控器通过按键对信号接收端发送内定编码,信号接收端再将信号转变为高低电平发送给单片机,单片机相应发送各种指令,小车进行相应动作。WiFi视频传输模块--通过WiFi视频传输板的路由器加载的固件程序传输视频到上位机或手机终端。本设计还具有可上下270度旋转的摄像头,直流电机可灵活方便地对车速进行控制。整个系统在设计中注重低功耗处理和力求高性价比等细节,电路结构简单,可靠性能高,无论在结构和技术上都具有较好的实用价值。关键词:智能,单片机,遥控小车大连东软信息学院毕业设计(论文)AbstractDesignandImplementationofRemoteControlIntelligentVehicleAbstractInordertoexplorethenaturalenvironmentofextremeplaces,inordertocompletethehighdangerouswork,suchas:eod,investigation,etc.Usingrobotsinsteadofpeopletoachieve,isthetrendofthedevelopmentoftheworld,sinceitisinsteadofpeopletoachievethemostbasicistoremotecontrolofrobots,secondlybyviewingthecameratotherobotcanseethings.
STC89C52RCsingle-chipmicrocomputerasthecorecontrollerisappliedinthisdesign,mainlyincludesthevideotransmissionmodule,thewirelessremotecontrolmodule,powermodule,drivemoduleandbodycarriersixparts.
ThisdesignisbasedontheWiFivideocommunications,wirelesscontrolcardesign.MastercontrolprogramiswrittenwithC51programforcuttingandmodify,debugging.Thisdesigncanachievethefollowingwork:throughwirelessremotecontrol,remotecontrolbuttontosendthedefaultencodingsignalreceiver,thesignalatthereceivingendandsendingsignalsintohighandlowlevelMCU,MCUsendsvariouscorrespondinginstructions,thecaraccordingly.WiFivideotransmissionmodule,WiFivideotransmissionboardrouterloadfirmwareprogramvideotothePCormobilephoneterminals.Thisdesignalsohasthecameracanrotate270degreesupanddown,dcmotorcanbeflexibleandeasilytocontrolthespeedofthecar.Inthedesignofthewholesystempaysattentiontodetailssuchaslowpowerconsumptionandstrivetocost-effective,circuitstructureissimple,reliableperformanceishigh,bothinstructureandtechnologyhasgoodpracticalvalue.Keywords:capacity,MCU,Remotecontrolcar大连东软信息学院毕业设计(论文)目录目录TOC\o"1-3"\u摘要 IAbstract II第1章项目概述 11.1项目背景 11.2项目简介 11.3应用范围 2第2章项目实施方案 32.1概述 32.2开发环境 32.3硬件设计 32.3.1硬件系统框图 32.3.2原理图设计 42.3.3WiFi模块设计 72.3.4无线遥控模块设计 92.4软件设计 102.4.1软件开发环境介绍 102.4.2软件流程图 11第3章项目实施过程 123.1硬件实现过程 123.2软件实现过程 123.3调试过程 163.3.1硬件调试 163.3.2软件调试 163.3.3综合调试 17第4章项目成果 194.1硬件成果物 194.1.1整车实物图 194.1.2无线遥控实物图 204.1.3WiFi模块实物图 204.2软件成果物 21第5章结论 22参考文献 24致谢 25附录 26大连东软信息学院毕业设计(论文)-第1章项目概述为了探索自然环境极端的地方,为了完成危险性高的工作,如:排爆、侦查等。使用机器人代替人去实现,已经是世界发展的趋势,既然是代替人去实现,最基本是对机器人进行远程遥控,其次通过摄像头观察到机器人所能看到的事物。1.1项目背景随着计算机技术、控制技术、信息技术的快速发展,工业的生产和管理进入了自动化、信息化和智能化时代,智能化已经成为时代发展的需要。在柔性自动化生产线、智能仓储管理及物流配送等领域,世界上许多国家都在积极进行智能车辆的研究和开发设计。智能车辆在原有车辆系统的基础上增加了一些智能化技术设备:一、计算机处理系统主要完成对来自摄像机所获取的图像的预处理、增强、分析、识别等工作二、摄像机用来获得道路图像信息三、传感器设备车速传感器用来获得当前车速障碍物传感器用来获得前方、侧方、后方障碍物等信息。智能车辆技术按功能可分为三层即智能感知/预警系统、车辆驾驶系统和全自动操作系统团。
1.2项目简介根据当前时代发展需要,本项目确定方案如下:设计三个模块PCB板——主控制板模块、电源模块、驱动模块以及两个成品PCB模块——视频传输模块和无线遥控模块。其基本原理如下:当遥控器有按键按下,输出的数据信号为解码后的高电平信号,发给无线遥控模块。无线遥控模块通过连接的IO口把信号给主板的单片机,再给驱动一个信号(10正转,01反转,00或11停止),其中各个模块的电压均可以由电源模块给电。本设计以STC89C52RC为主芯片,通过P2口控制L298N电机驱动,来驱动两对电机。有电机的正转与反转来完成小车的前进、后退,左转、右转等功能的基本动作。本设计使用成品的WiFi视频传输板,此传输板内部有4MFlash,64MRAM并且将需要的程序固件已刷好。引出串口和电源,电源5V适用,电源板电源芯片是LM2576-5.0,主板和WiFi视频传输板都使用5V电源供电;WiFi视频传输板串口是TTL信号可以直接和单片机连接,单片机选择使用STC89C52RC,波特率是9600;上位机控制命令通过WiFi通信传输给WiFi视频传输板,控制命令通过WiFi视频传输板内部程序转换为TTL信号从而控制单片机,主控代码是用C51程序编写的,有如下特点:方便裁剪、修改、调试。这些指令再通过单片机控制驱动板,驱动板的驱动芯片选用L298N,直流电机驱动采用双向PWM控制技术,可灵活方便地对车速进行控制,结合电机的不同运作可以自由控制移动方向。WiFi视频传输板路内部程序支持USB摄像头,可以直接传输视频至上位机程序,但是WiFi视频传输板不支持热插拔。本项目我还加了拓展功能:用红外遥控器控制小车的前进、后退、左转、右转实现遥控小车,还有使用1602显示小车行驶状态。此次研究的目的主要是对我们加强专业知识和专业技能综合应用能力的培训。学会分析问题,解决问题,掌握系统工程设计的方法,培养实践动手能力和创新精神,并为今后从事相关领域的研究及技能工作奠定良好的基础。通过此次项目研究要了解STC89C52RC单片机的结构,熟悉Keil开发环境的使用方法,掌握直流电机的控制,电路设计,PCB设计等问题的解决方案,提高面对一个研究项目时的分析能力和解决问题的能力。通过构建智能小车系统,培养设计并实现自动控制系统的能力。在实践过程中,熟悉以单片机为核心控制芯片,设计小车的驱动等外围电路,灵活应用模拟电路等相关学科的理论知识,联系实际电路设计的具体实现方法,达到理论与实践的统一。在此过程中,加深对控制理论的理解和认识。1.3应用范围由于遥控部分是基于无线通信、视频部分基于WiFi传输,所以在使用范围上有一定限制。WiFi最大通信范围是100米左右,所以适合开发高端遥控玩具、室内遥控工具等低端产品。但是通过WiFi热点的使用,使用范围将是不可估量的,比如在另一个城市里使用互联网控制本地的一台带有WiFi通信功能的电脑,从而控制本地的WiFi机器人,这样灵活的使用将不被WiFi本身的通信范围所限制。所以应用范围也得到扩大,比如远程手术、远程拆弹、远程勘探等高级应用领域。第2章项目实施方案2.1概述根据当前时代发展需要,本项目确定方案如下:设计三个模块PCB板——主控制板模块、电源模块、驱动模块以及两个成品PCB模块——视频传输模块和无线遥控模块。其基本原理如下:当遥控器有按键按下,输出的数据信号为解码后的高电平信号,发给无线遥控模块。无线遥控模块通过连接的IO口把信号给主板的单片机,再给驱动一个信号(10正转,01反转,00或11停止),其中各个模块的电压均可以由电源模块给电。本设计以STC89C52RC为主芯片,通过P2口控制L298N电机驱动,来驱动两对电机。有电机的正转与反转来完成小车的前进、后退,左转、右转等功能的基本动作。本设计使用成品的WiFi视频传输板,此传输板内部有4MFlash,64MRAM并且将需要的程序固件已刷好。引出串口和电源,电源5V适用,电源板电源芯片是LM2576-5.0,主板和WiFi视频传输板都使用5V电源供电;WiFi视频传输板串口是TTL信号可以直接和单片机连接,单片机选择使用STC89C52RC,波特率是9600;上位机控制命令通过WiFi通信传输给WiFi视频传输板,控制命令通过WiFi视频传输板内部程序转换为TTL信号从而控制单片机,主控代码是用C51程序编写的,有如下特点:方便裁剪、修改、调试。这些指令再通过单片机控制驱动板,驱动板的驱动芯片选用L298N,直流电机驱动采用双向PWM控制技术,可灵活方便地对车速进行控制,结合电机的不同运作可以自由控制移动方向。WiFi视频传输板路内部程序支持USB摄像头,可以直接传输视频至上位机程序,但是WiFi视频传输板不支持热插拔。2.2开发环境硬件开发环境:315M-433M频率无线遥控器模块、WiFi视频传输板、单片机、笔记本电脑、串口下载线、万用表等。软件开发环境:Altiumdesigner,KeiluVision4,STC-Isp-v3.8a,上位机遥控程序等。2.3硬件设计2.3.1硬件系统框图本设计的主要硬件分为上位控制端模块,WiFi视频传输模块,单片机控制模块和机械及驱动模块。上位控制端模块的硬件构成较简单,是以市面成品为主,如带有WiFi通信功能的电脑和支持安卓系统的智能手机,该模块能够进行上位机程序控制和接收视频传输;WiFi路由器通信模块也是以成品为主,包括完成刷机的本项目WiFi视频模块中的路由器和USB摄像头,USB摄像头可以直接接到WiFi视频传输板上,该模块用于转码上位机操作命令,将10进制数据转换为2进制数据,再传输给单片机,同时把摄像头采集到的视频通过WiFi通信传输到上位机控制端上;单片机控制模块是主要的自制部分,以STC单片机主板为主,LM2576开关型降压稳压器的电源板为辅,该模块能够支持单片机最小工作系统,并且通过程序的优化实现更多的控制功能,以及为其他硬件部分提供5V的稳压电源;机械及驱动模块,主要包括L298驱动板和4个直流电机,该模块通过单片机的控制信号控制各个电机的工作细节,结合直流电机的特点从而达到向任意方向行进。硬件系统框图如图2.1所示。图2.1硬件系统框图2.3.2原理图设计本设计采用AltiumDesigner软件进行硬件电路设计,AltiumDesigner是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。电路设计自动化EDA(ElectronicDesignAutomation)指的就是将电路设计中各种工作交由计算机来协助完成。如电路原理图(Schematic)的绘制、印刷电路板(PCB)文件的制作、执行电路仿真(Simulation)等设计工作。本设计主要电路有主板电路、串口电路、电源电路和驱动电路。(1)主板电路设计主板电路采用单片机最小系统,单片机选择用STC89C52RC-40I-PDIP40。工作电压5.5V~3.4V,程序空间为8K,RAM为512byte,工作频率可到40MHz。工业级,-40℃~+85℃。PDIP:双列直插封装40脚。89C52还有一个定时器2,比51的多一个。良好的工作范围和资源能够满足基本需求。下载程序用MAX232电平转换芯片。预留电源排针,I\O口排针以备扩展。晶振用11.0592,便于串口及其他使用分频(串口通信时比较容易分频成常见的波特率。11.0592MHz=192*57600=384*28800=576*19200=1152*9600)复位采用上电复位和按键复位,便于使用。主板电路主要包括:单片机,晶振电路,复位电路,电源和地,使用内部存储器(EA接高电平)。晶振电路是保证单片机能正常工作,不会出现时间上的误差。复位电路可以在单片机不能正常工作时恢复到初始状态。主板以单片机STC89C52RC为中心,并且有多个外扩排针,下载程序用MAX232电平转换芯片。主板原理图如图2.2所示。图2.2主板原理图(2)串口电路设计由于电脑串口是标准RS232串口,最高电压+15V或者-15V。而单片机通常是TTL电平,最高不超过5V。所以连接时必须做电平转换,即标准RS232转TTL电平。因此本串口电路中采用MAX232电平转换芯片把电脑的串口RS232电平信号转换为TTL电平信号。本电路设计中的104均为去耦电容,用在电源和地之间,有三个方面的作用:一是作为本集成电路的蓄能电容;二是滤除该器件产生的高频噪声,切断其通过供电回路进行传播的通路;三是防止电源携带的噪声对电路构成干扰。串口原理图如图2.3所示。图2.3串口原理图(3)电源电路设计电源板以电源芯片LM2576-5.0为中心。最大输入电压40V,最大电流3A,输出电压5V。采用LM2576系列开关稳压集成电路作为MCU稳压电源的核心器件不仅可以提高稳压电源的工作效率,减少能源损耗,减少对MCU的热损害,而且可减少外部交流电压大幅波动对MCU的干扰,同时可降低经电源窜入的高频干扰,这对保障MCU的安全和可靠运行能起到事半功倍的作用。电路中的桥为整流桥,是由二极管构成,作用是将交流变直流。电源板原理图如图2.4所示。图2.4电源板原理图(4)驱动电路设计驱动板以L298N驱动芯片为中心,并且有4个LED辅助观察,8个二极管保护芯片。L298N电源电压最大可达45V,工作电压5V。本电路L298芯片主要控制两个电机的正反转,以及改变电机的转速。L298芯片是一种高压、大电流双全桥式驱动器。其中ISENA、ISENB分别为两个H桥的电流反馈脚,不用时可以直接接地。VCC,VS是接电源引脚,电压范围分别是4.5~7V、2.5~46V,设计中VCC端与单片机电源端共用5V工作电源,VS端独立接9V电源。ENA,ENB为使能端,低电平禁止输出。IN1、IN2、IN3、IN4为数据输入引脚连接单片机I/O口P1.4~P1.7。OUT1、OUT2、OUT3、OUT4为数据输出引脚。D1~D8是保护二极管(IN4004),用于释放掉电机停车时产生的反向尖峰电势,否则会击坏L298。驱动板原理图如图2.5所示。图2.5驱动板原理图2.3.3WiFi模块设计WiFi视频传输模块其实就是把普通的无线路由器通过刷机,加入开源的OpenWrt系统,使其成为了一个可以运行Linux系统的小电脑。OpenWrt是嵌入式设备上运行的Linux系统。OpenWrt的文件系统是可写的,开发者无需在每一次修改后重新编译,这使它更像是一个小型的Linux电脑系统,同时也加快了开发速度,如图2.6所示。图2.6WiFi模块硬件图你会发现无论是ARM,PowerPC或MIPS的处理器,都有很好的支持,并且附带3000左右的软件包,用户可以方便的自定义功能来制作固件,也可以方便的移植各类功能到OpenWrt下。简而言之,就是从思科的路由源码改造过来的,一个适用于某些特定芯片的路由器的小型Linux系统,有了这个系统,我们的路由就不再是上网那么简单了,我们可以在上面安装各种程序、驱动,以路由为平台,用户可以自由地加载USB摄像头、网卡、声卡、等等设备。思科系统公司(CiscoSystems,Inc.),简称思科公司或思科,1984年12月正式成立,是互联网解决方案的领先提供者,其设备和软件产品主要用于连接计算机网络系统,总部位于美国加利福尼亚州圣何塞。1986年,Cisco第一台多协议路由器面市。1993年,思科建成了世界上第一个由1000台路由器连接的网络,由此进入了一个迅猛发展的时期。竞争方面,思科与华为一直是老对手。2012年10月,美国众议院认定华为和中兴危害其国家安全,而华为在其后的反驳中指出,华为、中兴被认定威胁美国国家安全,正是思科在背后推波助澜。我们的WiFi板上运行着一款程序,叫做mjpg-streamer,这个程序可以把USB摄像头的视频进行编码,然后通过WiFi返回给上位机,这样,我们就可以看到来自机器人的视频了。同时路由一般都预留有TTL串口,TTL串口是用来调试或者刷机用的,我们把这个TTL串口引出来,然后通过安装在路由里面的Ser2net软件,就能把来自WiFi信道的指令转到串口输出,而串口在这里的作用就是与单片机芯片MCU通信,让单片机知道用户要让它做什么动作。WiFi视频传输板的上位机平台是一款基于Microsoft.NetFramework4.0构架的上位机平台,该平台具有WIFI/蓝牙双模控制功能,具有8个方向自由控制,以及两路差速控制,并且支持自定义指令、自定义按钮名称,拓展性非常好,是实现智能家居控制的理想平台。控制平台主界面图如图2.7所示。图2.7控制平台主界面2.3.4无线遥控模块设计无线遥控模块电路采用了成品的315m-433m频率无线遥控器套件,工作电压:DC12V(23A/12V电池一粒),工作电流:10mA/12V,辐射功率:10mw/12V,调制方式:ASK(调幅),发射频率:303、310、330、315、350、370、390、418、430、433MHZ,传输距离:100-150M,工作温度:-10℃~+70℃。超再生接收模块采用LC振荡电路,内含放大整形,输出的数据信号为解码后的高电平信号,使用极为方便,并且价格低廉,所以被广泛使用。引脚说明:VT-输出状态指示;D0~D3-数据输出;5V-电源正极;GND-电源负极,如图2.8所示。图2.8无线控制模块2.4软件设计2.4.1软件开发环境介绍KeiluVision4是使用C语言和汇编语言的编译器,完成后的代码可以编译为十六进制的HEX文件,HEX文件可以直接烧写进单片机。在进行硬件调试前还可以先仿真、联调。KeiluVision4的界面也很友好,方便学习和使用。需要新建工程时,要选择单片机对应的型号,如果没有可以从单片机官网下载相关资料,之后新建文件保存为“.c”文件并且添加到源组里;程序编写完后可以进行编译、调试、联调,在编译的时候可以生成HEX文件,需要在输出选项里选择“产生HEX文件”。KeiluVision4部分如图2.9所示。图2.9KeiluVision4部分图2.4.2软件流程图主流程图包括初始化部分和主循环,在初始化之前需要延时约1分钟,因为在硬件上对单片机和WiFi路由器是同时供电的,在路由器启动时,路由器的串口会因为接收到信号而出错,所以必须等路由器完全启动并且用内部程序把比特率调为9600才能正常和单片机通信。单片机初始化,除了一些基本的位设置,主要是为了开启串口中断,在串口中断程序里处理从WiFi路由器收到的指令。在主循环里选择要执行的指令,控制电机。主程序流程图如图2.10所示。图2.10主程序流程图第3章项目实施过程3.1硬件实现过程实施步骤:该项目硬件主要包括单片机、驱动芯片、电源芯片、锂电池、WiFi视频传输板、USB摄像头、车体、直流电机、PCB板、电阻、电容、排针、排线等。主要步骤:(1)确定实现功能,设计电路原理图。(2)用AltuimDesigner画出电路原理图及PCB板图。(3)按PCB板图制板。(4)购买元器件。(5)焊接及检测。(6)编写软件程序。(7)测试WiFi通信。(8)确定小车正方向,给每个电机做单独的控制代码。(9)根据具体表现做出调试。3.2软件实现过程主程序:以下程序主要是本项目的部分主程序。其中主要包含初始化、主函数、延时函数、步进电机控制函数、直流电机控制函数。#include<reg52.h>#include<math.h>#include"LCD1602.H"sbitIN1=P1^4;sbitIN2=P1^5;sbitIN3=P1^6;sbitIN4=P1^7;sbitEN1=P3^0;sbitEN2=P3^1;sbitLED1=P3^2;sbitLED2=P3^3;sbitD1=P3^4;sbitD2=P3^5;sbitD3=P3^6;sbitD4=P3^7;unsignedchari=0;unsignedcharj=0;unsignedchartmp1,tmp2;unsignedchart=0;//中断计数unsignedcharm1=0;unsignedcharm2=0;unsignedcharFORWARD_DATA_BUF[8]={0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09};/*全速正转*/unsignedcharREVERSE_DATA_BUF[8]={0x09,0x08,0x0C,0x04,0x06,0x02,0x03,0x01};/*全速反转*/voidDelayMs(unsignedintMs){ unsignedchari; while(Ms--) { for(i=0;i<114;i++);/*11.0592M,1Ms延时*/ }}voidMOTOR_FORWARD(void){unsignedchari;unsignedcharj;for(i=0;i<12;i++)/*正转一圈360度*/{if(D1==0&&D2==0&&D3==0&&D4==0) { P2=0;return; } for(j=0;j<8;j++)/*8次转30度*/{if(D1==0&&D2==0&&D3==0&&D4==0) { P2=0;return; } P2=FORWARD_DATA_BUF[j];DelayMs(100);/*调整转速*/}}P2=0;/*停止转动*/}voidMOTOR_REVERSE(void){unsignedchari;unsignedcharj;for(i=0;i<12;i++)/*正转一圈360度*/{if(D1==0&&D2==0&&D3==0&&D4==0) { P2=0;return; } for(j=0;j<8;j++) /*8次转30度*/{if(D1==0&&D2==0&&D3==0&&D4==0) { P2=0;return; } P2=REVERSE_DATA_BUF[j];DelayMs(100);/*调整转速*/}}P2=0;/*停止转动*/}voidMotor(unsignedcharindex,intspeed)//第一参数为电机,第二参数为速度的百分比{ if(speed>=-100&&speed<=100) { if(index==1)/*电机1的处理*/ { m1=abs(speed);/*取速度的绝对值*/ if(speed>0)/*速度值为正则正转*/ { IN1=1; IN3=0; } if(speed<0)/*为负数则反转*/ { IN1=0; IN3=1; } } if(index==2) { m2=abs(speed); if(speed>0) { IN2=1; IN4=0; } if(speed<0) { IN2=0; IN4=1; } } }}voidmain(void){TMOD=0x22;TH0=0x9c;/*装入定时器的初值*/TL0=0x9c;EA=1;/*开中断*/ET0=1;/*定时器0允许中断*/TR0=1;/*重启定时器0*/D1=0; D2=0; D3=0; D4=0; LED1=1; LED2=1; P2=0; Initialize_LCD(); LCD_ShowString(0,0,msg);while(1) { if(D1==1&&D2==0&&D3==0&&D4==0) { Motor(1,50); Motor(2,50); LCD_ShowString(1,0,tab1); } if(D1==0&&D2==1&&D3==0&&D4==0) { Motor(1,-50); Motor(2,-50); LCD_ShowString(1,0,tab2); } if(D1==0&&D2==0&&D3==1&&D4==0) { Motor(1,-50); Motor(2,50); LCD_ShowString(1,0,tab4); } if(D1==0&&D2==0&&D3==0&&D4==1) { Motor(1,50); Motor(2,-50); LCD_ShowString(1,0,tab3); } if(D1==0&&D2==0&&D3==0&&D4==0) { Motor(1,0); Motor(2,0); LCD_ShowString(1,0,tab5); } if(D1==1&&D2==1&&D3==0&&D4==0) { MOTOR_FORWARD(); } if(D1==0&&D2==0&&D3==1&&D4==1) { MOTOR_REVERSE(); } if(D1==0&&D2==1&&D3==1&&D4==0) { while(D1!=1&&D2!=0&&D3!=0&&D4!=1); LED1=~LED1; } if(D1==1&&D2==0&&D3==0&&D4==1) { while(D1!=0&&D2!=1&&D3!=1&&D4!=0); LED2=~LED2; } }}voidtimer0()interrupt1/*T0中断服务程序*/{ if(t==0)/*1个PWM周期完成后才会接受新数值*/ { tmp1=m1; tmp2=m2; } if(t<tmp1) EN1=1; else EN1=0;/*产生电机1的PWM信号*/ if(t<tmp2) EN2=1; else EN2=0;/*产生电机2的PWM信号*/ t++; if(t>=100) t=0;/*1个PWM信号由100次中断产生*/} 3.3调试过程3.3.1硬件调试(1)在不能直接判断器件的一些数值时,用万用表测是最稳妥的办法。(2)已经焊接好的部分,可以用排除法测量,用万用表分别确定器件的工作电压或电流是否正常。(3)杜邦线松动问题要注意。接线要和当前程序对上号。(4)对于不要求用程序检测的部分,可以直接接合适的电流测试,比如电机正反向转动是否正常,还有主板上的LED和按钮。(5)在完成硬件部分的检查后,用简单的LED开关程序验证主板各个部分是否工作正常,还可以用到蜂鸣器。(6)可以使用简单的程序测试主板和驱动板合作是否正常,在用两个驱动板时,跳线可以使用两组颜色顺序一致的,方便记忆。3.3.2软件调试(1)烧写时设定串口要正确,波特率要正确,单片机型号要对上。(2)工程文件勿忘加载主程序文件,下载程序是注意HEX文件的路径,文件后缀可以加上时间方便区分。(3)基本功能整体表现与软件实现的想法不同时,可以把各个功能的代码分开测试。(4)多个计时器中断使用时怀疑有问题,可以分别初始化,分别测试,再总体测试,注意优先级,还有变量的调用不要弄错。3.3.3综合调试(1)在烧写程序时,WiFi路由器的串口要拔掉,防止对路由器的错误操作。(2)接好WiFi部分后,用简单的控制LED亮灭的程序来检查,串口中断工作是否正常,之后带入电机部分代码,用上位机控制电机的工作方式。(3)接好驱动板和电机,用上位机控制单个启动方式来观察每个电机工作是否正常,记住自己定义的正方向后,做出同时控制四个电机的程序,对子程序逐个修改。(4)将所有代码整合,实现简单的前后左右移动,根据小车的行走状况修改细微的数据,再进行复杂的行走代码调试。(5)在调试过程中会遇到代码设计的行走方式和实际方式不一样,出现这种情况就是没有分清以什么为基准,可以选择以代码为基准来调跳线,也可以固定跳线来调试程序,在分清每个电机加什么电平时是正向转动后,固定跳线,来修改程序是可行的。大连东软信息学院毕业设计(论文)第4章项目成果4.1硬件成果物4.1.1整车实物图无线视频遥控智能车载物板上有USB摄像头、步进电机、主板、一个驱动板、一个电源板、一个WiFi视频传输板,一个无线遥控板,车体中间放有锂电池。无线视频遥控智能车如图4.1(a)、(b)所示。图4.1(a)无线视频遥控智能车图图4.1(b)无线视频遥控智能车图4.1.2无线遥控实物图本项目采用的无线遥控为315m-433m频率无线遥控器套件,如图4.2所示。图4.2无线遥控实物图4.1.3WiFi模块实物图WiFi视频传输模块其实就是把普通的无线路由器通过刷机,加入开源的OpenWrt系统,使其成为了一个可以运行Linux系统的小电脑,如图4.3所示。图4.3WiFi模块实物图4.2软件成果物上位机操作平台在使用前要设置和WiFi路由器上相同的波特率9600,视频地址和控制地址;还有对应按键输出的代码,该代码跟单片机内行走代码的格式要一致。在连接前要确保WiFi路由器完全开机,否则得重启该控制端。上位机操作平台图,如图4.4所示。图4.4上位机操作平台图Android手机版控制端,如图4.5所示。图4.5Android手机版控制端图第5章结论当前,随着智能手机的流行,WiFi通信和控制也出现了多样化。遥控产品有了很大的市场。伴随嵌入式行业的发展,机械工程的加入是必然的结果,两者结合后的产物将引领新的革命。通过本次项目,掌握了WiFi通信的基本使用技巧,以及和单片机互相通信的技巧,为以后的再开发提供了良好的基础。在以后的开发中加入适合超远程的控制技术,扩大使用范围,为人们现代化的生活增添色彩。但是还存在一些问题,首先,车重和轮胎与地面摩差成反比,由于车轮本身材质的问题,需要减轻车体的重量,但是主要重量集中在电池上,体积小且电量大的电池价格昂贵,所以寻找新的电源替代物比较难。其次,路面的光滑程度也有影响,全向移动的实际效果和理论差距比较大,不能很好的调试出控制数据。还有,在测试的时候,会有失控的现象,推测电磁干扰的可能性较大,需要增加隔离装置。至此小车的整体包括硬件和软件的设计已经完成,设计过程中,我首先上网搜集资料,选择适合自己的方案,并用AltiumDesignerWinter09绘制原理图和PCB并制板,随后焊接各个板子上的元器件。通过这样的设计,提高了我的动手能力。焊接结束后,要对其进行调试,在调试过程中,出现了很多问题,如驱动电机的插口电压相差很大,导致两侧的轮子在同一个PWM情况速度不一致、主板和采样的电压有些小,在老师的指导与帮助下,发现原来是电源模块的电感选的过大,换成小值电感后,各模块的电压都恢复正常标准,车能够正确的实现智能寻迹等功能。在完成本项目的过程中,克服了种种困难,解决了一个有一个的疑问。下面我就设计过程中的几个方面进行总结:(1)我查阅了一大批的资料、阅读了大量的文献、书籍。其中还有针对性地查找资料,然后加以吸收利用,以提高自己的应用能力,而且还能增长自己的见识,补充最新的专业知识。通过认真的研究、分析单片机STC89C52RCRC的结构及其工作原理,对它的工作原理与内部结构等方面都有了进一步的认知理解,对整个小车的实际都有很大的帮助。(2)从焊接电路板到检测电路再到电路连接,代码调试的成功,让我自己的实践能力有了很大的提高。这其中解除了很多之前没有遇到的元器件,学会用相关仪器设备去调适自己的电路,从而发现了电路中存在的问题(3)该项目实训设计能够把理论和实践相结合,巩固了我们的专业基础知识好培养我们的创新意识,从而提高了我们的素质修养,我经过这次系统的毕业设计,熟悉了对一项课题进行研究、设计和实验的详细过程。相信在将来的工作好学习当中会有很大的帮助。在这次难得的课程设计过程中我在我们小组里承担的主要是红外遥控这部分设计,之前没有做过这种综合性的程序,所以上手比较困难通过不断的查找资料以及向同学老师请教最终将程序敲定在仿真的过程中通过对程序的调试基本达到了题目的要求。在今后的学习、工作中我要更加的努力。参考文献[1]阎石.数字电子技术基本教程[M],清华大学出版社,2009[2]彭伟.单片机C语言程序设计实训100例——基于8051+Proteus仿
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拆迁铁门出售合同范例
- 租车不租司机合同范例
- 武汉商贸职业学院《商务交流综合实践》2023-2024学年第一学期期末试卷
- 石材矿山英文合同范例
- 会员担保合同范例
- 挂靠培训合同范例
- 厂方瓷砖合同范例
- 清洗电器合同范例
- 武汉科技职业学院《精细品化学》2023-2024学年第一学期期末试卷
- 建设道路合同范例
- GCC认证对整车的一般要求
- OBD-II标准故障代码表
- 施工现场类安全隐患排查清单表
- 采购项目组织履约、验收方案、程序、办法
- 基于单片机的数字万用表设计(共32页)
- 送货单(三联针式打印)
- pdca循环在护理教学中的应用学习教案
- 浅谈如何做好储备粮仓储管理工作
- 论林海音《城南旧事》中的女性形象
- 卧式双面多轴钻孔组合机床液压系统设计
- 初中数学教学心得 展思维、立素养、乐评价——我的教学主张
评论
0/150
提交评论