5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 70305|回复: 111
打印 上一主题 下一主题

高性能锁尾陀螺仪的原理及设计

[复制链接]
跳转到指定楼层
楼主
发表于 2009-2-12 15:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
高性能锁尾陀螺仪的原理及设计
By winster
前言
此文是本人入模以来对遥控电动直升机机载电子设备研究、认识、设计心得、技术发展与展望系列文章中的一篇,以后还会陆续推出三轴飞行平衡仪、电调、舵机、遥控发射/接收的篇章,目的在于与模友们共同学习遥控电动直升机机载电子设备知识,了解锁尾陀螺仪的工作原理及使用,并与有兴趣自制设计飞行陀螺仪的模友共同探讨研究,共同进步。考虑到篇幅有限,本文部分内容已删减。
一、陀螺仪原理介绍
陀螺仪的原理就是,一个旋转物体的旋转轴所指的方向在不受外力影响时,是不会改变的。人们根据这个道理,用它来保持方向。然后用多种方法读取轴所指示的方向,并自动将数据信号传给控制系统。
现代陀螺仪是一种能够精确地确定运动物体的方位的仪器,它是现代航空,航海,航天和国防工业中广泛使用的一种惯性导航仪器。传统的惯性陀螺仪主要是指机械式的陀螺仪,机械式的陀螺仪对工艺结构的要求很高,结构复杂,它的精度受到了很多方面的制约。自从上个世纪七十年代以来,现代陀螺仪的发展已经进入了一个全新的阶段。70年代提出了现代光纤陀螺仪的基本设想,到八十年代以后,光纤陀螺仪就得到了非常迅速的发展,与此同时激光谐振陀螺仪也有了很大的发展。由于光纤陀螺仪具有结构紧凑,灵敏度高,工作可靠等等优点,所以目前光纤陀螺仪在很多的领域已经完全取代了机械式的传统的陀螺仪,成为现代导航仪器中的关键部件。和光纤陀螺仪同时发展的除了环式激光陀螺仪外,还有现代集成式的振动陀螺仪,集成式的振动陀螺仪具有更高的集成度,体积更小,也是现代陀螺仪的一个重要的发展方向。
飞行方向陀螺仪的作用是控制航向,并能自动修正方向偏差,使飞行器沿预定的航线飞行。
传统的航模用陀螺仪一般为纯硬件速率控制模式,即采用P比例控制线性补偿技术,根据陀螺传感器实时检测机体旋转加速度以模拟信号输出,该信号经硬件电路跟踪放大并与一个多谐振荡器产生的方波共同整形,形成一个角位置偏差补偿控制信号,然后叠加到尾舵机控制信号上,一同控制尾舵机动作,从而实现自动修正航向。其存在的缺陷:由于仅采用P比例控制技术,对于比例控制而言,虽然控制响应速度快,但无法消除自控制误差,且由于机体旋转速度受环境影响变化快且复杂,即使硬件电路设计了PLL锁相环等自动跟踪电路,硬件电路仍然控制精度不高。那每次变化调整产生的稳态误差就不可避免,只要存在控制误差,则随时间的增长,累积到一定程度,其值可能变得很大,足以造成机体角位置漂移,也就是不锁尾或不锁头了。
而锁尾陀螺仪在原有技术的基础上通过增加了软件算法实现对控制误差的修正,使机体角位置飘移的现象得以大大的抑制,真正做到了锁尾。
二、锁尾陀螺仪的硬件设计方案:
锁尾陀螺仪控制系统的硬件应完成以下的任务:
1、
接收和执行来自遥控发射/接收机送来的机身旋转控制信号;

2、
自动检测判断来自遥控发射/接收机的机身位置中立信号;

3、
根据单轴陀螺传感器检测的机身旋转信息,选用速率控制系统或AVCS角度向量控制

系统对机体旋转位置进行自动控制;
4、
通过开环模式驱动尾舵机的动作实现机体旋转位置的控制和调整;


评分

参与人数 1威望 +2 收起 理由
cab122 + 2 很给力!

查看全部评分

欢迎继续阅读楼主其他信息

沙发
 楼主| 发表于 2009-2-12 15:10 | 只看该作者
