这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 毕业设计专区 » WIFI智能小车机器人

共2条 1/1 1 跳转至

WIFI智能小车机器人

专家
2013-01-15 14:26:46     打赏

作者:福建师范大学协和学院 陈洋斌 叶志燕 沈渊
指导教师:钟伟雄 林民庆

  作品简介

  在平常的生活中,我们经常会见到有人在玩遥控车,甚至现在还有了遥控飞机。这一切在过去那些年都还只是人们眼中孩子们的玩具而已,然而随着科技的发展,关于机器人的电影,或者是现实生活中科学研究者研发出来的仿生机器人经常在各种媒体中不断的报导。这毫无疑问,再过个几十年,机器人将走进我们的家庭中,它将为我们带来更多的便利。如今,很多电子发烧友DIY出了各种版本WIFI机器人。Wifi Robot,顾名思义就是通过wifi无线网控制的机器人,比起普通的遥控车,它的好处就是遥控信号覆盖范围可以做到很广。
  WIFI智能小车机器人是一种基于WIFI的无线远程智能遥控机器人,利用非常成熟的WIFI无线网络为数据载体,实现控制数据,视频数据传送而达到控制小车和视频监控等等功能。它是集无线通信、实时电机驱动、多向机械云台、视频监控、环境温度检测、为一体的多功能智能遥控车。本系统在电脑端上位机采用QT编程,由于QT面向多平台,并且可移植性好。通过QT编写的上位机,便可以把控制数据通过Socket发送到路由器,路由器再通过ser2net把数据包解开,然后转发到路由器的串口; 该系统的控制端采用STC15单片机作为微处理器,通过STC15单片机与路由器建立串口通信,便能利用路由器的串口数据进行控制电机的工作状态模式和三个陀机的工作角度。STC15单片机还负责实时监控环境温度并经过路由器反馈至电脑,让使用者可以实时了解小车所在地的气温,以便于在到达目的地之前设定好空调温度等应用。  

 

  平台选型说明

  本设计使用本届大赛指定的单片机开发板(以STC15F2K61S2芯片为控制核心)

  设计说明

  1、设计要求
  1.找一台能刷Linux的无线路由器,将其操作系统刷成OpenWrt。
  2.将Linux下的摄像头驱动安装到路由器上。
  3.选择PC端的上位机软件,利用上位机的Socket把特定的数据包发送到路由端。
  4.选择机器人车体,并制作控制驱动板和机械手臂等安装在车体上。
  5.通过上位机操作,直接控制小车行走和机械手臂摆动,并能实时接收到机器人上的摄像头视频。

  2、根据本系统的设计要求先确定了整体设计原理框图如图所示:  

   3、设计原理
  由图1 的原理框图,可知整个系统是电脑通过无线WIFI网络与路由器通讯,当路由器收到命令后将相应命令通过串口发送给单片机,单片机再根据命令执行相应的操作,如机器人行走,操作机械手等;或者单片机通过读取温度传感器的温度值,通过串口传给路由器,路由器再将数据传给电脑。

  3.1单片机最小系统
  本系统的核心部分是单片机的控制,给以相应的编程命令,按照我们所要实现的功能意愿执行相应的操作,STC15F2K61S2的管脚图如图2所示:  

 

  3.1.1 STC15F2K61S2单片机的特性
  1、超强抗干扰,超级加密;
  2、不需要外部晶振和复位电路的单片机;
  3、可省掉外部EEPROM,利用IAP技术;
  4、ISP/IAP,在线编程,无需编程器/仿真器;
  5、双串口,两个独立串口;
  6、高速10位A/D转换器,8通道;
  7、高速,可靠,1个时钟/机器周期8051
  8、超低功耗,且抗干扰能力强。

  3.2温度传感器模块
  本模块主要作用是进行温度采集,然后经采集的数据送入单片机STC89C52RC里进行分析处理。在本次设计中采用了DS18B20作为数据采集器,它的精度最少可以精确到0.0625,完全可以用来进行环境温度的测量。由DS18B20 这一特点,非常适合于多点温度检测系统,硬件结构简单,方便联网,在仓储管理、工农业生产制造、气象观测、科学研究以及日常生活中被广泛应用[8]。
  温度传感器如下 :  

 

  3.3 路由器刷机
  本系统需要给路由器刷OPENWRT系统。目前刷机大致有两种方法,一种是通过网线法进行刷机,另一种是通过TTL线进行刷机。一般采用网线法刷机比较简单,不需要什么工具。

  3.3.1网线法刷机法
  第一步:首先关闭路由器电源,网线连接电脑和路由器(DB120)的LAN4。
  第二步:电脑IP设置为192.168.1.X/255.255.255.0(X为2-255之间的任意数字),网关不用设置。
  第三步:用针状物按住路由器的RST键,然后打开路由器电源,等待大概10秒钟,路由器的电源灯会变成红色,此时可松开复位按键。
  第四步:运行电脑端的cmd.exe,然后输入ping 192.168.1.1,测试是否能ping通。
  第五步:打开电脑浏览器输入192.168.1.1,会出现一个页面,选择要刷的OpenWrt固件,点击确定开始刷机,大概两分钟后路由器会自动重启,至此说明路由器刷机完成。

  3.3.2 TTL线刷机法
  第一步:1.网线连接电脑和路由器(DB120)的LAN4,电脑IP设置为192.168.1.X/255.255.255.0(X为2-255之间的任意数字),网关不用设置;
  第二步:用USB-TTL线接好路由的GND、RXD、TXD三条线(VCC不要接)。
  第三步:打开putty,选好端口号,端口号要查看电脑设备管理器,波特率设置成115200。
  第四步:路由器通电,接线且设置正确的话,putty窗口应该出现路由器的信息。
  第五步:在通电3秒内,按下键盘的空格键,阻止路由器CFE启动,这时候应出现CFE>。
  第六步:输入小写e a,e a之间有个空格键,回车,然后在按下y,回车,路由器会清除原来系统固件,类似电脑格式化全盘功能。
  第七步:清空之后,路由会持续输出很多命令行,且不会停止,直接关掉路由电源。
  第八步:重新打开路由电源,通电3秒内按下空格键阻止CFE启动。
  第九步:打开浏览器,输入192.168.1.1,按提示上传固件文件就可以了。

  3.4 让路由器上网
  刷完路由器后,接下来就要通过安装各种软件来扩展功能,而OpenWrt系统安装程序采用的是OPKG方式安装,也即在线安装,因此要保证路由器能连接上网络。因此需要做如下设置,能通过以下设置后路由器也可以当普通的路由器来使用。
  浏览器输入:192.168.1.1 进入路由器。输入用户名:root ,密码:admin 进入路由器管理界面。然后点击‘快速向导’进行设置,一直点击下一步,直到出现-配置WAN口。首先选择好接入协议的方式:
  第一种:静态IP方式;
  第二种:DHCP,即自动获取IP方式;
  第三种:PPPOE拨号方式,即ADSL,目前家里用的基本以这个为主。
  设置完成后,电脑如果能正常上网说明设置成功。

  4.5 在路由器上安装程序
  4.5.1路由器挂载摄像头
  目前常用的USB摄像头分两种:有驱的和免驱的。在本系统中使用的是有驱的,主控芯片为中星微301,此摄像头挂载成功率100%,并且性价比高,特别适合本系统的设计。这里就以挂载ZL301摄像头为例来说明如何挂载摄像头。
  1、 挂载摄像头前首先要保证路由器能上网;
  2、 登陆路由WEB管理:系统——软件包——编辑软件包列表和安装对象——将http://downloads.openwrt.org改成http://downloads.x-wrt.org/xwrt
  3、 使用工具PUTTY登录路由器,输入以下命令。
  root@OpenWrt:~# opkg update
  root@OpenWrt:~# opkg install kmod-i2c-core
  root@OpenWrt:~# opkg install kmod-video-core
  root@OpenWrt:~# opkg install kmod-usb-video
  root@OpenWrt:~# opkg remove kmod-usb-video
  root@OpenWrt:~# opkg install kmod-usb-video
  root@OpenWrt:~# opkg install kmod-video-gspca-core
  root@OpenWrt:~# opkg install kmod-video-gspca-zc3xx
  到此摄像头已经挂完,输入以下命令看看是否挂上。
  root@OpenWrt:~# dmesg | grep usb
  …
  usb 2-1: USB disconnect, address 2
  usb 2-1: new full speed USB device using bcm63xx_ohci and address 3
  usb 2-1: configuration #1 chosen from 1 choice
  usbcore: registered new interface driver zc3xx
  看到最后一行,说明已经挂上。

  4.5.2安装MJPEG
  MJPEG作为一个小型的视频服务器软件,对系统消耗非常小,也很适合本系统设计。
  1、 安装MJPEG
  使用如下命令安装:
  Opkg install mjpg-strcamer
  2、 启动MJPEG
  /etc/init.d/mjpg-streamer start
  3、 查看图像
  由于火狐浏览器支持动态刷新,因此需要下载安装火狐浏览器。在地址栏输入:http://192.168.1.1:8080/?action-stream 可查看到摄像头的动态视频。

  4.6 PC端与机器人建立通讯
  4.6.1单片机与路由器的通讯
  单片机与路由器的通讯是通过串口进行的,这个原理与单片机与电脑的通讯是一样的。因此我们首先将路由器换成电脑,通过串口调试助手来发送命令。这里需要一个USB转串口的工具。
  第一步:将USB转串口工具的驱动在电脑安装好。
  第二步:将单片机的串口与USB转串口工具连接好,只需连接三根线即可(RX、TX、GND)。
  第三步:打开串口调试助手,设置好串口配置,一般有端口、波特率、数据位、停止位等。
  第四步:向单片机发送命令。并且测试单片机接收到不同的命令时I/O口的电平是否有发生变化。如果有按单片机程序设计的要求发生了相应变化,则说明通讯成功。

  4.6.2 PC端与路由器的通讯
  本次使用的工具是网络调试工具TCP&UDP-Debug。主要用于与路由器建立Sockey通讯。
  第一步:保持4.3.1的连接不变,将电脑与路由器建立连接(无线或是网线)。首先要保证电脑可以PING的通路由器。
  第二步:打开TCP&UDP-Debug软件,右键选择CreateConnection,并填写参数。
  第三步:填写完参数后,点击Create。
  第四步:点击connect,与路由器建立连接。
  第五步:向路由器发送命令,查看串口调试助手是否收到相应的数据。若能成功接收,说明整个通讯过程是正常的。

  4.7 机械手臂控制原理
  本系统采用的是4自由度的机械手臂,它是由金属支架、舵机、螺丝轴承、机械爪子等组合成的。
  将机械手臂组装完成之后,其实最重要的部分就是如何控制舵机了,控制舵机的转动的角度,也就能够控制机械手臂的摆动了。本系统采用的是辉盛MG995,工作电压为3~7.2V,工作扭矩为13KG/cm,转动角度为0~180°。
  在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。
  舵机一般是有3根线,其中两条是电源线,另外一条是控制信号线,一般我们采用单片机输出PWM信号给它;该PWM信号一般是一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。  

 

  作品特色

  Wifi智能小车机器人使用操作系统被刷为OpenWrt的无线路由器作为通讯,它的使得遥控信号覆盖范围可以做到很广。并且摄像头可以直接由挂载到路由器上,也就是可以通过路由器直接驱动,非常的方便。本系统在电脑端上位机采用的是QT编程,由于QT面向多平台,并且可移植性好,非常适合本设计系统的开发。该WIFI机器人选择坦克车作为车体,行走起来相当的稳,而且机械手臂可以直接安装在坦克车体上,而完全不影响行走。机械手臂由4个舵机和支架等组成,舵机使用的是MG995,控制的角度为0~180°,并且力矩可以达到13KG/cm,力气非常的大;通过上位机可以轻易的控制机器人行走和机械手臂抓取东西,只要再稍微做得完善,我想可以放在公司作为产品演示的高级智能助手,帮你递送文件,帮你拿听百威,帮你拿盒万宝路,又或者向你的客户打声招呼。Wifi Robot无线远程智能遥控小车可以放在家里当做一贴切保姆,你可以在公司用电脑监控家里的的一切动态,可以在车上就设定好家里空调温度,可以定时电视机在什么时候换什么台,这一切你只需要连接到ITELNET。Wifi Robot无线远程智能遥控小车也是广场上的明星,你带着他在城市广场上炫耀,玩耍,让他帮你丢垃圾,这一切都不是问题。

系统演示视频:http://v.eepw.com.cn/video/play/id/2418




关键词: 智能     小车     机器人     通过     控制     可以     数据     机械         

菜鸟
2017-09-10 22:07:05     打赏
2楼

楼主,你好!方便分享一下Qt源代码吗?万分感谢!!2562297629@qq.com


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]