liang_work 发表于 2010-1-6 22:30:11

请教各位关于模型直升机的锁尾和转向的控制.

各位大侠,我的问题是这样的.
直升机的在没有转向信号的情况下,尾桨可以由陀螺仪的输出信号再经PID之类的运算,自动控制其转速从而实现锁尾.
问题1.在上面的情况时,我认为尾桨的转速不是一个固定值,而是经PID运算后的一个时大时小值,不断保持一个动态的平衡(就算主桨的转速是恒定的时也是这样),不知我这样理解是否正确?
问题2.当有转向信号入来时,其转向的信号是如何与陀螺仪经PID运算后输出的信号相结合的,关键就是这个问题,我一直搞不明白,因为上面我已经假定尾桨在锁尾时的转速不断变化,如要转向时,我没有办法在PID运算的结果加(比如左转)或减(比如右转),从面实现转向.就算我在程式中使得其相加相减,但其结果不一定能使得机机转向,因为如果你加(减)了一个数值,提高(减小)其转速,但在随后的一个PID运算又会马上自动减小(增加)一个数值,从而使得机机根本没有转向,可能我的表达不是很清楚,反正就是我不明白,遥控器过来的转向信号,是如何与PID运算后的结果相融合的.
请教各位了.多谢.

wangxu_victor 发表于 2010-1-7 01:04:37

楼主 我的理解是这样的:直升机的尾桨转速是由大桨决定的通过皮带(还有一种叫什么忘记了)的机械传动所以它的转速是跟大桨的转速一致的 受油门的变化而改变直机的转向是通过尾舵机改变尾桨的桨距实现的(尾舵机驱动连杆的平动) 锁尾陀螺可以感受到姿态的变化输出信号和遥控器gier/yaw通道混空 叠加后的信号用来控制转向 (舵机的信号脉宽在0.5~2.5ms 对应-90~90°的变化) 所以直机转向时尾桨的转速是不受尾舵机控制的 改变的只是连杆偏离中立点的位移用来调整尾桨的桨距

liang_work 发表于 2010-1-7 07:30:32

楼上的多谢了,上面你所说是其中一种模型直升机的驱动方式,现在还有另一种,有两个马达,一个是主马达,驱动主桨,另一个是尾马达,驱动尾桨的.我现在是想了解的是后一种子的驱动控制方式.

fsclub 发表于 2010-1-7 09:00:30

模型有两种控制方式:三五百元的小机用定浆距变转速,千多元的大机用的是定转速(主电机机械传动过来的)。
我认为没有转向信号(脉宽固定在某个值)时,由混控与陀螺自动决定(闭环控制),有转向信号时,转速或者尾浆距的值由锁尾时的脉宽与当前脉宽之差值,经混控计算决定与锁尾时的差值。

liang_work 发表于 2010-1-7 18:16:21

楼上的,我说的就是这种三五百元的小机,你的说法我有些不明白,
1.你说的第一看法"我认为没有转向信号(脉宽固定在某个值)时,由混控与陀螺自动决定(闭环控制)"我也认同,但由于此时电机的转速是由混控与陀螺自动决定,且环境等各方面的因素是不定的,所以尾桨电机的转速不会是一个恒定值,而是一个动态值(时大时小,反正就通过这个动态值实然锁尾).
2.后面的看法我有些不明"有转向信号时,转速或者尾浆距的值由锁尾时的脉宽与当前脉宽之差值,经混控计算决定与锁尾时的差值".
用一个例子说明一下,
1.比如当在没有转向信号时,尾桨锁尾转速的中心值在10左右.但由于各方面的因素是不定的,所以此时的转速只能在8-12之间变化,从而实现动态锁尾.
2.当有转向信号时(先用一个方向说明),我们要增加尾桨的转速才能左转向,比如要求转向的值是1,此时又有两种情况:
    a.刚好混控与陀螺自动决定的尾电动转速为12时,12+1的转速就为13,这样就可以左转向.
    b.刚好混控与陀螺自动决定的尾电动转速为8时, 8+1的转速就为9,这样不但不能左转,反正会右转(因为比锁尾的中心值10小).但现在我发现现在有陀螺仪的小机,锁尾非常稳定,而在小转向时,也非常灵活,好控制,一点也不拖泥带水.所以我很不明白,在最低层的原理上是如何融合这个信号的.

