ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:1.69MB ,
资源ID:1230244      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1230244.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MEMS加速度计测倾角系统.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

MEMS加速度计测倾角系统.docx

1、MEMS加速度计测倾角系统编号: 传感器综合设计实训说明书题 目: MEMS加速度计测倾角系统 学 院: 信息与通信学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师: 2015年 7月 10 日摘 要设计由MEMS 3DM-E10A加速度计与由Visual Studio 2010编写的上位机组合而成的一种新型数字倾角测量系统,通过对MEMS加速度计的输出信号进行调理和串口数据读取并转换,并且在获得数字信号后进行误差补偿,解算出倾角值并通过上位机软件显示。 该倾角测量仪具有体积小、重量轻、精度高的特性,可广泛应用于建筑、机械、道路、桥梁和地质勘探等重力参考系下测量倾角的场合。 基于微

2、机电系统(MEMS)技术的电子罗盘具有价格低廉、尺寸小、质量轻、集成度高、适合大批量生产等优点,在军事及民用领域起着越来越重要的作用。以PC上位机为核心,采用单一模块内集成了三轴加速度传感器的MEMS数字集成芯片3DM-E10A作为航向测量模块的测倾角系统。在此系统结构中,PC上位机通过串口通信协议采集航向测量模块的三轴加速度传感器测量输出,通过分析加速度传感器测量输出的主要误差来源,建立相应的误差校正模型对传感器测量输出进行误差补偿后进行姿态解算,并把姿态解算得到的到的倾角通过RS232传送到PC应用程序进行实时数据显示。该系统设计结构最大化地减少了外围器件的使用,结构简单,降低了成本、体积

3、和功耗。关键词:MEMS加速度计;倾角测量仪;上位机;误差补偿AbstractDesign a combination of MEMS 3DM-E10A accelerometer and Visual Studio 2010 written by the host computer from a new digital angle measurement system by MEMS accelerometer output signal conditioning and serial data read and converted, and get digital signal after

4、 error compensation, it is calculated by the tilt value and displayed through the PC software. The angle measurement instrument has a small size, light weight, high precision characteristics, can be widely used at construction, machinery, roads, bridges and geological exploration gravity reference s

5、ystem measuring the inclination of the occasion. (MEMS) electronic compass technology with low cost, small size, light weight, high integration, suitable for mass production based on micro-electromechanical systems, etc., play an increasingly important role in military and civilian fields. PC to PC

6、as the core, the use of a single module integrates three-axis accelerometer MEMS digital integrated chip 3DM-E10A as heading angle measuring module measuring system. After this system configuration, PC PC acquisition heading measurement modules through the serial communication protocol triaxial acce

7、leration sensor output, through the analysis of the main sources of error to measure the output of the acceleration sensor, the establishment of appropriate error correction model to measure the output of the sensor error compensation solving the posture and the attitude solution to the inclination

8、was transferred to the PC via RS232 applications for real-time data display. The system is designed to reduce the use of architecture to maximize peripheral devices, simple structure, reducing the cost, size and power consumption.Key words: MEMS Accelerometers;Angle measurement instrument; Error Com

9、pensation PC 引言许多应用领域中经常需要测量某个平面是否处于水平位置,或测量该平面相对于水平面的夹角。 目前的倾角测量工具主要是传统的水泡式水平尺,无法准确得到倾斜角度,由于加速度计的输出经处理可得到一个与倾斜角成正比的直流电压,因此可以利用加速度计测量物体相对于水平面的倾斜角。新兴的加速度计传感器体积小、重量轻、功耗小、启动快、成本低、可靠性高、易于实现数字化和智能化而新兴的SoC型单片机也因其高度集成化的优点得到广泛应用。 基于MEMS加速度传感器以及上位机的倾角测量系统,与传统的水泡式测量仪相比具有测量精度高、测量范围大、使用及携带方便等特点。 1 .MEMS加速度计测倾角系

10、统设计方案1.1 MEMS加速度计测倾角系统的参数及要求微型航姿参考系统(MAHRS)3DM-E10A 系列是一款微型的全姿态测量传感装置,它由三轴MEMS 陀螺、三轴 MEMS 加速度计、三轴磁阻型磁强计等三种类型的传感器构成。三轴陀螺用于测量载体三个方向的绝对角速率,三轴加速度计用于测量载体三个方向的加速度,在系统工作中,主要作用是感知系统的水平方向的倾斜,并用于修正陀螺在俯仰和滚动方向的漂移,三轴磁阻型磁强计测量三维地磁强度,用于提供方向角的初始对准以及修正航向角漂移。微型航姿参考系统3DM-E10A系列,可提供的输出数据有:原始数据、四元数、姿态数据等。本次系统设计的是用PC机编写上位