硬件接口设计的基本方案:
1、高性能单轴陀螺传感器(模拟信号输出)+仪用放大器+电压跟随器+A/D转换器(模拟或数字输出)+MCU微控制器
2、高性能单轴陀螺传感器(模拟信号输出)+仪用放大器+电压跟随器+MCU微控制器(内置A/D转换器)
3、高性能单轴陀螺传感器(数字信号输出)+MCU微控制器
仪用放大器提高了采样电路的抗干扰能力,大大抑制共模干扰。电压跟随器起到缓冲和隔离,防止A/D采样时可能出现的模拟信号电压下降或缺失。经性能、成本、体积等方面考虑,本系统采用了方案3,既提高了性能,又简化了硬件电路,使之易于实现。
陀螺传感器的选用:陀螺传感器的种类主要有机械式、压电式、激光式、光纤式。航模陀螺仪应用较多是压电式。随MENS技术的发展,小型化、性能更佳的单轴、多轴陀螺传感器陆续面市。陀螺传感器的选用应注意最大量程和最小量程指标,一般最大量程指标取300度/秒就可以满足要求了。抗震性好,小型化,信号输出方式(数字信号输出为佳)。
MCU微控制器的选用:32位微控制器在速度、功能,性能方面大大优于8位或16位机,近年来随着单片机技术的快速发展,各种价格低廉、速度更快、功能强大的32位机相继推出, 32位机的应用呈主流趋势发展。综合各类32位单片机的功能、性能、价格、功耗、抗干扰能力等方面的因素,并结合锁尾陀螺仪应用要求、场合及所处环境,本系统主MPU选择了32位STR71X系列微控制器,STR71X系列微控制器基于高性能的ARM7TDMI内核,由于内嵌ARM内核,所以STR71X与所有的ARM工具和软件兼容。同时包含片上高速单电压FLASH存储器(可多次编程)和高速RAM存储器,以及包括USB、CAN、SPI、I²C在内的功能强大的外设资源,易于系统功能的扩展,性价比高。
3
 楼主| 发表于 2009-2-12 15:11 | 只看该作者
三、锁尾陀螺仪的软件设计
软件概述(以下部分内容删减)
1、软件运行环境
软件环境建立在uCOS-II操作系统下,利用其抢占式的任务调度方法,增强了整个系统的实时性,并且,利用任务的机制来实现系统模块,可以更好的编写和管理各个系统功能以及它们之间的交互。
2、中断服务
本系统初步设计需要使用5个中断源,来处理内部多个定时要求和外部器件的读写请求。
3、任务建立
本系统初步设计6个任务,任务0由main函数创建,其他任务由任务0创建。
4、通信机制       
本系统设计以下信号量和邮箱
5、流程图
6、程序任务说明
本控制系统的控制任务主要包括:跟踪机体的位置和旋转方向,控制尾舵机动作,自动维持机身在X-Y平面角度位置稳定和按遥控命令旋转定位;
4
 楼主| 发表于 2009-2-12 15:11 | 只看该作者