liang_work 发表于 2010-1-8 18:54:21

有那位朋友做过类以东东,给些意见吧,多谢.

liang_work 发表于 2010-1-10 07:32:29

再顶起.

fm007 发表于 2010-1-10 23:01:42

简单来说
两类控制,都是采用的旋转速度反馈控制,正常状态下,给定控制量是0,尾巴保持锁定;当要旋转时,给定相应的速度值,那么控制器就会跟随这个速度值,保持这个速度旋转,当舵松开时,速度再变成零,停止旋转,锁尾!

我觉得是这样的!

liang_work 发表于 2010-1-11 17:48:09

得不到我想要的结果,再顶起.嘿

caosix 发表于 2010-1-12 10:06:12

楼主的意思是::既然“锁了尾”那,怎么又来实现转向吧!!??

这其实就是“陀螺仪”内部的设计思路各有不同——别忘记飞机起飞前“陀螺仪”需要事先确认“中立点”!!

飞机升空之后:方向舵的信号只有在“中立点”附近很小的区间内,陀螺仪才才能进入“内部锁定”状态!!!

一但方向舵信号偏离“中立点”陀螺仪就认为是需要转向,它内部会自动脱离锁尾模式,进入普通模式。这样一来就可以转向。

一但向舵回中::陀螺仪就又开始执行锁尾。。OK..

fsclub 发表于 2010-1-12 10:17:10

一般的陀螺没有锁尾功能。FUTABA GY-401锁尾陀螺仪要一两千元。
http://www.anypop.cn/goods.php?id=340

flyunlimit 发表于 2010-1-12 10:30:30

楼上是正解。

而且,楼主显然是自己找难题了。3、5百的小飞机根本不用考虑什么锁尾,从结构到器件都是是无法满足锁尾的要求的(尤其是尾电机的转速响应)。当心做死你也做不出来。

这个级别的直升机陀螺只要能稳定机头方向,不让它自己飘就可以了,这就是航模直升机的初级陀螺。

初级的陀螺:如果机头转向了,且控制信号无变化,说明是飞机自己飘了,那么立刻制止。制止的力度根据角速度传感器+PID计算的结果。目的:只要飞机不会自己转向就可以。制止住飞机自己转向后,这时机头指哪无所谓。

中高级的锁尾陀螺如9楼所述,在制止住飞机自己转向后(注意,是飞机因为各种原因、非人为控制的转向),机头必须再指回原来的方向。

flyunlimit 发表于 2010-1-12 10:40:21

所以。楼主应该先搞清楚你要做的是那一类的陀螺,是锁尾还是不锁尾。这是产品的定向问题,无关档次和能力,不要为了图个“高级”的面子就非要做。

对你4楼的描述,当信号来了后,你就在目前的转速上加1就是了,比如你说的8+1,但你要知道,既然你当前(瞬时)用8的转速能稳住方向,为什么8+1后就不能了呢?再说,人是活的,看见方向转的不够快,他就不会打杆打的多一些啊!还有,人的微量闭环控制是不经意间的。

有些没做过的东西,先试着做一下,会比想象要来的可靠的多,因为实际的情况是你想不出来的。

liang_work 发表于 2010-1-12 19:21:18

楼上的,可能我的表达不够清楚,我在这里的"锁尾"的意思,就是"的直升机陀螺只要能稳定机头方向,不让它自己飘就可以了",不好意思让大家误解了,现在更正.
    现在我做的机机已经可以基本做到这样的功能,但就是在转向时,不好控制.所以想进一步了解真正产品级的机机,从"锁尾"到转向在程式的最低层是如何切换和融合.现在我的程式这两个状态切换得很不好.反正就是不满意.不象市面上买的几百的机机那样,两种状态切换非常流畅.一摆杆机机马上转向,一回中,马上锁定,不再会摆动,而现在我的机机摆杆时,也不会马上转向,而回中时又不马上在当前位置锁定,要回转少少才锁定.所以认为我的程式在两种状态的切换不融合.所以才在此请教.

liang_work 发表于 2010-1-12 19:50:01

现在说来说去我自已都有些乱了,唉!可能只有做过类似系统的朋友才能明白现在我碰到问题了.

flyunlimit 发表于 2010-1-13 09:08:02

