5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: Opentx中的逻辑开关的使用示例(通过摇杆解锁油门且发出语音提醒) [打印本页]

作者: cowboycyx    时间: 2019-1-6 13:59
标题: Opentx中的逻辑开关的使用示例(通过摇杆解锁油门且发出语音提醒)
摘要:
之前gggltg在他的帖子《浅谈 OpenTX 混控的逻辑关系》与《OpenTX系统的蝴蝶刹车设置》中对OpenTX进行了系统地介绍。我这里跟着凑个热闹,提供一个关于逻辑开关的例子,以便让大家更好的理解逻辑开关的意义。关于逻辑开关的详细说明,请参见gggltg《浅谈 OpenTX 混控的逻辑关系》中“逻辑开关”部分,我这里写的只是一个例子:利用逻辑开关功能,实现通过摇杆和物理开关的组合操作,对油门进行解锁,并发出语音提醒,以提高安全性。


功能一:通过逻辑开关实现对油门的解锁。
为了确保安全,直到起飞前的一刻,我们都希望电机是处于受限状态,即在这个状态中,油门的操纵无效,有些遥控器称之为“油门保护”。在Opentx中,对于油门输出通道,比较简单的方法是直接设置一个物理开关(比如我以前喜欢用SF开关)来控制油门通道的输出。当SF开关往上打,油门输出受操纵杆控制;当SF开关往下打,油门输出为一个非常大的负值,(相当于没有油门输出)。但是单纯通过物理开关来解锁油门,方式过于简单,油门很容易被解锁,安全系数不高。所以为了提高安全性,我们要增加解锁油门的难度(当然也是为了演示OpenTX逻辑开关的功能),我们希望在物理开关的基础上,增加组合摇杆操作来解锁油门。具体来说,就是在SF开关往上打且油门摇杆处于最低位置的前提下,副翼摇杆打到最右、垂尾摇杆打到最左。这时油门才可以解锁。具体的实现方式如下:


图一、逻辑开关设置页截图,实现这个功能利用到了L1、L2、L3、L4共4个逻辑开关,最终的油门是否解锁由L3表示。
(, 下载次数: 160)


图二、对应的逻辑关系图
(, 下载次数: 147)


图三、在混控页面,关于油门通道(CH3)的相关设置。请注意,逻辑开关L3的值决定了该通道的输出状态。这里我设置了两个状态:Engine状态(油门输出受控于油门操纵杆):NoPower状态(油门输出是一个很大的负值,所以相当于油门操纵杆始终在最低位置)。
(, 下载次数: 133)






功能二:解锁油门后进行语音提醒
当油门解锁之后,我们还希望有相应的语音提醒,以避免因我们忘记油门已被解锁而引发的意外。当然,最简单的实现方法就是语音提示与油门解锁的逻辑状态(在上文中的L3)同步,只要油门已解锁,就重复(间隔5秒钟)进行语音提示。显而易见,飞机在飞行过程中油门肯定是解锁的,如果这时也不断进行语音提示,不仅没有必要,也非常烦人。那么改进的做法是设置为当油门解锁且油门处于最低位置时,才进行语音提示。更进一步,对于像我一样飞电滑的爱好者,当飞机爬升到一定高度,就关油门进行无动力滑翔,这时也不希望语音提醒来干扰。所以我最终设置的语音提醒条件是:油门解锁后且飞机起飞前(即第一次推动油门操纵杆以前)。具体实现方法如下:


图四、逻辑开关设置页截图,实现这个功能利用到了L5、L6、L7共3个逻辑开关,最终是否进行油门已解锁的语音提醒由L6表示。
(, 下载次数: 146)






图五、对应的逻辑关系图
(, 下载次数: 157)




图六、在特殊功能设置页面,每隔5秒,播报一次油门已解锁的提醒
(, 下载次数: 141)

小结:
这两组逻辑开关的设置,实现了通过物理开关及左右摇杆的组合操作对油门进行解锁,同时在油门解锁之后飞机起飞前的时间里,每隔5秒发出提醒。实现同样的功能,上述设置应该还可以进一步优化,我这里仅是抛砖引玉,大家肯定能够产生更多有创意的想法。




姿态回传和PID控制
另外我做了一个可以回传姿态、高度和GPS信息的模块,通过Frsky的数据回传功能把这些信息读到遥控器端。我参考国外网友的成果,写了一个LUA脚本,可以在遥控器上显示这些状态,如下图;并且在不借助飞控的前提下,用LUA脚本部分地实现了飞机的PID姿态控制(比如滚转角和固定角度爬升)。虽然这些功能用飞控都可以简单的实现,不过挖掘OpenTX的巨大潜力,还是很有趣的,以后有机会再和大家分享。


