富斯 i6 遥控器改SWB三段开关及SWE

FS-i6遥控器SWB开关三段改造
本文介绍如何将FS-i6遥控器的SWB开关改造为三段开关,包括电路原理、所需元件及改造步骤。通过改造,用户可以更好地利用遥控器的功能。

网上有视频,但是个人一向不喜欢看视频教程,虽然也看了,其中有人只是加了SWE开关。

先贴一下老外的网页链接

FLYSKY FS-I6 UPGRADE TUTORIAL : 6 Steps - Instructables

开始是把控带在包里把开关压断了,顺带想着反正是换开关都要动烙铁焊接,不如直接升级一下。

前提当然是要刷入10通或14通道的固件(不刷的话,SWB改三段也是一样可行的,只是就没有SWE的支持了)

有些视频就说不知道怎么把原有的SW开关改成三段。

而老外那个图的SWB的电路图是有点错的。

关键在于SW开关的电路原理,理论上SW开关应该是一个ADC输入口,连着220欧的电阻来拉高拉低即为开关,所以先说SWB的三段改造:

可以在电路板上找到SWB的测试点焊盘,使用万用表可以量到它和SWB开关的黄线之间的电阻是220欧。(参见老外的网页里的图片)

准备两个4.7k欧的电阻,也可以用两个10k的,只要阻值够高(远高于220欧),阻值相同即好,一个用于接去3.3V焊盘拉高,一个用于接去地线焊盘拉低。

在SWB焊盘附近就能找到一个未标记的3.3V和一个地线焊盘,用万用表就能找到。

用这两个电阻从SWB焊盘分别飞到3.3V焊盘和地线焊盘。

更换SWB开关为三段的,黄色的220欧引线焊到中间引脚,原来的地线焊在下方引脚(默认打到最上面时,使用220欧拉低,为SWB关状态)。

从附近SWD处可以飞一条3.3V线到SWB上方引脚(打到最下面时,使用220欧拉高,为SWB最大状态)。

SWB开关打在中间时,同时经4.7K电阻拉高并拉低,也就是分压 3.3V/2 = 1.65V,为中间值状态。</