要清楚一点,自己产品的结构真的很好吗?这是一个机械和电子的结合,如果机械部分不好,导致控制系统滞后之类的,PID就复杂了,程序上就要费很大的劲。
如果在仿制,就把你们的电路、结构和别人的飞机互换,很自然就能看出是谁的问题了。

两个模拟的不锁尾陀螺电路,重点看下是如何混合信号的
http://bbs.5imx.com/bbs/viewthread.php?tid=147890&extra=page%3D1
http://bbs.5imx.com/bbs/viewthread.php?tid=44753&extra=page%3D1

caosix 发表于 2010-1-13 15:33:15

13 楼的意思看来是 PID 后期过程的 振荡 比较明显。 但你说的先期反映迟钝,可以有两方面原因:

一是:人工操作的舵杆量本来就是初期较小,或者说你的‘中立区间’太大??
二是:角速度传感器的低通滤波做得太窄,放宽频带试试看。(单要注意:AD转换的时候是否有‘削平’过载)

liang_work 发表于 2010-1-13 17:53:34

好的,多谢各位的朋在的关注。我再试试看。

hyxtc 发表于 2010-1-13 22:53:47

没有那么复杂吧,我们公司现在就做一个四通道的飞机,加了陀螺仪,效果还很好了!呵呵

hyxtc 发表于 2010-1-13 22:56:51

想起来了,把转弯数据加上陀螺仪的参考电压上,在转弯的时候修改一下这PID的参数,效果就很好啦..这个问题,我当初也想了一个星期才搞出来的!

liang_work 发表于 2010-1-14 07:35:54

对了,楼上的,我想了解的就是这一点上的问题"把转弯数据加上陀螺仪的参考电压上,在转弯的时候修改一下这PID的参数,效果就很好啦".上面你的说内容可以更详细一些吗,可以用一个例子定量分析一下吗.多谢了.

radiofcx 发表于 2010-1-22 15:13:06

你应该这样做,有转向时将PID P放小,减小尾桨的调整量,然后再和转向量叠加,只要保证叠加后的量是你要的转向方向量,而且足够大就可以转过来了,没转向就恢复P

liang_work 发表于 2010-1-22 18:20:10

现在真是痛苦,调来调去,就是得不到想要的效果,现在机机在没有转向信号时,尾还是有少量的摆动,且也不能很好的长时间保持在一个方向,摆动一段时间后,又慢慢地转向一侧.加了微调也不行.
现在都有些怀疑自已的思路是否正确,有那位前辈做过这样的系统的,可否详细地说明一下,应如果做才能实现所谓的"锁尾".多谢!
比如PID的取样周期是多少?
PID的输出周期是多少?
每次的周期是不是一定要精确到一样,有些少不同是否可以.比如差上1ms左右.
PID三个参数中是否全用.或只用"P",或只用"P","I".等?
从ENC-03输入的AD信号是否要做一些滤波运算.用什么样的算法最好?

liang_work 发表于 2010-1-31 23:51:48

再顶起.

feng_matrix 发表于 2010-2-1 16:13:30

回复【22楼】liang_work
现在真是痛苦,调来调去,就是得不到想要的效果,现在机机在没有转向信号时,尾还是有少量的摆动,且也不能很好的长时间保持在一个方向,摆动一段时间后,又慢慢地转向一侧.加了微调也不行.
现在都有些怀疑自已的思路是否正确,有那位前辈做过这样的系统的,可否详细地说明一下,应如果做才能实现所谓的"锁尾".多谢!
比如PID的取样周期是多少?
PID的输出周期是多少?
每次的周期是不是一定要精确到一样,有些少不同是否可以.比如差上1ms左右.
PID三个参数中是否全用.或只用"P",或只用"P","I".等?
从ENC-03输入的AD信号是否要做一些滤波运算.用什么样的算法最好?

-----------------------------------------------------------------------

“锁尾”只需要:陀螺仪采样 + 滤波 + PI即可实现。

你让GY-401分别工作在普通模式与AVCS模式,然后用示波器看一下输出脉宽的变化情况就知道了:

普通模式:
    只有P,只反馈角速度,就是说直升机尾部偏转的瞬时,系统会有负反馈;停止偏转,就没有反馈
