基于wifi技术的智能家庭机器人的设计与实现Word下载.docx
《基于wifi技术的智能家庭机器人的设计与实现Word下载.docx》由会员分享,可在线阅读,更多相关《基于wifi技术的智能家庭机器人的设计与实现Word下载.docx(23页珍藏版)》请在冰豆网上搜索。
1.2系统设计主要任务
基本任务包括:
系统设计方案的确定、元器件的购买、单个模块的测试、整体硬件的搭建和MCU程序的编写、控制软件的编写、整机联调[3]。
硬件方面:
家庭智能机器人控制系统的六大部分硬件分别为:
WIFI收发模块、摄像头模块、电机驱动模块、STC89C52RC单片机与和电源部分。
用户可以通过上位机和手机连接路由器来实现视频的实时传输及实现机器人的控制。
软件方面:
软件方面主要包含四大部分:
即Openwrt路由器固件的烧写、C#上位机的编写,Andriod机器人控制APP的编写,单片机程序的编写。
2方案的论证与选择
2.1总体设计方案
WIFI家庭智能机器人主要由电机驱动lm298n模块、USB摄像头模块、WiFi模块、单片机STC89C52RC单片机最小系统模块组成。
2.1.1整机系统
本系统包含51单片机最小系统、电机驱动LM298N模块、AR9331WIFI模块,电机、5V稳压电路、USB摄像头、灯光电路等。
系统框图如图2-1所示。
wifi模块
单片机STC89C52RC
Led照明
电机驱动模块
摄像头模块
电脑控制终端/
手机APP
电机
图2-1系统结构框图
51单片机最小系统是家庭机器人的控制核心。
它负责接收指令,控制着整个系统的协调运作。
WIFI模块主要用于将摄像头采集到的视频信号无线传输到手机或电脑等终端设备,与此同时也可以接收手机或者电脑等终端设备发送过来的指令,并将指令传送给单片机[4];
LM298N电机驱动电路模块主要用于驱动电机正反转动,使车体做出相应的控制动作,并且模块上集成了5v稳压模块,可以为单片机提供电源;
电机的主要作用就是让机器人车体运动;
电源电路作用是为机器人系统共电;
照明电路为机器人在房间内提供照明;
USB摄像头主要用于视频信号的采集。
2.1.2整机工作原理
将WIFI收发模块与上位机连接,通过上位机显示视频信号,实现视频的实时传输,与此同时上位机可以发送指令给wifi收发模块。
Wifi模块通过串口将数据发送,单片机把wifi模块收到的数据通过串口读取出来,然后单片机内部判断执行相关指令数据,进而控制小车运动、指示灯的亮灭,从而实现上位机通过无线来控制下位机的运作,实现智能化和无线遥控等功能。
2.2系统方案的选择与比较
方案一:
选择STM32作为主控芯片,其自带硬件PWM输出。
利用db120-wg无线路由器做为wifi模块,重新烧录系统,安装固件。
自己再够买元器件。
方案二:
选择STC89C52RC为主控芯片,模拟生成PWM。
使用改装过的机器人专用的TP—LINKWR703N路由器作为wifi模块,自己再购买其他元器件。
方案三:
选择MSP430F149为主控芯片,自带硬件PWM。
接下来与方案二一样,使用改装过的路由器,自己再购买其他元器件。
方案选择:
考虑到实现的成本和制作性最终选取了方案二。
3硬件电路设计
3.1无线路由器
AR9331核心板模块是基于AtherosAR9331SOC方案的wifi模块。
系统频率达400MHz,板载64MBDDR2RAM,8MBflash,对外引出USB、GPIO、UART、I2S、以太网接口、wifi天线接口。
本模块体积小、功耗低、发热量小,wifi、网口传输性能稳定。
运行openwrt(linux)系统,可长期稳定运行。
模块外围电路非常简单,仅需加上3.3VDC电源,即可让系统启动,并可通过WIFI控制。
采用2个1x192.0mm镀金排针接口,可非常稳定的固定在底板上。
可用于智能家居、IPcamera、VOIP、遥控拍摄飞行器、远程监控系统、便携式3G路由器、简单的WEB网络服务器、简单的FTP服务器、远程下载、遥控视觉小车等超多应用,并提供详细的开发资料,方便用户学习、开发。
路由器WIF模块如图3-1所示
图3-1路由器模块
3.1.1刷机固件介绍
固件说明:
1、Ser2net串口透传功能
修改波特率,设置开机启动。
2、mjpg_streamer摄像头驱动
更改启动文件,设置开机启动。
3.1.2刷机步骤
1、把电脑用无线或者有线连接路由器,登陆路由器管理界面。
然后进入固件更新,选择需要下载的文件后,点击更新[5]。
更新结束后,重新启动路由器。
2、网络配置
连接路由器wifi,登录putty后,进行命令行操作安装固件,如图3-2所示。
图3-2putty登陆界面
输入设定的IP地址,点击open。
如果弹出什么窗口,点“是”即可。
接着进入命令行界面,输入用户名:
root+Enter然后输入设置的密码登陆;
登陆后输入;
opkgupdate
安装插件。
opkginstallkmod-video-uvc
opkginstallmjpg-streamer
opkginstallser2net
opkginstallkmod-usb-serial-ch341
opkginstallusbutils
opkginstallluci-i18n-base-zh-cn
opkginstallluci-i18n-base-en
opkginstallluci-app-mjpg-streamer
6、登陆WINSCP,文件协议选择SCP然后输入IP:
192.168.1.1,输入用户名和密码登陆。
7、修改波特率,设置串口开机启动。
由于晶振的限制波特率最大为9600,找到/etc/ser2net.conf文件,打开修改为波特率为9600
8、打开网络串口调试助手,把电脑和路由器通过usb转串口线相连。
与此同时,电脑通过网线或无线相连路由器,打开串口。
如果可以互发数据说明安装成功。
3.2单片机最小系统设计
选用51系列单片机STC89C52RC作为最小系统主控芯片
3.2.1STC89C52RC主控芯片
该芯片具有以下几个特点:
1、宽电压输入2.7~6V;
2、16位定时/计数器;
3、5个中断源;
4、1个全双工异步串行口;
5、8K字节flash;
6、512字节数据存储空间;
7、具有EEPROM功能。
STC89C52RC单片机的寄存器复位状态[6],如图3-3:
图3-3寄存器复位状态
3.2.2单片机最小系统
STC89C52RC单片机最小系统由电源电路、时钟电路、复位电路组成。
其组成方框图如图3-4所示:
单
片
机
电源电路
时钟电路
复位电路
图3-4单片机最小系统组成方框图
a.电源电路
本设计的单片机电源由LM298N模块上的7805稳压电路提供。
b.时钟电路
一种为晶振、电容和内部振荡电路组成的内部时钟方式;
另一种是外部直接提供时钟源的方式。
具体的电路如图3-5所示。
(a)内部时钟方式。
(b)外部时钟方式
图3-5单片机时钟电路图
c.复位电路
包含上电自动复位方式和手动复位方式。
它的功能是让单片机恢复到一个确定的初始状态。
(a)上电自动复位(b)手动复位
图3-6单片机复位电路图
3.2.3STC89C52R单片机的使用
本设计采用单片机的定时中断、串口中断和普通的输入输出端口操作功能。
图3-7单片机最小系统电路图
单片机的I/O口操作主要是针对于对串口中断接收到的命令进行相应的操作,实现小车的运转和led的开关,利用定时器中断模拟生成PWM驱动LM298N的使能端实现速度控制。
3.3电机驱动电路
本设计采取LM298N电机驱动模块,具有高可靠性,宽电压输入的特点,符合我们的实际要求。
3.3.1LM298N电机驱动芯片的产品参数
a、双H桥直流电机驱动芯片;
b、驱动供电为+5V到+35V;
c、驱动峰值电流为2A;
d、逻辑供电为+5V到+7V;
e、最大功耗为20W。
3.3.2驱动的原理及电路图
LM298N模块内含两个使能控制端ENA和ENB分别控制两个输出口。
当ENA使能的时候,OUT1和OUT2随着IN1和IN2的变化而变化,当ENA失能的时候,OUT1和OUT2没输出;
ENB同理。
本设计采用两块L298N模块驱动4个直流电机的转动。
图3-8LM298N模块
图3-9LM298N模块原理图
图3-10LM298N驱动电机状态图
3.4摄像头介绍
本设计摄像头相当于一个可以远程控制的移动监控器,可以随时了解家里每个地方的实时情况。
3.4.1摄像头简介
摄像头是一种图像捕获设备,将所捕获的数字图像转化为数字信号传输出去。
现在主要用于视频和监控。
随着互联网技术的不断发展,再加上摄像头制造技术的发展,它已经变得更加便宜。
普通的人也能用摄像头在远方进行视频沟通,与此同时,目前流行的影音和视频处理都离不开它。
3.4.2摄像头的工作原理
摄像头工作原理:
刚开始摄像头进行光电转换将光信号转化为电信号。
然后经过A/D转换将模拟信号变成数字信号,送给数字信号处理芯片处理发送。
路由器收到数字信号后转发出去。
手机或电脑接收视频信号后通过软件显示实时画面。
3.4.3摄像头的主要构造
a、主控芯片;
b、镜头;
c、感光芯片;
摄像头模块如图3-11所示:
图3-11摄像头模块
4系统程序设计
4.1系统程序简介
本系统作为一个整体,功能是由软硬件共同完成的,不可分割。
硬件结构一旦确定,软件需要在硬件基础上构筑。
软件是整个设计的灵魂核心,硬件是整个设计的肉体[7]。
为了易于编程调试我们采取模块化的程序设计减少了设计的故障率。
本设计是通过单片机串口不断接收路由器传过来的命令,根据指令执行相应的操作,与此同时摄像头不断的采集视频信息传送给路由器,通过路由器传送给智能终端。
所以在程序中我们需要涉及到串口、定时器、I/O口的控制使用。
4.2程序流程图
我们整个的软件系统主要是WIFI智能机器人对命令的接收和执行。
4.2.1主程序流程图
系统主程序首先是初始化程序,包含对定时器pwm的初始化和串口的初始化。
然后在主程序中不断扫描和执行智能终端发送过来的指令,等待串口中断执行命令。
单片机程序总设计流程如下图4-1所示。
4.2.2串口中断子函数
单片机和路由器之间通过串口来进行通讯。
初始化程序初始化串口之后,打开串口中断。
当有数据传输过来之后进入串口中断。
进入中断后关掉中断,避免数据信号重复干扰,读取数据。
在主函数中不断的扫描接收到的数据并执行。
具体流程图如下图4-2所示。
4.2.3定时器中断子函数
设定定时器的初值和计数次数,生成10KHz的PWM信号来控制家庭机器人的速度。
其流程图如下图4-3所示。
结束
t〉zkb1
t〉zkb2
中断标志位清零
定时中断
初始化T2
t自加。
ENA控制端归零。
ENB控制端归零。
ENA控制端置位。
ENB控制端置位。
图4-3定时中断函数流程图
t=zhouqi
t=0
5程序编写
本次设计需要对上位机、下位机和手机app进行编程
5.1软件介绍
1、eclipse
Eclipse是一个多功能的集成开发环境,可以安装各种插件,主要用于java语言开发[8]。
2、KEIL软件
KEIL是一个C语言开发编译的系统[5]。
可以用于实现单片机应用的各类编程实现,具有很强的可读和结构性,方便编程人员的使用和学习。
3、MicrosoftVisualStudio
VS是一个相对完善的开发工具集,包含许多开发工具,C#只是其中之一[9]。
5、STC下载软件
STC单片机串口可以仅使用在线烧写程序,非常方便完成
a、安装STC-ISP软件。
b、启动软件。
c、STC89C52RC单片机的选型(还有其他型号,这取决于你的选择,你可以仔细看看型芯片上的模型)
d、选择要烧写的文件,点击打开程序文件
e、点击下载/编译,等待下载完成。
5.2程序编写
1、单片机程序
*******************************************************************
又快到做毕业设计的时候了,大家这个时候忙碌找工作,忙于考研,无暇做毕业设计,本团队可为大家提供帮助,诚信第一,价格最低,黑狼团队由在校学生组成,作为过来人最懂您的指导老师,为您提供专业服务,三年代做经验,可做电子类和计算机类。
*********************************************************************
*专抠专欢迎*
*业抠为您的*
*代群大加入*
*做2学*
*毕4生*
*设6服*
*3务*
*8解*
*2决*
*2问*
*3题*
**
***********************************************************************
2、上位机部分程序界面,如图5-1所示
图5-1上位机运行界面
3、手机app部分程序界面[10],如图5-2所示
图5-2家庭智能机器人系统控制界面
图5-3家庭智能机器人系统登陆界面
5.3实物调试
系统调试可分为硬件调试、软件调试和软硬件联调三个部分。
1.硬件调试
由于此设计实物是由模块搭建,首先对电路各功能模块进行调试,看是否正常工作。
然后组装,为了避免因电路接线错误,导致上电损坏模块。
然后用万用表对系统是否短路、断路进行整体检查。
最后对电路各功能模块进行分级调试,逐步实现系统的整体功能。
2.软件调试
此系统的软件程序需要使用JAVA、C#、C语言分别对andriod、上位机、单片机程序进行编写。
调试时,借助串口调试助手和网络调试助手软件。
首先,利用串口助手调试串口程序,然后编写电机驱动程序。
接着编写电机驱动程序。
然后再借助网络调试助手对wifi模块和上位机软件进行调试。
最终将各子程序模块进行有机组合、联调,最终完成整个系统的软件调试。
3.软硬联调
系统软硬件联调的主要是把软件和实物结合起来测试整个系统的功能和效果,结合手机app和上位机对智能小车进行控制。
图5-4系统软硬件联合调试图
图5-5控制系统运行图
结 论
一直以来自己都想好好学一下andriod和C#的socket控件,物联网也是未来的发展方向,对它也充满了浓浓的兴趣。
即使现在没接触到,接下来的日子里自己也一定会去学习。
通过对wifi家庭智能机器人的研究,论文的准备和实际的目标,对自己存在的缺点的进一步认识。
在andriodAPP方面还相差很多,与此同时自己对socket控件理解更加深刻,为后来的学习买下了基础。
在路由器方面,想起了在嵌入式方面学到的课程,以前是在RedHat系统而现在是Openwrt,几乎都是差不多的。
在路由器的方面的知识也有了很大提升。
通过这次的毕业设计,每个方面都有所提升,这些也正是我的兴趣所在。
在知识上:
一方面,更加明确了自己今后发展方向。
另一方面,我又把之前学习的c#,嵌入式linux系统,和andriodapp又复习了一遍。
终完成了整个WIFI机器人设计。
在能力上:
我遇到挑战和困难从未想过放弃,凭借着钻的精神最终都被解决了。
当然,由于时间问题,整个设计还有需要完善的地方,以后会逐步去加强完善。
感谢老师的多多指教。
对于我感兴趣的事物,我会去不断地探索和完善。
在以后的工作学习中,我还会继续努力的。
致谢
值此论文完稿之际,也意味着即将离开,心中充满了不舍与感激。
在即将离开学校的时候,我想衷心的感谢母校对我的培养和给我提供的机会,大一时就有机会参加省赛,即使那时候什么也不会,可是从那开始接触单片机,比同届的同学都比较幸运一些。
大学里,我有机会参加了好多比赛,收获很多,同时也培养了对电子很大的兴趣,当初也正因为对专业的喜欢才报考了本专业。
对于这次毕设,特别感谢史斌斌老师的指导和大力支持,特别感谢大学里的各位老师在三年的时间里的培养,感谢同学们三年的陪伴。
同时,我也特别喜欢电子这个专业,喜欢编程,希望能在这条路上继续发展下去。
附录
1上位机界面
附:
图1上位机运行界面
图2上位机程序界面
2Andriod应用程序运行界面
a登陆界面b运行界面
图3AndriodApp运行图
参考文献
[1]李红梅,周会强.WiFi技术在智能家居中的应用研究.硅谷。
2012
[2]刘晋峰.玩机器人学单片机.北京:
电子工业出版社,2013
[3]王静霞.单片机应用技术(C语言版).北京:
电子工业出版社,2009
[4]李群芳.单片微型计算机与接口技术.北京:
电子工业出版社,2007
[5]魏亮.路由器原理与应用.北京:
人民邮电出版社,2005
[6]徐玮.C51单片机高效入门.北京:
机械工业出版社,2006
[7]谭浩强.C程序设计(第四版).北京:
清华大学出版社,2013
[8]刘建清.Java从入门到精通.北京:
人民邮电出版社,2010
[9]国家863中部软件孵化器.C#从入门到精通.北京:
人民邮电出版社,2009
[10]李刚.疯狂Andriod讲义(第三版).北京:
电子工业出版社,2015
【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】