STM32+MS5611测气压温度例程详解

来源:网络整理 作者:2018年01月12日 15:31
关键词:MS5611STM32

  一、基础知识

  首先,MS5611是什么

  MS5611气压传感器是由MEAS(瑞士)推出的一款SPI和I²C总线接口的新一代高分辨率气压传感器,分辨率可达到10cm。该传感器模块包括一个高线性度的压力传感器和一个超低功耗的24位Σ模数转换器(工厂校准系数)。

  计算温度:

  D2 = MS5611_DO_Conversion(OSR_Temp);   delay_ms(10);   dT = D2 - (((u32)c5)*256) ;   Temperature = 2000 + dT*((float)c6)/8388608 ;

  计算大气压:

  D1 = MS5611_DO_Conversion(OSR_Pressure) ;   delay_ms(10) ;   OFF = (((int64_t)c2)*65536 + (((int64_t)c4*dT)/128)) ;   SENS = (((int64_t)c1)*32768) + (((int64_t)c3*dT)/256) ;   if(Temperature 《 2000) //µ±Î¶ÈÖµTEMPСÓÚ2000ʱÐèÒª&TImes;öζȲ¹³¥   {   T2 = (float)(dT*dT)/0x80000000 ;   Aux = (Temperature - 2000)*(Temperature - 2000) ;   OFF2 = 2.5f*Aux ;   SENS2 = 1.25f*Aux ;   if(Temperature 《 -1500) //µ±Î¶ÈÖµTEMPСÓÚ-1500ʱÐèÒª&TImes;öζȲ¹³¥   {   Aux = (Temperature+1500)*(Temperature+1500);   OFF2 = OFF2 + 7*Aux;   SENS2 = SENS2 + 5.5f*Aux;   }   }   else   {   T2 = 0 ;   OFF2 = 0 ;   SENS2= 0 ;   }   Temperature = Temperature - T2 ;   OFF = OFF - OFF2 ;   SENS = SENS - SENS2 ;   Pressure = ((D1*SENS)/2097152 - OFF)/32768 ;

  海拔计算:

  AlTItude = (44330.0f*(1.0f - pow((float)Pressure/101325.0f, 0.190295f))) ;   MS5611主要用于智能手机、海拔高度测量和导航辅助,做四轴的朋友一般都了解。   其次,对于飞行器的姿态控制,我们使用GY-86 10DOF 的模块,里面带有MS5611 + MPU6050 + HMC5883,通过IIC协议读取数据进行操作。MS5611挂在MPU5060的从I2C接口上。MS5611的I2C地址为0b111011Cx,其中C比特位由CSB引脚决定,为CSB引脚的补码值(取反)。GY-86上 MS5611的CSB引脚接地,所以CSB引脚值为0,8位I2C地址为0b1110111x(0xEE),7位I2C地址为 0b1110111(0x77)。  STM32+MS5611测气压温度例程详解   这里,0b表示二进制,0x表示十六进制,数字前加0表示八进制。例如:   ‘\077’ //是8进制表示‘ ’,0可以省略,因为C,C++规定不允许使用斜杠加10进制数来表示字符;   ‘\0x3F’ //是16进制表示。这些都是C语言中的基础

  二、运行结果

 STM32+MS5611测气压温度例程详解

  三、相应模块

  程序涉及的模块有:   RCC:复位及时钟控制模块,用于初始化STM32 USART外设时钟及IO口复用时钟;   IIC:模拟IIC 协议,好多人都说STM32的硬件IIC模块用不了,主要是因为STM32 的硬件 IIC 模块有个天生的 BUG,就是不能被中断,也就是IIC要处于中断的最高级,ST在自己后来的 DataSheet 中已经证实了这一点。   Delay:利用系统时钟SysTIck,也号称“滴答”,写的延时模块;   USART:串口模块;   MS5611:MS5611模块配置。
1234下一页全文

本文导航

  1. 第 1 页:STM32+MS5611测气压温度例程详解
  2. 第 2 页:代码
  3. 第 3 页:IIC
  4. 第 4 页:DELAY
关注88lifa利发国际娱乐微信
有趣有料的资讯及技术干货
下载发烧友APP
打造属于您的人脉电子圈
关注发烧友课堂
锁定最新课程活动及技术直播
声明:88lifa利发国际娱乐网转载作品均尽可能注明出处,该作品所有人的一切权利均不因本站而转移。
作者如不同意转载,既请通知本站予以删除或改正。转载的作品可能在标题或内容上或许有所改动。
收藏 人收藏
分享:

相关阅读

  1. 全部
  2. MS5611
  3. STM32
发表评论
elecfans网友
分享到:

用户评论(0

88lifa利发国际娱乐

百度360搜索搜狗搜索