AVCS模式:
   加入I,出P反馈量外,系统对一段时间内角速度的积分也反馈,即便角速度停止,只要系统没有反向运动过,反馈一直存在

微分D反馈量在这种快速惯性应用中作用似乎不大。

liang_work 发表于 2010-2-1 17:49:22

多谢楼上的。
还有下面的问题没有明白:
1。比如PID的取样周期是多少?
2。PID的输出周期是多少?
3。每次的周期是不是一定要精确到一样,有些少不同是否可以.比如差上1ms左右.
4。上面提到要加滤波,但用什么样的算法最好?
5。现在我系统中,没有办法设定PID的输出周期,只能在其它的动作完成后(其它的要求实时性更高)。大约间隔4MS左右,但每次都不尽一样,有一定的误差,相差一般0。5-0。1MS左右,周期不同不知会不会对PID的输出控制有影响。(由于现在机机在锁定时,在某时尾会特然跳一下,不知是不是周期不周造成的)
6。在我的系统中,只用P参数时,摆动很大,调大调小P参数都不行,加了I和D后,摆动小些,
7。在机机一开始时飞行调中点后能锁定一段时间,但过一段时间,又会慢慢偏转,我测了一下ENC-03的输出,会随工作时间而变化,所以在开始调零后,到工作一段时间后,零点又会变化,所以又会偏转,锁定不了,现在我的MCU是直接取ENC-03输出信号,没有加高通低通滤波,也没有在软件上滤波。但我发现一些成品机上,同样是直接取ENC-03的信号,锁定也很好。分析了它的电路,好象也没有什么特别的地方,只是用另一个AD端口加两个10K电阻,分压取样电池的电压(不知这样是否用于修整ENC-03的零点的,且是如何修正)。
8。另在成品机上,我也发现了,MCU和ENC-03是由一个3V的稳压供电的(但我实测了它的ENC-03输出,同样也会在工作一段时间变化,但它的机机却不会再偏转,在一开始调好零后。),而我现在的机机是直接用电池供电的。

各位前辈再指点一下吧。多谢!

liang_work 发表于 2010-2-3 18:18:10

顶起.

hyxtc 发表于 2010-2-3 22:47:38

我的四通道飞机,现在效果就是没有突然变化油门的时候,飞行很好(不会自己转动),当油门一直上下快速变化的时候,尾巴就会有点动,搞了几个星期了还是没有解决问题.

hyxtc 发表于 2010-2-3 22:50:21

to 20楼:
当转弯的时候修改参考点的电压,相当于给陀螺仪一个固定的偏差,通过PID调节,转弯的响应就很快了.我现在的遇到的问题如上楼所述,搞了几个星期,还是没有进展.有机会多多交流!你的飞机有上楼所说的问题吗??

hyxtc 发表于 2010-2-3 22:53:49

to9,10楼:
我在成本100来元的四通道飞机上做了锁尾功能,效果很好,可惜客户不要,要那么低级的锁尾.我用EPSON的陀螺仪,100deg/s的那种.

liang_work 发表于 2010-2-4 00:12:51

To 27楼
"我的四通道飞机,现在效果就是没有突然变化油门的时候,飞行很好(不会自己转动),当油门一直上下快速变化的时候,尾巴就会有点动,搞了几个星期了还是没有解决问题. "

可以说说,你的飞机,是如何实然在没有突然变化油门时,不会自转(主要是陀螺仪中点变动的问题,中点变化时也相当给了一个转向信号).如何保证陀螺仪的中点变化不会影响锁定,是用的那一种陀螺仪芯片,是ENC-03吗.你是在硬件上,还是软件上解决中点变动的问题。EPSON的陀螺仪芯片,我测试过,也会有中点变化的问题。
现在转向时,我也是调节参考点的电压,但机机的转向是一跳一跳的.不顺(现在我认为是P值过大,由于自转没有解决,就没有进一调试。).
加油门时,我的机机也是会有摆动.也不稳定.
现在我必需先解决机机自转的问题,才能便好地查找其它问题的原因。
唉,很难找到一个愿意交流的人了。

mashan75 发表于 2010-2-4 08:38:34

问题1.在上面的情况时,我认为尾桨的转速不是一个固定值,而是经PID运算后的一个时大时小值,不断保持一个动态的平衡(就算主桨的转速是恒定的时也是这样),不知我这样理解是否正确?

