Posts Tagged ‘四轴飞行器’

热水先结冰?

这几天不知道为什么,一条新闻被各个报纸转载:

【为何热水冻结更快?英国悬赏1000英镑求解】将一杯35℃的水和一杯100℃的水放入冰箱,100℃的水先结冰,这是为什么?此谜也称“姆佩巴效应”,培根和笛卡尔都曾试图揭谜,均告失败。现在,英国皇家化学学会向公众悬赏1000英镑破解,截止日期为7月30日。

如果你在网上搜一下,会看到很多答案,包括:越热的水散热越快、水中气体减少不容易结晶等等。
事实上十年前我读研的时候,就看过这个理论,当时觉得非常不靠谱,就做了一个实验。放了两杯水到窗外(当时北京正在冬季),事实证明这个理论基本是胡扯,冷水的杯子先结冰!

今天再次看到这些报纸转载,我决定再做一次实验。首先用一个量杯来保证两杯水是一样多的:

小量杯

小量杯

21:46分,同时放到温度为-18度的冰箱冷冻室,并且标上了冷热的记号:

冷水和热水同时放进冷冻室

冷水和热水同时放进冷冻室

我每隔几分钟就去看一次,到22:30分时,冷水杯表明出现薄薄的冰层,热水杯完全没有任何迹象。

冷水杯出现冰层,热水杯全是水

冷水杯先出现冰层

到22:50分时,热水杯出现薄薄的冰层,冷水杯上面冰层已经较厚了:

热水杯也开始结冰了热水杯出现冰层的时候,冷水杯已经比较厚了

到23点10分,冷水杯已经基本用手捏不动了,而热水杯底部还是软的。事实证明,还是冷水杯冻的更快!

哎呀,这么无聊的一个实验,我自己都觉得做的很不值啊。但是看到网上的各种原理说明,这些人就不能动手做一个毫无成本的实验吗?

微型四轴又失败了

花了两周的时间,磨磨蹭蹭才做好了一个小四轴。这次连平衡的问题都不用考虑了,因为手工制作的原因,重量达到46克,4个空心杯小电机根本就带不起来 :(

体重超标的微型四轴飞行器

体重超标的微型四轴飞行器

制作前把各种芯片和电机电池散件称了一下,大概36克左右,还抱有一线希望。全部焊好后重量增加了10克,在代码中把4个电机都设置成100%的动力,试了一下。结果是在平地上晃晃悠悠,根本起不来。

这个小飞机里面,比较大的三个模块分别是arduino nano、蓝牙、9轴传感器(陀螺仪+加速度+气压计+指南针)其中每块小板子貌似都是几克重,不知道该从何减肥了。想来想去,只有一个3.7V到5V的增压电路,和一个用于低压报警的蜂鸣器,这两个也许是可以去掉的。但也只有5克左右,效果有限,带来的问题是各种芯片在低于5V的电压下工作,不知道能否稳定读数,另外电池可能用到完全没电,很容易损坏。如果一开始的时候做成一体的PCB板,也许能把体重控制到30克左右,这样才有希望飞起来。

焊接依然是我的弱项,不会画PCB很是伤不起啊,从背面看各种凌乱的飞线。

各种凌乱的飞线

各种凌乱的飞线

哎呀,真是折磨人啊,快坚持不下去了……

又一次悲剧的试飞

在闲置了一个多月之后,今天又进行了一次试飞。首先说说最近的修改:

1. 把电机控制的频率改到了400Hz,之前是50Hz;
2. 把螺丝固定的Arduino板子改成4个弹簧支撑,用来减少电机高频振动对传感器的影响;
3. 顺便把45度安装的X型改成了垂直安装的十型,作用不大,节省一点代码和减少可能出错的环节;
4. 尝试增加一个自动调节平衡位置的代码;(好几个参数需要调节,都调准了才能飞稳)
5. 加了一个安全的控制,如果飞行器倾角超过45度,则所有电机同时停止;

传感器改用弹簧连接

传感器改用弹簧连接

用手握的方式测试看来,目前四轴飞行器的姿态判断还算可以。基本上晃动它的时候,能感觉到电机速度的变化以及带来的反向阻力。
所以目前的调试主要在PID参数的调节和XY方向的偏移量调节。这个偏移量,是因为电机和飞行器不对称带来的误差。简单的说,假如飞行器已经处于平稳飞行的状态,这时候计算得到的左右两侧的螺旋桨转速应该相同,但是由于飞机本身的不对称,这时候反而会发生倾斜,所以需要给它设置一个平衡的偏移量。

这几天跟wnq同学请教了一下,据他介绍kk飞控仅用陀螺仪就可以上天,至于陀螺仪长期积分带来的漂移误差,可以由“飞行员”通过遥控器手动调节。我之前一直调试的目标是让飞行器实现平衡自稳,这样说来可能有点儿冒进了。wnq提醒我适当的斜飞是可以通过手动调节修正的,这样可以不用太纠结在完美的水平悬停上

另外最近的新朋友darkorigin也提醒了“近地效应”,因为贴近地面的时候,各种气流互相干扰,反而不如飞上天以后稳定。

下一阶段的一些想法和目标:
1. 暂时放弃手机控制,改用遥控器和接收器进行控制,主要优势在于控制距离、手感和便利性;
2. 增加运动的控制,就是在倾斜状态下手动调节平衡;
3. 进行电子指南针的一组小实验,因为我的遥控经验不足,争取先实现“无头模式”避免炸鸡;
4. 组装一台wnq同学的飞控练练手;
5. 自动寻常平衡点的算法需要再多测试和验证。

最后附上今天悲催的试飞视频。今天有点小风,犹豫了一下还是去阳台试飞了。前40秒使用的PID参数看上去还不算太离谱,之后试着调了下参数,结果振动失控了,摔碎若干小配件……

四轴飞行器攻略3:串口通信

虽然四轴飞行器还没有最后完工,但我觉得这不妨碍先发一部分攻略。作为一个新手,我在调试过程中遇到了很多问题,现在不记下来的话,等完工了很可能都忘了;另外,高手们也可以通过我的攻略,看看有没有什么错误,或者哪里可以优化;最主要的是,独乐乐不如众乐乐,分享是DIYer们的精神之一 :)