(, 下载次数: 151)


一句话: Have fun



作者: NYWZMY    时间: 2019-1-6 14:59
顶楼主,OPEN TX用起来很舒服
作者: 王者荣耀    时间: 2019-1-6 21:02
回传怎么做

作者: 珍珠女神    时间: 2019-1-7 12:30
顶楼主,楼主是上海机械师吗
作者: m92fs    时间: 2019-1-7 15:23
这个要收藏一下,写得好
作者: qjc    时间: 2019-1-7 15:41
建议锁定油门使用MAX来固定输出值,以免逻辑开关改变时进行多余的设置
作者: qjc    时间: 2019-1-7 15:42
另外不知道回传姿态数据延迟是否稳定?
作者: xubohai    时间: 2019-1-7 16:44
请问楼主学习国外网友的先进OPENTX经验要去哪里找呢
作者: chenjitian    时间: 2019-1-7 23:32
好帖!顶一顶
作者: cowboycyx    时间: 2019-1-8 13:11
王者荣耀 发表于 2019-1-6 21:02
回传怎么做

简单来说,用arduino作控制板,读取气压计、GPS、姿态模块的数据,然后打包,通过Frsky自己的S.port协议,把打包好的数据传到接收器上。相当于模拟出了若干Frsky的遥测sensor。

还有另一种办法,就是飞控APM或Pixhwak有一个符合Mavlink协议的数据输出,做一协议转换的板子,把Mavlink协议转换成Frsky的S.port协议。你可以参考这个网页的内容http://ardupilot.org/copter/docs/common-frsky-telemetry.html



作者: cowboycyx    时间: 2019-1-8 13:11
珍珠女神 发表于 2019-1-7 12:30
顶楼主,楼主是上海机械师吗

不是哈,我之前学机器人的,现在做算法

作者: cowboycyx    时间: 2019-1-8 13:17
qjc 发表于 2019-1-7 15:42
另外不知道回传姿态数据延迟是否稳定?

你提到了一个关键的问题,回传的数据大概有0.1-0.2s的延迟。也就是说,飞机有大幅姿态变化的时候,能感觉出来显示屏上姿态指示的滞后。我看国外网友发出来的视频也有这个问题。因为有时滞环节,闭环控制就有可能不收敛。不过实际飞的时候,至少滚转姿态稳定得是不错的。

另外回传的姿态数据会出现一些噪声,我来不及搞清楚是姿态模块的问题还是传输的协议问题。不过在LUA脚本中加入滤波,就好很多。

作者: cowboycyx    时间: 2019-1-8 13:20
xubohai 发表于 2019-1-7 16:44
请问楼主学习国外网友的先进OPENTX经验要去哪里找呢

有个人写的博客叫做opentx clinic http://rc-soar.com/opentx/。里面有详细的介绍,他除了提供了不少预设的模板以外,更重要的是他阐述了为什么要这样设置,阅读他写的内容,可以很好的理解OPENTX的精髓。


作者: cowboycyx    时间: 2019-1-8 13:23
m92fs 发表于 2019-1-7 15:23
这个要收藏一下,写得好

谢谢鼓励

作者: xubohai    时间: 2019-1-9 09:22
通过opentx clinic的介绍,我又知道了一个学习OPENTX的好地方 http://open-txu.org/ (opentx大学),对新手来说真的是很适合学习而且进阶的地方。
作者: gggltg    时间: 2019-1-10 16:10
顶起!大家都来共同学习分享OpenTX经验。
作者: wininw    时间: 2019-4-4 12:05
!L3怎么弄出来的?
作者: pingpz    时间: 2021-9-4 19:34
厉害
作者: 9090950    时间: 2021-11-1 23:52
收藏起来

作者: 小马哔哔    时间: 2024-12-9 22:03
真棒

作者: 老金    时间: 2024-12-12 14:29
很好的信息。如果我有十个模型,都想用这种方式解锁,是否每个模型都要同样设置,还是可以有一个类似全局函数之类的,在每个模型中只要调用就可以?

作者: fank222    时间: 2025-1-18 18:02
OPENTX在功能上,的确非常灵活,能实现很多其他系统的遥控没有的东西,它能按照自己想法,进行设置。




欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://www.5imx.com/) Powered by Discuz! X3.3