|
7楼
楼主 |
发表于 2009-11-15 00:02
|
只看该作者
好就不见“皇帝发言”了————看来你没依次序看帖子啊!!
CCPM 的混控功能已经由发射端移到接收端,依靠可编程逻辑芯片来完成!
(这比较容易进一步实现:平衡仪和自动驾驶仪的功能开发!)
整个控制,只用三个舵机,比标准的直升机:节省一个舵机——
(遥控发射器已经取消了CCPM功能)先简单的说:方向控制原理:
方向舵CH4想让机尾右转的时候——可编程逻辑芯片会输出算法公式中的R4,使大桨的桨矩增加!:em26: !由于齿轮传动的上、下层大桨是等转速的:em24: ,所以上层桨的‘反力’增加,机尾向右转动。
方向舵CH4想让机尾左转的时候——大桨桨矩减少,同时修正油门稍微增加!:em24: !(:em24: 目的之二是:上层大桨桨矩减少、升力会减少,所以可编程逻辑芯片会自动稍微增加油门,JJ不会掉高度!)转速增加会使得下层(固定桨矩的)的‘反力’增加,上层桨因桨矩减少反力减少,机尾向左转动。
陀螺仪在其中的作用,也被融合到这个调整过程中了!!
油门杆CH3——只负责油门,不连动桨矩!:em18: !但是:接收端的可编程逻辑芯片会对油门做调整。
接收端的混控算法:
Out_1 = CH1 + R4 + 0.5 * DCH2
Out_2 = CH2 - R4
Out_6 = X6 - R4 + DCH1 - 0.5 * DCH2
接收端的油门修正算法:"X4"是经过陀螺仪修正后的信号,“Z4”是发射机直接发来的CH4信号。
if (Conv_Integer(X4) < Conv_Integer(Z4)) then -- TongChang X4 == Z4 By TLY
if (SY = '1') then
J4 <= R3 + Conv_Std_Logic_Vector(((1504 - Conv_Integer(X4))/16),12); -- YouMen adj R4++
else
J4 <= R3 + Conv_Std_Logic_Vector(((1504 - Conv_Integer(X4))/32),12); -- YouMen adj R4++
end if;
else -- TLY Out -> LuoJu '+',Youmen No OTHER Change
if (SY = '1') then
J4 <= R3 + Conv_Std_Logic_Vector(((1504 - Conv_Integer(Z4))/16),12); -- YouMen Just adj
else
J4 <= R3 + Conv_Std_Logic_Vector(((1504 - Conv_Integer(Z4))/32),12); -- YouMen Just adj
end if;
end if;
[ 本帖最后由 caosix2 于 2009-11-15 00:08 编辑 ] |
|