大部分电子爱好者,第一个机器人作品都是智能小车,犹如单片机的第一个作品是Blink,编程第一个作品是HelloWorld一样。为什么大家都愿意从小车入手呢?一方面来说,小车的普及度比较高,在淘宝上一搜,各种套件很丰富。而且因为做的人多,资料也多,论坛上也容易获得网友的帮助。而另一方面,小车作为基础的自动控制项目,实际上包含了机器人和自动化行业的所有基本要素。并且可扩展性也很强,很容易从单一的小车扩展成诸如蓝牙遥控、WiFi视频等。所以智能小车一般是大家入门的首选。
智能小车作为一个典型的自动控制系统,或者说机器人系统,一般由底盘(机械部分)、电机(执行机构)、单片机(控制器)、超声波传感器 (变送器)、红外传感器(变送器 )等组成。所以说他涵盖了自动控制系统的三个基本组成部分:控制器、变送器、执行机构。而无论是循迹小车还是避障小车,都是采用基本的反馈控制原理,如果算法精细一些,还会涉及到PID等经典控制算法。而更加复杂的现代控制算法也都可以用在小车上,比如作为一般小车的进阶作品——自平衡小车,有的高手就会利用卡尔曼滤波或模糊控制来提高稳定性。
1 智能小车的分类
常见的智能小车一般分为:循迹类、避障类、遥控类、搜索类
循迹类:以寻黑线居多,就是小车通过红外传感器检测地面上的黑线,沿着黑线行进,是非常典型的反馈控制系统。除此之外,还有寻金属线、寻磁之类。
避障类:有红外避障和超声波避障,通过传感器检测障碍物,并自动转向规避,由此可以衍生出跟随和走迷宫。
遥控类:这类比较简单,即通过终端进行遥控。但是现在很多遥控类的小车会搭载无线数传和图传功能,传送视频图像。是具有实际功能的智能小车。
搜索类:这类主要有迷宫搜索和诸如灭火机器人、扫地机器人之类的功能机器人。具有一定的计算能力,能通过对环境的计算,得到最优路径。
2 智能小车的基本组成部分
基本类型的智能小车一般由底盘、减速电机、驱动器、主控板、传感器组成。
2.1底盘
底盘常见有两轮、三轮、四轮、两轮自平衡等类型。
两轮小车
三轮小车
四轮小车
2.2减速电机
因为低压直流电动机转速较高,力矩较低,所以要通过减速机构进行减速,提高力矩,减少驱动电流。
2.3 电机驱动板
因为电机的驱动电流很大,一般在小车上能达到500mA-1.5A,而控制器IO输出最多不过几mA,所以必须采用驱动器。小车除了前进,一般还有倒退功能,有的小车转弯时也会采用一边轮子正转、一边轮子反转的方式。所以小车的电机需要能正反转,一般用H桥来实现,现在H 桥多半做在驱动芯片里,智能小车最常用的就是L298系列的驱动芯片。具有双H桥,可以驱动一个四线的步进电机或两个直流电机。
2.4主控板
主控板是整个小车的核心控制器,相当于小车的大脑。主控板一般由单片机和外围电路组成,可以是一个最小系统板,也可以是完整的开发板。
在笔者上大学时,主控板用C51居多,现在MCU型号众多,用各种MCU的都有,一般用C语言编程。对于非电子专业的同学来说,用Arduino的板子是一个非常好的入门选择,这样你可以把主要精力用在功能实现和创意上。而不是消耗大量的时间在浩如烟海的驱动、固件库的调试上,而后者,很可能在最开始的几周就消磨掉了你的所有兴趣。而Arduino采用简单的Processing语言,并且封装了大量的硬件驱动,所以很容易上手。
如果是基础的智能小车,主控板能够引出10个左右的GPIO就可以了,如果还需要其他功能,可能需要更多的 IO或特殊接口来连接其他模块,比如I2C接口或SPI 接口。
2.5 传感器
小车上最常见的传感器就是超声波传感器和红外对管。
2.5.1 超声波传感器超声波传感器是利用超声波反射来测量传感器与物体之间的距离的,根据精度不通过,价格差距很大。我们医院里做“B 超”用的也是超声波,只不过那个精度很高,所以能够成像看到器官病变。我们智能小车一般用来测距、避障、跟随等,精度要求不是特别高。但是要注意,超声波传感器对平整的刚性平面测量精度较高,因为回声比较均匀。而对于人体、衣物等非刚性表面测量精度会受到很大影响,并且声速受温度影响,高精度测量需要做温度补偿。
2.5.2 红外传感器
红外传感器一般会成对出现,一个发射一个接收,又叫红外对管。利用物体反射来判断障碍物或黑线。
对于避障小车,平时红外发射出去的红外线无法被接收头接收到,而当遇到障碍物时,红外发射管发射出的红外线被物体反射回来,被红外接收管收到,于是能够判断出障碍物的存在。
对于循迹小车,利用黑线吸收红外线,而白的背景能反射红外线来判断黑线的存在,再利用软件对路径进行修正,达到循迹的目的。