上次整理了四轴攻略的目录,今天正式把它放在导航栏成为一个新项目,目录的顺序是按照我制作的顺序来组织的。
比如刚买回来电机和电调,本来应该先做电机控制实验。但是看了说明书发现这种电机还需要初始化,而且初始化需要可调比例的PWM方波(具体的设置方法会在后续的电调部分介绍)。对于控制来说,调节方法至少有两种:一种用旋转电位器连接Arduino的模拟输入,另一种是用计算机或者手机通过串口控制调节。

因为电机的初始化只需要做一次,为了这个增加电位器好像没有必要;而串口通信则会贯通在整个控制和调试的过程中,所以我决定先从它开始实验。

串口通信其实之前已经做过很多小实验了,简单的一段演示代码如下:

Serial.begin(9600);  // 设置波特率
Serial.write(123);   // 向控制端写数据
while(Serial.available()) {
       // 如果有数据,则读取数据
       byte data = Serial.read();
}

很快你会发现这段简单的小代码有一些问题。

1. 传输速度:
代码中的9600是波特率,也就是数据通信的速度,它是目前比较流行的传输速率。以这个速度通信的话,每发送一个字节(Byte)到控制端需要的时间大概是1毫秒。需要注意的是,为了精确控制四轴的平衡,我们需要尽量在短时间内多读取各种传感器的值。以目前的350Hz的采样率来说,每2.85毫秒就需要读取一次陀螺仪和重力感应器。这种情况下,1Byte/ms的传输速度显然是不能容忍的。解决的办法就是修改波特率,Arduino支持的波特率包括:300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 和 115200。如果修改的话,相应的控制端也需要修改成一样的。
大家可能会说,为什么不全都用高速的呢?实际上能使用多少的波特率,跟处理器的主频有关;而且主频最好是波特率的整数倍,否则的话可能会增加错误率。对于我这个四轴来说,如果用USB和电脑通信,可以达到最高的115200;如果用蓝牙和手机通信,只能达到9600的波特率(因为蓝牙模块修改波特率还需要额外购买一个控制板)
很让人高兴的一点是,Arduino支持在运行过程中动态修改波特率。所以可以首先使用9600连接,当发现连接对象是电脑时,调整为115200:

    if(controlType == 100 && !connectToPc) {
      Serial.end();
      connectToPc = true;
      Serial.begin(115200);
    }

