枪控单手模式 一、 目标枪式遥控器需要一手控制油门,另一手控制手轮实现车辆的转向。单手模式是指仅用单手控制油门的同时利用手腕的转动实现转向的控制。 相比单手用姆指控手轮,天生的不同可能根本无法实现。即使可行也只能实现部分的手轮控量。或者使用衣夹成为手轮的延伸,类比延长姆指。几无成本,只是控制量比姆指式还要低。 二、 原理 枪式遥控器配置的手轮,本质为带回中功能的高精度90度电位器。通过旋转电位器达到不同的角度以产生不同的电压值,遥控器将此转化对舵机转向量。 接管手轮的电位器输出,增加第二种控制量,在一系列处理后,将控制量再以模拟量的方式传递给遥控器的中心处理单元,最终实现对车辆转向的第二种控制。 本实现属于增加功能,并不影响原有手轮的使用。只是使用手轮前需要特定动作。 原理图: 三、 方法 电子陀螺仪有三个轴向的转动量。X轴可以理解为固定翼飞机的副翼控制,Y轴理解为俯仰控制,Z轴理解为方向控制。 本实现利用X轴的转动代替手轮的旋转实现对车辆的转向控制。 Z轴的转动与现实中方向的转向相同,但会受到如身体和手臂的转动而产生转向量的叠加,导致转向控制过于敏感。故而使用与真车方向盘的转向相同的X轴转动,即手腕的转动作为控制量。 四、 MCU 它实时读取陀螺仪的转动角度值,以及和手轮电位器的电压值。根据特定条件选择输出陀螺仪的转动角度或是手轮的转动角度。 五、 DAC 鉴于Arduino Pro Micro自带的数模DAC是10位1024的输出,无法满足FUTABA 7PX中心处理器的要求。故而增加1块12位的DAC输出模块MCP4725,很好的满足了使用需求。它是本实现的关键指标之一,如与中心处理单元不匹配时,会产生抖舵。 六、 实现 本实现并不局限于Futaba 7PX这一款遥控器,理论上讲任一款枪式遥控器都可实现本功能。 主要受限于新增加的电子原件的安装空间,及是否考虑美观度。 七、 接线图 八、 流程图 九、 实物图1. 手轮Futaba 7PX Futaba为了方便更换手轮方向,将手轮设计为便于拔插,同时又将电位器的连接如此直观的展现出来,简直就是为了改造而设计。 2. 手轮下拉器 手轮下拉器提供了陀螺仪等模块的安装空间。如果不使用下拉器,在液晶屏的下方,有一定的空间可以安装模块,但很空间很紧凑。 3. 陀螺仪JY901 本实现中,陀螺仪的性能是关键点之一。根据尺寸和成本,必须选择陀螺仪在静止不动,角度的变化不应大于0.05度,否则将会出现抖舵。 鉴于淘宝几块钱的三轴陀螺仪误差实在是太大,在一分钱一分货的教训下选择了价值一百元的九轴加速器 JY901,效果很好。 因为在下拉器里是垂直安装陀螺仪,所以在陀螺仪的设置程序里修改安装方向为‘垂直’。 4. DAC MCP4725 MCP 4725芯片需要将上图中黄框中的ADDR与VCC焊接到一起,以启用I2C的地址0x61。其他地址请参考芯片手册。 5. Arduino Pro Micro 在尺寸和供电的限制下,选择了ArduinoPro Micro。国内兼容厂商实际使用了的是LEONARDO,在芯片选择上注意Arduino的型号。 其实有更小的ATTINY85,但模块需要5V供电,而遥控器只能3.3供电。使用升压模块又会多一样东西。这块板也放得下,就用它了。 6. 最终设备组装图 十、 物品清单
十一、 缺憾 由于Futaba 7PX遥控器头重脚轻,液晶屏及主要电路板及手轮加起来比电池仓重,实际使用陀螺仪控制时,并不像想的那么顺手。当然如果在下部增加点配重手感会好很多,只是手就有点累了。 由于连接手轮电位器的是Arduino Pro Micro的10位ADC,精度方面差一个档次。在舵机的监视里仔细观察会发现不如原始般的顺滑,但考虑到此次主要是实现用陀螺仪控制转身,此步暂因实现困难而先放一边。 由于没有现成的模块,只有贴片式的芯片,想按厂家的设计电路实现,在不想打电路板的情况下,纯用手工焊接,对我来说真是个不可能完成的任务。 发贴不易,望多顶帖{:1_34:} |
|
|
广告投放|联系我们|手机|投稿|Archiver|About us|Advertise|遥控迷模型网|RCFans ( 粤ICP备10210518号-1 )
版权所有 RCFans.com © 2003-2016