5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 10574|回复: 57
打印 上一主题 下一主题

【DIY】 超声波定高功能,解放你的油门,让你飞得很无聊【41楼更新爬楼梯视频】

[复制链接]
跳转到指定楼层
楼主
发表于 2011-5-8 00:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
最近飞四轴让我很是痛苦,因为我用飞固定翼的方式来控制油门,四轴就像兔子一样上窜上跳。等XAircraft 出超声波功能等了很久也没出来,还是自己动手写一个通用的超声波模块吧,估计不会很难。

想了一下需求大概是这样的 :
1. 可以由单片机完全控制油门, 我只控制四轴的水平运动就行。
2. 可以用控的一个2段开关,来开启和关闭超声波定高, 开启后, 四轴将悬停在当前的高度。
3. 用另外一个开关,能自动起飞, 自动降落。
4. 能兼容大部分的四轴飞控(FS1212,KK,AQ50D之类),因为接管了接收机的油门通道


在开始之前我设想了一些问题,后来在实际测试中进行了验证和修正。

1.超声波是否会被电机干扰?
实际测试后,超声波并不会被电机发出的声音影响。但很容易被紧贴在旁边的电池反射产生了干扰,所以超声波传感器得找一个周围至少有2-3cm间隔的地方放置。尽管如此,超声波在临界点时返回的数据一定会有噪点,我们得用kalman 过滤一次。

2.pid 如何实时查看output 。
方案一,用电脑上的 processing写一个波形显示程序。方案二,用anroid 写一个手机上的示波器,android sdk2以上可以使用蓝牙SDK, 再用一片20元的蓝牙芯片放在飞控上,就可以让飞控和手机通讯了。

3. PID 中比例,微分,积分的整定。
这三个参数需要在外场实际测试中调试,通讯链路是双向的,自订个协议设置参数没多大问题。遇到的困难是,在一些极端参数下,估计会产生巨大的不可控震荡,简单的说四轴会拔地而起,或者重重的高速撞击地球。暂时没想到好的办法防止这些情况,用绳子拴着?

4.pid output 用什么策略映射到 pwm
方案一是直接将输出映射到1000-2000 的脉宽,这样手动的油门将不参与控制
方案二,基于任何时候都不能相信机器人的理由,要将当前的油门值进行数据融合

5.开启pid 的策略
遥控器的一个2档开关,开关拨到开启时,记录这瞬间的pwm和高度,作为setpoint。

6.超声波的异常处理,距离检测到 0 ,或很大的情况,距离突然变化的情况。
超声波必须要做卡尔曼滤波,在这些特殊情况下应该关闭定高功能,自动缓慢降落。





[ 本帖最后由 auuuux2011 于 2011-5-16 12:54 编辑 ]

IMGP1269.JPG (36.46 KB, 下载次数: 47)

IMGP1269.JPG

欢迎继续阅读楼主其他信息

58
发表于 2011-11-15 16:55 | 只看该作者
LZ,你的群已经满员啦,能将资料公布出来吗?
57
发表于 2011-11-15 16:18 | 只看该作者
泥马的  都是牛淫  不顶对不住党!
56
发表于 2011-11-15 09:31 | 只看该作者
先顶后看。
55
发表于 2011-11-15 08:49 | 只看该作者

强大的帖子留名

:em26:
54
发表于 2011-11-15 07:01 | 只看该作者
:em26: arduino uno   :em26:    楼主
53
发表于 2011-5-30 20:29 | 只看该作者
1.顶LZ,制作的东西漂亮,理论也很正确,算法也不错,值得学习。
2.超声波的有效高度太低了,LZ用的超声头(应该是40KHZ的那种吧)一般最多不超过15米,另外,建议楼主用两组,甚至4组传感器,再采用融合算法得出高度,这样也许能在较低高度内进行姿态控制。
3.LZ高人,是否能制作出一套无线电高度仪,再和气压高度仪配合使用
以上小弟愚见。
52
发表于 2011-5-27 18:23 | 只看该作者
好东西,能不能给做出来用在直机上?
51
发表于 2011-5-26 22:50 | 只看该作者
定的不错,加油,吧旋转的也做出来
50
发表于 2011-5-26 22:16 | 只看该作者
DDDDDDDDDDDD
49
发表于 2011-5-23 22:55 | 只看该作者

没有文化果然很悲剧,硬是看不懂

我只能看看热闹而已:em25:
48
发表于 2011-5-23 12:53 | 只看该作者
不错:em26:
47
发表于 2011-5-22 20:35 | 只看该作者
請問一下那個參數設置的程式,要怎麼執行?
46
发表于 2011-5-18 17:13 | 只看该作者
高人在民间啊
为什么 那么多厂家没人琢磨出来啊
45
发表于 2011-5-18 14:45 | 只看该作者
mark一下,kk的福音啊
.
.
44
发表于 2011-5-18 13:30 | 只看该作者
我采纳mapgps建议,谢谢
43
发表于 2011-5-18 09:40 | 只看该作者
没有文化好可怕啊,看的晕头转向的,没看明白。
42
 楼主| 发表于 2011-5-16 14:15 | 只看该作者
mapgps 说的有道理, 电源全接到5v , vin 悬空, 这样最好。

如果全接到vin, 貌似LDO后低于5v 一点点,芯片也能run的很好,不过mapgps  的办法是最保险的。单片机和超声波都能得到足够的电压。
41
发表于 2011-5-16 13:21 | 只看该作者
原帖由 auuuux2011 于 2011-5-16 10:06 发表

vin 就是外接电源,没有经过稳压的。
5v 是用板载LDO 将vin 稳压成 5v 的工作电压
本来的确应该按照mapgps 推荐的方法接的。
但由于我们供电给nano 是由电调-》接收机 供电的,已经是稳定的5v 了, 所以不需要经过板载LDO再稳压一次。而且另外一个考虑是超声波需要的电流可能比较大,再从nano取电可能会影响nano。

那就要将: 电调-》接收机输出5V超声波供电 都接在Nano的5V针脚上. 而VIN针脚悬空.
Nano有三种供电方式: USB / 5V针脚 / VIN针脚.
VIN针脚供电方式时, 输入电压范围为6~20V, 推荐7~12V. 并在5V针脚产生5V输出.
如果将电调-》接收机输出5V 接VIN针脚, 经LDO后Nano实际得到的电压将低于5V. 你可以测一下5V针脚看看.
40
 楼主| 发表于 2011-5-16 12:35 | 只看该作者
改进了算法,下面是测试视频

超声波定高爬楼梯, 全程油门自动控制 。



来个更高难度的,宽两米,很陡的楼梯
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表