当前位置:文档之家› 智能小车控制基本原理

智能小车控制基本原理

【机器人创意工作室教程一】WIFI智能小车机器人基本原理
[复制链接]
liuv
ikin
g










W
I
F
I




贡献
2
4
9
电梯直达
楼主
发表于 2012-5-13 11:58:55 |只看该作者|倒序浏览
分享到:11
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(路由)模块:
金钱
1
5
4
7
4
威望
7
8
积分
1
8
3
6
4
精华
2
5

串个门 ∙ 加好友 ∙ 打
2、单片机系统与下位机
单片机系统也是一个最简单的小电脑系统,但是它的频率很低,不适合进行大数据的运算,它的主要功能是通过控制其输出引脚(IO 口)的电平高低,从而让电机驱动芯片驱动电机正转或者反转,实现机器人的前进、后退。

我们把跑在单片机系统里面的程序称之为下位机,这个程序的作用就是接收来自上位机的指令,并进行解码分析,了解用户发出的是何种动作,然后让单片机芯片的指定引脚进行高低电平赋值,当然这个指令的上一级发送单位是WIFI 模块,也就是路由,再往上一级是PC/手机等控制端,也就是上位机。






这里说一下TTL 串口,TTL 串口是一种通信串口,一般就三根数据线:TX 发送数据 ,RX 接收数据 GND 地线。

TTL 的电平一般是5V 以下,目前常见的路由和单片机的串口都是TTL 电平的,只有同样电平类型的才能进行通信,否则不仅没法通信,还可能烧电路。

除了TTL 串口,还有一种称为RS232电平的串口,也叫9针串口,就是普通台式机后面的串口,这种串口的电平不是TTL 的,所以调试时不能直接用这种串口和我们的各种模块通信,必须购买232转TTL 电平小板。

针对于工作室出品的驱动板,我们的源代码是公开的,有一定基础的车友可以到这里下载,并进行改造:/thread-367-1-1.html
单片机(MCU )系统:
3、电机驱动电路
上面说过,单片机可以把上位机发过来的指令进行解析,通过判断指令,然后让自身的某个引脚电平拉高或拉低,但是单片机的引脚输出电流很小,你可以让他点亮LED 灯,但是驱动我们这种大车体是不可能的,所以需要一个驱动芯片来驱动电机运转,也就是说,单片机用引脚电平的方式告知驱动模块,比如,单片机的引脚P10-P13为1010时,驱动模块就输出两路前进的电压,车子就前进了,如果是0101时,车子就后退了。

驱动电路模块:
4、上位机
上位机就是发送指令的部分,我们通过上位机发送指令到WIFI 模块/路由器,然后通过路由器的转换,把指令转给单片机,从而机器人执行我们的指令,同时上位机向路由发送一个视频请求,路由端的视频处理程序会把获取的USB 摄像头视频传回上位机,上位机进行解码,并显示。

上位机的编写涉及到高级语言编程,对于非此专业的车友,我们工作室已经有现成的上位机供大家免费使用了,PC 版的,目前更新的为V1.27版本,下载地址为: /thread-2985-1-1.html
安卓手机/PAD 版的控制端:/thread-2854-1-1.html
上位机的编写其实就是通过TCP/UDP 等通信方式,用Socket 连接把数据发送到路由端,在这里,我们的上位机是Client 模式,路由端是服务器模式,这样的好处是不需要什么转发操作,我们直接连接WIFI 智能小车机器人就可以操控了。

好的,总结一下:整个智能小车机器人的工作方式即为
欢迎关注下期教程。

相关主题