第一部分(翻译《THE|第一部分:翻译《THE MAKING OF A DIY BRUSHLESS GIMBAL WITH ARDUINO》 步骤1)

前言:
这是最近偶尔在网上找资料时候找到的一篇文章,作者是一名Japanese。这篇文章发表在著名教程类网站http://www.instructables.com/上(国内是不是还没有类似的网站呢?),这个网站通过用户分享各种东西制作和实践操作步骤来帮助大家make anything。不过没想到是这个小哥选择在这样一个看似受众群体偏大众类的网站上来发表这么一篇我在学术网站上都找不到的专业文章。文章内容非常丰富,包含了小哥在开发云台时的整个分析思考过程,只不过小哥的英语确实有点诡异,翻译成英文的时候选择的词汇都有点不常见,严重怀疑是用翻译软件翻译之后,再做修改的(文章中他也提到了自己英语不好,并且提供了日文原版,懂日文的朋友可以直接看日文版)。我这次之所以翻译这篇文章是为了我自己能把文章看的透彻一点,同时也为了给想做无刷云台的朋友提供一篇浅显易懂的入门文章(这让我想起了当初的我,搜遍国内各种论坛,但是关于云台一篇好的文章都找不到)。
文章原地址:http://www.instructables.com/id/DIY-Brushless-Gimbal-with-Arduino/
正文: 《基于arduino来DIY一个无刷相机自稳云台》 作者:ArduinoDeXXX


第一部分(翻译《THE|第一部分:翻译《THE MAKING OF A DIY BRUSHLESS GIMBAL WITH ARDUINO》 步骤1)
文章图片
这是利用廉价的陀螺仪和Arduino来开发我的第三个项目的故事。
在完成早前的两个项目:两轮平衡小车和三次元書道(空中画笔)后,我有了利用arduino制作相机稳定云台的想法。随后我给我自己的项目制定了三点要求。
1.要在云台上安装比gopro大的标准相机
2.系统尽可能的简单,不需要依赖其他额外的设备或者套件
3.靠自己:参考越少的网站越好,并且不靠模仿其他人的项目来完成。
在这个项目刚开始的时候,我打算利用伺服电机来做一个2轴云台。但是后来清楚的发现伺服电机的性能很难满足要求。最终我选择了利用无刷电机和arduino做了一台三轴云台。在下面这个视频里,会突然听到很大的噪声。为了充分展示性能和缺点,这个视频我没有进行任何特殊的处理,避免使用任何视频剪辑效果。
[介绍视频]
The Effectiveness of DIY Brushless Gimbal with Arduino
通过视频可以看到这个DIY的三轴云台似乎在实际应用中提供了足够的运动补偿。但是想要做到这点是不容易的,在开发过程中我遇到了下面几个难点。
1.单纯利用arduinio来充分控制无刷电机
2.利用相当简陋的工具来制作一个精准的云台框架
3.解决陀螺仪与arduino之间利用SPI接口进行通信中存在的混乱
4.解决框架颤动问题
5.加入预期、平滑的平转和倾斜来实现良好的补偿
上面提到的第一问题是软件方面的问题,第二个则是纯硬件方面的问题。而其余的问题则是同时涉及软件和硬件方面的。
这里除了第一个问题以外的四个问题是当完成单轴的基础上加入第二个轴之后出现的。这说明了单轴和多轴之间的核心程序本质方面其实没有什么不同,但是要想制作一个可靠的多轴云台的框架则需要比做单轴的情况下需要付出更多的努力(硬件方面)。
如何制作出这个云台我将会在后面的各个步骤中详细说明,但是这个故事并不单单如此,这是一个开发高可用度的三轴无刷相机云台的完整的故事。下面故事开始:
1.用陀螺仪来制作云台时面临的一个关键问题
2.利用廉价的有刷支流电机来DIY一个单轴的云台
3.利用伺服电机来DIY一个单轴云台
4.利用无刷电机来DIY一个单轴云台
5.多轴控制
6.DIY云台的有效性
7.可以改进但是还未解决的问题
“如何做。。。”主要体现在步骤6到步骤10中。其实仅需要在观看了DCUMENTARY(12)之后再参考步骤10其实你们就可以完成绝大部分制作工作了。另一点需要提到的是,这个三轴云台的最终性能是可以通过收看上面的INTRODUCTION VIDEO和步骤12中DCUENTARY(15)和步骤13中的DCUMENTARY(17)就能提前了解。
哦对了,另外一个名为《Brushless Gimbal with Arduino》的项目去年就在这个网站就发表过了。这对我来说确实是一个很好的入门资料。但是我们之间的方法还是存在很大的不同的。具体的不同我会在步骤5中进行介绍。
我希望利用文章中插入的视频和图片能够弥补我这蹩脚的英语翻译。这个文章的日文版本相对于英语版还增加了三个额外步骤。
步骤1:一个重要的问题-陀螺仪到底应该装在哪里?