工作原理:来自遥控发射/接收机的命令使本控制系统按手动或自动方式运行,当遥控发射/接收送来的方向舵信号在中立点范围,系统工作在自动方式,偏离中立点一定的幅值(该偏离范围可编程设定,防止中立点信号波动误启动手动控制方式),手动的方式被启动,将使尾舵机按遥控送来的方向舵信号以预置频率按梯形控制曲线计算的PWM信号驱动顺时针或反时针转动到预定位置,带动尾桨距改变,实现航向调整动作,直到遥控发射/接收送来的方向舵信号回到中立位范围为止,系统才重新进入自动方式。自动方式将启动AVCS角度向量控制系统或速率控制系统工作(自动方式时选用AVCS角度向量控制系统还是速率控制系统可通过感度线信号由控设定或通过USB编程口由计算机来设定),AVCS采用“位置”PID算法使机身定位,稳定。速率控制系统则采用P比例控制。
主程序初始化:陀螺仪在上电后程序先初始化,初始化程序的内容大部分与选用的MCU有关,就不作一一解释了,此处只作一点补充说明。在对机体进行精确角度位置控制之前,必须建立起一个原始的位置参考点,在程序中这个原始的位置参考点就是上述的中立点(也就是控的方向舵回中,微调使尾舵机的摇臂垂直时接收机送来的中立点信号),这个中立点信息将在初始化程序中记录并存储在MCU的EEPROM中。
控制算法选择:对于飞行航向自动控制有多种算法应用,如飞行自适应控制、模糊智能、飞行鲁棒性控制,考虑到本系统主要应用于模型直升机,简单实用等方面因素,AVCS系统控制最终采用了常用的“位置”PID控制算法,即比例P-积分I-微分D算法。PID算法包括三项:比例项,积分项和微分项。比例控制是根据被控制量期望值与实测值之差驱动被控对象;积分控制是根据控制误差的积分去驱动被控对象;微分控制是根据控制误差的微分去驱动被控对象,根据系统的品质要求,为上述3个控制项选择合适的比例常数,Kp、Ki和Kd 并把它们综合起来,产生一个综合的控制作用,就构成了PID控制算法。对于比例控制而言,比例常数Kp值大则控制精度高,响应速度快,但Kp值过大会导致超调量增大和过渡过程时间拉长,还可能造成系统不稳定。积分控制可以消除稳态误差,因为只要存在控制误差,则随时间的增长,其积分值将变得很大,所产生的控制作用足以消除这一误差,但积分常数Ki过大,容易产生大的超调和震荡,使系统控制品质变坏。一般采用PI控制通常就可获得较好的控制效果。如果要求一个快速响应的系统,则还需微分控制,它的作用类似很多机械系统中的阻尼器的作用,它产生的控制作用正比于控制误差的变化率(微分),因而对系统的扰动将有较快的响应。但过大的微分常数也将造成系统的不稳定。
基于最后飞行测试结果,最终本系统只运用了PI控制,同时对PI算法作了两点修正以改进系统动态响应品质和系统稳定性:
1、        对积分项设置了限幅值,以免因积分项过大而造成系统不稳定。
2、        当控制误差改变符号时,对积分项清零,以进一步提高系统稳定性。
两条梯形控制曲线的应用:在手动方式时,由遥控发射/接收机的方向舵摇杆来控制航向(机体的旋转,左旋和右旋),机头由一个角位置移动到另一个角位置时,如果尾舵机空心杯电机只用一个速度来执行,往往机体旋转不会有好的控制效果。而一条合理的速度控制曲线将会使尾舵机由一个角位置平稳移动到另一个角位置,且能减少电机的功耗。常见的速度控制曲线有3类:梯形,三角形和双曲线,双曲线控制曲线最理想,最节省能量,在两端可提供平滑的加速和减速,但实时计算曲线大大增加了CPU的开销。三角形的计算比双曲线简单得多,但在三角形的顶部,过渡得很不平滑。梯形曲线则是上两种曲线的折中,所以本系统选用了梯形曲线。
由于直升机有主旋翼旋转产生的反扭力作用,所以方向舵控制左旋和右旋时在同样舵量下旋转速度会不一样,这样就运用了左旋梯形控制曲线和右旋梯形控制曲线两条控制曲线。
5
 楼主| 发表于 2009-2-12 15:12 | 只看该作者
四、高、中端锁尾陀螺仪功能项使用对比说明
     以下各功能项对比上述程序设计帮助大家理解程序设计
1、        SERVOTYP-----尾舵机种类选择,
陀螺仪控制尾舵机信号为预置频率按梯形控制曲线计算的PWM信号,驱动顺时针或反时针转动到预定位置,带动尾桨距改变,实现机体旋转动作。由于各厂家的舵机接受PMW信号的频率有别,所以需预置频率。
2、        GYDIRECT-----修正方向选择
3、        MID-TRIM-----尾舵中立点微调,此设置功能代替了遥控发射机里方向舵的微调功能,所以遥控发射机里方向舵包括微调应回中或以后不能再去调整。
4、        L-LIMIT-----尾舵左行程极限位置设定
5、        R-LIMIT -----尾舵右行程极限位置设定
6、        RPIRGAIN-----右旋 刹車柔软度,左旋梯形控制曲线下降斜率设置
7、        LPIRGAIN-----左旋 刹車柔软度,右旋梯形控制曲线下降斜率设置
8、        RUD-GAIN-----搖桿感度
9、        ACC-EXP-----加速度曲線,手动方式梯形控制曲线上升斜率设置
10、        DEC-EXP-----减速度曲線,手动方式梯形控制曲线下降斜率设置
11、        DEADBAND-----搖杆死区,中立点偏离范围设定,防止中立点信号波动误启动手动控制方式
12、        N-RUDEXP -----普通模式搖杆曲线
13、        A-RUDEXP-----鎖定模式搖杆曲线
五、总结
锁尾陀螺仪的控制算法采用PI控制就可获得较好的控制效果,陀螺仪使用功能项设置本人倾向通过USB口由电脑进行设置,更直观。陀螺仪工作在普通模式时感度大小确定P比例控制比例常数Kp值,工作在锁尾模式时感度大小确定PI比例积分控制积分常数Ki值。应用时应先确定Kp值,然后再确定Ki值。本文所述的陀螺仪针对皮带传送和轴传动的尾变距模型直升机设计,与尾电机固定尾桨距模型直升机陀螺仪在驱动电路和程序控制上略有区别。
由于水平有限,文中难免存在不少问题、缺点,希望模友们给予支持和帮助,并欢迎大家批评指正,谢谢!