正确

问题2.当有转向信号入来时,其转向的信号是如何与陀螺仪经PID运算后输出的信号相结合的?

无转向信号时,脉宽是1.5ms(你总该知道1.5是什么意思吧),这时陀螺仪经PID运算后输出信号
有转向信号时,脉宽不是1.5ms,这时陀螺仪不运算,直接输出脉宽
这是你要的问题的解吗?

liang_work 发表于 2010-2-4 12:31:34

多谢楼上的.你说的我明白.应也是我想要的正解,我本来也是这样认为的,只不过效果不是很好,有些怀疑,所以想得到证实.
现在还有一个关键的问题没有解决,这个问题没有解决,其它的问题很难得到完善.就是陀螺仪芯片工作一段时间后,中点变动.使得机机自转.从我拆解的成品机分析,他这部份的线路很简单,陀螺仪信号->串2.2K电阻->并100K电阻和103的电容下地->串56K电阻->并104电容下地->入MCU的AD端口,另MCU和陀螺仪用3V的稳压供电.就这么简单.(还有另一个AD端用两个10K的电阻接3V和接地,不知是电池低压保护用还是中点修正用.)但我实测他上面的线路AD端的陀螺仪输出电压,工作一段时间后,也会变动.所以我分析可能其中点变动不是用硬件解决的,而是在软件上修正.

liang_work 发表于 2010-2-4 18:24:27

To 29楼
加你的QQ没有同意.我的新Q:1299423514

hyxtc 发表于 2010-2-4 22:56:17

to 33:你可以加我私人的(408882752),我刚加了你的,没有通过来的.

to 30: 我使用是EPSON的3500B,用参考输出的电压作为PID的设定值,输出电压作为PID的输入值,PID的结果就是调整两个马达的速度,一个加,另外一个减就可以了,至于你说的转弯的时候一跳一跳应该是积分系数太大的缘故,你可以去掉积分和微分项看看效果.
下面是PID的程序,请参考:

int16_t PID(int16_t setpoint, int16_t sample)
{
    static int16_t ek_1=0;
    static int32_t errorsum=0;
    int16_t error;
    error=setpoint-sample;   
    erorsum+=error;        //积分项,控制飞机不要自己慢慢的移动
    return ((error*pk+errorsum*ki+(error-ek_1)*kd)/fat);   //位置式PID公式,fat为一个常数
}

liang_work 发表于 2010-2-5 07:50:48

好的,多谢!白天上班,晚上再和胸细聊.

feng_matrix 发表于 2010-2-5 09:29:03

回复【25楼】liang_work
多谢楼上的。
还有下面的问题没有明白:
1。比如PID的取样周期是多少?   
2。PID的输出周期是多少?   
3。每次的周期是不是一定要精确到一样,有些少不同是否可以.比如差上1ms左右.   
4。上面提到要加滤波,但用什么样的算法最好?
5。现在我系统中,没有办法设定PID的输出周期,只能在其它的动作完成后(其它的要求实时性更高)。大约间隔4MS左右,但每次都不尽一样,有一定的误差,相差一般0。5-0。1MS左右,周期不同不知会不会对PID的输出控制有影响。(由于现在机机在锁定时,在某时尾会特然跳一下,不知是不是周期不周造成的)
6。在我的系统中,只用P参数时,摆动很大,调大调小P参数都不行,加了I和D后,摆动小些,
7。在机机一开始时飞行调中点后能锁定一段时间,但过一段时间,又会慢慢偏转,我测了一下ENC-03的输出,会随工作时间而变化,所以在开始调零后,到工作一段时......
-----------------------------------------------------------------------