第一部分(翻译《THE|第一部分:翻译《THE MAKING OF A DIY BRUSHLESS GIMBAL WITH ARDUINO》 步骤1)
文章图片
安装在固定相机的支架上(电机的可运动部分上,相对于相机框架静止的位置)

第一部分(翻译《THE|第一部分:翻译《THE MAKING OF A DIY BRUSHLESS GIMBAL WITH ARDUINO》 步骤1)
文章图片
安装在云台的手持部分上(电机底座 是相对于相机框架运动的位置) 刚体在空间中的任何运动都可以通过两种简单运动方式来描述:旋转和平移。其中旋转运动可以借助一种叫做万向云台的设备来抵消掉或补偿掉的。一个固定在万向云台中心的相机当随云台的支撑部分在空间中运动的时,是可以靠云台不同部分各自转动一定角度来抵消相机的旋转运动,尽管他不会抵消掉平移运动。因此如果想通过电机控制万向云台,那么相机的实时角度就成为了保持相机静止时最需要知道的信息。
我们可以有多种方法来观测运动物体的在空间中的角度位置。这里我们利用了廉价的陀螺仪模块。陀螺仪模块是可以测量物体旋转时的角速度,然后可以利用arduino将角速度转化为物体转动的角度。现在我们讨论一下通过两种不同方式来在云台中安装陀螺仪的情况。
(1)把陀螺仪安装在“相机侧”(安装在相机固定框架上)
(2)把陀螺仪安装在“支撑侧”(安装在云台手持基座上)
这两种安装方式最大的不同是:是否能够得到电机控制云台做旋转运动时的角度反馈信息。当使用第一种安装方式时,相机在电机的转动和相机在外界干扰下共同作用下的角度信息,这两个角度是融合的无法区分,是测量两者共同作用下的角度运动信息。第二种方式下,只是测量外界的干扰运动的角度,但是不会测量电机在控制下转动的角度。下面我列举了这两种方法相对来说的优缺点。
(1)固定在相机侧(固定在电机的转动部分上)
控制策略:当相机刚开始转动一点点时,立刻驱动电机进行转动抵消角度运动。
优点:并不需要预估准确的电机角度(并不需要知道电机转轴到底转了多少度)
缺点:相机容易产生振动除非是电机控制是充分的(充分是什么意思?)
(2)固定陀螺仪在云台的支撑侧(固定在电机机身(定子)上)
控制策略:当支撑侧进行运动的时候,估算出支撑带来的角度并驱动电机进行反方向上这个角度转动。
优点:由电机运动反馈引起的振动永远不会发生。
缺点:需要正确的估计出支撑侧和相机侧的旋转角度。
这两种方法的不同点对于电机的选择是非常重要的依据。采用第二种方法的时候,需要同时预估出固定侧和电机运动的角度信息,因此伺服电机或者步进电机都有可能被选用。这两种电机是直接通过角度来控制电机运动的。
在另一方面,当陀螺仪固定在相机侧,是电机通过旋转使得相机保持在相对于一个云台外部的固定视角中国的一个固定角度下。因此并不需要预估支撑侧的旋转角度。所以采用便宜的有刷直流电机就可能行得通。
【第一部分(翻译《THE|第一部分:翻译《THE MAKING OF A DIY BRUSHLESS GIMBAL WITH ARDUINO》 步骤1)】通过上面的分析可以发现从电机选择自由性上和不需要预估准确的角度信息这两点来看采用第一种方式是更好的方式。

    推荐阅读