小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 177031|回复: 279

【机器人创意工作室教程一】WIFI智能小车机器人基本原理

  [复制链接]
发表于 2012-5-13 11:58:55 | 显示全部楼层 |阅读模式
WIFI智能小车机器人是很多人童年时的梦想,就好比当年看着《小鬼当家》里面的那个视频遥控车一样,看着就激动!
然而对于大部分初学者而言,本身并非电子专业,也不是计算机专业,可是却对WIFI/蓝牙控制的智能小车机器人情有独钟,怎么办呢?对于一个专业不对的人来说,确实是隔行如隔山,但是没有关系,从今天起,WIFI机器人网·机器人创意工作室不间断地推出一系列教程,手把手教你如何DIY一个属于自己的智能小车机器人。

鉴于蓝牙智能车和WIFI智能车其实很类似的,只是把WIFI模块换成了蓝牙模块,所以蓝牙车就不再详细阐述了,弄明白了WIFI车,蓝牙车也一样的。
OK,进入正题,机器人创意工作室教程第一讲《WIFI智能小车机器人基本原理》
我们的这款WIFI智能小车机器人采用的路由器+PC或者手机、网页控制方式。其基本原理分为4大块:
1、把普通的无线路由器通过刷入开源的Openwrt系统,使之成为一个运行了Linux系统的小电脑,何为Openwrt? 请看:

什么是OpenWRT?   1. 关于 OpenWrt   当Linksys 释放 WRT54G/GS 的源码后,网上出现了很多不同版本的 Firmware 去增强原有的功能。大多数的 Firmware 都是99%使用 Linksys的源码,只有1%是加上去的,每一种 Firmware 都是针对特定的市场而设计,这样做有2个缺点,第一个是难以集合各版本Firmware的长处,第二个是这版本距离 Linux 正式发行版越来越远。OpenWrt 选择了另一条路,它从零开始,一点一点的把各软件加入去,使其接近 Linksys 版 Firmware的功能,而OpenWrt 的成功之处是它的文件系统是可写的,开发者无需在每一次修改后重新编译,令它更像一个小型的 Linux 电脑系统,也加快了开发速度。

以上解释摘自百度百科。简而言之,就是从思科的路由源码改造过来的,一个适用于某些特定芯片的路由器的小型Linux系统,有了这个系统,我们的路由就不再是上网那么简单了,我们可以在上面安装各种程序、驱动,以路由为平台,用户可以自由地加载USB摄像头、网卡、声卡、等等设备。
我们的WIFI板上运行着一款程序,叫做mjpg-streamer,这个程序可以把USB摄像头的视频进行编码,然后通过WIFI返回给上位机,这样,我们就可以看到来自机器人的视频了。
同时路由一般都预留有TTL串口,TTL串口是用来调试或者刷机用的,我们把这个TTL串口引出来,然后通过安装在路由里面的Ser2net软件,就能把来自WIFI信道的指令转到串口输出,而串口在这里的作用就是与单片机芯片MCU通信,让单片机知道用户要让他做什么动作。关于TTL的介绍,请看后文。
WIFI(路由)模块:
IMAG0284.jpg


2、单片机系统与下位机
单片机系统也是一个最简单的小电脑系统,但是它的频率很低,不适合进行大数据的运算,它的主要功能是通过控制其输出引脚(IO口)的电平高低,从而让电机驱动芯片驱动电机正转或者反转,实现机器人的前进、后退。
我们把跑在单片机系统里面的程序称之为下位机,这个程序的作用就是接收来自上位机的指令,并进行解码分析,了解用户发出的是何种动作,然后让单片机芯片的指定引脚进行高低电平赋值,当然这个指令的上一级发送单位是WIFI模块,也就是路由,再往上一级是PC/手机等控制端,也就是上位机。
这里说一下TTL串口,TTL串口是一种通信串口,一般就三根数据线:TX 发送数据 ,RX  接收数据 GND 地线。TTL的电平一般是5V以下,目前常见的路由和单片机的串口都是TTL电平的,只有同样电平类型的才能进行通信,否则不仅没法通信,还可能烧电路。
除了TTL串口,还有一种称为RS232电平的串口,也叫9针串口,就是普通台式机后面的串口,这种串口的电平不是TTL的,所以调试时不能直接用这种串口和我们的各种模块通信,必须购买232转TTL电平小板。