需要说明的是,只有发送数据才有这个问题,对于单向接收数据基本是没有关系的。因为Arduino接收的数据会放在缓冲区里,在读取的时候数据已经下载完毕,主程序不需要等待接收。

2. 关于通信协议
对于一个新手来说,协议可能是个特别吓人的词汇,感觉是权威机构才能制定的东西。事实上,在单片机领域经常需要自己定义协议。下面我们看看到底是怎么回事。
前面的代码中演示了如何接收一个字节的数据,问题是:如果需要接受多个控制数据,读取程序怎么知道哪个字节是控制那个参数呢?
我用了一个非常简单的协议,每组数据6个字节,其中第一个字节是FF,其他字节都小于255。这样一来,我们在读取数据时,如果看到FF就知道它是数组的第一个元素了。
当然我这里是一个简单的协议,对于复杂的系统,数据中很可能也带有FF数据,这种情况该怎么办呢?其实也很简单,就像高等语言中的转义功能。如果数据中有FF,那么我们把它改成FE01。等等,如果数据中原来就有FE01怎么办?我们可以把所有的FE改成FE02。这样就完成了转义。学过HTML语言的同学,可以用&转义符做参考进行理解。

3. 校验位
接下来是另外一个问题。单片机通信并不像我曾经想象的那样稳定和精确,它其实是有可能丢数据的。例如串口数据到达的时候,Arduino的中断正好被触发,这时候数据就丢了。
丢一个数据可能会带来非常严重的后果,例如我的控制参数,第一个是油门,第二个是PID的积分参数,第三个是PID的微分参数。如果第二个数据丢了,我就会认为第三个是积分参数,这两个参数如果相差较大的话,也许四轴就坠毁了……
所以在协议里,还需要确认一下收到的数据是否完整和正确,这里就需要用到校验位。一个常用的简单的方法是,把一组数据依次进行异或操作,把结果作为最后一个字节的数据一起发出去。接收端收到数据后,也相应的做一次异或操作,看看两个值是否相等。从数学上看,也可以把接收数据全部异或起来,如果等于0就对了。(这种异或校验法不能完全保证正确性,有一定的概率会误判,但是大多数情况够用了)
如果校验错误的话,我们宁可把这一组数据丢掉,也不能使用错误的参数。

void loop()
{
    while(Serial.available()) {
        pushData(Serial.read());
    }
}
int bufferIndex = 0;
void pushData(byte data)
{
  //验证是否数据的开始
  if (bufferIndex < 1 && data != (byte)0xFF) {
    bufferIndex = 0;
  } else {
    buffer[bufferIndex] = data;
    if (bufferIndex == 5) {
      setParams();
    }
    bufferIndex = (bufferIndex + 1) % 6;
  }
}
void setParams()
{
  // 因为超声波中断可能导致数据丢失,所以需要额外的一个字节用于校验
  if(buffer[1] ^ buffer[2] ^ buffer[3] ^ buffer[4] == buffer[5]) {
    ctrlPower = buffer[1];
    reportType = buffer[2];
    P_Control = buffer[3] / 200.0;
    I_Control = buffer[4] / 200.0;
    // 其他处理
  }
}

总结,其实所谓的“协议”,就是在数据通信时商量好的“规则”,按照这个规则,我们才能保证接收到正确的数据。

关于四轴飞行器

今天看到SSS_SXS同学的提醒,发现已经有一个多月没更新了。这段时间乱七八糟的事情挺多,期间还开小差又玩了一阵子陀螺,总之进展不多。

目前的状况是:传感器可以正确读数,电机驱动和手机蓝牙控制也已经完成,最复杂的姿态平衡控制正在调试中。虽然还没有完成,现有的东西也可以大概总结一下攻略,这里先列出目录,以后慢慢补充内容。

快过年啦,祝大家新年快乐,万事如意,多拿红包!

