感谢大家诚挚的建议! 1、增加一个硬件开关来切换控制方式,避免误判和误动。 >> 最初有过同样的想法,后来想到陀螺仪的Y轴。 于是,利用‘举手’这一姿势,当作开关在手轮和陀螺仪的控制之间切换。 同时,还有加速度、双击、左右摆等等更多的手法,都还闲着呢。 2、取消12位DAC芯片,改为使用单片机内置的DAC,简化系统结构,降低故障概率。 >>Arduino内置的是10位DAC,试验之初就发现有严重的问题。 没有任何输入时舵机预览就能看到明显的跳跃。 使用12位DAC后,一切非常顺滑。 3、手轮电位器经ADC-DAC的转换过程后,精度下降,噪音上升,这种改造方式是永久降低控原本性能的,对高端控而言有点可惜。可以考虑使用一只单刀双掷切换继电器,需要手轮控制时直接输出电位器模拟信号,需要陀螺仪控制时再切换至DAC输出。 >>Futaba手轮用的电位器,其实就是普通档次的电子元件。说它高端真是抬举它了。 加之给电位器供电仅有3.3V,通过Futaba的ADC,取值大概在100-1100的范围之间。 精度,可以说它有。只是它其实达不到大家想要的那种精度。 考虑到需要统一输出的电压范围值,使用原电位器和DAC间硬切换的方法,中立点一定会变化。这会是个大问题。 噪音体现的就是跳舵,目前尚未观察到。 感谢提到‘单刀双掷’这种元件,又学到一点知识。虽然元件仅一元,但加上之后不帅啊 举枪之前装X结束 举枪之后装X开始 |
抱歉,今天才发现您的回复。 1、用软件切换手轮和陀螺仪控制,在特定情况下会误判。 比如手轮控制直线行驶时,手轮回中满足2秒延时、控的姿态又恰好满足陀螺仪控制,可能会误转向; >> 确如您所说的那样,当手轮回中的时间超过2秒后,会输出陀螺仪的转向。 我实际使用的代码中,感觉是有点小,所以我把这个时间改为了2.5秒。 对于大点的场地,我还没试过。 对长距离的直线,手轮回中的时间多少为合适,我也不知道。 妥善的解决的方法也有: 例如:在切换回陀螺仪控制时,限定陀螺仪的Y轴在特定角度(举起的角度)。 即满足手轮回中已够2秒,且枪控被举起时,才切换回陀螺仪控制。 只是,增加的切换的麻烦程度。 但到了熟练的掌握此方式后,这会不会又是一个麻烦呢。。。。 而陀螺仪控制转向时如果不慎碰到手轮,方向可能会误回中。 >>要使用手轮控制,必须是枪控被举起后。 那个高度,除非是枪控是碰到了树枝。 这个,感觉可能性也有,但极低。 以上两种情况在高速度时,都会导致危险。 >>再加上高速度这个环境,这个我还真没考虑到。 目前我只是在研究如何玩漂移,还是在家里的客厅玩。 玩高速度的车模时,我不建议一手拿控,另一手吃苹果或是叉腰。 2、12位DAC没有必要,一方面因陀螺仪输出数据会有抖动,将抖动数据滤波处理后,自然就降到10位左右的精度了。另一方面,人手持控时手腕的动作精度本身就有限,10位精度已经足够,这跟手指控制手轮、摇杆的需求是不同的。 >>硬件有下限啊! 使用10位DAC的输出接到枪控上后,能看到方向通道的值明显或是说剧烈的抖动。 不能不使用12位DAC啊。 |
广告投放|联系我们|手机|投稿|Archiver|About us|Advertise|遥控迷模型网|RCFans ( 粤ICP备10210518号-1 )
版权所有 RCFans.com © 2003-2016