针对于工作室出品的驱动板,我们的源代码是公开的,有一定基础的车友可以到这里下载,并进行改造:http://www.wifi-robots.com/thread-367-1-1.html
单片机(MCU)系统:
a.jpg

3、电机驱动电路
上面说过,单片机可以把上位机发过来的指令进行解析,通过判断指令,然后让自身的某个引脚电平拉高或拉低,但是单片机的引脚输出电流很小,你可以让他点亮LED灯,但是驱动我们这种大车体是不可能的,所以需要一个驱动芯片来驱动电机运转,也就是说,单片机用引脚电平的方式告知驱动模块,比如,单片机的引脚P10-P13为1010时,驱动模块就输出两路前进的电压,车子就前进了,如果是0101时,车子就后退了。
驱动电路模块:
b.jpg

4、上位机
上位机就是发送指令的部分,我们通过上位机发送指令到WIFI模块/路由器,然后通过路由器的转换,把指令转给单片机,从而机器人执行我们的指令,同时上位机向路由发送一个视频请求,路由端的视频处理程序会把获取的USB摄像头视频传回上位机,上位机进行解码,并显示。
上位机的编写涉及到高级语言编程,对于非此专业的车友,我们工作室已经有现成的上位机供大家免费使用了,PC版的,目前更新的为V1.27版本,下载地址为: http://www.wifi-robots.com/thread-2985-1-1.html
安卓手机/PAD版的控制端:http://www.wifi-robots.com/thread-2854-1-1.html
上位机的编写其实就是通过TCP/UDP等通信方式,用Socket连接把数据发送到路由端,在这里,我们的上位机是Client模式,路由端是服务器模式,这样的好处是不需要什么转发操作,我们直接连接WIFI智能小车机器人就可以操控了。

好的,总结一下:整个智能小车机器人的工作方式即为
无标题.png

欢迎关注下期教程。





点评

好东西!  发表于 2013-5-5 23:12
很好很好  发表于 2013-5-3 16:07

评分

参与人数 24金钱 +38 收起 理由
contendtinue + 1 很给力!
西电技术员 + 1 膜拜大神!
风的季节 + 3 很给力!
何旭磊 + 1 膜拜大神!
zmxcoc + 1 很给力!
formatcat + 1 很给力!
月耀 + 1 膜拜大神!
已逝青春 + 3 很给力!
野生奥特曼 + 1 很给力!
qq519666103 + 1 学习学习学习大神
zheng2013 + 1 很给力!
rs7cai + 1 很给力!
zwq19930128 + 2 非常详细!给力!
NIKOR + 3 很给力!
zhangyipeng + 3 很给力!
皮皮 + 3
小新 + 1
萧龙 + 1 赞一个!
szlitaotao + 1 赞一个!学到了
ruchao + 2

查看全部评分

回复

使用道具 举报

发表于 2012-5-13 12:05:56 | 显示全部楼层
沙发~~~
回复 支持 反对

使用道具 举报

发表于 2012-5-13 12:21:06 | 显示全部楼层
太好了,言简意赅,适合我们这些新手们看!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

发表于 2012-5-13 12:30:48 | 显示全部楼层
太帅了! 我就是小的时候看《小鬼当家》之后就产生了做那样的东西来玩一玩,之后就一直努力实现。。。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2012-5-13 12:35:28 | 显示全部楼层
感谢老大在百忙之中为我等小白普及基本知识 !
回复 支持 反对

使用道具 举报

发表于 2012-5-13 12:57:14 | 显示全部楼层
楼主好人啊,努力学习中。。。
回复 支持 反对

使用道具 举报

发表于 2012-5-13 15:15:29 | 显示全部楼层
感谢LZ的教程,努力学习,期待自己做出小车的那一天!!!
回复 支持 反对

使用道具 举报

发表于 2012-5-13 15:48:54 | 显示全部楼层
这个教程这是我想要的,思路清晰,解说详细,看得很明白,感谢!
回复 支持 反对

使用道具 举报

发表于 2012-5-13 16:24:09 | 显示全部楼层
很好,真是我以前想要的,,哇哈哈
回复 支持 反对

使用道具 举报

发表于 2012-5-13 19:51:21 | 显示全部楼层
支持一下  

评分

参与人数 1金钱 +1 收起 理由
緈福∴de爱 + 1 1

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-4-20 11:04 , Processed in 1.167085 second(s), 23 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

快速回复 返回顶部 返回列表