基于Arduino的四轴飞行器制作攻略

  • 四轴飞行器教程1:器件介绍(上)
  • 四轴飞行器教程2:器件介绍(下)
  • Arduino串口通信
  • 用一块Arduino输出多路PWM
  • 带好盈程序的电子调速器控制
  • I2C总线和SPI总线
  • 三轴陀螺仪的调试
  • 三轴加速度感应器的调试
  • 三轴电子指南针的调试
  • 蓝牙接收板的使用
  • Android手机开发环境设置
  • Android手机的蓝牙通信
  • 自制Arduino扩展板
  • Arduino中的指令时间
  • 卡尔曼滤波和平衡滤波
  • 空间坐标系变换及调试
  • PID平衡算法
  • 在电脑上记录log并调试
  • 超声波测距传感器的使用

四轴飞行器攻略2:器件介绍(下)

首先说下现在的进度:目前已经测试了用Arduino读取陀螺仪传感器,加速度传感器,电子罗盘的读数;并且可以用Android手机通过蓝牙向Arduino发送指令;焊了一个小小的扩展板,并完成了初步的组装。接下来的主要工作是传感器读数的分析和姿态平衡算法的研究。发个近照:

组装完毕,等待编写程序的四轴飞行器

组装完毕,等待编写程序的四轴飞行器

圈妈学过一点心理学,忧心忡忡的对我说“据说提前说出目标的事情就不容易成功”,所以她不建议我还没做好就发攻略。但是攻略这种东西,想写的时候没写下来,过几天就忘了。我只好用男生追mm的例子做了解释:闷骚型的男生如果被人知道了暗恋对象,有的人变得更紧张,见到mm就躲;有的人则是硬着头皮展开攻势,最终满载而归。所以公布目标没啥问题,关键是看你把它当成动力还是压力。

言归正传,下面继续介绍四轴飞行器的器件们。

陀螺仪传感器
陀螺仪传感器又称角速度传感器,它的作用是测量物体运动的角速度(废话啊)。从测量维度分,陀螺仪传感器有单轴的,双轴的和三轴的;以传输方式分,又有数字型的和模拟型的。
对于四轴飞行器,最好使用三轴传感器。因为水平方向上就已经需要测量x,y两个维度的角速度,z轴方向上的自转如果有电子指南针的话,倒是也可以省略。所以很流行的另一种方案是用两个垂直安装的单轴传感器(ENC-03MB 村田角速度传感器),价格会便宜好多。
至于数字型的还是模拟型的,初学者开始会觉得模拟型的好用,它会引出3条线,分别输出0~5V之间的电压,表示xyz三轴的加速度值。
看上去似乎相当简单,用analogRead一下就好了。
从我的实践经验看来,它的问题在于线太多!陀螺仪需要3根线,加速度又3根线,指南针再3根线….随着器件的增加,Arduino的模拟输入口完全不够用。
而数字型则简单了很多,以I2C总线为例,数据通信只需要2根线,而且很多个设备(最多支持256个设备)都是公用这两条线。反正看你愿意花力气在焊板子上还是写代码上了。对于我这样的IT民工来说,显然觉得敲代码比焊板子舒服很多,所以我最终选择的是L3G4200D三轴数字式陀螺仪传感器。

加速度传感器
加速度传感器又称重力感应器,它可以感知物体受到的重力。例如水平静止放置的重力感应器,xy方向上重力加速度都是0,z轴方向上的读数则是9.8;而倾斜放置的传感器,在xy分量上就可以读出所受的重力。和陀螺仪相比,加速度传感器测量的是绝对的“倾角”,而陀螺仪测量的是“倾角的变化速度”。
这些传感器的最终目标,就是让四轴飞行器保持平稳。有人可能觉得用重力感应器就足够了,因为它可以测量绝对角度。但是请注意的是,这个倾角必须是在物体静止或者匀速的情况下测量的,飞行器在运动过程中是测不准的。就好比闭眼蹦极的人,在失重的时候是不知道上下左右的。所以一般需要两个传感器配合,一个用来测变化量,一个用来修正误差。
加速度传感器同样分为数字型的和模拟型的,我看上的是ADXL345数字型三轴加速度传感器。

