xh711agv小车磁传感器厂家如何与智能小车相连以便实现重量变化的判断

(经验分享)智能小车DIY“全”攻略_大学生考试网
当前位置: >>
(经验分享)智能小车DIY“全”攻略
畅学电子网
?i更多免费资料j智能小车 DIY“全”攻略首先声明:标题只是为了赶时髦,所谓“全攻略”实不敢当,所以将“全”字用引号括 起。 本文是为正准备 DIY 一辆智能小车或已在进行中的学生、玩家们提供一些综合、客观的 信息,作为其方案选择、取舍的参考。系个人所见,欢迎交流、指正!一、 起因之所以想写此文,一是因为笔者和智能小车打了多年交道,颇有一番心得,想与大家分 享;二是目前智能小车 DIY 似乎很热,近日用 Google 搜了一下,竟然有 84 万余条,虽说和 那些时尚、八卦无法相比,但就一个科技类的内容,能有如此数量实属不易。要讨论智能小车 DIY,首先应明确定义何谓“智能小车”? 所谓“智能小车” ,按笔者的理解应该是: 具备感知环境能力,并且能对之做出相应反应的、能自动行驶的小车。 之所以称之为“智能小车” ,其与遥控车模和玩具的最大差别在于:能对环境做出反应, 并且能脱离人工操纵自动行驶。 至于感知环境的能力强弱、反应的准确与否只是其“智能”的高低,并不改变“智能小 车”的实质。 按此判断,寻迹小车、自动避障小车算,用手机遥控的小车、通过 WiFi 控制的小车严格 说不算,虽然看上去技术比前者先进,但就其本质而言,只能算是换了个遥控的通道和遥控 器,其本质还是遥控车。除非小车执行的是“跟踪一个物体、前进到某个位置”等高级命令, 而不是那种左转、右转、前进、后退之类的简单动作。第 1 页 共 74 页 根据此定义,智能小车应该包含以下三部分: 1、 2、 3、 传感器 ―― 检测环境; 控制器 ―― 根据传感器信息做出反应,发出小车控制信号或命令; 小车 ―― 根据控制器命令或控制信号行驶。前两部分所有智能体都需要,并非智能小车专有。如智能飞机、智能轮船、机器人等, 本文名为“智能小车 DIY 全攻略” ,故先讨论智能小车特有的部分 ―― 小车,其余部分另 行撰文探讨。 其次要界定的是:本文讨论的是“车” ,默认是以轮子为行走主体,所有其它形式不在讨 论之列。 从两个角度展开: 1、 从小车本身分析,汇总各类小车的驱动形式,探讨其特征,以作为 DIY 选择的依 据; 2、 从 DIY 者的需求分析,结合上述各类小车的优劣,给出实施的建议,供 DIY 者参 考。二、小车大观谈到智能小车,首先应探讨轮子,其次探讨轮子的分布,最后再研究用什么驱动轮子? 如何驱动?如何走好? 关于小车的轮子以及轮子分布形式, 《自主移动机器人导论》 (西安交大出版社, ISBN7-)一书描述的非常详细,在此将直接引用(有下划线处) 。2、1 轮子的种类前面已经说过,本文只讨论以轮子为行走基础的小车。首先探讨轮子有哪些种类?第 2 页 共 74 页 常见的轮子类型有:图 1 轮子的类型(摘自《自主移动机器人导论》P32) 为增加 DIY 的感性认识 将上图中所描述的几类轮子的实物图片罗列如下: 2.1.1 标准轮图 2 标准轮第 3 页 共 74 页 标准轮有两个自由度:一个是绕轮轴转动,一个是绕以接地点为中心的垂直轴转动。向 不同方向运动,必须先沿垂直轴操纵轮子。 2.1.2 小脚轮图 3 小脚轮 和标准论类似,其差别在于标准轮完成操纵无副作用,因为旋转中心通过接触地面点; 而小脚轮绕偏心轴旋转,在操纵期间会引起一个力,作用于小车底盘。 “球形万向轮”似乎具备了小脚轮的特点,但由于其结构原因,基本无实用价值,因为 轮子很容易因杂物进入而无法顺畅转动,书中未作讨论的原因大概如此。 实际上此“球”并非为轮子设计,而是自动化传送带转弯处的支点,属于输送机械领域。 (http://www..cn/free/Html/ProductList.asp?SortID=133&SortPath=0,123,133)图 4 球形万向轮第 4 页 共 74 页 2.1.3 瑞典轮 此轮名称颇多,此处按书中的名字。 市场能见到的多数是 90 度结构的(或许是在其所在传输机械行业用不上) :图 5 瑞典轮 瑞典轮和标准轮功能一样,区别在于其在主轮轴方向上有较低的阻力,可容易地产生非 运动方向上的移动。其优点在于:虽然轮子旋转仅沿主轴提供动力,轮子以较小的摩擦,可 以沿许多可能的轨迹按运动学原理移动(俗称“全向移动) ,而不仅仅是向前或向后。 (这个轮子也是自动化传送带的一部分,照片中的轮子就是德国一个传输机械公司的产 品。但是先作为轮子存在,之后再被拓展应用至传送带,还是反之,就不得而知了。 ) 2.1.4 球形轮 此处所讨论的球形轮是主动轮,即能提供动力的轮子。 其机构类似于老式的机械鼠标,在原来的基础上增加了两根相互垂直的主动轴,通过 X、 Y 合成出任何方向的移动。 基于这个结构的轮子书中作者估计还未见到实物,所以给出了“技术上实现困难”的解释。 但目前已有此结构的实物,这是卡内基.梅隆大学的一个项目:单球平衡机器人 ballbot,其 网站是:http://www.msl.ri.cmu.edu/projects/ballbot/ 。下图是从其视频上的截图:第 5 页 共 74 页 图6球形轮(CMU 视频截图)其结构示意如下:图 7 球形轮驱动结构 (摘自 CMU Ballbot 论文)第 6 页 共 74 页 这个方式应是科研性质,同样存在杂物卷入问题。因为和前面所说的球形万向轮一样, 其接触地面的滚动面就是驱动面,很难处理。不像其它轮子,驱动轴可以很好的和滚动面分 开,便于实施防护。所以球形轮离实用还有些距离,除非在特定环境中。2.2 轮子的选择和布局形式智能小车也可以称为“轮式机器人” ,其需求和“轮式机器人”相同。 在设计轮式机器人运动机构时,轮子类型的选择和轮子的布局形式必须同时考虑,因为 机器人的三个基本特征由这些选择所支配:机动性、可控性、稳定性。 汽车大都为高度标准化的环境(公路网络)而设计,与其不同的是,移动机器人则是为 应用在种类繁多的环境而设计。汽车全部共享相同的轮子结构,因为在设计空间中存在一个 区域,使得它们对标准化环境(铺好的公路)的机动性、可控性和稳定性最大。可是,不同 的移动机器人面临各种不同环境,没有单一的轮子结构可以使这些品质最大化。 除为了道路设计的移动机器人外,很少有机器人使用汽车的 Ackerman 轮子结构,因为 它的机动性较差。 (才有学驾驶时倒桩的烦恼) 因此,小车轮子的选择和布局要兼顾稳定性、机动性和可控性,通常是这三个指标的折 中。 既然无法顾全,只能根据所要实现的主要功能来取舍。在不确定小车期望实现的功能时, 很难确定小车的结构,因为没有一个满足所有需求的方案。就像我们常见的汽车和坦克,两 者无法兼顾,轮胎可以在公路上很好的运行,但到了泥地就一筹莫展。而履带在泥地上可以 撒欢,可到了公路上,那公路不久也就变成了泥地了。 做小车也是同理,需要明确实现的目标以及工作的环境。 常见的轮子布局形式汇总如下:第 7 页 共 74 页 第 8 页 共 74 页 图 8 常见小车轮子布局形式(摘自《自主移动机器人导论》P35)第 9 页 共 74 页 图中所用简图解释如下:图 9 轮子示意简图(摘自《自主移动机器人导论》P37) 为更直观的了解上述描述,以下将每种布局对应的小车实物图片列出,以使没有做过小 车的朋友获得一些感性认识: 布局 1: 两轮前后排布,前轮为可操纵标准轮,后轮为动力标准论,就是现实中的摩托 车、自行车。智能小车中只见过相似的,前轮是可操纵动力标准轮,这种小车平衡是个挑战:图 10 车轮布局 1:两轮前后排布第 10 页 共 74 页 布局 2:两个动力标准轮平行排布,差分驱动,书中介绍的是重心在轮轴以下,从而能 实现平衡的小车:图 11 车轮布局 2:两轮平行排布 目前流行的是重心在轮轴之上的两轮平衡小车,最经典的就是 SegWay。这类智能小车 也很多:图 12 国外一个爱好者的两轮平衡小车 nBOT (摘自:http://www.geology.smu.edu/~dpa-www/robo/nbot/index.html)第 11 页 共 74 页 布局 3:两个动力标准轮差分驱动中置,辅助一个小脚轮支撑,这是目前小车中最多的 形式之一,有的用前面的球形万向轮代替小脚轮,或者干脆用个半圆的支点:图 13车轮布局 3:两轮差分驱动中置+万向轮支点(照片为淘宝截图)布局 4 :两个动力标准轮差分驱动后置,辅助一个小脚轮支撑,基本和布局 3 一样,只 是重心不同:图 14车轮布局 4:两轮差分驱动后置+万向轮支点布局 5:由一个动力驱动两个连轴的动力标准轮,中间有差速机构,前轮为可操纵的标 准轮,无动力。现实中人力三轮就是这个机构。智能小车中采用这个结构不多:图 15 车轮布局 5:后轮连轴驱动,前面一个无动力转向轮第 12 页 共 74 页 布局 6:后轮为两个独立的无动力标准轮,前轮为可操纵动力标准轮,这个结构国外有 用于教学的平台,因为其前进和转向控制完全独立,便于编写操控程序:图 16车轮布局 6:2 个无动力标准轮+1 个可操纵动力标准轮布局 7:三个动力瑞典轮三角形排布,Robucup 小型组足球机器人最常用的布局方式, 可以实现全向运动:图 17车轮布局 7:三个动力瑞典轮三角形排布(摘自:http://www.cs.cmu.edu/~pprk/)第 13 页 共 74 页 布局 8:3 个同步的动力轮和可操纵轮,无法转向,且机构较复杂,似乎很少见到:图 18车轮布局 8:3 个同步的动力和可操纵轮(照片是产品 Denning MRV-2, 从 Google 图片搜索得到)布局 9: 和汽车有些像,但转向不同,汽车的前轮不是连轴的。未找到实物对应。图 19车轮布局 9布局 10:未找到实物对应。可参考布局 11。图 20车轮布局 10第 14 页 共 74 页 布局 11:4 个独立驱动的动力轮,前后两轮连在一起,可操纵转向,前后分开,似乎很 少见,且并不好控制,机动性也未必好:图 21车轮布局 11:4 个独立驱动轮构成 2 组,可操纵(图片摘自 CMU 论文“First Experiment in Sun-Synchronous Exploration”2002 年) 这种转向机构具备“布局 6”的灵活性,但改善了三轮小车的稳定性。不过似乎转向的 力矩需要很大,尤其是路面不平时,除非转向过程中动力轮配合。这类结构很少见。布局 12:没有找到实物,似乎是“布局 4”的改进,以改善稳定性。图 22车轮布局 12:两个动力标准轮差分驱动,2 个万向轮作为支点第 15 页 共 74 页 布局 13:4 个动力瑞典轮,采用 45 度滑动轮轴,利用 4 个轮子的转动方向和相对速度 变化合成出全向运动:图 23 车轮布局 13 :4 个动力瑞典轮的全向小车 (照片截屏于:/v_show/id_XMTk0MzQ1NDk2.html) 该布局小车的运动原理如下:图 24布局 13 的运动原理(摘自《自主移动机器人导论》P41)第 16 页 共 74 页 布局 14:2 个中置的动力标准轮差分驱动,前后 2 个万向轮支撑:图 25布局 14:2 个动力轮,2 个万向轮(照片为淘宝截图)基本和“布局 3”一样,只是稳定性略好,但是存在多点不共面问题,需要通过悬挂机 构保证动力轮可靠接触地面,照片中那样简单的结构只能在较平整的地面上运动。布局 15:4 个可操纵的动力小脚轮,通过操纵小脚轮的方向实现全向运动,书中所介绍 的应用为 Nomad XR4000,通过 Google 搜索到的图片如下:图 26 车轮布局 15:4 个可操纵动力小脚轮第 17 页 共 74 页 从照片中看不清其动力结构,由于已经停产,找不到更详细的资料了。 按我的理解,这个布局应该是使用 4 个可操纵的动力标准论,和小脚轮的区别在于垂直 转动(即转向)的轴心和轮子的地面接触点一致,以免产生一个附加的力矩;这个力矩一方 面会增加转向的阻力,另一方面会导致小车在车轮转向过程中产生不确定的移动,从而降低 了小车的可控性。合适的布局应是:图 27车轮布局 15A:4 个可操纵动力标准轮布局 16:两个可操纵动力标准轮纵向排布,用 4 个万向轮作为支点,以保持平衡。没有 见过实物,也很难想象如何运转。和“布局 15”有些类似,少用两个可操纵动力标准轮,控 制上简单些,好像走直线和弧线都比“布局 15”容易;成本也低。如果在平地上或者允许小 车适当左右倾斜,或许可以尝试采用。图 28车轮布局 16:2 个可操纵动力标准轮 + 4 个万向轮支撑布局 17: 中间 2 个差分驱动的标准轮, 4 角各有一个万向轮支撑。 这个方式和 “布局 14”第 18 页 共 74 页 类似,只是增加了支点以改善小车的稳定性,但必须考虑多点不共面问题!下图的小车用 4 个半圆支点代替万向轮,并设计了一定的弹性,以避免架空驱动轮。图 29车轮布局 17:两个差分驱动的标准轮居中,4 个万向轮支撑图片的结构是为 FIRA 机器人足球所设计,场地相对平整,所以可以采用。如用于非特定 的环境,此布局有些局限。2.3 上述布局综述按照《自主移动机器人导论》一书的汇总,罗列了近 20 种布局形式。 不知读者是否发现?为何没有目前市场上正流行的“四驱底盘”类型:图 302 个电机驱动的四驱小车底盘第 19 页 共 74 页 上图是由 2 个电机分别驱动一侧 2 个轮子的 “四驱底盘” , 这个结构应该最早出现于玩具 “四驱车” ,那个在轨道中翻飞的小精灵,动画片“四驱小子”将其推向极致,影响了一代孩 子,但似乎由于缺乏内涵而渐受冷落,现在已被边缘化了。不知是谁将其改进成目前这样, 变成了智能小车的底盘。 这个“四驱底盘”结构上还是比较精致的,需要 2 套直角齿轮传动机构,在机械上有些 技术含量。还有一类“四驱底盘”就简单多了:图 314 个减速电机驱动的四驱小车底盘直接用 4 个减速电机固定在一块板上即可,结构上基本没有技术含量,倒是方便了手工 制作,唯一费些事的就是固定减速电机。如果选用的减速电机出轴没有配套的轮子,安装轮 子需要费些心思。 这类底盘的构思初衷和目前流行的“四旋翼飞机”有些像,用复杂的控制算法简化结构! 四轮独立驱动虽不如四旋翼控制那么复杂(因为那个做不好就飞不起来) ,但这样的四驱车无 目的狂奔很容易,要想控制自如并非易事。 除了这两类“四驱底盘” ,履带类底盘也不在上述布局讨论之列(实际上这两类四驱和履 带运动方式很相近) ,为何?第 20 页 共 74 页 原来,书中在讨论轮子结构和布局时,有个默认的假定:轮子不允许对地面打滑!特别 是不允许有非滚动方向的运动,除了瑞典轮和球形轮外。 因为,如果要建立运动模型,必须遵循一定的约束,否则就无法建立相应的数学模型, 而滑动取决于摩擦,无法预测。 履带和上面描述的两类“四驱”书中将其归类为另一种操纵:滑动/制动。 这种结构的缺点与“滑动/制动”操纵有关。因为旋转中大量打滑,机器人的旋转中心很 难准确预测。而且,位置和方向的确切变化也依赖于地面摩擦的变化。所以在这种机器人上, 航位测定是很不精确的。回过来,要在极好的机动性和粗糙松软地形上的牵引力之间做出折 中。而在摩擦力大的表面上, “滑动/制动”方法可以很快地超过所用电机的力矩容量。按功 效,这种方法在松散地形上是合理的,但在其他情况下是极无效的。 (摘自《自主移动机器人 导论》P44) 针对上面的两类“四驱底盘”分析:当其采用两侧方向相反、转速相同驱动时,可实现 原地转向;此时车轮的运动轨迹是沿着车轮轴向滑动形成一个圆形,仔细分析此时车轮和地 面关系,车轮在滚动方向上也是处于打滑状态,如果车轮与地面之间的摩擦力较大,电机的 负荷会很大,能量都消耗于克服摩擦力,驱动效率极低;对车胎的磨损也较大。 这类小车通常宣传有超强的越野、攀爬能力,而此能力的保证源于轮胎对地面的磨擦力, 正好和转向时的需求相矛盾。所以此类小车结构在机动性、可控性上值得商榷。 估计这就是此类布局书中未作讨论的原因。在书中所罗列的近 20 种布局中, 各自的性能和特点何在呢?从移动机器人的三个主要指 标:稳定性、机动性、可控性来考量一下。 所谓“稳定性” ,就是指小车的运行时的平衡能力。按几何学原理,3 点支撑就可以确定第 21 页 共 74 页 一个面,对小车而言,就是平衡。2 点支撑似乎无法平衡,但如果重心降至轮轴以下,也可 以实现,但意义不大。3 点以上的支撑就出现了不共面问题,需要通过悬挂机构保证所有轮 子接触地面,否则就会晃动,如果是驱动轮悬空,则无法控制了。 而“机动性”是指小车运动的灵活性,最佳状态就是能全向运动:可以向任何方向移动, 还可以绕任何位置转动。 “可控性”是指小车按照操纵所期望的运动方式运动的能力,如果操纵产生的运动不确 定,则说明可控性不好。一般来说,可控性和机动性之间存在逆相关性。即越灵活的小车可 控性越差,如使用三个瑞典轮的全向小车,控制其走直线很难。 对于布局 1,其稳定性肯定不好,灵活性一般,可控性较好。 布局 5、布局 6 在灵活性和可控性上和布局 1 一样,只是稳定性大大改善。 布局 2 同样稳定性差,灵活性比布局 1 略好,可以原地转向,但可控性变差,走直线难。 不过,布局 2 如果做成这样还是有很多优点的:图 32 两轮监视机器人(摘自:http://www. )第 22 页 共 74 页 智能小车通常不是为了载人,其主要目的是实现一些人不便做的事情。看了以下图片就 能明白这个小东西的作用了:图 33 警方用小机器人增加视野这个小车是警方用作现场处置恐怖活动的,可以将其抛至罪犯附近,以监视其行为,减 少警方的伤亡。 此小车最大的优势就是没有翻车不能行走的情况,几乎在任何时候都能行走,有个尾巴 保证其摄像头的方向。 严格说这个不算是布局 2,应该是布局 3 的变形,它在正常行驶时,尾巴相当于一个万 向轮支点,不过它的结构使该支点基本不起支撑作用,只是抵消车轮转动的力矩。该小车的 构思还是很巧妙的。第 23 页 共 74 页 详图如下:图 34 两轮监视机器人细节布局 3、布局 4、布局 12、布局 14、布局 17 应该说都是基于布局 2 的演变,改善了稳 定性,灵活性和可控性和布局 2 一样。 布局 3、布局 14、布局 17 的转动中心在小车中心,而布局 4 、布局 12 转动的中心偏 离小车中心,在两个差分驱动轮的中间。 但布局 3 由于重心必须偏向万向轮侧,否则稳定性会变差,没有支撑,多出的部分没有第 24 页 共 74 页 智能小车 DIY“全”攻略 太大意义。实质和布局 4 类似。布局 14 改善了布局 13 的稳定性,实现了真正的原地转向,但必须解决两个万向轮的悬 挂问题,以免造成动力轮悬空。此外,此布局在快速转弯时会向前外侧翻,稳定性不是太好。 布局 17 改善了布局 14 在转弯时的稳定性,但其面临的万向轮悬挂问题更为突出,简单 结构只能在较平整的地面上运行。 布局 12 只是在布局 4 基础上改进了稳定性。其它性能和布局 4 一样 这些布局和布局 2 一样,都存在走直线困难的问题。因为必须保证 2 个差分驱动轮速度 一样,略有差异就会造成转向,而作为支撑的万向轮无侧向阻力,不能抵消驱动速度差产生 的转向力,除非使用固定标准轮作为支撑,但那样又将使转向变得困难,可控性变差。 布局 7 的稳定性和机动性都很好,就是可控性较差,起运动方向建立在滚动轮理想的速 度合成上,对地面要求较高;Robucup 机器人足球的场地是地毯,比较适合其运动,所以 被广泛采用,如果在一般地面上,尤其是略有不平,其可控性很差。 布局 13 和布局 7 各方面性能一样,也存在同样的问题。稳定性应该略好。 布局 8 基本不实用,稳定性可以,灵活性存在致命缺陷:无法转向,所以现在已没有这 样结构的小车。 布局 9、布局 10、布局 11 稳定性可以,机动性一般,因为其转向方式限制了其角度, 可控性也未必好,所以目前似乎也看不到这样的结构。 布局 15 所描述的是 4 个可操纵动力小脚轮结构,没有看明白实际的工作原理,不做评 价。 按我理解的应该是使用 4 个可操纵动力标准轮,稳定性、机动性和可控性都很好。这种 布局似乎目前渐渐流行,也许是由于控制 4 轮速度同步已不是难题。 此外,4 轮独立驱动速度差产生的转向力矩被标准轮的侧向滑动阻力所抵消,大大改善第 25 页 共 74 页 了这种布局直线行走的性能,可控性较差分驱动大大改善。 和布局 7、布局 13 相比,机动性上略有逊色,因为布局 15 的运动方向改变需要先操纵 舵机,而布局 7、布局 13 直接改变驱动轮速度和方向即可。 但可控性布局 15 远优于布局 7 和布局 13,可以实现较精确的航位推测,布局 7 和布局 13 几乎不可能。 下图是 /v_show/id_XMjY5NzM2MzE2.html 上的视频截图,一个 移动工业机械手,其移动平台就是布局 15:图 35 移动机械手 在科研上也有使用布局 15 结构作为机器人的移动平台的, 而且是要求很高的机器人, 其 所做的试验是让机器人通过视觉定位接住抛来的球,眼、手、脚都要快速配合,脚就是用 4 个可操纵动力标准轮构成:第 26 页 共 74 页 图 36 科研机器人(截图于:/v_show/id_XMjY0NzcyNjk2.html) 国外大学生机器人比赛中也有用这个平台作为机器人移动的基础,比赛机器人视觉控制 的能力: (截图于:/v_show/id_XMjYwNjQwOTIw.html )图 37 大学生比赛机器人(注意其“脚” )第 27 页 共 74 页 布局 16 稳定性一般,如果在平地上没有问题,似乎是布局 15 的简化版,具备布局 15 的机动性和可控性,不过在走直线上比布局 15 控制困难,因为布局 15 的另外 2 个可操纵标 准轮所产生的轴向阻力避免了轻微差速产生的转向, 而布局 16 的万向轮无此作用。 此时其特 性和布局 17 一样。只有在两轮纵向排列走直线时比较好。上述布局分析只是定性的,从表面上比较了各自的特点。如要做到控制自如,必须深入 掌握小车运动学,建立相应的数学模型,才能做到控制有据可依。但有意上升到这一层面的 人在 DIY 小车群体中估计很少,故本文不再深入,有兴趣者可以进一步研读《自主移动机器 人导论》一书,书中有相关的论述。三、 小车动力源在遥控车模圈中,小车的动力基本就两种,一是直流电机,二是燃油发动机(俗称“油 车” ) ,因为车模以竞速为主,需要强悍的动力。直流电机细分有“有刷”和“无刷”电机两 类,无刷电机属于比较高级的直流电机,其优点是转速控制比有刷电机好,电磁干扰比有刷 电机小。车模需要无线电遥控,电磁干扰需控制。但主要是动力性能和效率改进了。缺点就 是配套的电子调速器(俗称“电调” )比有刷电机的贵很多。 在智能小车中,因为主要需求是灵活,而非竞速,所以油机基本不考虑。但电机上基于 智能小车的需求,引入了舵机和步进电机。 关于小车的驱动, 《机器人设计与控制》 (科学出版社 ISBN7-03-)一书描述的 比较详细,DIY 者可看看此书。 (以下关于动力方面的很多信息摘于此,用下划线标注。 ) 下图所列的直流减速电机是目前最常用的,默认为有刷电机,也是书中比较推荐的。书 中认为无刷电机规格少,难以采购,且驱动复杂,成本高,所以不建议选用。第 28 页 共 74 页 图 38 电机比较(摘自《机器人设计与控制》P24)3.1 舵机这里想着重讨论一下舵机,因为这种方式在国外用的较多,国内很少有人应用。权且认 为是了解较少吧,所以在此多费一些笔墨。 关于舵机,顾名思义,其原始功能是转向用的,使用场合是车中的转向机构,船中的舵 以及飞机中的垂直尾翼;后来延伸至机械手和人形机器人中的关节。实质都是控制其转动到 指定的角度并稳住。这些似乎和小车的车轮驱动关系不大;但估计是由于其简单的控制接口 以及成熟的安装结构,诱使一些爱好者将其改造,变成了小车的驱动动力之一。第 29 页 共 74 页 图 39 最常见的标准舵机(兼容 Futaba S3003) 舵机除电源外, 只要一根信号线即可; 使用 PPM (脉冲比例调制) 信号控制; 所谓 “PPM” , 是一个周期约 20ms,其间有个宽度在 2ms 左右的脉冲控制信号。一般是以 1.5ms 为基准, 此时舵机居中,小于 1.5ms 舵机左转,大于 1.5ms,舵机右转;至于角度和脉冲宽度关系各 个产品不同,例如:0.5ms 对应左转 90 度,2.5ms 对应右转 90 度。 舵机内部实际上是由小电机、减速齿轮、驱动电路、位置反馈、比较电路等组成的闭环 控制单元,由于其内置减速齿轮,所以输出力矩较大。 最早将其改造为小车动力源的爱好者估计就看上了这些,他们将舵机的限位去除,位置 反馈去除,舵机控制电路因得不到反馈,以为还未转到指定的角度,只好一直驱动电机转动, 由于去除了限位,输出轴实现了连续转动,就成了一个减速直流电机。 而且,利用其原来的左、右转控制逻辑,实现了正、反转控制。 从本质上说,舵机和直流减速电机相同,只是利用了舵机内部的驱动和控制电路,从而 简化了控制接口和电路。实际上: 改造为连续转动的舵机 = 车模中的电调 + 直流减速电机 电子调速器的控制信号和舵机一样,只是在智能小车中一般用不着电调,因为其功率太 大,一般在 10A 以上,100A 也不足为奇,大材小用了。第 30 页 共 74 页 图 40 车模用电子调速器 舵机功率相对比较合适,布局 7 实物照片中的小车使用的就是舵机驱动。舵机还有一个优点是安装方便,除自身安装外,安装车轮也很方便,因为舵机一般提供 丰富的轴输出配件(见图 39) 。图 41 舵机使用示例(摘自 http://www.cs.cmu.edu/~pprk/ )现在市场上已有连续转动的舵机出售,如想自己改造, 《机器人设计与控制》一书中有详 细的改造说明,可以参考。 用舵机作为小车动力,可用 MCU 直接驱动,不需要再设计、制作额外的驱动电路,这 点对于 DIY 者而言还是颇具吸引力的。 而且控制所需的 MCU 资源也有限, 只要一个数字 I/O 口、一个定时器即可,虽说准确生成 2ms 左右的脉冲有些技巧,但总的来说编程相对容易。 如果用 Arduino 系列控制器,其 Servo 函数可让你一条语句“搞定” 。第 31 页 共 74 页 结论:使用舵机作为小车驱动一是为了便于装,二是为了便于控,三是可简化电路。总 之是为了省事。 其代价就是“力气”略小,可供选择的规格有限。还有就是略有些不“经济” ,因为舵机 的“贵贱”主要体现在其控制精度上,改为连续运转的驱动电机后,这部分功能给“废”了, 是不是有些可惜? 不过也不完全“浪费” ,舵机的这部分控制通常采用 PID 调节,其比例功能可用于调速, 当输入的脉冲偏离中点(1.5ms)越远,其驱动电机的速度越快,而且其调节电路使用了电 机反电势作为反馈,原设计大概是为了保证舵机在轻、重负荷下都可以按照相近的速度转到 指定的角度,以实现较好的控制特性(比如说 60 度/0.22 秒) 。改为连续转动后正好作为调 速功能,这也是使用舵机的一大优点。 (电调内部也有闭环调速,使用反电势控制,有兴趣可 以看看:/robotics/info/articles/back-emf/back-emf.html )3.2 步进电机至于引入的另一个动力源:步进电机,其出发点和舵机类似,也是为了方便而“借用” 之,不过采用步进电机的“方便”着眼点不是安装和驱动,而是“调速” ! “调速”是小车驱动的重要主题之一。用直流电机驱动时,调速较难,常说的“PWM 调 速”实质只是“调功” ,即改变供给电机的功率,并未实现调速,最多是能改变速度。要实现 调速,必须有速度反馈,并且有闭环控制逻辑,如 PID 控制。 但使用步进电机驱动,调速将变得很简单。 步进电机,就是可以一步一步转动的电机。 笔者认为,步进电机和舵机类似,都是可以转到指定角度且稳住,只不过步进电机将角 度拓展至无限圈,而不是舵机的 360 度以内。这个特性使其主要用于驱动丝杆,实现直线精第 32 页 共 74 页 确位移控制,构成数控机床的行走机构,如数控雕刻机的工作平台。 但步进电机的角度不是连续的,所以才有“步”的概念,不过“步”有大有小,有些精 度还是很高的,每步不到 1 度。 在稳定原理上,两者存在差异,舵机是靠反馈维持固定的角度,如果不受力,其电机不 转,维持力只是减速机构的阻力,可能还有电机处于刹车状态的电磁力。舵机在稳定角度时 如何受到改变角度的力,内部控制会驱动电机抵消之,此时电机工作于“堵转”状态,会消 耗很大电流。 步进电机则是靠线圈产生的磁力维持,如果所加力矩大于此磁力,则会改变角度,如果 不增加额外的反馈电路,则无法再恢复,控制器不知道角度已变化,这点不如舵机。 在控制方式上,两者也不同。舵机是靠闭环反馈转到指定位置的,而步进电机只需开环 控制即可,根据所需要转动的角度及步长算出要走的步数,发送相应的脉冲,驱动步进电机 走完指定的步数即可。 两种控制方式效果差别在于:舵机在达到指定角度时会有“过”的时候,即要从 0 转到 45 度,也许过程中有过 46 度。而步进电机不会,除非控制失误。 注意:这点差异在很多应用中至关重要! 如在数控雕刻机中,雕刻是平台相对于刀具移动实现的,如果过了再回来,工件已被切 削,就成次品了。所以控制绝对不能“过” 。而且这类应用中,常常需要微调,正好用到“步 进”特征。 使用直流减速电机很难实现这类任务,这才是步进电机的设计初衷。 小车上选用步进电机驱动,主要看中了其两个特征: 其一:发个脉冲走一步,那控制发送脉冲的速度岂不就等于控制了转动的速度,也就实 现了调速,很方便,而且调速范围极大,几乎可以从 0 到其最快速度。第 33 页 共 74 页 其二:同样是由于发一个脉冲走一步,那根据发送脉冲的数量岂不是可以记录行走的距 离,可以省去码盘了(除非打滑) 。 步进电机的最佳转速是 50 C 100 转/分,这对于机器人移动来说恰好也是最合适的工 作转速。 但其最大的弱势是:体积大,力矩小,驱动电路还复杂。 、 在数控机床上通常是驱动丝杆,相当于杠杆,大大增强了其力矩(还顺带提高了精度) 。 小车则是直接驱动车轮,力矩就显得有些勉强了。 笔者只见过两个使用步进电机的小车产品: 其一是 www.e-puck.org 上的教育机器人 e-puck,这是一个 7cm 大小的智能小车, 按上述布局 14 布置车轮,采用的是每圈只有 20 步的微型步进电机,最快速度 1000 步/秒, 并使用了 1:50 的减速机构,以增加输出力矩驱动车轮,最终的控制精度达 0.36 度,车轮直 径 41mm,距离精度达 0.13mm,速度达 128mm/s。图 42 使用步进电机的 e-puck 小车第 34 页 共 74 页 图 43e-puck 小车底盘和电机其二是 ZLG 公司所出的 IEEE 电脑鼠:图 44IEEE 电脑鼠前者上安装了很多传感器,包括摄像头,其目的是提供足够丰富的学习素材,使用步进 电机一是简化了结构,可以省去速度检测,其体积不到一个拳头大,安装检测装置难。二是 在简化的结构上实现比较完美的性能,它可以精确的控制,虽说不快,但根据它加载的传感 器,应该是侧重灵活和精确而非速度。这么小的体积,重量有限,所需力矩不会太大,步进 电机减速加力后应该能够胜任。所以其选用步进电机较为合适。 但后者采用的方案值得商榷,因为 IEEE 电脑鼠需要快速运动,属于动态控制,其过程无 需静态的精度,更没有微调小车位置的需求,所以步进电机优势不明显。关键是:为了速度, 不能使用减速机构,而为了力矩,只能选择体积大的电机。所以小车明显比同类的 IEEE 电脑 鼠大、重,为了控制方便损失了速度,比较下图即可看出:第 35 页 共 74 页 图 45台湾的一个电脑鼠笔者认为,单纯为了调速方便而选择步进电机不是很合适,但如果有精确控制小车位置 的需求,选择步进电机驱动不失为一个明智的选择,前提是不追求速度。图 35 那个移动机械 手应该可以,但图 36 那个机器人则有些不妥,它要求速度很快,关键是加速要快,这点步进 电机是弱项。3.3 直流电机直流电机实际上是机器人平台的标准电机,有着极宽的功率调节范围,适用性好,就有 很高的性价比,是一种最为通用的电机。 到目前为止(2003 年出版) ,直流电机仍是输出功率最强劲的电机。数十年来,很多深 入的研究使得直流电机变得更快、更强、更高效。优质的直流电机效率可以达到 90%,不过 对绝大多数价格适宜的普及型直流电机而言,效率通常达不到如此高的水平,一般在 40% 70% 之间。然而,它们仍然足够强劲,只是它们需要更大的电流,因此会更快的消耗电池里 储存的能量。 (摘自《机器人设计与控制》P25) 一般的直流电机此处不再赘述,大家应该很熟悉了,不再讨论。此处简单介绍一下两种第 36 页 共 74 页 改进的直流电机。 第一:空心杯电机 一般直流电机有个转子铁芯,上面绕有线圈,线圈上电流产生磁场,和由永久磁铁构成 的定子作用,产生旋转。注意:转子由于有铁芯,较重,质量越大,惯性越大,导致电机启 动慢,停下的也慢,这对于控制而言是很不利的。此外,铁芯通常是金属的,其涡流效应也 产生了额外的损耗。 空心杯电机最大的特点是去除了转子铁芯,只有转子线圈,像个杯子套在永磁材料的定 子上,线圈形状像个杯子,所以称之为“空心杯电机” 。 和普通直流电机一样,也是基于线圈产生的磁力和定子相互作用而转动,其特殊的结构 消除了用铁芯增强磁力的需求。由于没有铁芯,所以重量轻了很多,惯性的副作用大大减小。 同时不存在铁芯的涡流损耗,所以空心杯电机的响应速度极快,效率很高。由于重量轻,航 模上普遍使用。 唯一的缺点是较贵,因为其结构较一般电机复杂。 下图是空心杯电机的结构示意:图 46空心杯电机结构示意 (摘自网络图片搜索)第 37 页 共 74 页 图 47 Faulhaber 空心杯电机结构(摘自 Faulhaber 电机手册) 空心杯电机在动力上改善了电机的性能,在电气上直流电机也有改进。 第二:无刷电机 在学习直流电机原理时,一个重要的部分就是“换向器” ,即随着转子线圈转动而不断改 变供电电流的部件,和换向器接触,提供电能的就称为“电刷” ,由于电刷的存在,给直流电 机带来了很多麻烦,如通断产生的火花干扰、摩擦产生的磨损、接触不好产生的电阻等。 能否将电刷去除,用别的方式实现换向功能呢? 无刷电机就是在这方面所做的改进成果。随着电子技术的发展,利用电子电路和传感器 配合实现换向成为可能。但如果线圈还在转子上,电刷仍无法去除,顶多把通断的干扰消除。第 38 页 共 74 页 如果反过来,将线圈放在定子上,而转子用永磁材料制作,岂不化解了此问题? 目前的无刷电机就是这个结构。 用电子开关控制线圈在电机中形成一个转动的磁场,带动永磁转子转动,通过传感器检 测转子的位置,恰当、准确地切换线圈中的电流方向,从而使电机运转。 这个过程需要一个较为复杂的控制器,所以无刷电机的电子调速器远贵于有刷电机的。图 48 无刷电机结构示意 (摘自网络图片搜索)第 39 页 共 74 页 图 49 Faulhaber 无刷电机结构(摘自 Faulhaber 电机手册) 无刷电机带来的好处是干扰小,无磨损部件,寿命长,无电刷造成的接触电阻,损耗小。 关于无刷电机的详述可看看:/view/344829.htm 。这两种电机分别改进了电机的两方面性能。空心杯减小了惯性,适合转速、方向变换频 繁的应用,舵机中的电机应该比较典型;机器人足球用的小车也是(否则足球运动员也不要 练习 12 米折返跑了) 。无刷电机以寿命见长,所以适合那些需要长时间工作的场合,如冷却 风扇,服务器上的冷却风扇估计需要连续工作数周或数月,此时无刷的优势就凸现出来。第 40 页 共 74 页 如转速奇高,导致电刷无法承受,需要用无刷取代。从 Faulhaber 的电机手册上可以看 到,10W 左右的金属电刷直流电机空载 8000 转/分左右,石墨电刷的只有 5000 转/分左右, 而无刷的 11W 电机,空载可达 28000 转/分。这么高的速度,估计电刷摩擦产生的热量已无 法忽视。从两个结构上看,似乎空心杯只能是有刷,因为其特征是转子是个杯状的线圈;而无刷 电机的转子是永磁磁芯,不存在空心杯的概念了,不过估计可以根据电机的需求设计不同大 小和重量的转子,以适应不同的需求。 如要追求小车的性能,可根据所做小车的特征选择这两类电机。3.4 直流电机的技术指标因为直流电机是规格众多,也是 DIY 者的首选,DIY 的成分也最多,所以了解其指标就 至关重要。 典型的直流电机技术说明主要包括以下几点: (以下摘自《机器人设计与控制》 ) 1)额定输入电压 2)空载转速 电机正常的输入电压。通常输入电压可以超过额定电压值 10 -15% 。电机的最高转速。没经过齿轮减速之前,电机的最高转速大约在 5000 C15000 r/min 之间(好的电机可达 28000r/min) 。 3)堵转转矩 流最大。 4)摩擦转矩 指由于电机各个零件(包括轴承、电刷等等)之间的摩擦而损失的转矩。 这是电机能输出的最大转矩。对应于堵转转矩,电机的转速为 0,输入电这个值当然越低越好。 5)输出功率 指电机的最大输出功率。 电机的最大功率等于电机的空载转速乘以堵转力第 41 页 共 74 页 矩再除以 4。 6)空载电流 这是电机在空载状态的输入电流。当电机运转在最高转速的时候,其需要的输入电流实际上是最小的。在空载电流驱动下,电机除了克服摩擦力矩外,没有其它力矩 输出。随着转轴上负载的增大,输入电流将增大。 7)反向电压系数 这个系数通常以 mV/(r/min) 给出,有时也以 V/(1000r/min) 给出。当给定电机的转速后,可以通过这个系数求出电机的反向电压。随电机转速升高,反向 电压增大,绕组两端的实际电压降低,导致需求的输入电流也降低。对于空载下运行在最高 转速的电机而言,反向电压将和供电电压达到平衡。在该时刻,电枢两端的实际电压为 0V, 一个理想的电机此时将不再需要电流。然而实际上的电机不可能真正地实现空载,因为摩擦 总是存在的。 8)空载转速系数 空载系数通常以 (r/min)/V 给出。当给出电机的输入电压后,可以根据该系数求出电机的空载转速。例如,假设电机的空载转速系数为 1200(r/min)/V,供电 电压 9V,那么可以算出电机的空载转速为 10800 转/分(9 * 1200) 。 9)转矩系数 这个系数通常用来计算在一定的输入电流下电机所产生的输出力矩。 通常以 (N.m)/A 给出。 要注意的是这里所指的输出转矩定义为电机在尚未经过齿轮减速之前的输 出。另外,如果已经知道要求的输出转矩,也可以用转矩除以转矩系数求得所需要的输入电 流。 10)电枢电阻 电枢电阻的单位为欧姆。实际流过绕组的电流是由反向电压、输入电压和电枢电阻共同决定的。由欧姆定律: I = (V C E )/ R 式中, I 为输入电流, V 为输入电压, E 为反向电压, R 为电枢电阻。 11)电枢感应系数 对于小电机而言,电枢感应系数都在 mH 的级别上。使用 PWM 来第 42 页 共 74 页 控制电机的时候自感应现象表现的相当严重。当电机电源突然被切断的瞬间,电枢绕组将会 产生一个很高的电动势施加在控制电路上。该电动式有很多名称,有的称为回路电动势,有 的称为感应电动势。它可由下式求出: V = L *(dI /dT ) 式中, L 为电枢感应系数, V 为感应电动势,dI 为电流增量, dT 为时间增量。 当电流忽然转向的时候,dI/dT 将非常大,这时候 L 是决定感应电动势大小的关键因素 ―― 有的电机可达 100 多伏。幸运的是可以利用续流二极管来消除感应电动势的影响。 12)最高效率 该效率是电机可能获得的最高效率。对于小电机而言,该值大概在 50 C75% 之间,大型直流电机可以达到 90%。直流电机通常在输出转矩为最大转矩的 10 -15 % 时获得最高效率。加上减速器后最高效率还将降低一些。 13)最大径向载荷 向最大载荷。 14)最大轴向载荷 类似地,该参数指电机正常工作的前提下,允许施加在电机轴上的 该参数指在电机正常运行的前提下,允许垂直施加于电机轴上的径轴向最大载荷。 (以上摘自《机器人设计与控制》P85-P86) 可作为 DIY 者所选择的电机通常很难获得上述那么全面的指标,一般只有以下形式的数 据表:图 50FF-N20A 电机参数表 (厂家提供)只有所介绍的参数中主要的几个,下面是 Faulhaber 电机手册上摘录的一个电机参数第 43 页 共 74 页 表,介绍的参数应有尽有:图 51 Faulhaber 电机参数表(摘自 Faulhaber 电机手册) 对照参数介绍,不但全部包含,还有增加,如机械时间常数、角加速度等对设计有很大 帮助的参数。如果能选用这样的电机,DIY 者就能设计出所需要的小车性能,而不是摸着石 头过河,小车没有完工之前根本无法确定小车是否符合要求。只可惜这个电机太贵了。第 44 页 共 74 页 大概是因为 DIY 者能得到的电机很难获得详细的参数,所以多数忽略了基于参数的设计 过程,但要想做出一辆好的小车,设计环节不可忽视。 除上述参数外,通常电机的技术说明书还会有如下曲线图。该图包含了总输出功率、效 率、输入电流和转速与转矩之间的关系。要注意的是:可能图表的细节会因电机的不同而有 差异,但是曲线的趋势和大致形状都是相似的。图 52 典型直流电机负载特性 (摘自《机器人设计与控制》P87) 通过这张图可以了解电机的工作状态及变化趋势,以便合理的安排电机工作点,使小车 的性能更加稳定、可控。同时也有助于解释小车运转中遇到的问题。注:直流电机输出功率 P(单位:W)计算公式为: P=T*ω 式中,T 为转矩,单位是 N.m ;ω 为角速度,单位是 rad/s 。 直流电机的最大输出功率对应于转矩为 1/2 最大转矩,转速为 1/2 最大转速(即空载 转速)的工况,其公式如下: Pmax = 1/4 * Tmax * ωmax第 45 页 共 74 页 通常电机提供的转速是以“r/min(转/分或 rpm)”为单位,计算前需要转换为 “rad/s (弧度/秒) ” : rad/s (弧度/秒)= 0.1047 如空载转速:9800 r/min * r/min(转/分)―〉1026 rad/s电机的力矩通常是以“g.cm(克.厘米)”为单位,需要转换为“N.m(牛.米)”: N.m = 0.000098 * g.cm 如堵转力矩:50g.cm ――〉 0.0049 N.m ――〉4.9 mN.m = 1.26W此电机的最大功率为: 0.0049 * 10263.5 直流电机驱动 H 桥上述三种电机中,舵机驱动已包含在内,无需讨论。步进电机驱动较为复杂,通常选用 专用的驱动 IC,而且使用在小车上的比较少,所以在此也不做讨论。 这里主要探讨一下使用最广泛的直流电机的驱动电路,也是 DIY 最多的,种类较多,性 能差异也较大。 不过从本质上看,直流电机驱动电路核心部分就是 H 桥,其余都是改善其性能的,以及 增加其可靠性的。 直流电机驱动主要关注两部分:一是 H 桥电路,二是 PWM 信号。 前者控制其工作的状态,后者改变供给电机的功率。 因为直流电机的方向转换需要改变电机供电的极性,一般供电是单电源,需要通过电子 开关切换实现极性转换,H 桥电路就是为此而设计,似乎没有看见别的电路可以取代 H 桥。 所谓“H 桥”,是其电路画出来很像字母 H ,故得名。 H 桥驱动电路可用下图表示其原理:第 46 页 共 74 页 图 53H 桥等效电路从图中可以看出, 其形状类似于字母“H”, 作为负载的直流电机是像“桥”一样架在上面的, 所以称之为“ H 桥驱动”。4 个开关所在位置就称为“桥臂”。 从电路中不难看出,假设开关 A、D 接通,电机为正向转动,则开关 B、C 接通时,直 流电机将反向转动。从而实现了电机的正、反向驱动。 借助这 4 个开关还可以产生另外 2 个电机的工作状态: A) 刹车 ―― 将 B 、D 开关(或 A、C)接通,则电机惯性转动产生的电势将被短路,形成阻碍运动的感应电流,形成“刹车”作用。 B) 惰行 ―― 4 个开关全部断开,则电机惯性所产生的电势将无法形成电路,从而也就不会产生阻碍运动的感应电流,电机将惯性转动较长时间。 以上只是从原理上描述了 H 桥驱动,而实际应用中很少用开关构成桥臂,通常使用晶 体管,因为控制更为方便,速度寿命都长于有接点的开关(继电器) 。实际电路中使用的有独 立的双极性三极管、MOS 管以及专用的集成电路。 H 桥驱动电路从功能上首先要考虑效率,也就是是否能将电源的功率全部送给电机,不 要被 H 桥所消耗。从电路上看,这主要取决于“开关”上的压降,其消耗为流过的电流乘以压 降,电流大小取决于电机的需要,所以应尽量减小开关的电阻以提高效率。第 47 页 共 74 页 以下罗列几个常见的器件在 H 桥驱动中的表现: (均已 2A 驱动能力为例) 1)双极性三极管 D772 和 D882 构成: D772 的压降指标如下:D882 的压降指标如下:2)MOS 管
构成: 2301 的压降指标如下:因为 MOS 管是以导通电阻来衡量的,需要换算一下,小车的控制电压是 4.5V,按上面的 导通电阻计算,2A 的压降应该是: 2* 0.093 = 0.186V,最大是:2 * 0.13 = 0.26V。 2302 的压降指标如下:同上换算一下,小车的控制电压是 4.5V(电池电压) ,按上面的导通电阻计算,2A 的压 降应该是: 2* 0.045 = 0.09V,最大是:2 * 0.06 = 0.12V。 3)目前使用较多的集成驱动电路 L298: L298 的压降指标如下:表中第一行为上桥臂的压降,对应 D772、2301,第二行为下桥臂的压降,对应 D882、 2302,第三行为两者之和。 对比一下不难看出,如果均以 2A 电流驱动计算,三种驱动自身最大消耗的功率如下:第 48 页 共 74 页 D772、D882构成的 H 桥: ( 0.5V + 0.5V ) * 2A = 2 WSi 构成的 H 桥: ( 0.26V + 0.12V)* 2A = 0.76 W 集成电路 L298 构成的 H 桥: 4.9V * 2 A = 9.8 W从对比可以看出,H 桥电路的消耗大大降低了小车电池的有效使用,所以必须在设计上 重视,以免将电池的能量大部分变为热能而不是所需的动能。 H 桥内阻大除了消耗能量外,在小车的动力性能上也有影响。 直流电机有个特性:就是启动电流较大(其数值就是电机指标中的堵转电流) ,H 桥的 压降是随着电流增加而增加,将这两个特征组合后,带来的后果是: 在电机启动需要大的电流,以获得大力矩时,H 桥却由于压降反而供给较低的电压,导 致电机无法获得足够的启动电流,根据上面的电机特性曲线,力矩随电流减小而减小,按运 动学原理: F = ma ―― & a = F/m F 小了,自然加速度 a 就小,这就造成了电机启动特性变差,俗称“偏软” 。 反映到小车上就是不能快速启动,甚至根本启动不了。因为在电机未转动起来时,其电 流还是维持在较大的堵转电流上,只有在转动后,由于转子线圈切割磁力线产生的感应电势 作用,增加了电机阻抗,才会降低电流。 这个特性对于压降过大的 H 桥而言又是麻烦。为了能启动,通常会提高电压,但随着电 机开始转动,电流减小,H 桥的压降随之减小,导致供给电机的电压升高,而电压升高,转 速就会变快,电流会进一步减小,使得供给电机的电压超过额定值,导致电机发热乃至烧坏。 因此如果 H 桥的压降过大,就意味着其供电特性不稳,对于负荷变动较大的电机驱动 效果变差。 所以,最好选择压降小的驱动电路,使得电机驱动特性较为平稳,以提高可控性。第 49 页 共 74 页 现在也有基于 MOS 管的 H 桥集成驱动电路,如 LMD18200、MC33886 等,只是价格略 贵。 如果用分立元件自己构建 H 桥, 需要考虑可靠性, 即避免同侧桥臂同时导通, 形成短路, 烧毁三极管。可增加逻辑电路互锁,以免软件驱动程序调试过程中的错误控制,导致长时间 同侧导通。3.6 PWM 频率的选择通过 H 桥电路,可以实现电机的正、反转及惰行、刹车控制,但要改变电机的转速,还 需要使用 PWM 控制方式,以改变供给电机的功率。 简单的 PWM 就是断续供电,通过改变通、断时间比改变电机得到的能量。理论上,电 机得到的能量只和通、断时间比(占空比)有关,但由于电机的电枢的电感特性,导致电机 获得的能量还和 PWM 的频率有关。 多数书籍在讨论 PWM 频率时,主要考虑转动的平稳性和音频噪声,所以都不建议使用 低于 1kHz 的频率(见《机器人设计与控制》 P183) 。在模型圈内使用的电调也确实如此, 都以频率高作为优秀品质标榜,甚至有高达 40kHz 的产品。 因为目前 PWM 多数用 MCU 实现, 高频比较难以实现, 所以限制了 MCU 方案中的 PWM 频率,不过目前一些高级的 MCU 都有硬件的 PWM 功能,可以做到较高的频率,实现高频率 的 PWM 也并非难事,关键是对于智能小车所用的直流电机而言,是不是高频合适? 笔者也曾为此而困惑,还写过一篇文章探讨此问题: /qsmx//58.html 当时是在制作过程遇到了问题,发觉用高频(7kHz)效果不好,一时无法确定,想到曾 用过的 LEGO 电机驱动, 它的 PWM 频率只有 125Hz, 就尝试用 125Hz, 发现比 7kHz 效果好, 所以就用了 125Hz。但所找到的资料都是说高频好。第 50 页 共 74 页 关键是书中还引用了一个公式: 2πf L && R 式中,f 为频率,L 为电枢电感,R 为电枢电阻。要求左侧远远大于右侧才行。 当初被这个公式彻底搞晕了,按此说法,PWM 频率是应该越高越好。 但笔者的试验无法支持这个结论。最近所做的小车均使用的是 130 电机,使用的 PWM 频率仍是 125Hz,为了能得到更合适的 PWM 频率,测试了一个也是使用 130 电机的车模: 京商公司的 Mini-Z 系列小车,结果发现它的频率是 600Hz。 笔者又尝试了用 600Hz 驱动我的小车, 在完全一样的工况下 (供电、 负载、 占空比一样) , 只改变 PWM 频率,结果是 125Hz 的转速高,说明 125Hz 比 600Hz 提供的能量大。 这一切现象都无法给出合理的解释,所以一直困惑着…… 写本文中电机参数那一段,在摘录“电枢电感”参数介绍时突然悟出了其中道理,彻底 明白了这一段话:电机的特性将决定应该使用多高的 PWM 频率。如果电机绕组的电阻相对 于其电感来说较高,则在导通期间电机不会达到最大电流,从而电机得转速也不会达到最快。 (摘自《机器人设计与控制》P183) 以前被那个公式和电阻的描述误导了,完全不必理会,其核心问题是:在导通期间电机 不会达到最大电流!能对此给出合理的分析就解释了 PWM 频率的选择依据。 用最基本的电学概念分析,电机绕组可以等效为一个 R、L 串联电路;而 PWM 信号等 效于一连串阶跃信号,只要按串联 R、L 电路的阶跃响应分析即可。 在 RL 串联电路中,其电流的阶跃响应为:式中,时间常数: τ = L/R第 51 页 共 74 页 按电流公式分析可知:经过一个 τ 时间,电流可达最大电流的 63%,2 个 τ 电流能到 86%,3 个 τ 电流才能到 95% 。 也就是说要想达到最大电流,PWM 的导通时间至少要大 于 3 个 τ 。假设占空比的调节范围为 20% - 100% ,则 PWM 周期至少要 15 个 τ。 笔者测量了所用的 130 电机参数, 电阻为 4.3 欧姆, 电感为 1.3mH, 时间常数约为 0.3ms。 采用堵转方式实测该电机的时间常数,结果如下:图 54 实测四代圆梦小车 130 电机时间常数(堵转电机电流) 从测量结果看,和根据电感、电阻值所计算出的值基本一致。因此,PWM 周期至少为 4.5ms,即频率为 222 Hz。考虑到上升沿的斜坡影响,导通时间应略长,以保证最大电流的 作用时间,所以 125Hz 是合理的选择。估计京商的 Mini-Z 所用电机绕组的时间常数较小,所 以选择 600Hz。 从上述分析看,电机能否使用高频 PWM,完全取决于电机绕组的电感和电阻,空心杯 电机没有转子铁芯,电感会小,应该可以使用较高的 PWM 频率。 公式: 2πf L && R 中的 f 和 PWM 频率毫无关系,被误导了。而且从上述分析看,第 52 页 共 74 页 此式所表达的含义似乎也不太准确。 根据上述电流公式,还可以得出: 如 PWM 频率低,在占空比较小时,存在电流断流,导致输出转速不稳。 而使用高频 PWM, 虽说由于时间常数导致电流无法达到最大值, 但同样在 PWM 负跳变 时电流也不会跌至“0”,所以电机转速应该比低频平稳,此时电机绕组得到的是平均电流。不 过由于低占空比平均电流较小,所以会出现驱动不了电机的状况。如果占空比高,低频 PWM 的断流现象也不明显。 实际上,电机及负载的机械惯性也会平滑转速,弱化断流的影响。 所以,综合而言,还是更据电机绕组时间常数选择 PWM 频率比较好。3.7 特殊的 PWM 方式上面讨论 PWM 频率时默认是一种简单的 PWM 方式: 单极性可逆 PWM 。 即在一个 PWM 周期中,电枢只承受单极性电压。 (摘自《电动机的单片机控制》 ISBN 7- 北京 航空航天大学出版) 还有一种相对复杂的 PWM 方式:双极性可逆 PWM。即在一个 PWM 周期里,电枢的电 压极性呈正负变化。 在每个 PWM 周期的前半周 t1,H 桥的左上臂(V1) 、右下臂(V4)导通,电枢承受正 向电压,后半周 t2 H 桥的左下臂(V2) 、右上臂(V3)导通,电枢承受反向电压。改变两 个状态的持续时间比值,即可控制电机正、反转,以及转动的速度。 关于此部分的详细工作过程介绍见《电动机的单片机控制》P133,此处不再赘述。双极性可逆 PWM 工作过程示意图如下:第 53 页 共 74 页 图 55 双极性 PWM 驱动过程示意(摘自《电动机的单片机驱动》P135) 这样驱动的好处和缺点是什么呢? 运动学有个基本概念:静态摩擦力大于动态摩擦力,所以任何物体启动相对困难。但很 多场合需要小车能快速启动,动如脱兔。 如何能克服静摩擦力,同时又让小车静止不动呢? 用这种 PWM 方式即可。只要一个 PWM 周期内的正、反向电压时间一样,电机就处于 高频振荡状态,不断地微微正、反转动,从而克服了静摩擦力;需要转动时,只要取消相反 方向的驱动电压即可。 这种方式笔者在 FIRA 机器人足球赛中看过,在裁判提示准备时,场上的小车均抖动起 来,当初还有些纳闷,只是感叹这些小车在“哨”声后为何个个如脱缰野马,极为敏捷。后来第 54 页 共 74 页 看到这个驱动方式时才恍然大悟。 这种方式还有一个好处,低速运行的特性较好。因为,如果用单极性 PWM 驱动,低速 时占空比很低,断流带来影响较大,无法稳定运行。同时由于静摩擦力大于动摩擦力,为克 服静摩擦需要较大的动力,而转动后摩擦力突然减小,导致驱动力过大,超过需要的速度, 需要立刻减小动力,很容易造成电机再次停转,形成走走停停。 这个过程就像我们用手推动一个物体做一个小的位移,为了推动需用较大的力气,但动 起来就过了。而双极性可逆 PWM 就像用两只手在相反方向上顶住这个物体,然后略微减小 一只手的力量,同时加大另一只手的力量,使得物体产生所需要的微小位移。因为反向的力 量远大于摩擦力,所以摩擦力变化的影响就被忽略了。 这个方式的最大缺点就是耗电,即便是停止状态,其消耗的电流也几乎和全速运转时一 样。所以通常只能用于小功率的驱动。 采用何种方式的 PWM 关键看小车的用途,不过如果有可能,将驱动设计为 2 种方式均 可实现可能是不错的选择。采用直流电机驱动,低速和高速均能兼顾是个较难解决的问题, 因为无法像汽车那样换档,只能用单一速比的减速箱。小车动力源中,电机、驱动电路及驱动方式均已讨论,下面讨论能量来源:电池3.8 电池小车是移动的,所以只能使用电池供电。 小车通常使用的是充电电池。一次性电池既不经济也不环保,同时由于放电电流一般较 小,所以不建议使用。 充电电池通常关注以下性能: 1) 充电性能:主要是可充电的次数,这关系到经济性。第 55 页 共 74 页 2)功率密度:即单位重量所能提供的功率,用 W.h/kg 或 J/kg 表示。铅酸电池一 般是 25-40 W.h/kg , 镍镉电池约 50 C 70 W.h/kg,锂离子电池约为 100 C 150 W.h/kg。而每 kg 汽油可提供 13000 W.h 能量,所以汽车能有那么大的力气,跑 那么远。这个指标在小车中不是太重要,航模比较关注,所以通常使用锂离子电 池。3)电压:不同材料的电池其端电压不同,镍氢为 1.2V,锂离子电池为 3.7V。对电机 的选择有影响。4)容量:即电池持续供电的时间,通常以 A.h 或 mA.h 表示。使用大容量电池小 车能运行的时间长些,不过代价是充电时间长、价格贵,较重。所以要视小车的 工作方式而定,不是容量越大越好。5)内阻:电池等效于一个理想电压源和一个电阻的串联,串联的电阻就是内阻。不 同电池内阻不同,有的电池需要较大的内阻,以限制电流输出,如纽扣电池,否 则很容易由于操作不当将电量放完。而小车用驱动电机的电池则希望内阻越小越 好,以便能提供足够的启动电流。常见电池的特性如下: 1) 镍镉电池:内阻小,所以放电电流很大。输出电压稳定。但充电要求高,过充电 将损坏电池。此外,由于镉有毒,不环保,所以目前不推广。 2) 镍氢电池:属于镍镉电池的替代品,电流输出能力略小于镍镉电池。充电比镍镉 电池要求略低。由于不含镉,环保,是目前主要使用的充电电池。 3) 铅酸电池:能量密度较低,所以体积庞大。但可以做出大容量的、且能放出巨大 电流的电池,所以仍然无法淘汰。汽车启动电机通常需要 200A 左右的电流,目 前只有铅酸电池能胜任。它还有一个好处:充电简单,不用放电完就可以充,而第 56 页 共 74 页 且是简单的恒压充电。就是不能用的太亏,过放电将导致电池性能下降,需要激 活处理。体积较大的小车可以考虑使用。 4) 锂离子电池:能量密度最高,但由于锂材料的活性较大,充、放电都需要电路保 护,相对使用不太安全。因小车不像航模那么在乎重量,所以很少采用。电池的选择需要考虑体积、容量、电压以及成本,充电方便也是因素之一,根据小车的 使用方式和需求才能确定,和小车布局一样,没有一个各方面均好的方案。但有一点注意, 不建议通过稳压电路后再给电机供电,模拟稳压电路是靠改变压降稳压的,必然产生额外的 消耗,同时等于加大了电池内阻。开关型的稳压电路虽消耗不大,但由于电机电流变化较大, 很难稳住,没有意义。电池最好直接供电给小车电机,中间最多设计一个开关。 如果将电机接在控制电路的稳压电源上,那更不合理,因为电机的 PWM 过程将产生很 强的干扰,将导致控制电路工作异常。 有的人将电机和控制电路分别供电,使用两组电池,控制电机的信号还用光偶隔离,笔 者觉得没有必要,只要在 PCB 排布上注意接地回路,避免电机的电流导致地线电平升高,并 且电机供电直接引自电池即可。四、运动反馈前面讨论了服务于小车行走的所有部分,介绍了使用 PWM 可以通过改变供给直流电机 的功率,从而改变转速。 但是改变转速的依据是什么呢?运动反馈! 独立于小车之外的检测不在本文讨论之列,本文主要探讨的是小车的制作,所涉及的反 馈只局限于安装于小车之上的检测装置和方法。第 57 页 共 74 页 因为 PWM 改变的是电机转速,所以测量转速是最基本的反馈信号。转速有几种常见的测量方式: 1) 检测电机输出轴的转速:因为电机输出轴通常要安装齿轮的力矩输出装置,而且 一般首级齿轮很小,所以不容易再安装转速检测,通常是特殊的电机设计才可以 实现,厂家将电机轴的另一侧延长,以便加装检测。这类电机一般较贵,如 Faulhaber 的电机均设计了电机出轴检测。其优点是分辨率较高。2)检测减速机构中某一级齿轮的速度:这个只对于开放式减速机构可行,在某一级 方便打孔或贴反射条纹的齿轮上加装。分辨率略低于电机轴检测。图 56在 RP5 履带底盘的减速齿轮上加装反射式检测3)检测车轮转速:如使用减速箱,则只能在最终的输出上做文章了,一般是在车轮 上贴斑马条纹,或者设计带有遮光齿的车轮,以便实现可靠的检测。因为车轮是 裸露在外的,反射式检测容易受到环境光线干扰,遮断式检测相对可靠。车轮检 测分辨率最低,所以必须尽量增加密度,否则就失去意义了第 58 页 共 74 页 图 57 在轮毂上设计遮光齿形成码盘 4) 通过反电势检测转速:上述测量属于直接测量,都需要安装检测装置,利用直流 电机的反电势正比于转速的特性,可以间接测量电机的转速,模型上所用的电子 调速器以及国外卖的电机驱动器很多都是利用此方式实现调速的。图 58 反电势测速 (摘自:/robotics/info/articles/back-emf/back-emf.html )第 59 页 共 74 页 直接按照上图测量反电势电路上有些难度。如果已经知道电枢电阻,则可以根据以下公 式,通过测量电压和电流计算得到反电势,电枢的电压和电流测量相对容易: E=VCI*R 式中,E 为反电势,V 为电枢电压,I 为电枢电流,R 为电枢电阻。 因为是 PWM 驱动, 电枢供电是断续的, 所以测量必须和 PWM 波同步, 并且最好在 PWM 波的后沿检测,即 PWM 输出结束前检测,以消除电枢电感的影响。 利用反电势测量的最大好处是不用增加检测装置,在结构上无需改变;而且检测频率较 高,不会因转速慢而分辨率不够,可以支持较高的 PID 控制周期。用前面的测速方式,尤其 是车轮上的检测,由于分辨率偏低,所以只能用较长的 PID 控制周期,或者用软件倍频。 但反电势测速不能像车轮上的码盘那样,兼顾行走距离监测,无法实现航位推测方式的 导航。 这里讨论的都是 DIY 有可能采用的测速方式。专业的测速方式有很多,如光栅码盘、磁 旋转传感器等,但一般在 DIY 中很少采用,有的太贵,有的很难安装,在此不作讨论。如果 有财力,一种磁性码盘可以考虑,看这个网站: 上述方式中,由于电机出轴检测不容易实现,所以很少应用。现在 DIY 小车多数使用的 是减速箱,在减速中间的齿轮上加装也不可能,所以多数只能在车轮上做文章。 可车轮的检测分辨率难以提高,导致 PID 调速控制的周期无法缩小。反电势检测精度不 高,但检测周期和转速无关,可以比较快的反映速度的变化。 如需要实现较好的调速效果,应该同时使用上述两个测速方式,组成双回路调节,内环 采用反电势,提高响应,外环采用车轮测速,保证精度。同时车轮上的码盘可以作为作为行 走距离参考。 至此,涉及小车自身的内容基本讨论完毕,下面从 DIY 者的需求角度出发,探讨一下该 如何去选择方案?如何取舍?如何实施?第 60 页 共 74 页 五、DIY 前的思考当你产生 DIY 一辆智能小车的冲动时,你会想些什么? 笔者觉得,在实施之前,首先应该思考以下几方面问题: 1) 2) 3) 4) 是为了消遣吗?期望从中能得到满足和快感。 是为了学习吗?期望通过 DIY 过程提高相关的能力。 是不是一种盲目从众,看着别人都做了点东西,自己也想做点。 是不是为了某个目的而做,智能小车只是个获取其它利益的工具。以上是从人的角度审视的需求,后两种没有必要看本文,因为他们内心并不对智能小车 感兴趣,所以前面那么多关于小车的探讨毫无价值。 DIY 必须是一个自发的活动过程,即做的动机源于自身的愿望,而非外界的某种诱惑, 或者迫于无奈。只有发自内心的喜欢和兴趣才能支撑你完成一个像样的 DIY 作品,并且从中 得到想要的满足和收获。 所以本文主要针对前两类需求。也许你会说“我兼有这两类需求” ,只是其中比重大小而 已。不过,笔者建议,最好在实施前明确侧重!这样有助于你在方案选择、资金投入、精力 耗费上做出取舍,并且容易得到满足。否则在实施中遇到问题时,就会因含糊不清的需求而 无从决定,最终导致 DIY 的过程如同鸡肋,弃之可惜,留之无用。 还有一类人 DIY 的目的是:为了省钱! 为何将此单列?因为笔者不认同这个思路。现今商品化如此发达,批量产品绝对性价比 优于手工制作。 DIY 是个相对“奢侈”的活动,它更多体现的是参与者精神层面的需求,而非物质(即 制作的东西) 。如果在如今社会还期望通过手工制作出比成熟产品性价比好的东西,几乎是天 方夜谭。如果你的水平低,根本做不出像样的东西;如果你的水平高,那你的时间成本必然第 61 页 共 74 页 高,虽然能做出,但将时间成本计入后一定亏大本。 所以 DIY 只有两类目的可以成立: 一类是精神消遣。一般选择那些没有成熟产品的内容(或者难以买到的) ,或者说对现有 产品有自己的改进想法,多数属于异想天开性质。 另一类是学习,期望通过 DIY 的过程学到某些东西,此时他所关注的应该是过程而非结 果,探究在实施中所遇到问题的本质,通过解决这些问题而锻炼自己的思维和能力。至于最 终的东西做成什么样并不重要,就像习题集,做完了就是垃圾。最多作为吹牛、炫耀的素材。 实质学习也属于精神上的收获。所以这两类需求的 DIY 都不会太在意最终的作品,就像 绘画中的写意。 当你明确了自己 DIY 的侧重点后,实施中就很容易取舍了。 还有一类想要 DIY 的人群,他们号称是为了培养孩子兴趣。 这类人实质上也有两种,一种是侧重前者:消遣,只不过借个名头好花钱。另一种真是 为了孩子,这种实质上归为学习类,只是学习的主体不是 DIY 者自身,而是唯一的观众:孩 子。此时 DIY 更要慎重,因为你的作为将是孩子认知世界的窗口,想象一下:如果你思维不 严谨、虎头蛇尾、杂乱无章将给孩子带来什么? 所以,从人的需求角度思考,在 DIY 前一定要明确自己的侧重。其次,从物的角度审视,DIY 到底是什么? 可能你会说:这还用问?DIY 不就是自己做一个想要的东西,如智能小车。此时你脑子 里一定同步映像出一个充满手工痕迹的小车画面:简陋的底盘,裸露的 PCB,用胶带固定的 连线等。似乎这才是一个正宗的 DIY 作品。 一定是这样吗?一件作品中自己制作的部分达到什么程度才能算是 DIY 呢?按照什么标第 62 页 共 74 页 准去衡量? 估计很多做过 DIY 的也并未仔细思考过。这就造成在 DIY 过程中的一些困惑:我如果买 了这个,还算 DIY 吗? 笔者认为: Do It YourSelf 重点在于确定你要做的 It 是什么?只要这个 It 是你自己 所为,就应该算是 DIY,不在于形式上的。假设一辆寻迹小车的底盘、驱动电路等都是你做 的,但核心的轨迹检测、寻迹算法却是他人所为,严格说这个小车并非你的 DIY 作品,因为 这个小车的 It 是寻迹。至少你在这个 DIY 过程中没有得到真正的收获。就像写作文,你先 自己做个本子,折腾了半天,结果时间不够,也没心情了,只好抄一篇,有意义吗? 所以,在衡量 DIY 时不必拘泥于形式,而是要确定你要做的核心内容。自己做一个网站 也算是 DIY,总不能要求他连服务器都自己做一个? 智能小车的 DIY 也是同理,在 DIY 前,首先明确你要做的小车核心功能是什么?或者说 你要学习的内容是什么?在保证这部分自己参与外,其它部分如有现成的尽量采用,以使你 的精力集中于你所关注的内容,不至于被外围的事情所羁绊。 当你想清楚了上面两个问题:为何做? 做什么? 就可以考虑方案的选择了。六、DIY 方案的选择方案的选择取决于你的目的和要做的内容,没有具体的内容,根本不可能讨论具体的方 案,此处只是探讨一下该从那个角度思考?如何取舍? 如果你是消遣,说明你具备了一定实力,首先在做的内容选择上应具备一些“挑战”和 新意,以支撑你的 DIY 的热情。千万不要做那种看起来挺唬人,实质毫无技术含量的东西, 只是将东西简单堆砌,无内在联系,就像现在很多人在做的 WiFi 小车,简单的将视频传回,第 63 页 共 74 页 做些远程操控,还不如有些智能的监控头呢,它们还能自动跟踪画面中移动的物体。 其次在方案选择上应该注意:为要实现的内容服务的基础应该牢固,也就是要讲究质, 以免最后因为差劲的基础而拖累目的,弄得似驴非驴、似马非马的,大煞风景,那你最终所 要的精神满足也就无从体现。 还是以 WiFi 小车为例,多数选择的是那种 4 个减速电机的“四驱底盘” ,直接将车轮固 定在减速箱输出轴上,无任何悬挂设计,还号称具有强大的越野能力,真的吗?凭常识就知 道存在 4 点不共面带来的车轮悬空问题。这类简陋的底盘堆砌再先进的东西上去也无法实现 高级的功能。如果真要具备越野能力的小车,应该选择这样的底盘:图 59 nBot 作者的另一个作品 (摘自:http://www.geology.smu.edu/~dpa-www/robo/jbot/index.html )第 64 页 共 74 页 或者选择这样的底盘:图 60 CMU 的 PER(火星车模型) (摘自:http://www.cs.cmu.edu/~myrover/PER/ ) 前面的六轮底盘似乎是用大脚车模的部件改造的,其效果可以登录上述链接察看,一定 会让你动效仿之心。 后面那个是 CMU(卡内基.梅隆大学)的一个研究平台,是配合 NASA 研究火星车的,其 车轮的构思十分巧妙,网站上有详细的部件细节照片,完全可以仿制。自己最难加工的可操 纵动力标准轮现在已有成品(见图 57) ,只是性能可能不如它的好。而这些基础如果有合适的成品或部件,尽量选择,没有则自己设计或委托设计,委外加 工,除非你自己手艺非凡,否则完全没有必要自己动手,只要所做的东西能是你的创意即可, 不在乎是否是亲手而为。 在选择这些基础时应该注重质而非钱,既然花钱 DIY,就不要把省钱作为主要考虑因素, 最省钱的就是不要 DIY。国人在这方面不太重视,所以 DIY 的作品较粗糙。国外的爱好者在 这方面很用心,所以很多作品都让人佩服。以下就是一个国外大学老师的 DIY 作品: (摘自:http://www.geology.smu.edu/~dpa-www/robo/trux/index.html )第 65 页 共 74 页 图 61 nBot 小车底盘第 66 页 共 74 页 这就是图 12 那个两轮平衡小车的底盘, 加工的相当精致吧?而且设计得也很巧妙, 可以 作为两轮平衡小车(布局 2) ,也可以容易得变为 3 轮差分驱动小车(布局 3) 。 连小脚轮做得也很细致,使用了滚珠轴承以增加转向的灵活性,尽量减小转向时附加给 底盘的力:图 62 国外爱好者 DIY 的小脚轮这辆小车的主要目的是两轮平衡,核心是平衡检测和控制算法。小车只是个基础,但这 个基础比国内很多爱好者所做的细致多了。相信如果你 DIY 出一个这样的作品,一定会心满 意足,将其陈列在书橱中作为艺术品样的欣赏。不过这个大学老师的 DIY 条件确实很好,称得上是发烧友级别:第 67 页 共 74 页 图 63 nBot 的诞生地 在国内很少有家庭配置这样的工作间。不过现在数控雕刻机普及了,很容易找到地方加 工,只要自己设计好即可;CAD 软件很容易找到,略为多花一些钱就可以实现。 做一件精致的东西是一种享受,这才符合将 DIY 作为消遣的本质。 除了基础的质要讲究,所选基础的方案应该符合你要实现的目标的要求。假设你要做一 个视觉导航和追踪的智能小车,那底盘的灵活性就必须关注。如果用简单的差分驱动,将摄 像头直接架在车上,那在跟踪对象的过程中,由于差分驱动底盘无法横向移动,为了实现将 对象置于视区中间并放大,则对象必然会在移动中脱离镜头,需再次找回,控制上很麻烦。 如果使用三个瑞典轮的底盘(布局 7)或者 4 个可操纵动力标准轮的底盘(布局 15A) 就会好很多。如果想在小车上再加装机械手取物,更需要灵活的底盘,如图 35。 至于核心功能的方案就不要别人来建议了,既然你选择了它,一定是有自己的想法。如果是为了学习,同样不要把钱看得很重,只是相对于消遣而言,不必要太精致,但基 础同样不能成为主题的障碍。只是可以在性能上略打折扣。 对于以学习为重点的 DIY,重要的设计,DIY 智能小车通常目的不是小车的制作,而是围 绕小车的控制,小车只是载体。选择小车的方案首先是设计上要能符合理论,DIY 的过程只 是验证设计和加深理解的过程。第 68 页 共 74 页 上述底盘的布局、电机的参数、驱动和电源等均要在设计中有充分的说明,乃至计算出 主要参数。 而具体的制作过程可以酌情简化。因为学习者通常财力一般,资金上的约束不容忽视。 简化后的制作要能说清楚:性能降低是由于选择器材的哪些性能不足引起的。 说不出道理, 甚至连所用的电机等关键部件的参数都一无所知,那这样的 DIY 等于没做。 在小车方案选择上应该做到自圆其说,能说清楚每个关键部分选择的理由。假设要做一 个能够实现航位推测导航的小车, 结果却选择了一个不带码盘、 4 个电机分别驱动的底盘 (图 31) ,根本没有运动模型可以对应,就属于选择失误。 在电机的选择上也是,如果小车行走的地面不平,或者不能保证车轮不打滑,却想通过 使用步进电机实现行走距离控制,岂不白费钱。 作为学习性的 DIY 有一点至关重要:所做的内容和想学习的内容要密切相关,准确把握 想学内容的实质,并确切的在 DIY 中体现出来。不一定要做的完美,但要强相关。最好难度 适中,能部分实现。如果太难,DIY 的体验等于没有;而太容易导致 DIY 过程不出问题,则 无法引出相应的思考,学习的效果可想而知。 同样,也建议辅助部分选择成品和委托加工,这样可以节省大量的精力和时间,虽说会 多消耗一些钱,但考虑人力和时间成本一定不会吃亏。 假设你要 DIY 的主题是机器视觉在小车上的应用,那完全没有必要自己制作硬件,选择 一个在你财力可承受范围内的成品即可。 或者说要通过智能小车的控制学习 RTOS, 同样也不 必将精力耗在硬件上。 但如果想要学习 PID 控制,却选择一个自带 PID 的电子调速器,就有些不合适了。即便 小车的底盘是自己所为,因为 DIY 的 It 被别人做了。但如果是学习遍历算法,则完全没有必 要纠缠于 PID 调速,找个已经实现 PID 控制的底盘或驱动单元即可。第 69 页 共 74 页 如果是自发的学习过程,建议在选择方案时能兼顾不断提高的学习需求,所构建的小车 平台可以不断地服务于新增的学习内容。这样的好处一是降低了总的投入,二是相关性的学 习内容能增强学习效果。根据“艾宾浩斯记忆曲线” :所学习的东西必须重复若干次后才不会 遗忘。用同一个小车平台,或者相关的小车,使你可以不断地接触到原来的内容,从而加强 了原来的记忆。 如:使用图 57 中的那个“轮式驱动单元” ,几乎可以实现所讨论的小车布局中的绝大部 分,而且实现容易,可以让你尝试不同的小车控制,满足不同的需求。总的来说,想要 DIY 智能小车,小车部分的方案选择可以从以下几方面考虑: 在布局上: 多数情况选择两轮差分驱动带一个小脚轮支点(布局 4)均可应付,只是走直线是个考 验,弧线也是,如果没有外部参照物(如轨迹) ,较难控制。 如果要控制方便,可选择可操纵动力标准轮的三轮小车(布局 6) ,因为转向和前进完全 独立,走直线和弧线都相对容易。由于可操纵动力标准轮可转向+/- 90 度,和差分驱动一样 可以原地转向,比车模的转向灵活(车模虽然也是驱动和转向独立控制,但转向角度只有约 +/-45 度,所以灵活性欠佳) 。 如果需要小车能向各个方向平移(即所谓“全向运动” ) ,则可以选择 3 个(布局 7)或 4 个瑞典轮(布局 13)的小车,但这类小车需要外部参照系才能控制好,否则很难确定其行踪。 如果既要全向运动, 有希望可控性好, 建议选择 4 个可操纵动力标准轮的小车 (布局 15) ; 如果载荷不大,可以用 3 个可操纵动力标准轮构成(和布局 7 类似) ,可以省去车轮悬挂。 至于两个轮子的方案一般是把小车作为核心的,作为载体有些难。第 70 页 共 74 页 在电机选择上: 智能小车一般不把关注点放在小车性能上,除非有特殊的需求,如竞速性的智能车大赛, 算法和速度同时追求的 IEEE 电脑鼠,这些小车可根据具体的要求选择。 一般选择建议用直流电机,合理选择功率和减速比即可。 至于舵机,如果想省事可以考虑。现在也有集成了驱动和轮子的产品(图 57) ,同样可 以比较省事的实现小车的基本功能。 至于步进电机,笔者没有体验过优劣,所以无法给出建议。 在驱动电路上: 建议选择自身功耗小的方案,一是电池白白浪费,本身容量就有限;二是需要散热片, 增加了体积。 至于那个双极性 PWM 方式,只有在十分在意小车性能的时候才会考虑。或者说学习的 重点就是电机的控制。 因为 DIY 的小车多为自己使用,或者作为学习素材,没有连续工作的需求,不需要太高 的可靠性,所以集成驱动电路的优势并不明显,用分立元件构成的驱动电路足以应付。 在运动反馈上: 建议配置,尤其是学习为目的的 DIY,否则会少掉很多学习的素材。不一定要精确,有 反馈即可,因为构成的闭环控制并不会因为精度低而降低技术含量,或许反而因为精度低, 需要一些特殊的处理(如倍频)而增加了学习的效果。 至于电池,不建议使用一次性的,因为小车的电机十分耗电,DIY 过程需要不断调试, 一次性电池总体耗费不见得小。而且多数一次性电池电压会随电量减少而明显下降,影响电 机驱动性能,使得调试的不确定性增加,平添烦恼。第 71 页 共 74 页 七、DIY 的实施对于作为消遣的 DIY,其实施不必费言,可随性而为,只要自己开心就好。这类 DIY 一 无时间限制,二无目标约束,完全可以像把玩玉器那样,边做边欣赏。 如果自己性格略为急躁,可以将目标分解,分阶段实现,以免磨灭了热情。此处只想说说作为学习的 DIY 实施。因为笔者和许多这类需求的学生交流过,发现一个 共同的问题: 当他们的 DIY 动工后,就会逐渐被所做的事情所纠缠,慢慢忘记了自己 DIY 的核心,以 至于做了许多无用功,有时还被一些问题所羁绊,导致最终的目的无法实现。 笔者就曾接触过一个 DIY 过程:老师期望学生通过做一个可以在办公室过道中自己行走 的小车,体验软件工程的设计方式。并能体现出:采用软件工程的方式可以使事情做得比那 种没有章法的更可靠。可学生们似乎一直不得要领,结果被小车不能走直线所困扰,无疾而 终。 实际上这个 DIY 过程完全不必要关注小车的性能,只需根据需求,按照软件工程的方式 一步步去设计,小车所暴露的那些不完备性,正好作为软件工程方式解决问题的素材,能更 好的体现用软件工程思维解决实际问题的可行性和可信度。 至于最后小车是否能符合要求并不重要,只要能实现小车所能做到的水平即可。 重要的是对于最终的结果和现象能给出合理的解释,说明设计中已有应对,并提出具体 的解决方案。因为学习性的实践不可能选择价格昂贵的器材,学生要掌握的是做事的方法, 而不是做出产品。 出现上述问题的主要症结在于缺乏实施前的缜密思考,也没有做详细的设计。就像没有 提纲的作文,很快就跑题了。第 72 页 共 74 页 对于学习类的 DIY,笔者认为:设计过程远比实施重要!实施只是验证设计的手段。 完善的设计将迫使你深入了解每一个技术细节,预测会遇到什么问题?采用什么应对措 施?因为这类 DIY 一方面是为了学习、消化知识,更重要的是锻炼正式工作的能力。 好产品是设计出来的,不是生产出来的,更不是检验出来的。苹果的产品就是最好的佐 证。一个好的 DIY 决不是试出来的! 可笔者不止一次的听到学生们说:不做怎么能知道行不行? 他们所说的做不是指那种针对某个技术难点所做的局部性试验,而是 DIY 过程本身。 如今技术几乎无所不能,而且互联网也让你能了解到几乎所有的技术。再用这种“摸着 石头过河”的方式实施 DIY 过程实在不符合大学生的身份(甚至是研究生) 。那种“边设计边 施工”纯系艺术夸张,现实中如果这样一定做出的是废品。 学习所做的 DIY 内容通常不会是全新的技术,所以肯定有完善的资料查阅,没有任何理 由不做详细设计。 只有在学生阶段允许你设计出错,通过实践去发现、改进、提高。工作中根本不能接受 这种做出来看看的方式。很多工作性质是不允许胡乱尝试的,完善的设计是最基本的保证。八、结语所谓“攻略” ,笔者理解是做一件事的策略。而策略的制定通常需要大量信息。本文尽量 收集了和智能小车相关的一些资料,多数属于告知性的,即说明有些什么,而不是技术性的, 告诉你如何实现。 至于具体技术细节,有很多相应的专业书籍可以参考,如本文引用的《自主移动机器人 导论》中就有小车运动方程的详细建立方法; 《机器人设计与控制》一书中有许多制作的细节 可以借鉴,如舵机的改造、电机和车轮的连接方式等; 《电动机的单片机控制》一书中详细介 绍的电机驱动的实现方式。还有很多类似的专业书籍可以参考。第 73 页 共 74 页
更多搜索:
| 广告服务 | 招纳纳贤 | 诚邀合作 | 联系我们 | 意见反馈 | 服务条款 |
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。

我要回帖

更多关于 循迹小车 几个传感器 的文章

 

随机推荐