11、机,通过上位机在电脑显示出MEMS加速度计的XYZ轴的数据,并显示各倾角数值。1.2 MEMS加速度计测倾角系统设计思路从陀螺仪、加速度计、磁力计以及内部温度传感器得到的数据,全部被传输到嵌入式系统-数字信号处理器(DSP)中。数字信号处理器(DSP)依据特定的算法以及存储在 Flash 存储器中的标定数据处理来自传感器的原始数据,作为其基本算法,微型航姿参考系统(MAHRS)3DM-E10A系列采用自适应卡尔曼滤波算法,该算法能够自动调整并适应不断变化的动态条件,而无需外部人为的干预。 微型航姿参考系统(MAHRS)3DM-E10A 系列产品均在特定的环境实验条件下,并参考已知温度下的加速度

12、、角速率和磁场进行全面的标定,并将标定数据输入每个产品中。用户可以通过串口收发接口接收航姿信息及原始数据,同时也可以通过命令方式进行交互操作(详见微型航姿参考系统(MAHRS)3DM-E10A 系列通信协议)。微型航姿参考系统(MAHRS)3DM-E10A 系列的供电电源标准值为DC+5.0V,数据线和电源线整合在一个接插装置中,方便使用。电脑上位机部分,用Microsoft Visual Studio2010编写串口部分,通过命令AHRS1命令使传感器连续输出处理数据,读加速度计的X,Y,Z三轴数据和滚动角,俯仰角,方位角的数据,然后通过程序将串口传输过来的无符号四字节数据转换成浮点型数据。

13、分别显示X,Y,Z轴的数据和滚动角,俯仰角,方位角的数据。通过移动传感器来测出倾角。 2 .系统主要器件选择及其参数2.1 MEMS MAHRS 3DM-E10A 传感器 微型航姿参考系统(MAHRS)3DM-E10A 系列采用陀螺来测量载体的绝对角速率,然后载体的姿态角(航向角、俯仰角和滚动角)就可以通过陀螺输出数据的特定的解算方法来获得。加速度计用于确定3DM-E10A 系列初始姿态角,并修正并确定陀螺在水平方向(俯仰角和滚动角)的漂移。三轴磁阻型磁强计用于提供方位角的初始对准以及修正陀螺的航向角漂移。微型航姿参考系统(MAHRS)3DM-E10A 系列内部的嵌入式处理器中设计有传感器融合

14、算法,重力测量值(通过加速度计)和磁北向测量值(通过磁力计)有机融合并对漂移进行补偿,避免了因为角速率数据的积分运算带来的误差的无限累积。而微型航姿参考系统(MAHRS)3DM-E10A 系列相比无陀螺的电子罗盘具有很大的优势,在动态情况下它能够精确解算航姿,而一般的电子罗盘只能在静态条件下运用,在动态情况下无法得到精确的航姿信息。微型航姿参考系统(MAHRS)3DM-E10A 系列可以可靠提供全姿态信息和原始数据,数据更新率可达到100Hz以上。 图2.1 微型航姿参考系统(MAHRS)3DM-E10A系列硬件框图图2.2 微型航姿参考系统(MAHRS)3DM-E10A系列软件框图2.2 M

15、EMS MAHRS 3DM-E10A 传感器规格表2.1 3DM-E10A 绝对最大额定值表2.2 3DM-E10A 性能指标表2.3 3DM-E10A电气特性表2.4 3DM-E10A 物理特性表2.5 3DM-E10A 引脚定义2.3 MEMS MAHRS 3DM-E10A 传感器机械尺寸图2.1 微型航姿参考系统(MAHRS)3DM-E10A系列尺寸2.4 通讯协议及使用2.4.1 通讯接口及设置参数微型航姿参考系统(MAHRS)3DM-E10A系列接口采用标准RS232 串行接口,系统加电后序在处理器中运行,并通过串行接口连接通讯,启动时间小于1 秒。接口参数设置如表2.6 表2.6波

16、特率115200数据位数8校验位无停止位1 2.5 通信协议结构微型航姿参考系统(MAHRS)3DM-E10A 系列的通讯协议采用统一的报文包结构形式,有效传输数据长度为0-255 字节,总长度为5-260字节。其结构形式如下: PREBIDMIDLENDATACS表2.7 通信字节表3 MEMS加速度计测倾角系统设计与分析3.1 系统硬件电路的设计 硬件电路大致上可以分成MEMS MAHRS 3DM-E10A 传感器及SY2303ZJH USB TO RS232传输连接数据线、PC显示上位机三部分。模块采集数据滤波RS232通信上位机显示 图3.1 硬件实现图3.2 上位机系统设计-串口通信