<think>我们正在处理用户关于ArduPilot配置乐迪遥控器实现一键起飞的问题。根据用户需求,我们需要指导用户如何设置遥控器和ArduPilot参数来实现一键起飞功能。 关键点: 1. 遥控器设置:需要配置乐迪遥控器的一个开关(例如三段开关或按钮)作为一键起飞的触发通道。 2. 飞控参数设置:在ArduPilot中,需要设置该通道对应的飞行模式或直接设置一个一键起飞的脚本(通过使用DO_SET_RELAY或类似命令的脚本)。 然而,在ArduPilot中,一键起飞通常可以通过设置一个飞行模式(例如“起飞”模式)来实现,或者通过运行一个自定义脚本(使用MAV_CMD_NAV_TAKEOFF命令)来实现。 考虑到用户使用的是乐迪遥控器,我们假设遥控器已经与飞控成功连接,并且各个通道映射正确。 步骤: 1. 在遥控器上设置一个开关通道(例如通道7或8)作为一键起飞的触发通道。 2. 在Mission Planner(或其它地面站)中,配置该通道的功能。 选项1:将该通道设置为触发“起飞”模式(如果飞控固件支持的话,例如Copter-3.6及以上版本有“Takeoff”模式吗?注意:实际上,在Copter中,通常使用自动模式(AUTO)来执行起飞任务,或者使用Guided模式配合起飞命令。但更简单的方式是使用一个模式来触发起飞动作,例如“自动”模式,但自动模式通常需要上传任务。另一种方式是使用“Guided”模式,然后发送起飞指令。但是,我们也可以使用脚本功能(SCRIPTING)来执行一键起飞。 实际上,ArduPilot支持通过RC通道触发脚本(SCRIPTING)功能。我们可以编写一个脚本,当遥控器开关置于特定位置时,执行起飞动作。 具体步骤: 步骤1:编写一个一键起飞的脚本 在飞控的SD卡上创建脚本文件(例如takeoff.lua),内容如下: ```lua -- 一键起飞脚本 local takeoff_alt = 10 -- 起飞高度,单位米 if arming:is_armed() then vehicle:start_takeoff(takeoff_alt) end ``` 步骤2:启用脚本功能 在Mission Planner中配置参数: - SCR_ENABLE = 1 // 启用脚本 - SCR_HEAP_SIZE = 100000 // 设置堆大小(根据需要调整) 步骤3:将脚本文件放入飞控SD卡的APM/scripts目录下(如果没有则创建)。 步骤4:配置一个RC通道来触发该脚本 - 设置参数:RCx_OPTION = 300 // 其中x是遥控器开关所在的通道号,300是“Scripting 1”的选项值(表示触发第一个脚本槽位) - 同时,需要设置参数:SCR_USER1 = 1 // 表示使用第一个脚本槽位运行我们的脚本(takeoff.lua) 注意:脚本文件名必须是8.3格式(短文件名),例如取名为takeoff.lua。 步骤5:测试 - 解锁无人机 - 拨动设置的开关,应该触发起飞到10米高度。 然而,上述方法需要用户编写脚本并放置到飞控中,对于新手可能有一定难度。 另一种简单方法(如果飞控固件版本支持): 在较新的ArduPilot固件中,提供了一个“Takeoff”飞行模式(在Copter中,从4.0版本开始支持?)。我们可以设置一个开关通道来切换到“Takeoff”模式。 在Copter-3.6版本中,可能没有专门的“Takeoff”模式,但我们可以使用“Guided”模式,然后在Guided模式下发送起飞指令。但是,如何通过遥控器开关触发起飞指令呢?这又回到了脚本方法。 或者,我们可以使用“自动”模式,但需要提前上传一个只包含起飞指令的任务。然后通过切换模式到自动模式来触发起飞。但这样不够灵活。 考虑到用户要求一键起飞,我们推荐使用脚本方法,因为这是最直接的方式。 但是,请注意:用户使用的是Copter 3.6,这个版本是否支持脚本?根据文档,脚本功能是在Copter 3.4版本引入的,所以3.6版本应该支持。 因此,我们按照脚本方法进行说明。 另外,用户提到乐迪遥控器,我们需要配置遥控器的一个开关通道输出到飞控的某个通道(例如通道7或8)。假设用户已经配置好遥控器,并且通道7是一个三段开关(或按钮),我们将使用该通道。 详细步骤: 1. 遥控器设置(以乐迪AT9S为例): - 进入模型菜单,选择通道分配,将其中一个开关(例如SWB)分配给通道7(确保通道7在遥控器输出中是空闲的)。 - 设置该开关的行程:例如,设置三段开关的中间位置为0,上为-100%,下为100%(或者根据实际需要,我们只需要一个触发位置,比如100%的位置触发)。 2. 地面站连接飞控,配置飞控参数: - 确保遥控器的通道7已经映射到飞控的输入通道(在Mission Planner的“初始设置”->“必要硬件”->“遥控器校准”中校准遥控器,确保通道7在拨动开关时能看到变化)。 - 设置参数:RC7_OPTION = 300 // 300代表Scripting 1 - 设置参数:SCR_ENABLE = 1 // 启用脚本 - 设置参数:SCR_USER1 = 1 // 表示用户脚本1被启用(这样当RC7_OPTION触发时,就会运行用户脚本1) - 设置参数:SCR_VM_I_COUNT = 2000000 // 增加脚本指令计数,避免脚本因超时被终止(可选,根据脚本复杂度调整) 3. 编写脚本文件takeoff.lua(注意:文件名必须小写,且为8.3格式,但通常支持长文件名,但为了兼容性,建议短文件名): 将以下内容保存为文本文件,然后放入飞控SD卡的APM/scripts目录下: ```lua -- 一键起飞脚本 local takeoff_alt = 10 -- 起飞高度10米 -- 检查是否解锁 if arming:is_armed() then -- 发送起飞指令 vehicle:start_takeoff(takeoff_alt) else gcs:send_text(0, "Not armed. Cannot takeoff.") end ``` 4. 重启飞控,使脚本参数生效。 5. 测试: - 解锁无人机(确保在安全环境下)。 - 拨动开关到触发位置(即设置的位置,比如100%的位置),无人机应该开始起飞到10米高度。 注意事项: - 在室内测试时,确保没有螺旋桨,以免发生危险。 - 使用SITL仿真测试:用户可以使用SITL仿真环境测试该功能,避免实际飞行风险。 关于SITL仿真测试,用户可以参考之前提供的引用[^1]中的SITL配置方法。 引用[^2]中提到了一些参数,但与一键起飞没有直接关系,所以这里不涉及。 因此,我们总结设置方法如下: 1. 遥控器设置一个通道(如通道7)作为触发开关。 2. 飞控参数设置:启用脚本,配置该通道触发脚本1。 3. 编写起飞脚本并放入飞控SD卡指定目录。 4. 测试。 如果用户希望使用其他方式,或者固件版本不同,可能需要调整。 相关问题: 由于用户问题比较具体,我们生成的相关问题可以围绕这个设置过程可能遇到的问题和扩展功能。 §§相关问题§§ 1. 如何编写和调试ArduPilot的Lua脚本? 2. 乐迪遥控器如何校准和设置通道? 3. 在ArduPilot中,除了脚本方法,还有哪些方法可以实现一键起飞? 4. 如何通过地面站(如Mission Planner)发送起飞指令? 5. 使用一键起飞功能时,需要注意哪些安全事项?</think>### ArduPilot配置乐迪遥控器实现一键起飞方法 在ArduPilot中配置乐迪遥控器实现一键起飞功能,需结合遥控器通道配置和飞控参数设置。以下是具体步骤: #### 步骤1:遥控器通道配置 1. **分配开关通道** 在乐迪遥控器(如AT9S/AT10)上选择一个空闲通道(如CH7/CH8): - 进入遥控器系统菜单 → **通道分配** - 将物理开关(如SWA/SWB)映射到指定通道(例如CH8) - 设置开关行程:确保开关有明确触发位置(如0%=关闭,100%=起飞) 2. **校准遥控器** 在地面站(如Mission Planner)执行: - 连接飞控 → **初始设置** → **必要硬件** → **遥控器校准** - 拨动所有通道(包括新设的CH8开关)完成校准[^1] #### 步骤2:飞控参数设置 1. **启用脚本功能** 在Mission Planner参数列表中设置: ``` SCR_ENABLE = 1 // 启用脚本功能 SCR_HEAP_SIZE = 100000 // 分配脚本内存 ``` 2. **配置一键起飞脚本** - 在飞控SD卡创建脚本文件:`APM/scripts/takeoff.lua` - 脚本内容: ```lua -- 一键起飞脚本 local takeoff_alt = 10 -- 起飞高度(米) if (rc:get_pwm(8) > 1800) then -- 检测CH8高电平信号 if arming:is_armed() then vehicle:start_takeoff(takeoff_alt) -- 执行起飞指令 end end ``` - 设置脚本参数: ``` SCR_USER1 = 1 // 启用脚本槽1 RC8_OPTION = 300 // 将CH8绑定到脚本触发(300=Scripting1) ``` 3. **关键飞行参数调整**(可选) 优化起飞性能: ``` PILOT_SPEED_UP = 300 // 最大上升速率(cm/s) THR_DZ = 150 // 油门死区宽度 ANGLE_RATE_MAX = 180 // 最大倾转角速度(度/秒)[^2] ``` #### 步骤3:功能验证 1. **SITL仿真测试**(推荐优先使用) - 运行SITL模拟器:`sim_vehicle.py -v ArduCopter` - 通过Mission Planner连接仿真飞控 - 拨动遥控器CH8开关,观察是否自动起飞至10米高度[^1] 2. **实机测试** - 在空旷场地解锁无人机 - 触发CH8开关,无人机应自动爬升至设定高度 - 注意:首次测试时保持低空(<3米)并准备手动接管 #### 注意事项 1. 安全机制:脚本中已添加`arming:is_armed()`检查,确保仅解锁状态下生效 2. 故障处理:若起飞失败,检查DataFlash日志中的`ERR`子模块错误 3. 高度容差:实际起飞高度可能受`PILOT_SPEED_UP`和大气环境影响 > ⚠️ 重要提示:正式飞行前务必通过SITL仿真验证功能[^1],避免实机测试风险。乐迪遥控器信号需保持稳定(建议使用SBUS连接),信号丢失将触发飞控安全机制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值