简易陀螺仪惯性制导系统设计

您所在的位置:网站首页 陀螺仪设计图纸怎么做 简易陀螺仪惯性制导系统设计

简易陀螺仪惯性制导系统设计

2024-07-01 15:38| 来源: 网络整理| 查看: 265

引言

惯性导航系统是一门涉及精密机械、计算机技术、微电子、 光学、自动控制、材料等多种学科和领域的综合技术叫应 用需求的增长是导航技术拓展新方向的源动力,现代科技的 蓬勃发展支撑着惯性传感器技术的不断进步,推动着惯性导 航技术应用于更宽广的领域。而陀螺仪作为一种重要的惯性 敏感器,是构成INS (Inertial Navigation System)的基础核心 器件,INS的性能在很大程度上取决于陀螺仪的性能。因此, 随着陀螺仪等惯性器件的完善,以惯性导航为基础的组合导航 系统将成为未来导航系统的主要发展方向。

1陀螺惯性制导的发展趋势

在惯性制导系统中,利用激光来作为方位测向器的陀螺 逐渐取代传统的机械陀螺已是大势所趋,目前世界上许多国家 都在研制激光陀螺,美国的霍尼威尔、利顿、斯佩里等公司 均已取得明显成绩。对于不同的军事需求,可应用不同精度的 陀螺叫例如:用于战略导弹、空间飞行器、自主式潜艇导航、 高能激光武器的瞄准、跟踪等,需要漂移角速度小于0.5。/h 的高度惯性陀螺;用于测定空中、地面、海上平台的导航系统 和姿态基准系统等,则需要漂移角速率0.001 5〜0.5 °/h的 中等精度的惯性陀螺;随着不同关键理论和技术突破的先后 不同,发挥日益显著的作用。

2系统设计

2.1系统组成与结构

本系统由MPU-6050三轴陀螺仪角加速度传感器,单片 机,放大驱动模块构成。其中,MPU-6050三轴陀螺仪角加速 度传感器用于测出模型直升机偏离原来航向的角速度,它的信 号由单片机模块采集,再由单片机中的算法程序将直升机偏离

收稿日期:2014-08-23 正常轨道的角速度转换角度,然后将输出信号用放大驱动模 块放大,产生能够驱动电机的左控或右控信号。当信号为左 控信号时,右螺旋桨转动;当信号为右控信号信号时,左螺 旋桨转动,从而实现直升机航向的实时调整。系统设计框图 如图1所示。

简易陀螺仪惯性制导系统设计

2.1.1传感器模块

传感器模块使用MPU-6050三轴陀螺仪角加速度传感器, 用于测出模型直升飞机偏离原来航向的角速度。MPU-6000为 全球首例整合性6轴运动处理组件,相较于多组件方案,减 少了大量的包装空间。MPU-6000整合了 3轴陀螺仪、3轴 加速器。它的角速度全格感测范围为±250、±500、±1 000 与±2 000 ° /sec (dps),可准确追踪快速与慢速动作。产品 传输可透过最高至400 kHz的I2C或最高达20 MHz的SPI, 在导航系统中拥有明显的优势。

2.1.2单片机模块

系统中单片机采用STC公司的STC89C52。它是一种低 功耗、高性能CMOS 8位微控制器,具有8 KB在系统可编 程Flash存储器。它使用经典的MCS-51内核,但是做了很 多的改进使得该芯片具有传统51单片机不具备的功能。在单 芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的 解决方案。非常适合低功耗,低成本的应用。

2.2电路设计

2.2.1单片机电路

该模块通过积分程序,将直升机偏离原来航向的角速度 转换为角度。从而驱动电机转动,调整飞机的航向。

该模块的硬件部分主要由单片机最小系统构成,其中晶 体振荡器是由一个晶振和两个瓷片电容组成的,它是单片机系 统正常工作的保证;单片机的RST端口连接复位电路。它的 作用是将单片机内部各电路的状态恢复到一个确定的初始值, 并从这个状态开始工作。VCC端口连接供电电路,单片机控 制电路如图2所示。

STC89C52的P1.0和P1.1端口与放大驱动模块的输入端 相连,用来接收单片机传输的信号。但是单片机模块的输出 电流大约为10 mA,不足以驱动电机,使螺旋桨转动,因此, 需要用放大驱动模块将输出电流放大。放大驱动模块的电路 原理图如图3所示,此电路是根据H桥式电机驱动电路改进 而来。其中,4个与门同一个“使能”导通信号相接,这样, 用这一个信号就能控制整个电路的开关。而2个非门通过提 供一种方向输人,可以保证任何时候在H桥的同侧上都只有 一个三极管导通。电机的运转就只需要用三个信号控制:两个 方向信号和一个使能信号。如果DIR — L信号为0, DIR — R 信号为1,并且使能信号是1,那么三极管Q和Q4导通,电 流从左至右流经电机;如果DIR — L信号变为1,而DIR — R信号变为0,那么Q2和Q3将导通,电流则反向流过电机。

简易陀螺仪惯性制导系统设计

2.3软件算法设计

系统核心程序主要是角速度化为角度的积分算法程序构 成,积分算法核心代码如下:

k=k+ ((GetData (GYRO_ZOUT_H) /16.4) *dtt) /1 000

变量k初值为0,代表积分后的角度,变量dtt积分时间 段,具体时间需要根据单片机执行代码速率进行调整,系统 里的值为10。函数GetData (GYRO_ZOUT_H)为获取传感 器Z轴角速度的功能函数。

在mpu-6050模块中,16位模数转换数据存储在2个字 节中,需要进行数据合成,合成后方可加入到核心算法中运行, 代码程序如下:

int GetData( uchar REG_Address) { uchar H,L ; H=Single_ReadI2C(REG_Address); L=Single_ReadI2C(REG_Address+1); return(H


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3