评分

参与人数 1威望 +2 收起 理由
☆奇多☆ + 2 发贴鼓励,谢谢分享!

查看全部评分

6
发表于 2009-2-12 15:59 | 只看该作者
请教一下专家, 我有一个PG800的陀螺飞行偶尔会出现陀螺仪完全不起作用, 只能靠手维持舵量, 是不是你所说的
DEADBAND-----搖杆死区,中立点偏离范围设定,防止中立点信号波动误启动手动控制方式
所造成的?
7
发表于 2009-2-12 16:29 | 只看该作者

不懂这么专业的文章,只能帮顶

:em15:
8
发表于 2009-2-12 16:32 | 只看该作者
好多字,不想看,我决定这个钱就让厂商赚了
9
发表于 2009-2-12 16:34 | 只看该作者
好文,不错! 分析的浅显易懂!

谢谢
10
发表于 2009-2-12 16:42 | 只看该作者
能把流程图放上来瞧瞧吗?借鉴一下!!!TKS!!
11
发表于 2009-2-12 19:25 | 只看该作者

砖家那么有理论.上个陀螺仪程序来用下.光说不练.

12
发表于 2009-2-13 00:11 | 只看该作者
很专业!
13
 楼主| 发表于 2009-2-13 21:54 | 只看该作者
回复7楼,我也不是什么"专家",呵呵!谢谢!只是一个狂热直升机爱好者.
你分析是对的,可调大中立点死区范围.切记陀螺仪上电工作后不要再调整控的方向舵微调和陀螺仪MID-TRIM项-----尾舵中立点微调,若在陀螺仪上电工作后调会造成方向中立点偏移(即与陀螺仪内存中立点信号不符),就会出现你说的现象.
14
 楼主| 发表于 2009-2-13 22:11 | 只看该作者
回复铁鸟:
ACC-EXP-----加速度曲線,數值越高,從靜止到指定自旋速度時間越长、更柔顺。
DEC-EXP-----減速度曲線,數值越高,從自旋到靜止速度時間越长、更柔顺。

以上功能让机体旋转速度运行于梯形曲线,在手动控制机体旋转时,机头从一个位置启动到另一个位置停止,如果都是同一个旋转速度,控制效果会不好,感觉旋转转向很生硬,同时不利于精确定位.
15
 楼主| 发表于 2009-2-13 22:48 | 只看该作者
再回铁鸟:上述回复若对于数码舵机,比如需控制舵机A位置--B位置时,A-B之间再选取C,D点位置,A到C后延时,然后C-D,再延时,最后D-B位置,则机体旋转速度梯形曲线形成.
16
发表于 2009-2-14 17:28 | 只看该作者
好象毕业论文,理论通过,但做起来有点难。
17
发表于 2009-2-14 17:45 | 只看该作者
好文章,透澈
18
发表于 2009-2-15 22:39 | 只看该作者
:em26:

评分

参与人数 1威望 -2 收起 理由
☆奇多☆ -2 【灌水帖】请勿灌水,谢谢合作!版规请看: ...

查看全部评分

19
发表于 2009-2-23 10:02 | 只看该作者
精辟,好帖!:em07:
20
发表于 2009-2-24 20:47 | 只看该作者
搂主有没有自制成功?自制成本是多少?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表