问题1、2:PID的周期(包含输出周期)与采样周期是两个概念,未必要一致。一般ADC频率在器件允许的条件下可以快些,小飞机惯导算法50-1000SPS的采样率都是合适的范围。PI输出控制周期内环大致在10HZ-100HZ,外环在10HZ以上。简易玩具可只做内环增稳不做外环。
3:积分间隔周期Dt是否要求准确,与算法有关,不可一概而论。如果显式的用SUM(角速度×Dt)积分求解姿态角度,Dt就要求相对精确些。仅仅做负反馈增稳就要求不是那么高了。
4:惯性导航的基础就是滤波,无论是硬件的还是软件的。一般惯性应用中,有用的信号多是低频部分,高频多是噪音,所以最常用的算法就是低通滤波。最简单的加权平均、1阶Butterworth、Bartlett Window FIR filter都是合适算法,当然这些低通滤波也都可以用运放+RC硬件实现。
5:此问题与3相似,是否有影响关键看算法本身怎么设计的。
6:P参数只在系统有较大角速度时反馈作用明显,当系统在平衡点附近时P的反馈量就很小了,P过小反馈不足,但一味加大在平衡点附近的P参数,又会导致过调,所以一般要用PI结合才能稳住,I量的累加作用可以放大平衡点附近的误差量,并反馈之。
7:只有内环PI的稳定算法必然会有累积误差现象,这是正常的,只是不同人做的系统误差增涨的快慢不同而已。如果没有外闭环算法加入,那么减少误差的办法无外呼就是:A.提高系统采样精度;B.加强低通滤波器设计;C.减少积分周期Dt增加运算精度等等...

feng_matrix 发表于 2010-2-5 09:36:06

【34楼】hyxtc 华翼翔电子

微分D量在锁尾此类应用中,贡献很小,舍去也罢。
积分I量不可去掉,I参数应该与P参数结合调整,在现实系统中实验得到。
一个只有P的系统只能反馈角速度,这种陀螺仪或直升机操控者非常难受,做出来就是给人骂的。

feng_matrix 发表于 2010-2-5 09:41:42

【32楼】 liang_work

同样是低通滤波,可以采样前用运放实现模拟信号处理,也可以采样后对离散量做软件数字滤波。
硬件简单不代表系统就简单,系统设计的经验往往体现再软硬结合时各自的取舍与侧重。

mashan75 发表于 2010-2-5 09:57:37

回复【32楼】liang_work
多谢楼上的.你说的我明白.应也是我想要的正解,我本来也是这样认为的,只不过效果不是很好,有些怀疑,所以想得到证实.
现在还有一个关键的问题没有解决,这个问题没有解决,其它的问题很难得到完善.就是陀螺仪芯片工作一段时间后,中点变动.使得机机自转.从我拆解的成品机分析,他这部份的线路很简单,陀螺仪信号->串2.2K电阻->并100K电阻和103的电容下地->串56K电阻->并104电容下地->入MCU的AD端口,另MCU和陀螺仪用3V的稳压供电.就这么简单.(还有另一个AD端用两个10K的电阻接3V和接地,不知是电池低压保护用还是中点修正用.)但我实测他上面的线路AD端的陀螺仪输出电压,工作一段时间后,也会变动.所以我分析可能其中点变动不是用硬件解决的,而是在软件上修正.
-----------------------------------------------------------------------

理解你的意思:就是陀螺仪芯片工作一段时间后,中点变动.使得机机自转,是吗?

机机自转的原因 是你使用了直流电信号,陀螺是使用高频信号的,所以你的(他这部份的线路很简单,陀螺仪信号->串2.2K电阻->并100K电阻和103的电容下地->串56K电阻->并104电容下地->入MCU的AD端口,另MCU和陀螺仪用3V的稳压供电.就这么简单)不是正确用法

给你一个参考电路

http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_532537.JPG
(原文件名:未命名.JPG)

hyxtc 发表于 2010-2-5 10:17:19

to 37:实际的情况证明你的说法是正确,不管我怎么调微分项系数,对整个系统的都没有太大的影响.按照经点的PID的,微分项应该可以加快系统的动态响应,实际情况对偏差的突然变化是没有什么作用(也是在前面我所说的,在油门上下猛的动的时候,尾巴总是有点振动的),这个问题,我搞了很久,还是不骨解决,有请"feng_matrix 悟"指导一下.

liang_work 发表于 2010-2-5 18:40:48

To以上各位,多谢了!
    ENC-03R的典型应用线路,我没有实测过,但自已用proteus模拟过,确是如不少网友说的,有一个反冲电压.且现在我的机机增加这部分电路不是很现实.另我拆解分析机机的陀螺仪部份线路,可能不是正确的方法,但其效果却是行之有效.非常好.用的MCU也只是EM78P259NS014.有四路12位的AD,但只用了两路,一路用于陀螺仪采样,另一路用于电池低压保护(我已实验证实了),再没有其它的特别部分.所以我非常想分析出来其如是实现的.关于尾跳动的问题,我想如果我能很好的解决一段时间后自转的问题.再慢慢调PID的参数.我想应是可以解决的.
