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

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
楼主: 切风40.83
打印 上一主题 下一主题

一步一步实现,超声波直升机高度锁定

[复制链接]
41
发表于 2011-5-25 10:10 | 只看该作者
点击查看详情
很有型~!

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

42
 楼主| 发表于 2011-5-26 06:27 | 只看该作者
线都接好了,马上就可以测试了。但是明天校长,某些领 导 和 其他学校的领 导要来我实验室参观。教授叫我不要测试,要是弄坏了明天就没得展示了(美国的教育制度也差不多嘛)。 上个图庆祝一下,择日再飞。

247440_211919652174295_100000687866636_651757_4439369_n.jpg (50.59 KB, 下载次数: 77)

247440_211919652174295_100000687866636_651757_4439369_n.jpg

250448_211919605507633_100000687866636_651756_6291062_n.jpg (38.17 KB, 下载次数: 67)

250448_211919605507633_100000687866636_651756_6291062_n.jpg
43
发表于 2011-5-26 08:16 | 只看该作者
有没有搞出气压计版本啊
44
 楼主| 发表于 2011-5-27 10:32 | 只看该作者
用气压计 不如用 GPS 。
45
发表于 2011-5-27 10:35 | 只看该作者
没那么高精度的气压计、有也装不下,装的下也买不起,买的起也买不到
46
 楼主| 发表于 2011-5-28 11:57 | 只看该作者
最新测试视频,现在有时间了 可以快速发展了。

http://v.youku.com/v_show/id_XMjcwNzUyMjEy.html
[wmv]http://v.youku.com/v_show/id_XMjcwNzUyMjEy.html[/wmv]
47
发表于 2011-5-29 17:07 | 只看该作者
:em26:
48
 楼主| 发表于 2011-6-2 01:04 | 只看该作者
如果不行的话 就用PID 控制。
49
发表于 2011-6-14 10:31 | 只看该作者
你把测得的10个数据取平均值,可以更稳定的控制飞机。
50
发表于 2011-6-16 18:07 | 只看该作者
原帖由 切风40.83 于 2011-6-2 00:48 发表
昨天试飞过了, 最终我还是把 超声波传感器放到了机体的中间,否则机体倾斜会导致过大的误差。

另外 测试的时候 调到高度锁定模式之后 发现飞机 上下抖动的很厉害。 估计是感度太高的原因。


不管你懂不懂C语 ...

LZ这个问题有些无语了...请先调试出超声波传感器的例程。
map(duration, 0, 5000, 90, 65)是一个简单的变换函数,记得是吧一个90到65之间的值变换到0~5000之间,也就是转换成超声测出的距离。你要稳定在一个高度上,比如1米,你就尽量使map(duration, 0, 5000, 90, 65)-1000在0附近。
关于delay(10)我没仔细读你的代码,但应该是越小,甚至去掉,才是最好的。
51
发表于 2011-6-21 05:10 | 只看该作者
挺好,应该可以用在四轴上
52
 楼主| 发表于 2011-6-21 08:23 | 只看该作者
回复:dongfang

关于电子方面的知识都是我自学的,没有系统性的学过,都是要用什么就自学什么。请理解 并多多指教。

这个变换函数的意思是吧 0,5000 之间的数字变成 90 到 65

因为我没有自己写输出 PWM 信号的程序, 而是用 伺服电机的数据库, 所以90到65 实际上表示伺服电机转动的角度。
由于现在这个信号输给了电调,电调的情况和伺服电机肯定是有点区别的。伺服电机有20毫秒的工作周期,电调我就不知道了。 您建议我去掉delay(10) 是不是出于这个原因?


duration 的值 等于 声音从超声波传感器发出到返回的时间, 这个时间的单位是毫秒。 输出值为5000的时候 飞碟大概是3米高。(现在感觉声音传播速度是有点慢)。 所以说使用超声波传感器是需要花掉单片机一点时间的。 如果测量几次再判定输出值的话怕来不及做修正。
53
 楼主| 发表于 2011-6-21 08:35 | 只看该作者
目前我又对程序进行了改进,只要拨开关,飞碟就会在当前飞行高度锁定。

测试结果还是一样,飞碟会上下抖动。

我现在在等一块重一点的电池到货,增加点重量或许会减小抖动。 现在我用的电池是 11.1V 2600mah 25C ACE的电池, 容量小 重量轻。因为我飞这只飞碟 油门永远不会超过30%(四个电调都是25A,你懂的), 所以油门控制不够细腻 而且飞的时间太短。 重的电池一到 说不定就解决问题了。
54
发表于 2011-6-21 23:13 | 只看该作者
这个超声波测距~~~距离不过10来米,精确度0.1米左右,以前用过
55
发表于 2011-6-21 23:29 | 只看该作者
高人
56
发表于 2011-6-22 12:41 | 只看该作者
原帖由 切风40.83 于 2011-6-21 08:35 发表
目前我又对程序进行了改进,只要拨开关,飞碟就会在当前飞行高度锁定。

测试结果还是一样,飞碟会上下抖动。

我现在在等一块重一点的电池到货,增加点重量或许会减小抖动。 现在我用的电池是 11.1V 2600mah  ...

就是前面说的那个式子,实际上,给多少油门,不仅取决于模型现在的高度,与目标高度的差距,还与目前的模型正在以什么速度上升下降有关。超声波传感器的更新频率还是太低了。要做得好,就上CCD:地面平台上放几个红外LED管,CCD用高速红外敏感的,拍一张照片就能把静止姿态全部解出来了。
57
 楼主| 发表于 2011-6-22 23:22 | 只看该作者
回复 65 楼 dongfang

现在的程序流程是这样的:  

手动起飞  →  手动切换模式 → 记录当前油门值X → 记录当前高度Y → 等20毫秒


循环 { → 记录当前高度 Y1 →      Y1 = Y1 - Y     →     用map 函数 处理 Y1    →      X1 = X + Y1      →     电调输出 X1  → 等待20毫秒 }

现在 通过试验 对等待20毫秒 进行修改会达到些效果
调太高会抖得快幅度小   调太低会抖得慢幅度大  
我猜抖动的问题不是调这个时间。   或者我猜错了,只是没找到这个时间调节的平衡点

[ 本帖最后由 切风40.83 于 2011-6-22 23:29 编辑 ]
58
 楼主| 发表于 2011-6-22 23:31 | 只看该作者
罢了, 我把这时间去掉试试
59
发表于 2011-6-22 23:56 | 只看该作者
不懂,帮顶!
60
发表于 2011-6-23 09:54 | 只看该作者
原帖由 切风40.83 于 2011-6-22 23:22 发表
回复 65 楼 dongfang

现在的程序流程是这样的:  

手动起飞  →  手动切换模式 → 记录当前油门值X → 记录当前高度Y → 等20毫秒


循环 { → 记录当前高度 Y1 →      Y1 = Y1 - Y     →     用map 函数 ...


我觉得你做的,和我说的已经差不多了,只是X1 = X + Y1 这里,需要调整为X1 = X + Y1*Z,Z的大小需要测试得知。
另外,X本身最好也是细微变化的,以适应电池电量下降的情况。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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