电子指南针
电子指南针也叫电子罗盘,也有人叫磁通传感器。它的原理跟指南针类似,通过测量某个截面内的磁通量大小来判断方向。它也可以是三轴的,其中垂直于南北极磁力线的那个截面会有最大的读数。这个指南针不是四轴飞行器必须的,因为平稳飞行靠前面两个传感器就够了。
但是试想一下这样的情况,我们遥控一个直升机的时候,可以看到机头的朝向,所以我们可以让他“前进/后退/左移/右移”。
而四轴飞行器是对称的,当你发出“前进”指令的时候,它并不知道你期望的是哪个方向的“前进”。
网上一种流行的方案是,给四轴飞行器的某条腿涂上鲜艳的颜色,作为“机头”,前进后退的参照系都是以它为准。但是这样就需要对遥控者有一定要求,需要能够迅速分辨方向。
我加上这个电子指南针,是希望它能和手机遥控器上的指南针对应起来,永远以遥控者的面向方向作为“前方”。当然这样会给算法带来更多的工作量,大家祝我好运吧 :)
我最终选择的芯片是HMC5883L三轴数字型电子指南针

其他还有一些零七八碎的东西,包括:
超声波测距传感器,用来测量离地高度;
蓝牙适配器,用来和手机通信;
洞洞板,用来组合这些传感器;
各种插针、排母、导线、开关;
机架,这个也可以自己做,现成的比较好看;

最后是某些网友非常关心的价格问题,下面的价格表仅供参考,最终还是请大家自己擦亮眼睛,货比三家。
必须提到的是一个小插曲,很多芯片的价格分为散件价格和模块价格。例如L3G4200D芯片,单买芯片据说30元就可以搞定;如果买现成的小电路板+所有电容电阻等配件,那么需要70元左右;如果这些小配件都帮你焊好的成品,大概需要160元左右。
看到这些价格之后,勤劳勇敢的圈妈大骂奸商,说要帮我焊上,省下这100块钱!结果散件回来以后我们都傻眼了,这是一种叫LGA的封装方式,花椒一样大的小芯片,肚子下面有十几根脚。而且这些脚是在芯片肚子下面,不是伸出来的!

新手焊不了的小芯片

新手焊不了的小芯片

圈妈硬着头皮焊了几下,发现基本所有的脚都连在一起了,最后弄掉了焊盘,彻底报废。所以建议新手们,如果没有专业焊接工具的话,就不要尝试省这100块钱了。

价格表(仅供参考!)
格氏11.1V2200mA25C锂电   128
B6充电器     160
郎宇A2212电机   62×4
天行者20A电调  48×4
四轴机架     88
三轴陀螺仪模块L3G4200D       160
三轴加速度ADXL345模块     50
三轴磁阻HMC5883L模块      70
蓝牙模块JY-MCU          40
超声波测距            16

四轴飞行器攻略1:器件介绍(上)

每次想做东西的时候,都会经历一个疯狂采购的过程,虽然不一定花很多钱,但是一定是零七八碎的一大箱子。以前圈圈妈很爱逛街,而我每次逛街就像参加一次马拉松似的。现在终于能理解这种购物的乐趣了,唯一的区别是兴趣方向不同。

正如开始计划的,我正在用蚂蚁搬家的方式做这个四轴飞行器,进展比较慢。目前正在做一些实验,电机和陀螺仪的控制和读数已经调试成功。思路和方案也慢慢的成型了,下面介绍一下制作所需的各种材料和器件,供大家参考:

一、电源
所谓“兵马未动,粮草先行”。四轴飞行器想上天,好电池是必须配备的。怎么才能算是一块好电池?除了长相英俊潇洒之外,还得有“吃的多,跑得快,力气大”等优良品质。这里推荐的是格氏11.1V/ 2200mAh/ 25C的锂电池。
选用锂电池的好处是单位重量的电容量大,所以电池比较轻巧,电量比较充足。锂电池的标准电压都是3.7V左右,所以套装的锂电池基本都是3.7的倍数,这个11.1V就是由三块锂电串联而成。2200mAh这个参数大家比较熟悉了,充电的电池一般都有这个参数。它表示电池的电容量,在2.2A的电流下,可以工作1小时。
25C对于初次接触航模的人来说可能有点陌生,某些色狼若有所思但是可能觉得数字不太对 :) 其实这里的xxC表示充放电的速率,可以在1/xx小时内把电用完。也就是说,25C的电池可以在60/25=2.4分钟把电放完。某些同学可能会提问:“这样说来,C值越大的电池用的越快,应该是越不好吧?”为了避免这些同学暴露智商,这里集中提示一下。航模一般都需要比较大的瞬间功率,所以需要很大的电流。一般的电池在这么大的电流条件下早就过热烧掉了,所以必须用C值较大的电池,可以认为C值越大的电池越好。