To hyxtc 华翼翔电子:
方便回答一下下面我的问题吗?
1.你的陀螺仪采样是多少.现在我用的是10位,不知够不够.
2.你每次采样陀螺仪的周期是多少,是固定的周期吗?我周期大约是5MS左右.周期不尽相同,
3.PID输出的周期是多少,也是固定的吗?我的周期同上.采样计算后马上输出.
4.上面你说到PID的设定值是用陀螺仪的参考电压,这点很不明,我用的设定值是ENC-03的中点值,另在程式中再加以修正.
5.你的MCU采样陀螺仪,是直接采样,还是中间部份有线路加以处理.我的是直接取样ENC-03的输出.没有用到参考电压
6.最关键的是:你是如何处理陀螺仪中点的变动,是用硬件还是软件.
7.桨的PWM分多少级,周期是多少.我的分50级,周期5MS.
多谢了.

hyxtc 发表于 2010-2-5 21:16:21

to 41:10采样,采样周期1MS左右,PID周期2MS左右.陀螺仪信号的采样只加一阶低通滤波.
至少你上面提到的6,我使用是EPSON的陀螺仪,没有这样的问题,理论个说,不管怎么样,只要参考输出电压与信号输出端电压相等,就认为陀螺仪没有检测到转到的信号 PWM分255级,1K左右的频率吧.

还是想请feng_matrix 悟指导一下我在上上楼提出的问题,谢谢 !

liang_work 发表于 2010-2-5 22:42:24

多谢.

fm007 发表于 2010-2-6 13:49:00

回复【42楼】hyxtc 华翼翔电子
-----------------------------------------------------------------------

可以考虑加入前馈控制,就是将油门变化量(扰动)通过一定得比例因子引入到PID输出上,增加系统的动态响应!

liang_work 发表于 2010-2-7 11:56:52

现在程式修整了一下,效果好了很多,在开始到结束,中点还是有一点变化,还有是一点点自转,但已好很多.另摆动也好很多,多谢各位,再试下先.油门上下的变化,摆动的情况跟正常情况下一样.

liang_work 发表于 2010-2-11 19:40:12

顶起.

hyxtc 发表于 2010-2-23 10:24:59

to 46:中点漂移的问题,你是怎么解决的?

sctwp 发表于 2010-2-23 11:49:21

顶起

liang_work 发表于 2010-2-23 12:04:41

电源地的问题.

yelong98 发表于 2013-3-5 11:28:36

liang_work 发表于 2010-2-23 12:04 static/image/common/back.gif
电源地的问题.

今天看到才看到这个帖子,其实现在有很多小4通飞机,两个马达,一个主旋翼一个尾旋翼,锁尾锁得很好,飞机才100多块,比如伟力V911之类的,这种属于定螺距变速的锁尾方式。再高级一点的250或者450级别的直升机就是尾桨机械传动的定速变螺距的锁尾方式了

索达客 发表于 2014-10-7 15:17:46

feng_matrix 发表于 2010-2-5 09:29
回复【25楼】liang_work
多谢楼上的。
还有下面的问题没有明白:


您能简单说下,内环、外环PID的区别吗?

索达客 发表于 2014-10-7 15:24:14

我一直想探究人家究竟是如何锁尾的,手头上有一架美嘉新T55遥控直升机(我抄了他的电路板,跟楼主描述的差不多),飞机的锁尾做的非常好,一点都不拖泥带水。 而我做的的直升飞机用尽各种办法始终达不到人家的锁尾的水平。 我使用MPU6050陀螺仪 STC15F2K60S2单片机。

索达客 发表于 2014-10-7 15:26:25

yelong98 发表于 2013-3-5 11:28
今天看到才看到这个帖子,其实现在有很多小4通飞机,两个马达,一个主旋翼一个尾旋翼,锁尾锁得很好,飞 ...

是呀,您觉得他们的锁尾算法输入量是  角度还是角速度? 我使用MPU6050,加卡尔曼滤波 可以得到角度和 角速度
页: [1]
查看完整版本: 请教各位关于模型直升机的锁尾和转向的控制.