毕设基于WIFI控制的智能小车报告.doc_第1页
毕设基于WIFI控制的智能小车报告.doc_第2页
毕设基于WIFI控制的智能小车报告.doc_第3页
毕设基于WIFI控制的智能小车报告.doc_第4页
毕设基于WIFI控制的智能小车报告.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

河南理工大学毕业设计(论文)任务书专业班级 学生姓名 一、题目 二、起止日期 年 月 日至 年 月 日三、主要任务与要求 指导教师 职称 学院领导 签字(盖章)年 月 日河南理工大学毕业设计(论文)评阅人评语题目 评 阅 人 职称 工作单位 年 月 日河南理工大学毕业设计(论文)评定书题目 指导教师 职称 年 月 日河南理工大学毕业设计(论文)答辩许可证答辩前向毕业设计答辩委员会(小组)提交了如下资料:1、设计(论文)说明 共 页2、图纸 共 张3、指导教师意见 共 页4、评阅人意见 共 页经审查, 专业 班 同学所提交的毕业设计(论文),符合学校本科生毕业设计(论文)的相关规定,达到毕业设计(论文)任务书的要求,根据学校教学管理的有关规定,同意参加毕业设计(论文)答辩。 指导教师 签字(盖章)年 月 日根据审查,准予参加答辩。答辩委员会主席(组长) 签字(盖章)年 月 日河南理工大学毕业设计(论文)答辩委员会(小组)决议 学院 专业 班 同学的毕业设计(论文)于 年 月 日进行了答辩。根据学生所提供的毕业设计(论文)材料、指导教师和评阅人意见以及在答辩过程中学生回答问题的情况,毕业设计(论文)答辩委员会(小组)做出如下决议。一、毕业设计(论文)的总评语二、毕业设计(论文)的总评成绩: 三、答辩组组长签名:答辩组成员签名:答辩委员会主席: 签字(盖章)年 月 日摘 要Wifi全称wireless fidelity,是当今使用最广的一种无线网络传输技术。Wifi信号以其强大的覆盖范围和更高的传输速率得到广泛应用。本设计中研究了wifi控制技术在遥控小车中的应用。该遥控小车以wifi信号为数据传输载体,同时通过摄像头反馈视频画面,实现实时监控、实时控制的功能。基于wifi信号的上网功能应用在我们生活中已经非常广泛,然而基于其在控制方面的应用并不多,本设计就是尝试采用这一并不广泛应用的技术,以希望在这方面能有新的突破。在整个设计系统中,wifi信号的应用是主线,小车是载体,手机作为上位机发出控制指令,通过wifi模块转化发送给单片机,控制小车做出相关动作。关键词:wifi信号 单片机 控制 视频传输AbstractWifi,whose full name is wireless fidelity,is one of the most widely used wireless network transmission technologies.Wifi signal with its powerful range and higher transmission rate is widely used.In this design,it mainly studies the wifi control technology in the application of the remote control car.Wifi signal is the carrier of the data transmission for the remote control car.At the same time,the webcam feedbacks the video images.We can realize the function of real-time monitoring,real-time control.The wifi Internet access in our life has been very widely used, however,its application in the control is not extensive.This design is to try using this not widely applied technology to have new breakthrough in this regard.In the whole design system, application of wifi signal is the main line.The car is a carrier.The phone is the upper machine control instruction.It sents signer to the microcontroller through the wifi module in order to control the car to make related actions.Keywords: Wifi signal microcontroller control video transmission目 录1 概述11.1 选题的目的和意义11.2 国内外研究现状12 系统结构及总体控制方案32.1 系统结构32.2 系统控制方案流程43 系统硬件设计53.1 Wifi模块53.1.1 普通家用无线路由器刷机方法53.1.2 专用wifi模块63.1.3 Wifi模块和单片机之间的通信73.2 MCU控制系统93.2.1 STC12C5A60S2单片机93.2.2 STC12C5A60S2单片机ISP(在系统可编程)系统113.2.3 STC12C5A60S2单片机串口通信模块123.3 电源模块143.3.1 选用的电池:143.3.2 电源模块的设计153.4 电机驱动模块173.4.1 驱动芯片的选择173.4.2 驱动模块及控制方式183.5 PCB(印刷电路板)的制作213.6 上位机233.6.1 PC版上位机软件233.6.2 安卓手机版上位机软件界面243.6.3 上位机的选择253.7 摄像头263.8 智能小车底盘274.系统软件设计284.1 Wifi模块上的系统软件284.2 单片机上的程序软件284.2.1 串口程序初始化284.2.2 串口中断程序29致谢31参考文献32附录一33河南理工大学毕业设计(论文)说明书1 概述1.1 选题的目的和意义Wifi全称wireless fidelity,是当今使用最广的一种无线网络传输技术。实际上就是把有线网络信号转换成无线信号,供支持其技术的相关电脑,手机,PDA等接收。手机如果有wifi上网功能的话,在有wifi信号的场所就可以不通过移动联通的数据连接上网,这方面的应用已经非常广泛了,但是基于wifi信号在控制方面的应用还很少,然而相对于红外信号和蓝牙信号等具有传输距离远、传送速度快等很多优点。Wifi信号在无障碍环境中传输距离为300米左右,室内有障碍的情况下传输距离也在100米左右,所以用它作为控制信号其性能远远优于红外和蓝牙信号。并且,上位机可以选择手机、电脑等常用的移动设备,操作简便。随着社会经济的迅速发展,大型商场、机场、车站、会展中心及物流仓库等大型人流、物流场所的规模和数量不断增加,大中城市的高层,高档商用楼日益增多,规模迅速壮大,其安保需求也日趋迫切。巡逻智能车机器人是一个集感知环境、线路规划、行动决策,行为控制、信息传感以及报警装置为一体的多功能综合系统。将机器人用于安保工作、信息探索、军事侦察具有广阔的应用前景。近年来已受到国内外特别关注,已成为机器人技术的一个新的发展分支。综上所述,基于wifi信号控制的遥控智能小车机器人未来将会在这些领域有广泛的应用。鉴于对它的开发和研究也成为当下的热门技术,本设计也尝试了这项新应用,希望可以更多的了解和熟悉这项技术,完善其在控制方面的应用。相信对wifi控制应用的研究将来一定对人们的生活和高科技的发展探索具有深远的意义。1.2 国内外研究现状由于互联网在全球的快速普及与发展,人们的工作和生活越来越依赖互联网。人们随时随地都有可能需要上网,产生了大量的WLAN服务需求。随着智能天线技术的发展,笔记本电脑、手机、掌上电脑等支持wifi的移动终端越来越普及。进一步增加了人们对WLAN服务的需求。基于wifi标准的WLAN网络是目前最为普及的无线网络形式。由于wifi信号如此快速的发展,它已不仅仅作为一种上网信号来使用了,用其作为控制信号的研究和开发已暂露头角,但是wifi技术起步较晚,发展程度还不太成熟,所以基于wifi信号的一些控制类型的电子产品并不太多。不管是国内还是国外,它的控制使用还仅处于研发、探索阶段,还远远没有像红外和蓝牙信号的使用那么广泛。在人们现在的生活当中,基于红外信号的一些控制装置比比皆是,但是红外信号的弱点就是传输范围小,当有障碍物时范围更小,而wifi信号的传输范围远远大于红外信号,所以基于wifi信号控制的电子产品具有很好的发展前景。本设计是用wifi信号来控制智能小车,智能小车已经被大多数人熟悉,其在玩具、安全巡逻、无人探测等领域已具有广泛的应用。由于受wifi覆盖的影响,基于wifi的应用还不能那么随心所以,这也是制约其发展的一个弊端。但是,随着wifi网络的进一步完善,相信基于其的有关控制电子产品会充满人们的生活世界中,为人们提供更多的便利,其发展前景非常可观。412 系统结构及总体控制方案2.1 系统结构在整个系统设计中,以wifi模块和MCU系统为核心,其余包括上位机模块、电源模块、电机驱动模块、摄像头和小车等部分。整体系统结构流程图如图2-1所示:上位机(手机)wifi模块MCU系统电机驱动模块小车直流电机摄像头电源模块电池图2-1 系统结构流程图上位机选择的是手机,其作用是接收wifi模块发送过来的wifi信号,并以此为载体将控制指令发送到wifi模块,同时接收来自摄像头采集过来的视频流,该视频流也是以wifi信号为载体传送到手机,并在手机屏幕上显示所采集到的画面。Wifi模块其实就是路由器的一部分,其作用就是发射wifi信号,便于手机搜索和作为信号的载体。同时,接收手机发过来的指令,并转化成TTL电平,经由TTL串口输出给单片机。MCU系统是基于STC12C5A60S2单片机的控制系统,功能是通过串口1接收来自wifi模块TTL串口发送的指令,并提取有效控制指令。以有效控制指令为依据,经过分析、计算,最周将结果经单片机I/O口。电机驱动模块是围绕L298N驱动芯片搭建的,驱动电流可达到2A,可以实现正反转的控制,方便小车实现各种动作。电源模块是由LM2940-5稳压芯片组成的,输入为电池提供的7.2V电压,输出电压为5V,分别为wifi模块、MCU系统和电机驱动模块提供工作电压和控制电压。同时电池也为电机转动直接提供电能。摄像头采用的是天敏S606无驱摄像头,声音信号和图像信号集成在一个USB线上进行传输,像素高。将摄像头的USB接口查到wifi模块上预留的USB口即可。2.2 系统控制方案流程总体控制流程可概述为:wifi模块发射wifi信号,作为信号传输的载体。手机打开wifi功能,搜索wifi模块的无线信号并连接,这样就完成了手机和wifi模块之间的无线通信。打开手机上的WIFIROBOTS软件,软件上的每一个按键代表一个动作,当按下时会有控制指令发出,控制指令以wifi信号的形式发送到wifi模块并被接收。Wifi模块将接收到的信号转化成TTL电平信号并通过TTL串口输送到单片机的串行口1。同时,摄像头将采集到的画面信号发送给wifi模块,wifi模块分析、计算后发送给上位机并在上位机上显示所采集到的画面。单片机接收并提取有效控制指令,并根据有效的控制指令使相应的I/O口输出相应的电平,以此作为驱动模块的控制信号。驱动模块根据接收到的控制信号使相应的电机正转或者反转,从而使小车完成具体的动作。3 系统硬件设计硬件是整个系统的躯干,是软件运行的平台。硬件的选择直接决定系统的运行状况,为了使系统能够运行良好,需要搭建一个很好的硬件平台。硬件模块主要包括wifi模块、MCU系统模块、电源模块、驱动模块等。3.1 Wifi模块Wifi模块实质上是无线路由器或者说是无线路由器的部分电路,主要是用来提供wifi信号,同时接收上位机发来的控制指令,并对指令进行转化,最后输出单片机可以识别的TTL电平。这部分除了选用专用的wifi模块外,也可以通过普通的家用无线路由器刷机设置而成,这个可以根据自己的条件选择。3.1.1 普通家用无线路由器刷机方法普通家用无线路由器只是具有路由功能或者交换机的功能,然后本设计中需要其接收上位机的信号并转化输出,同时还要识别摄像头并传输图像,实际上是把它当做小电脑来使用了,所以必须对其进行刷机和安装一些软件。过程如下:1)、把普通的家用无线路由器刷入开源的OpenWrt系统,使之成为一个运行了Linux系统的小电脑;何为OpenWrt:当Linksys释放WRT54G/GS的源代码后,网上出现了很多不同版本的Firmware去增强原有的功能。大多数的Firmware都是99%使用Linksys的源代码,只有1%是加上去的,每一种Firmware都是针对特定的市场而设计。这样做有2个缺点,第一个是难以集合各版本Firmware的长处,第二个是这版本距离Linux正式发行版越来越远。OpenWrt选择了另一条路,它从零开始,一点一点的把各软件加入去,使其接近Linksys版Firmware的功能,而OpenWrt的成功之处是它的文件系统是可写的,开发者无需在每一次修改后重新编译,令它更像一个小型的Linux电脑系统,也加快了开发速度。简而言之,就是从思科的路由源代码改造过来的,一个适用于某些特定芯片的路由器的小型Linux系统,有了这个系统,路由器就不再是只能上网那么简单了,用户可以在上面安装各种程序、驱动等,以路由为平台,用户可以自由地加载USB摄像头、网卡、声卡、等设备,方便电子工作爱好者以其为平台进行各种开发。但是,给路由器刷OpenWrt系统特别麻烦,对专业性、熟练度和技术要求特别高,一般的人员很难完成这项工作,需要专业的人士进行操作。一般买路由器时可以要求店家刷好OpenWrt系统,以方便自己开发,节约时间。2)、给刷好OpenWrt系统的无线路由器装入一款叫做mjpg-streamer的程序,它的作用就是对USB摄像头传过来的视频进行编码,然后通过wifi信号返回给上位机,这样就可以远程、直观的看到来自机器人传过来的视频了。如果需要扩展其他功能,譬如声音模块,显示模块等可以继续给路由器刷入相应的声卡、显卡驱动,但是要注意,必须是Linux系统支持的相关驱动,因为Linux系统没有Windows系统那么强大,所以支持的软件也不多,刷入之前一定要确保可以被Linux系统识别。3)、引出TTL串口:一般的路由器都预留有TTL串口,TTL串口是用来调试或者刷机用的。对路由器进行上述各种设置,最终目的是为了让它和单片机成功握手,以便于跟单片机正常通信,所以要引出TTL串口,然后通过安装在路由器里面的Ser2net软件,就能把来自wifi信号的指令传到串口输出,这时串口与单片机MCU串口进行通信,单片机接收串行指令并分析、计算并输出结果。3.1.2 专用wifi模块对于初学者来说,家用无线路由器的刷机过程还是相当困难。因为wifi控制这一领域还不算太成熟,其控制方面的应用也不是很广泛,所以关于wifi控制方面的资料也相对很少,能找到的刷价教程的资料也不够详细,所以最终没有选择这个方案,而是选择了在网上直接购买已经刷机成功并且完成软件安装的专用wifi模块,它有直接引出的TTL串口,可以直接和单片机通信。如图3-1所示为该模块的实物图。LAN口TTL输出端口摄像头USB接口miniUSB供电端口图3-1 wifi模块实物图Wifi模块其实就是一个被简易化了的无线路由器,只扩展了供电端口,USB摄像头接口和一个网口。供电端口是那个比较小的USB口(俗称miniUSB),用一条USB供电线,一头插在miniUSB口上,另一头插在电脑USB或者自己搭建的电源模块上,供电电压 为5V,可提供的驱动电流不低于1A。上面的USB接口是用来连接USB摄像头的,用以捕获视频并反馈到上位机上。扩展出来的网口的作用非常灵活,在模块中默认为LAN口,可以用从此口登陆路由,进行软件管理,也可以通过设置界面,将这个网口改为WAN口。3.1.3 Wifi模块和单片机之间的通信Wifi模块的输出和单片机的串口通信都是TTL电平,TTL电平的范围是输出高电平2.4V,输出低电平=2.0V,最小输入低电平=0.8V,噪声容限是0.4V。Wifi模块上输出的TTL电平是3.3V左右,所选用的STC12C5A60S2单片机串口通信匹配的TTL电平是5.0V,两者都在TTL电平的范围之内,所以可以直接通信而不需要搭建电平转换电路。在连线时需要注意,wifi模块的TTL输出端口三根线分别为GND、TX和RX,应当分别连接单片机的GND、RX和TX。刚开始时,wifi模块的TX连接单片机的TX,RX连接了单片机的RX,以致于怎么也无法通信。后来发现了问题所在才得以解决。3.2 MCU控制系统MCU控制系统即单片机控制系统,主要功能是利用串口接收来自wifi模块的信号,提取有效指令位并储存起来。同时,MCU根据采集到的指令使相应的I/O口执行相应的电平输出,从而达到控制驱动模块的目的。3.2.1 STC12C5A60S2单片机本设计采用的是STC12C5A60S2单片机,该单片机是由宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051单片机,但速度快8-12倍。STC12C5A60S2单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA模块、看门狗及片内R/C振荡器和外部晶体振荡电路等模块,几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。由于其超强抗干扰的特性,在电机控制等强干扰场合应用比较广泛。主要特点:(1) 增强型8051-CPU,1T单时钟/机器周期,指令代码完全兼容传统8051;(2) 工作电压:3.5V5.5V;(3) 工作频率范围:035MHz,相当于普通8051单片机的0420MHz;(4) 用户应用程序空间60K,片上集成1280字节RAM;有内部EEPROM功能;(5) 通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口),也可通过寄存器设置成准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏四种模式。每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA;(6) ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成;(7) 内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地);(8) 集成外部掉电检测电路,在P4.6口有一个低压门槛比较器,比较电压为1.33V,误差为5%;(9) 时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为5%10%以内)。用户在下载用户程序时,可选择使用内部R/C振荡器或者外部晶体/时钟。常温下内部R/C振荡器频率为11MHZ17MHZ。精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;(10) 共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器;(11) 2路PWM/PCA(可编程计数器阵列),可用来当做2路D/A使用,也可设置成2个定时器,或者用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);(12) 8路A/D转换,10位精度ADC,转换速度可达250K/S(每秒钟25万次);(13) 通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口功能;(14) 工作温度范围:-40+85(工业级)/075(商业级);(15) 封装有LQFP-48,LQFP-44,PDIP-40,PLCC-44,QFN-40五种。当I/O口不够用时,可用2到3根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。本设计采用的是PDIP-40封装芯片,其管脚图如图3-2所示:图3-2 STC12C5A60S2单片机PDIP-40封装引脚图实物图如图3-3所示:图3-3 STC12C5A60S2单片机PDIP-40封装实物图3.2.2 STC12C5A60S2单片机ISP(在系统可编程)系统STC12C5A60S2单片机具有ISP(在系统可编程)功能,无需专用编程器,可通过串口(P3.0/P3.1)直接下载用户程序,ISP(在系统可编程)原理图如图3-4所示:图3-4 STC12C5A60S2单片机ISP(在系统可编程)原理图该图中上半部分是利用MAX232芯片搭建电平转换电路,通过9针串口连接USB转串口线,然后USB转串口线的USB接头连接电脑,这样就搭建好了在系统编程的硬件电路。复位电路包括两个,当时钟频率低于12MHZ时,可以使用左侧C6,R5搭建的复位电路,此时只应插上J4短路帽。当时钟频率高于12MHZ时,建议使用第二复位功能脚P4.6,如图由R6、R7组成的低电平检测复位电路,此时应只插上J5短路帽。本设计使用的是12MHZ晶振,所以使用左侧由C6,R5搭建的复位电路即可。外部有源晶振电路是有两个30PF的电容和晶振组成的,当外部时钟频率在33MHZ以上时,建议直接使用外部有源晶振。如果使用内部R/C振荡器时钟(室温情况下为:11MHZ17MHZ),XTAL1和XTAL2脚浮空。本设计使用的是12MHZ晶振,可以选择使用内部R/C振荡器,但是使用内部R/C振荡器有一个弊端就是精确度不高,然而本设计需要使用串口,要用到波特率发生器,所以为了精确起见,最终还是选择了使用外部有源晶振。3.2.3 STC12C5A60S2单片机串口通信模块本设计中主要用到了该单片机的串口通信模块,一方面是为了下载程序,另一方面是接收来自wifi模块的信号。STC12C5A60S2单片机具有2个采用UART工作方式的全双工串行通信接口(串口1和串口2)。每个串行口由2个数据缓冲器、一个移位寄存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器由2个互相独立的接收、发送缓冲器构成,可以同时发送和接收数据。发送缓冲器只能写入而不能读出,接收缓冲器只能读出而不能写入,因而两个缓冲器可以共用一个地址码。串行口1的两个缓冲器共用的地址码是99H,串行口2的两个缓冲器共用的地址码是9BH。串行口1的两个缓冲器统称为SBUF,串行口2的两个缓冲器统称S2BUF。STC12C5A60S2单片机串行口1对应的硬件部分是TxD/P3.1和RxD/P3.0引脚,串行口2对应的硬件部分是P1.2/RxD2和P1.3/TxD2。因为在整个系统中下载程序和接收wifi数据不同时,所以只使用了串行口1作为通信串口。STC12C5A60S2单片机的两个串行口都有4种工作方式,分别为方式0、1、2、3四种,可通过串行控制寄存器SCON中的SM0和SM1两个位来选择所需的工作方式。主机SM0SM1工作方式功能说明波特率00方式0同步移位串行方式:移位寄存器当UART_M0x6=0时,波特率是SYSclk/12当UART_M0x6=1时,波特率是SYSclk/201方式18位UART,波特率可变(2SMOD/32)*(定时器1的溢出率或BRT独立波特率发生器的溢出率)10方式29位UART,波特率固定(2SMOD/64)*时钟频率11方式39位UART,波特率可变(2SMOD/32)*(定时器1的溢出率或BRT独立波特率发生器的溢出率)可通过查询或中断方式对接收/发送进行程序处理,使用十分灵活。详见表3-1。表3-1 STC12C5A60S2单片机串口通信工作模式该单片机内部集成了独立波特率发生器BRT,同时也保留了定时器1作为波特率发生器的功能。通信时的波特率随所选工作模式的不同而变化。因为wifi模块传输的是16进制的数据,所以选用了方式1,8位UART进行数据传输。同时选用了独立波特率发生器,可以释放定时器1。3.3 电源模块电源是一个系统正常工作的基础,电源模块为系统其他各个模块提供所需要的能源保证,因此电源模块的设计至关重要。智能小车系统中需要供电的部分包括:MCU系统模块、wifi模块和电机驱动模块等。如图3-5所示:稳压芯片5Vwifi模块MCU系统电机驱动电机驱动7.2V电池图3-5 电源模块供电系统图3.3.1 选用的电池:因为小车是双电机驱动,需要的电能比较多,同时其他模块也需要供电,所以需要选择容量比较大的电池。本设计选用的是7.2V、2000mAh的镍镉电池,如图3-6所示。该电池容量大,提供的驱动电流可达10A以上,可以稳定的给各个模块供电。图3-6 电池3.3.2 电源模块的设计设计中,除了需要考虑电压范围和电流容量等基本参数外,还要在电源转换效率、噪声、干扰和电路复杂程度等方面进行优化。可靠的电源方案是整个硬件电路稳定可靠运行的基础。电源模块由若干相互独立的稳压电源电路组成。在本设计中,除了电机驱动模块的电源是直接取自电池外,其余各个模块的工作电压都需要经过稳压芯片来实现。由于电路中的不同模块所需要的工作电流容量各不相同,因此电源模块应该包含多个稳压电路,保证为每个模块提供足够的电能。 稳压芯片的选择稳压芯片作用是输出恒定的电压,三个模块的工作电压都是5V,所以最后选择了LM2940-5稳压芯片。LM2940-5系列稳压芯片是输出电压固定的低压差三端稳压器,输出电压是5V,比LM7805系列稳压芯片的转换效率高,LM7805系列直接输入不接输出的情况下,其内部还会有3mA的静态电流消耗,而LM2940系列元件的静态电流就远远比它小得多。最大输出电流1A,当输出1A电流时,最小输入输出电压差小于0.8V;最大输入电压26V;工作温度-40+125;内含静态电流降低电路、电流限制、过热保护、电池反接和反插入保护电路。LM2940-5芯片有两种封装,分别为TO-263和TO-220,如图3-7所示,两种封装都是三个管脚,正视图从左向右依次是Vin、GND和Vout。本设计中采用的是TO-220封装,可以外加散热片。图3-7 LM2940-5稳压芯片封装图 电源模块电路图根据每个模块的特点,最终确定用三个稳压电路分别给设计中的三个工作模块供电。其中wifi模块所需要的电流最大,因为它要承担摄像头的工作电能。MCU系统和电机驱动的逻辑电平不需要太大的电流,但是因为两者需要隔离以防止电机工作电流太大而影响MCU的正常工作,所以这两个模块也选择了分别供电。电路图如图3-8所示:图3-8 基于LM2940-5的电源模块电路图图中Power是电池接口,LM2940两端的电容可以起到滤波、储能和防止稳压器振荡的作用。 3.4 电机驱动模块驱动模块主要是为电机提供比较大的工作电流,同时可以通过驱动模块实现电机的正反转,从而可以让小车完成工作动作。3.4.1 驱动芯片的选择本设计中,小车用的是双驱直流电机,所以需要两个驱动全桥来分别控制两个电机。鉴于两个电机功率都不是太大,而L298N驱动芯片集两个驱动全桥与一身,所以最终选择了L298N这款驱动芯片。L298N是ST公司生产的一种高电压、大电流电机驱动芯片,内部集成两个全桥。主要特点有:(1) 电机电压直流范围为3V-46V,可见其最高工作电压可达46V;(2) 输出电流大,瞬间峰值电流可达3A,持续工作电流为2A,额定功率为25W;(3) 内含两个H桥,可以驱动直流电机和步进电动机、继电器线圈等感性负载;(4) 采用标准逻辑电平信号控制,控制信号为直流5V;(5) 具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;(6) 有四个逻辑电平输入端,使内部逻辑电路部分在低电压下工作;(7) 可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。该芯片有15引脚的Multiwatt封装和20引脚的双列直插两种封装。本设计中采用15脚封装,管脚图如图3-9所示,管脚功能介绍见表3-2。图3-9 L298N驱动芯片Multiwatt封装管脚图管脚序号名称功能1;15Sense A;Sense B在这个引脚和地之间可以接感应电阻用于控制负载电流2;3Out 1;Out2A桥的输出端口;流经这两个端子连接的负载电流在端子1被检测4Vs用于驱动负载的功率输出电源电压.在这个引脚和地之间必须接一个100nf的无极性电5;7Input 1;Input 2A桥的电平兼容输入6;11Enable 1;Enable 2电平兼容使能输入;低电平使桥A或者桥B关闭(不工作)8GND地9VSS逻辑电源电压.此引脚和地之间必须接一个100nf的电容10;12Input 3;Input 4B桥的电平兼容输入13;14Out 3;Out 4B桥的输出端口;流经这两个端子连接的负载电流在端子15被检测表3-2 L298N驱动芯片管脚功能3.4.2 驱动模块及控制方式本设计中采用的是用PCB板制作的模块,这样可以提高系统工作的稳定性。由于驱动模块需要给电机提供很大的工作电流,所以在驱动模块是增加了光耦隔离电路,把电机和单片机隔离分开,防止电机的大电流对单片机的干扰。驱动模块如图3-10所示:控制端口LM2940-5光耦隔离芯片L298N芯片电机接口电池接口图3-10 L298N驱动模块模块上的LM2940-5稳压芯片给L298N提供逻辑工作电压和给TLP521光耦隔离芯片提供输出侧的工作电压。控制端口的工作电压以及TLP521光耦隔离芯片输入侧的电压有MCU模块上的LM2940-5稳压芯片提供,中间由TLP521光耦隔离芯片将两者隔离开来,达到不影响单片机正常工作的目的。驱动模块原理图如图3-11所示:图3-11 L298N驱动模块原理图 控制方式介绍当IN1输入低电平(0V)时,对应的LED灯就会亮起,输出端口A就会输出稍微小于电机供电端输入的电压,本设计采用7.2V电池供电,这时A端口和GND之间的电压就是接近7V的电压。以此类推,当IN2、IN3、IN4输入低电平(0V)时,对应的端口B、C、D和GND之间就会产生接近7V的电压。因此,当IN1输入0V,IN2输入5V,A和GND之间的电压是7V左右,B和GND之间的电压就是0V,这样A和B端的电压就是7V左右,这样电机1就正转。同理,当IN1输入5V,IN2输出0V时,电机1就反转。IN3和IN4也是根据这个原理控制电机2的正反转。如果不需要调速,将PWMB、PWMA和5V之间的短路帽插上,这样电机就会全速运行。如果需要调速,取下PWMA、PWMB和5V之间的短路帽,在PWMA、PWMB端输入PWM信号来控制电机的转速。在这个设计中,小车运动的速度本来就比较慢,调速并不是主要工作,也没有必要,所以直接将PWMB、PWMA和5V之间的短路帽插上,让小车全速运行。3.5 PCB(印刷电路板)的制作为了使系统能够更加稳定的工作,同时也为了从这次毕业设计中学到更多知识,于是尝试了制作PCB板,把MCU系统和电源模块两个模块合在一起。PCB板上也预留了跟wifi模块通信和供电的端口,这样可以省去好多外部连线,使各模块之间连接更加有条理。PCB板原理图如图3-12所示:图3-12 整体系统原理图制作完成的PCB板和焊接后的系统板分别如图3-13和3-14所示:图3-13 PCB实物图下载端口Wifi模块供电USB单片机Wifi通信接口图3-14 整体系统图3.6 上位机上位机就是发送指令的部分,通过上位机发送指令到wifi模块,然后通过wifi模块的转换,把指令转给单片机,从而让小车执行完成操作者想要的动作,同时上位机向路由发送一个视频请求,路由端的视频处理程序把获取的USB摄像头视频传回上位机,上位机进行解码并显示。上位机软件的编写涉及到高级语言编程,通过TCP/UDP等通信方式,用Socket连接把数据发送到路由端。对于非此专业的设计者没有办法完成这项工作也没有必要,在网上可以下载相应的上位机软件。在wifi创意工作室论坛上找到了PC版和安卓手机版两个版本的软件。下载地址链接分别为:PC版:/thread-2985-1-1.html安卓手机版:/thread-2854-1-1.html在此向提供软件的开发者表示感谢!3.6.1 PC版上位机软件如图3-15所示为PC版上位机软件界面:图3-15 PC版上位机软件界面该控制界面包括视频显示、机械手操控、操作系统按键和各种仪表盘显示等界面。上面的wifi信号强度显示表可以直观的显示wifi信号强度,提醒操作者当前与机器人连接的wifi强度以注意控制的距离。右侧的机械手操控按钮、速度调整按钮和操作系统按钮都分别有对应的指令,当点击按钮时会有相应的指令发送到wifi模块。每个按钮对应的指令都不相同,以便于wifi模块区分。同时,预留有自定义按钮,方便设计者自行定义开发。3.6.2 安卓手机版上位机软件界面如图3-16所示为安卓手机版上位机软件界面:图3-16 手机版上位机软件界面该控制界面包括前、后、左、右和停五个按钮以及五个机械手操作控制柱,同时还可以进入重力感应模式。上面的图像是USB摄像头采集到的前方画面。图3-17 手机版上位机软件指令设置界面该设置界面显示出了五个控制按钮对应的指令,这些指令是由包头、type、cmd、data和包尾五部分16位进制数组成的。其中,除了cmd部分不相同外,其他部分完全一样。这些指令通过手机发往wifi模块,经由wifi模块分析、转化后,最终通过TTL端口以串口数据的形式传送给MCU的串口。这两款上位机软件都是Client模式,路由端是服务器模式,这样的好处是不需要进行转发操作,直接连接wifi智能小车机器人就可以操控。3.6.3 上位机的选择本设计中采用的是安卓手机版控制软件,这款软件对手机的性能有两个要求,一是操作系统为Android系统,并且它适用于Android操作系统的任何一个版本:二是需要手机的屏幕为触摸屏。符合这两个条件的任何牌子的手机均可使用此上位机软件。如图3-17所示,前后左右停五个按键对应的指令分别为FF000100FF、FF000200FF、FF000300FF、FF000400FF、FF000000FF,都是16位进制的指令。这些指令是软件默认的,也可以进行修改。修改时一般只修改中间的cmd数据部分,以便于和wifi模块的默认设置正常通信,这样的话修改cmd数据也没有太大的意义,所以可以直接使用默认指令即可。控制端口默认为2001,显示模式设为标准模式,控制地址为wifi模块的IP地址:。视频地址也是在wifi模块的默认IP上生成的,这个地址不可以修改,否则上位机无法收到视频图像。3.7 摄像头摄像头的作用是采集智能小车前方的图像,传送的wifi模块,由wifi模块将接收到的信息通过wifi信号反馈的上位机也即手机,最后在手机屏幕上显示出所采集到的图像。在本设计中采用的是天敏S606摄像头,如图3-18所示:图3-18 天敏S606摄像头天敏S606摄像头采用CMOS成像芯片,像素高、灵敏度强、帧率快。接口采用USB2.0高速接口,配合方案的高帧率视频显示,可以保障画面的流畅度。内置高灵敏专业麦克风,具有降噪功能。支持Windows 7/XP/Linux等系统,具有很强的兼容性,并且不需要安装驱动。该摄像头配有USB连接线,集成了声音传输和画面传输两条通道,只需将USB接口插到wifi模块上的USB接口上即可。3.8 智能小车底盘小车底盘选用的是电功率、履带式的双驱底盘,每条履带上有两个轮子,前轮为主动轮,后轮为从动轮。该小车配备的电机功率不是很大,但是内部加有减速装置,降低了小车的运行速度,从而增大的轮子的扭矩,使小车的动力更强大。如图3-19所示:图3-19 履带式小车底盘4.系统软件设计硬件平台搭建完毕后就需要开始设计程序软件了,软件是整个系统运行的灵魂。整个系统的软件部分包括wifi模块上的系统软件和单片机是自己写的程序软件。4.1 Wifi模块上的系统软件Wifi模块内部刷入了开源的OpenWrt系统,使之成为一个运行了Linux系统的小电脑。OpenWrt是一个被描述为嵌入式设备的Linux发行版,它不是试图建立一个单一的、静态的固件。OpenWrt的软件包管理提供了一个完全可写的文件系统,并允许自定义,以适应任何应用程序使用该软件包。对于开发人员,OpenWrt是一个构建应用程序的框架,无需建立一个完整的固件左右。刷入这个系统以后,用户可以在上面安装各种程序、驱动等。以路由为平台,用户可以自由地加载USB摄像头、网卡、声卡、等设备,方便开发研究。在该Linux系统上运行着一款叫做mjpg-streamer的程序,它的作用就是对USB摄像头传过来的视频进行编码,然后通过wifi信号返回给上位机,这样就可以远程、直观的看到来自机器人传过来的视频了。4.2 单片机上的程序软件该系统中单片机的主要作用就是接收并提取wifi模块发过来的指令,并根据这个指令控制小车的动作。因为wifi模块发送的是串口数据,所以用单片机的串口接收指令并通过串口程序提取有效的指令信息。4.2.1 串口程序初始化要使串口工作必须先设置好串口的工作方式及其他设置。初始化的目的就是设置串口工作方式,选择波特率发生方式。因为STC12C5A60S2单片机可以用定时器1作为波特率发生器,也可以用独立波特率发生器BRT产

温馨提示

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

评论

0/150

提交评论