四轴飞行器专用锂电池

四轴飞行器专用锂电池

另外需要注意的是,好马配好鞍。好电池最好还是给它配一个好一点的充电器,例如B6充电器。其实充电器我也不太懂,但是作为北航的老校友,看到B6立刻冒出了巨大的轰炸机形象,于是果断买下。试用了一下,果然还不错,可以充放各种规格的电池,还可以设置充电速度,并且可以查看三组电池中任一组的状态。有负载均衡的充电器,可以保证电池组的每个电池基本都处于相同的状态。

专用充电器

专用充电器

二、电机和电调
曾经有人问能不能用玩具小车里拆出来的小电机来做四轴飞行器,其实飞行器对电机的要求是非常高的,不仅要转速快,还需要能够精确控制。对于四轴飞行器,推荐新西达或者郎宇的电机。以郎宇A2212为例,它分为KV980和KV1400两种。KV参数的含义是:电压每升高1V,电机转速的增加量。需要注意的是,并不是KV值越高就越好的,因为电机的最大转速是有限的,KV值越大,对控制的精度要求越高。
电机的最大转速我没有查到,有知道的朋友麻烦吱一声。

四轴飞行器专用电机

四轴飞行器专用电机

这几款电机都是使用的三相交流电,所以别指望直接接上电就可以转,我们还需要一种叫电调的东西。电调全称叫“电子调速器”。它的接线很多:两根输入电源线,和电池连接;三根输出电源线,和电机连接;三根控制线,和单片机连接。
其中三根控制线,一根是地线(地线是各种器件的潜规则,都会有),一根是引出的5V(这是个贴心的设计,单片机可以从这里取电,不用再考虑电池的问题),最后一根是控制线,接收PWM信号。关于PWM的介绍,可以看这里这里这里
电调有个重要的参数是最大电流,事实上我们通过简单的程序和电流放大器,也可以做出一个简易的电调。这里推荐使用20A以上的电调,最好是40A的。
购买电调的时候,还会经常看到一个词叫“好盈程序”。一些好点的电调都会带这个容易被念成“好淫”的程序。它不仅可以控制电机的转速,还可以进行更复杂的设置,例如:最大和最小转速,是否支持刹车,过热保护等等。
电调的三根输出电流线和电机的三根线可以随意接,如果发现电机转向不对,随便挑两根反接即可 :)

电子调速器

电子调速器

本来打算一篇介绍完所有器件的,结果罗里巴嗦写了一大堆,需要休息一下,然后继续实验我的电子指南针和重力感应器,改日再继续发攻略。

四轴飞行器:出手报告

上周末在淘宝逛了两天街,买回来一大堆东西:
————————————————–
四轴飞行器机架;
朗宇2212电机kv980;
天行者20A电调;
L3G4200D 3轴数字陀螺仪;
ADXL345 数字三轴加速度传感器;
各种连接件和电容电阻们;
两块25C 2200mA锂电;
B6充电器;
Arduino Mega 1280;
蓝牙模块
————————————————-
目前考虑的方案是用Android手机做遥控器,通过蓝牙控制Arduino。
已经好多朋友指出蓝牙的稳定性不高,距离受限。对比另外几种方案:
1. 手机卡的方式(3G或GPRS)
据说超过400米左右的高度,手机基本就没有信号了。不过这个高度对四轴足够了,主要优点是基站遍地都是,通信服务比较稳定,3G的话还可以传输视频;缺点是价格偏高,耗电量比较大,开发较为复杂;
2. wifi模式
可以把手机的wifi作为路由,直接通信。距离应该也是几十米,如果携带电源+WIFI路由器的话,控制距离可以更远一点。优点是方便,便宜,数据带宽比较高;缺点是手机耗电比较大,开发难度暂时还不清楚;
3. 射频模式
传统的遥控模式,如果加上小型发射站和定向天线的话,可以达到几千米的高度。缺点是只能进行简单的信号传输,无法发送视频等。

