本帖最后由 酱油君 于 2013-5-19 13:20 编辑
(特别声明版权归原作者所有,转自http://blog.csdn.net/kongling2005/article/details/5848254)
这是一个为满足个人兴趣的实践性项目。
这个项目起源于我买的一架航模级的遥控电动直升机,想要飞好它还是相当困难的,需要敏捷的反应、轻柔的控制,不幸的是我的反射弧很长,所以练习起来格外困难。 在对我的小飞机有了些了解之后,突然冒出了个想法:我要做一架无人机! 于是便开始了漫长的论证阶段,现在的模型是这样的: 1. 无人机的自动控制系统为机器人(Android),即一块 Google G1 的主板。他的很多基础设施刚好满足了我的需求,G-sensor 提供了控制直升机平稳飞行所需的姿态采集来源,WiFi or 3G 提供了信道,利用Camera还可以进行航拍,Android提供了系统运行的基础并整合了上述资源。 2. 控制系统的输出为音频脉冲信号,G1的耳机线但当了载波介质。 3. 控制信号的接收端为 天地飞6通道微型接收机 的PPM解码电路的信号输入端。 4. 经过天地飞6通道微型接收机解码后得到的PWM信号便可以用于控制 电调、舵机 和 陀螺仪了。 总结一句就是:用G1的音频输出替代了FM接收器的输出。
软件可行性分析: 无人机的控制软件完全基于Android。包括:G-sensor数据采集,遥控数据接收,对飞机姿态及遥控数据的综合处理并生成控制指令,把控制指令翻译成控制信号输出。
G-sensor数据采集:android.hardware.Sensor。 遥控数据接收:java.net。 生成控制指令:控制逻辑,需自行编写代码。 控制指令翻译:android.media.AudioTrack。
硬件改造可行性论证:
下图为 天地飞6通道微型接收机 的电路图。
电路被中间的红线切割为左右两部分:左边为FM接收部分,右边为PPM解码部分。两部分由上中下三根线相连,其中上下两根都是VCC3.3供电线,只有中间一根是FM接收电路的音频信号输出端。所以我们可以切断这三根线,用G1的音频输出替代FM接收电路的音频信号输出。
上图为负责FM接收的IC:TA31136。根据ta31136 datasheet:
可以看到ta31136第9pin为AF OUT,其输出电压为1V左右。通过适当设置G1的音频输出负载电阻应该可以驱动PPM解码电路。 附解码过程:
音频信号由运算放大器IC3 LMX321整形分两路送到IC2 74HC164处理:一路进8脚(时钟端输入),另一路经三极管放大反相加并加延时整形进1脚和2脚(数据输入端)。信号经过HC164串入并出后得到各个通道得脉宽输出参数。
|