Quadlator II最后一章。
Quadlator II--其他,供电,电池, motor-free等
作者:baredog
七,其他,供电,电池,motor-free等
前面拉拉杂杂把最基本的部分都大略叙述了一遍。然而在实际制作和调试过程中,会出现大量的问题。某些问题有可能是不可避免的,并且出现问题也是很正常的。如果有哪个人或者组织在开发机器人的过程中,一路绿灯,没有碰到任何问题,那反而很值得怀疑。尽管这里不能列举所有的问题,并且我觉得每个人遇到的问题也会不一样,但是一些典型的问题和解决思路还是值得分享出来。至少可以做前车之鉴。
大体上问题可以分为一下类别:
- 机械安装问题
- 电气安装问题
- 电源问题
- 电机问题
- 调试问题
机器人是一个复杂系统,覆盖数学,物理,机械,电子,计算机科学,很难靠一个人掌握全部内容。但是制作机器人是一个工程项目,不按照工程项目的方法进行管理和实践,就难免碰壁。如果人为的把机器人项目像切豆腐一样分隔开来,甲负责机械设计,乙负责电子电路,丙负责编写软件,而没有一个总负责人统揽全局。那么最后甲,乙,丙之间必然会出现问题。
这也就是Quadlator II的制作实践中的一条教训。虽然我负责电控,软件,算法和调试,但是设计机械这一部分未和我进行任何沟通。当然这是体制问题和文化隔阂的问题。所以当负责机械设计的学生毕业后,我自然就全力把机械设计这部分接了过来。然后2004年2月开始,开始了Quadlator II++的计划,我从机械开始,除了筹钱之外,全权负责。要不是6,7月间的意外事件,Quadlator II++也许会在2004年的秋天制作成功。
历史不能假设,人生就是如此。
在机械设计的过程中,必须要考虑未来的电气安装问题。否则就会在现实无情的碰壁:比如考虑下面这个四足机器人的俯视图:
机器人的躯干四角各安装一条腿,机器人的腿可以沿纵向轴线转动,为了增强纵向强度,在躯干内部还增加了一条工字梁(用蓝色标记出)。发现问题了么?设计者本意是将电控部分放在躯干内部,他觉得空间还是很富裕的。可是我接过这个机械就发现问题了。并且更为糟糕的是,这时在我手里的不是图纸,而是加工出来的金属组成的机器人外壳。我即使现在提出疑义:“为什么在机械设计时不征求我的意见?”也为时已晚。我们来看看这个问题的结果:
考虑到各个机械腿的转动,以转动轴为圆心的四个红色圆区域内部不能放置任何物体。考虑到公差和一些欲量,这个圆实际会更大。最后只有图中绿色的阴影部分可以放置电控组件。而如果不是对所有电控组件的情况了解,就无法知道这个绿色的区域根本不足以容纳所有东西。
解决只能有两个方法,一个是统筹考虑电气重新设计机械部分,重新加工——所以我在自己设计 Quadlator II++时这么做了——但是这不能解决Quadlator II的问题;另一个办法就是把所有电气从躯干内部拿出来,背在身体后面。结果就是这个样子:
最后,身体里那个绿色的阴影区域用上了没有呢?用了,12个titech robot driver把里面挤得严严实实。而原先计划供电的电池,只好塞在腿内部了。
这样的机械设计造成的问题还很多。究其原因,大部分是由于负责机械设计的人员不和其他人沟通交流,设计结果没有拿出来由所有参与人员评审并征集意见。如果机器人是由一个人制作,这也许不成问题,但是在一个团队中。统筹决策,充分征集意见并进行理性集中是非常必要的。
在电气安装上,最重要的问题就是动力电气部分和逻辑控制电气部分的隔离。比如titech robot driver和电机都放在机器人的躯干内部,金属的躯干就能起到很好的电磁屏蔽效果。由于电机转动在电刷上产生火花,大功率的driver内部也有大量的噪声出现,这些噪声如果馈入逻辑控制电路,就会直接影响系统的稳定性。直接结果可能是逻辑混乱和系统跑飞。
整个系统干扰最为敏感的弱点,现在想来就是电机后面的光电传感器到计数器这一段了。这一段的标准线缆是排线,包括VCC,GND,A, B,Z信号,共5条有用的线缆。这一段线缆,如果弯弯曲曲从各个关节经过身体到达背后的控制电路中的DIO模块,一方面信号要衰减,另一方面一路会耦合进来大量的噪声,造成无法正确知道关节的角度。所以最终这一段我采用了带屏蔽层的5芯电缆来连接。连接过程中由于人手不够,有个4年级毕业生被派过来帮忙,我简单的交待了闭环的原理和接线的要领后,他就开始干。遗憾的是我没有交待如果接线错误的后果——烧毁光电编码器。结果有两个电机的光电编码器烧掉了。光电编码器和电机是定制到一起的。打电话给厂家,答复说烧毁了编码器就等于烧毁了电机。结果备用电机的额定电压是12V的,不得不拿来用。这直接造成了电源的问题。
额定电压24V的电机,采用24V的直流电源供电。而12V的电机可以用24V的电源供电么?开始觉得通过在DA的输出上做限制,只输出一半的控制电压给 driver也许可行,但是结果是电机发热,险些被烧掉。于是只好再定制出12V的直流电源出来。
电源上的问题,归纳下来大概可以包括功率问题和稳压问题两类。功率问题非常直观,驱动控制电路的部分不用很大的功率,嵌入式系统,DA 和DIO总共的功耗不会很大。但是电机则不然,电机和driver的功耗占系统中功耗的80%以上。这两部分电源一定要分开。否则由于电机功耗过大,把电压拉下来,控制部分就有可能失控,系统可能重启或出现其他不可测行为。
即使这两部分电源分开供电,对控制部分的电源仍然要做单独考虑。动力部分电源不足,机器人也就是运动迟缓或者没有力气,比如说站不起来之类的,但是控制部分电源不足,就会直接倒置系统不工作。所以这部分要加上DC-DC,如果CPU发热过大,最好还要加上风扇散热。
电池是在设计阶段容易忽略的。电池的数量达到一定程度时,其重量是一个不能忽略的因素。电池的安装,充放电等等都要充分考虑。另外一个问题就是,电池不同于直流电源,可以提供稳定如一的输出。电池存在一个放电曲线,越是电量不足时,这个曲线的的变化越大。所以采用DC-DC等稳压手段是非常必要的。
最后说说电机相关的一个问题,也是涉及安全的一个重要问题——刹车和motor-free。在前面的部分中,我提到过一些机器人失控的危险性问题。机器人一旦失控,有什么办法能让它停下来呢?也许某些读者觉得可以切断电源,的确我一开始也这怎么想的。毕竟demo还在一段时间以后,到时候再想也来得及,在调试期间发生问题的话,我就切断直流电源接线板上的开关。结果还是吃了亏,直流电源,尤其是给电机供电的大功率直流电源,里面有很大的感性器件。即使电源切断后,仍然能够供电一段时间,这段时间机器人会干出足够危险的事情来,造成机械的损伤。另外一个原因是当最终使用电池时,知道电池电量耗尽,没有有效的办法切断电源,使机器人停下来。
所以剩下的解决方案就剩下了两个:刹车和motor-free,某些driver提供了刹车功能,一旦相应的刹车针脚发生电平变化,就启动刹车控制,使得电机停转。但是这个刹车和我们平时知道的交通工具上的刹车的意义不同,后者是物理上的刹车,用一个刹车垫或者刹车盘抱住转轴,靠摩擦力使之停止转动。而 driver提供的刹车是靠电流电压的调整,这个控制本身是不可靠的,一旦出现问题,就会完全没有办法。
所以,对于没有物理刹车手段的机器人来说,唯一的安全手段就是motor-free,一旦driver上面motor-free的针脚的电平发生变化, driver就会在内部把motor短路起来。这样motor就出于自由状态(free)。机器人瞬间失去动力,就会软绵绵的停下来。
2003年欠下的“文债”,到今天为止,总算还上了。这些内容不过是我还能想起来的部分。 2004年夏天突然回国时,有很多宝贵的资料和图片都损失 掉了(包括Quadlator II++的全部图纸)。以至于今天我都是凭借印象来回忆一些东西,错误在所难免,还望读者能够理解。我写这些的想法有时自己也说不清,不过相信有一些内容 能够对读者有所帮助,希望客观上能介绍一些东西到国内来。这也许是“海归”逐渐变为一个嘲讽词汇的今天,这些拙 劣文字的一点意义。
=====
回到总目录
返回ROBOTDIY主页
|