总结的结论是:对于玩具级别的小四轴,任何方案都可以,哪个方便就用哪个。对于稍远距离的情况,则WIFI和3G都是不错的选择。对于玩航拍的大家伙,可能只能用射频遥控了(还有一种思路是携带GPS导航,事先设定好巡航路线,上天以后就自由发挥)

最终我还是打算先用蓝牙模块,原因很简单:我正好有一块蓝牙的小板子 :D

现在上班依然挺忙,估计我只能像蚂蚁搬家一样开工了,进展会比较慢,希望观众们不要打瞌睡啊。
这几天快递陆陆续续都到了,前天先把机架装好了,安了一个电机测试安装孔大小,其他的电机准备等调试之后再安装。先上些图:

四轴机架全部配件

四轴机架全部配件

组装好的架子

组装好的架子

安装的电机和旋翼

安装的电机和旋翼

换个角度看看

换个角度看看

打扫灰尘

最近因为没做啥新东西,所以一直没有来更新博客。突然发现上一篇已经是两个月前的了,赶紧上来扫扫灰尘。既然没动手干活,就分享点关注的新玩意儿吧 :)

最近特别火的就是四轴飞行器了,之前有几位朋友给我留过言,大概查了查,确实有趣!

四轴飞行器

四轴飞行器

四轴跟普通的遥控直升机相比,控制灵活,反应迅速,国外甚至有人用它来打乒乓球。最可贵的是,可以找到很多开源的资料。例如这个简易的控制原理:

四轴飞行器控制原理

四轴飞行器控制原理

另外一个好玩的东西是3D打印机,这玩意儿用粉末或者能快速凝固的材料,一层一层的打出三维的模型。同样它也能找到很多的开源资料,包括电路图,机械结构等等。当然,开源归开源,精度越高,尺寸越大,需要的钞票就越多 :)

下面这是一个巨大的三维打印机,显然又是万恶腐朽的西方发达资本主义国家弄的。这个家伙貌似是用沙子做打印材料,通过高温熔解后打印成型:

巨大的三维打印机

巨大的三维打印机

另外有一些小巧而精致的打印作品,这些应该是用树脂粉做材料,向精细的方向发展的:

精细的三维打印作品1

精细的三维打印作品1

精细的三维打印作品2

精细的三维打印作品2

精细的三维打印作品3

精细的三维打印作品3

另外一个新闻是Arduino发布了面向Android设备的Mega ADK控制板。这一对长的很像的双胞胎,最近很受关注。毕竟机器人还是以运动为主,有了移动设备,就不用背着笔记本到处跑了。用手机遥控的机器人和小车已经非常多,网上把这兄弟两的搭档叫做Amarino: Android meets Arduino。希望有时间的时候,把萝卜头改造成手机控制的版本,至少读颜色和移动性会强很多!

Mega ADK控制板

Mega ADK控制板

最后必须说一个巨酷无比的发明:Kinect,微软这次终于弄出一个让人眼前一亮的好东西!

网上经常能看到有趣的视频,例如Kinect试衣镜等等。其实Kinect最酷的地方在于,它可以让你赤手空拳的遥控东西。哈哈,想象一下吧,将来在家里指向电视,它亮了;在空中一拉,冰箱门开了;恶狠狠的瞪蚊子一眼,一束激光扫过…..哇塞,简直就是X战警+哈利波特嘛

这个YY的有点过了,不过至少已经有人实现了用Kinect遥控四轴飞行器:

Kinect体感遥控的飞行器

Kinect体感遥控的飞行器

啊啊啊,有超能力的感觉真好啊,嘿嘿。下个月公司的工作应该会到一个里程碑阶段,到时候就可以有点时间继续折腾了。我已经迫不及待的打算弄一套Kinect,希望这个月里再降点价 :D