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

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

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

[复制链接]
61
 楼主| 发表于 2011-6-24 09:03 | 只看该作者
点击查看详情
对 电池电量也是个问题,满电的时候 和 贫电的时候 X 的值是不一样的。

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

62
发表于 2011-6-24 10:21 | 只看该作者
学习......
以后用得着:em21:
63
发表于 2011-6-24 14:56 | 只看该作者
不错
64
 楼主| 发表于 2011-7-25 09:04 | 只看该作者
回复71楼: 又想多了,贫电就应该降落。如果高度不能锁定了,说明该充电了。
65
发表于 2011-7-25 09:33 | 只看该作者
可不可以问一下,楼主是学什么的,在美国哪个大学?我是学EEE的,接触的东西差不多,但是我才大一,希望以后能多联系。p.s.我做过跟APM有关的东西。

[ 本帖最后由 bobmaxiao 于 2011-7-25 09:34 编辑 ]
66
发表于 2011-7-26 11:46 | 只看该作者

回复 7楼 crazyboyyy 的帖子

滤波啊!!!
67
发表于 2011-7-26 11:51 | 只看该作者

回复 42楼 40560335 的帖子

那个……你被人怎么坑了?他卖你什么了?
68
发表于 2011-7-26 11:53 | 只看该作者

回复 42楼 40560335 的帖子

那个……你被人怎么坑了?他卖你什么了?
还有啊,气压传感器不是更受天气影响么?
季节天气都会影响气压的啊!!怎么能放弃AGL而去选气压计来测高呢?
厂家都是说自主起降要配超声波高度计,难道生产商那么不靠谱?
69
发表于 2011-7-26 12:37 | 只看该作者
70
 楼主| 发表于 2011-10-25 09:44 | 只看该作者
继续!

现在发现定高必须严格按照PID 算法控制   按照我的算法,这飞碟总是有点上下颠簸。

拨开关之后20ms
测量距离:ode
测量油门值:ch3
油门输出:ch3

进入循环后
测量当前高度:de
de = de - ode + d*(pde - de);
hi = (de - ode)/de;

powerout = map( de, -3000, +3000, 10, -10) + map( hi, -3000, 3000, 10, -10) + ch3;

pde = de;
dh = dh + de;

输出油门值: powerout



明天试试看咯!
71
发表于 2011-10-25 11:48 | 只看该作者
有文化真好。
72
 楼主| 发表于 2011-10-26 06:05 | 只看该作者
77楼帮我出气了,谢了呵呵。
73
发表于 2011-10-26 22:55 | 只看该作者
顶一个,还有事请教您呢。
74
 楼主| 发表于 2011-10-28 05:50 | 只看该作者
马达和桨都换掉了,新程序也装上去了。 目前测试用的函数 如下。

      de = de - ode;
      dh = (de - ode)/de;
      powerout = map( de, -3000, 3000,  2, -3) + map(hi, -3000, 3000, 1, -1);
      powerout = ch3 + powerout;
      pde = de;
      hi = hi + dh;

现在四轴能坚持70秒定高飞行,会有一定的上下颠簸,范围在10cm之内,70秒之后会降低高度。估计是电池电量有点不足。以后会考虑吧参数p 和 i 调高点。目前d 相当于0。 如果以后需要的话 就把d 也加上。 目前看下来好像不需要。
75
 楼主| 发表于 2011-10-29 04:58 | 只看该作者
搞了半天 算法还是有问题,最近脑子有点糊涂了。以下是正确的PID 离散算法。

      de = de - ode;//  + (pde - de);
      dh = de/(de+ode);
      powerout = map( de, -3000, 3000, 2, -3) + map(hi, -3000, 3000, 2, -1);
      powerout = ch3 + powerout;
      pde = de;
      hi = hi + dh;
76
 楼主| 发表于 2011-10-29 05:39 | 只看该作者
现在能在室外有风的情况下 坚持两分钟

      de = (de - ode)/2;//  + (pde - de);
      dh = de/(de+ode);
      powerout = map( de, -3000, 3000, 4, -3) + map(hi, -3000, 3000, 5, -2);
      powerout = ch3 + powerout;
      pde = de;
      hi = hi + dh/2;


大家顶一顶啊,应为找不到第二个像我这样分享程序的人了。
77
 楼主| 发表于 2011-11-4 06:43 | 只看该作者
现在能悬停超过两分钟 才掉高度

      de = (de - ode)/2;//  + (pde - de);
      dh = de/(de+ode);
      powerout = map( de, -3000, 3000, 4, -4) + map(hi, -3000, 3000, 14, -4);
      powerout = ch3 + powerout;
      pde = de;
      hi = hi + dh/4;


看到红色的数字没,这是对I 的限制。 越大 悬停时间有越长,同时发生危险的可能性也就越大。
78
发表于 2011-11-4 13:29 | 只看该作者
不出意外。。。会继续半途而废~~ :em15:
79
发表于 2011-11-6 17:17 | 只看该作者
定高:em26: 不错
80
 楼主| 发表于 2011-11-10 08:28 | 只看该作者
更新几张照片 以免这帖子沉掉。 现在这个超声波定高程序和刚开始乱搞相比已经不错了。 动力也换掉了。

[ 本帖最后由 切风40.83 于 2011-11-10 08:31 编辑 ]

294312_276140372418889_100000687866636_892953_2008800843_n.jpg (86.57 KB, 下载次数: 45)

294312_276140372418889_100000687866636_892953_2008800843_n.jpg

297126_276140552418871_100000687866636_892954_1656904603_n.jpg (93.18 KB, 下载次数: 49)

一共三个感度要改,还有6个限制参数。 一般陀螺仪最多就双感度调节。

一共三个感度要改,还有6个限制参数。 一般陀螺仪最多就双感度调节。

392771_283407711692155_100000687866636_920888_1891836124_n.jpg (131.84 KB, 下载次数: 48)

现在把红外壁障的线也接好了,由于有了之前的感度调节经验。调这个东西应该不复杂。

现在把红外壁障的线也接好了,由于有了之前的感度调节经验。调这个东西应该不复杂。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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