17、 3.2.1串口发送指令代码void CMAHRS3DME10ASoftwareV10Dlg:OnBnClickedButtonSend() / TODO: 在此添加控件通知处理程序代码 int i,Count,m_TxData5=0xfa,0x01,0x82,0x00,0x79; UpdateData(true); /更新控件数据 /m_mscom.put_Output(COleVariant(m_Editsend);/把发送编辑框的数据发送出去 /Count = m_strSend.GetLength(); /m_strSend是关联发送编辑框的CString变量 Count=5; CBy

18、teArray m_Array; m_Array.RemoveAll(); m_Array.SetSize(Count); for(i=0;iCount;i+) m_Array.SetAt(i,m_TxDatai ); m_mscom.put_Output(COleVariant(m_Array); / 通过串口发送数据输入报文格式本次设计的系统使用的是AHRS1命令,具体输入报文格式如下AHRS1命令-完全数据输出方式(处理数据),连续输出MID=0x82,单步输出 MID=0x83; 在收到输入报文后,微型航姿参考系统(MAHRS)3DM-E10A 将立即响应,并执行相应的命令,连续或单步

19、输出相应报文信息。AHRS1 命令 完全数据输出方式; 输出报文: 0xFA 0x01 0x82 0x00 0x79 输出报文: 0xFA 0x01 0x82 0x40 LL LH HL HH LL LH HL HH CS _(数据区 64 字节)_/ 输出的报文前三个字节和输入报文相同,表示设备连接正常。第4 字节为数据长度0x40,表示数据区有64 个字节的有效数据,末尾字节CS为前面所有字节的异或(XOR)。 3.2.2 串口接收代码void CMAHRS3DME10ASoftwareV10Dlg:OnCommMscomm1() / 串口控件程序(接收部分) / TODO: 在此处添加消

20、息处理程序代码 VARIANT variant_inp; COleSafeArray safearray_inp; LONG len,k; BYTE rxdata2048; /设置BYTE数组 An 8-bit integer that is not signed. unsigned char str2048=0;/保存下位机发送到上位机的数据,以字节形式保存 unsigned char ypr4=0; /保存姿态4字节数据 unsigned char gxyz4=0; /保存陀螺仪4字节数据 unsigned char hxyz4=0; /保存磁力计4字节数据 unsigned char a

21、xyz4=0; /保存加速度4字节数据 float temp=0.0; /保存浮点型数据(即无符号4字节数据转换后的浮点型数据) CString strtemp; if(m_mscom.get_CommEvent()=2) /事件值为2表示接收缓冲区内有字符 variant_inp=m_mscom.get_Input(); /读缓冲区 safearray_inp=variant_inp; /VARIANT型变量转换为ColeSafeArray型变量 len=safearray_inp.GetOneDimSize(); /得到有效数据长度 for(k=0;klen;k+) safearray_i

22、np.GetElement(&k,rxdata+k);/转换为BYTE型数组 for(k=0;k=0 & k 浮点数 unsigned char i; unsigned char* s; s=(unsigned char*)(&t); for(i=0;i4;i+) *s = pBufferi; s+; return t; 3.4上位机系统设计-数据解析显示if(str0=0xfa & str1=0x01 & str2=0x82) / 姿态解算 / ypr0=str64; / Yaw ypr1=str65; ypr2=str66; ypr3=str67; temp=Buffer_To_Float

23、( ypr, temp); strtemp.Format(_T(%.4f),temp); / 将浮点型变量转换为字符串 m_EditYaw=strtemp; / 把转换后的字符串加入接收编辑框 ypr0=str60; / Pitch ypr1=str61; ypr2=str62; ypr3=str63; temp=Buffer_To_Float( ypr, temp); strtemp.Format(_T(%.4f),temp); m_EditPitch=strtemp; ypr0=str56; / Roll ypr1=str57; ypr2=str58; ypr3=str59; temp=B

24、uffer_To_Float( ypr, temp); strtemp.Format(_T(%.4f),temp); m_EditRoll=strtemp; / 加速度 / axyz0=str16; / AX axyz1=str17; axyz2=str18; axyz3=str19; temp=Buffer_To_Float( axyz, temp); strtemp.Format(_T(%.4f),temp); m_EditAX=strtemp; axyz0=str20; / AY axyz1=str21; axyz2=str22; axyz3=str23; temp=Buffer_To_

25、Float( axyz, temp); strtemp.Format(_T(%.4f),temp); m_EditAY=strtemp; axyz0=str24; / AZ axyz1=str25; axyz2=str26; axyz3=str27; temp=Buffer_To_Float( axyz, temp); strtemp.Format(_T(%.4f),temp); m_EditAZ=strtemp;图3.3 程序流程图开始读取加速度和磁强数据由加速度数据解算出俯仰角和横滚角由磁强数据解算出航向角上位机刷新姿态角结束 3.5 上位机系统设计-软件界面设计图3.4 软件界面图相关代码BOOL CMAHRS3DME10ASoftwareV10Dlg:OnInitDialog() CDialogEx:OnInitDialog(); / 将“关于.”菜单项添加到系统菜单中。 / IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR); pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); /

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2