0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MS5837-30BA水深傳感器使用指南

廣州工控傳感科技有限公司 ? 2023-05-06 17:48 ? 次閱讀

大家好,【廣州工控傳感★科技】MS5837-30BA水深傳感器事業(yè)部,張工。

深度計就是測量水下機器人垂直方向位置的重要傳感器。

目前,常用的航模級水下壓力深度計是MS5837-30BA水深傳感器,該傳感器I2C接口,內部AD分辨率達24位,傳感器配上防水外殼就成為一款分辨率達2mm測量深度200米的深度傳感器。此外該傳感器還具有壓力值溫漂修正的功能,也可以作為溫度計使用。該款傳感器是I2C接口的,(地址:1110110X WRITE:0,READ:1),通過這一通信模式,可以得到出產標定的參數(shù)、實時檢測的壓力值和溫度值。


標定參數(shù)

這個傳感器有個優(yōu)點,每個傳感器出廠時,都進行了標定,標定的參數(shù)會固化保存在傳感器的寄存器中,以便使用者進行讀取,從而進行修正。標定參數(shù)如下表:

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0517%2Fed9c09c0p00rc0vcq001yd000j2003bp.png&thumbnail=660x2147483647&quality=80&type=jpg


I2C地址指令如下,C0~C6對應0xA0~0xAE,其中C0指令得到的16位數(shù)據,前4位是CRC校驗位,后12位是出產編號,其余的就是參數(shù)對應的地址指令。

通過I2C讀取了標定參數(shù):

C0 0xB001 45057D B-1011是四位CRC校驗位

C1 0x857C 34172D SENS

C2 0x872B 34603D OFF

C3 0x4E6E 20078D TCS

C4 0x5327 21287D TCO

C5 0x665A 26202D T_REF

C6 0x661E 26142D TEMPSENS

crc校驗程序如下:

1.unsigned char crc4(unsigned int n_prom[]) // n_prom defined as 8x unsigned int (n_prom[8])

2.{

3.int cnt; // simple counter

4.unsigned int n_rem=0; // crc remainder

5.unsigned char n_bit;

6.n_prom[0]=((n_prom[0]) & 0x0FFF); // CRC byte is replaced by 0

7.n_prom[7]=0; // Subsidiary value, set to 0

8.for (cnt = 0; cnt < 16; cnt++) // operation is performed on bytes

9.{ // choose LSB or MSB

10.if (cnt%2==1) n_rem ^= (unsigned short) ((n_prom[cnt>>1]) & 0x00FF);

11.else n_rem ^= (unsigned short) (n_prom[cnt>>1]>>8);

12.for (n_bit = 8; n_bit > 0; n_bit--)

13.{

14.if (n_rem & (0x8000)) n_rem = (n_rem << 1) ^ 0x3000;

15.else n_rem = (n_rem << 1);

16.}

17.}

18.n_rem= ((n_rem >> 12) & 0x000F); // final 4-bit remainder is CRC code

19.return (n_rem ^ 0x00);

求解步驟

MS5837-3030BA水深傳感器由于得到的標定參數(shù)都是固化的,所以只需在初始化的時候讀一次即可。在獲取標定參數(shù)之后,分為兩個步驟,第一步是利用標定參數(shù)和測量的值,獲取壓力和溫度值,通過標定參數(shù)進行軟件補償;第二步是對壓力值進行溫度補償。

第一步 壓力和溫度獲取和軟件補償

如圖1,在得到固定的校驗參數(shù)以后,結合得到的標定參數(shù) 可得到獲取24位精度的壓力(D1)和溫度(D2)

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0517%2F31fa6986j00rc0vhp00dsd000hh00aep.jpg&thumbnail=660x2147483647&quality=80&type=jpg


圖中MS5837-30BA水深傳感器和溫度讀取以及軟件補償

第二步 溫度補償

在得到第一步的溫度和壓力后,對壓力值進行溫度補償,步驟如圖2。

1.//Second order compensation

2.if((Ms5837_Temp/100)<20){ //Low temp

3.Ti = (3*(int64_t)(dT)*(int64_t)(dT))/(8589934592LL);

4.OFFi = (3*(Ms5837_Temp-2000)*(Ms5837_Temp-2000))/2;

5.SENSi = (5*(Ms5837_Temp-2000)*(Ms5837_Temp-2000))/8;

6.if((Ms5837_Temp/100)<-15){ //Very low temp

7.OFFi = OFFi+7*(Ms5837_Temp+1500l)*(Ms5837_Temp+1500l);

8.SENSi = SENSi+4*(Ms5837_Temp+1500l)*(Ms5837_Temp+1500l);

1.//Second order compensation

2.if((Ms5837_Temp/100)<20){ //Low temp

3.Ti = (3*(int64_t)(dT)*(int64_t)(dT))/(8589934592LL);

4.OFFi = (3*(Ms5837_Temp-2000)*(Ms5837_Temp-2000))/2;

5.SENSi = (5*(Ms5837_Temp-2000)*(Ms5837_Temp-2000))/8;

6.if((Ms5837_Temp/100)<-15){ //Very low temp

7.OFFi = OFFi+7*(Ms5837_Temp+1500l)*(Ms5837_Temp+1500l);

8.SENSi = SENSi+4*(Ms5837_Temp+1500l)*(Ms5837_Temp+1500l);

9.}

10.}11.else if((Ms5837_Temp/100)>=20){ //High temp

12.Ti = 2*(dT*dT)/(137438953472LL);

13.OFFi = (1*(Ms5837_Temp-2000)*(Ms5837_Temp-2000))/16;

14.SENSi = 0;

15.}

16.

17.OFF2 = OFF-OFFi; //Calculate pressure and temp second order

18.SENS2 = SENS-SENSi;

19.

20.Ms5837_Temp = (Ms5837_Temp-Ti);

21.Ms5837_P = (((D1*SENS2)/2097152l-OFF2)/8192l);I2C接口讀取流程

流程圖如圖3所示,先是讀取標定值,然后依次對壓力和溫度的24位數(shù)據進行讀取。讀取前,需要對其進行轉換(conversion),不同采樣率和采樣對象,對應不同的指令,指令如圖4。不同的采樣率對應不同的轉換時間,見下:

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0517%2F5c81dd29j00rc0vi60012d000i700dwp.jpg&thumbnail=660x2147483647&quality=80&type=jpg
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2542

    文章

    50260

    瀏覽量

    750136
  • 壓力傳感器
    +關注

    關注

    35

    文章

    2138

    瀏覽量

    163175
收藏 人收藏

    評論

    相關推薦

    技術指南 | 深視智能SCI系列光譜共焦位移傳感器快速使用指南

    技術指南 | 深視智能SCI系列光譜共焦位移傳感器快速使用指南
    的頭像 發(fā)表于 10-22 08:06 ?47次閱讀
    技術<b class='flag-5'>指南</b> | 深視智能SCI系列光譜共焦位移<b class='flag-5'>傳感器</b>快速<b class='flag-5'>使用指南</b>

    深視智能SGI系列激光位移傳感器快速使用指南

    深視智能SGI系列激光位移傳感器快速使用指南
    的頭像 發(fā)表于 07-27 08:45 ?248次閱讀
    深視智能SGI系列激光位移<b class='flag-5'>傳感器</b>快速<b class='flag-5'>使用指南</b>

    深視智能SD33系列小型激光位移傳感器使用指南

    深視智能SD33系列小型激光位移傳感器使用指南
    的頭像 發(fā)表于 07-27 08:44 ?263次閱讀
    深視智能SD33系列小型激光位移<b class='flag-5'>傳感器使用指南</b>

    深視智能SD22系列小型激光位移傳感器使用指南

    深視智能SD22系列小型激光位移傳感器使用指南
    的頭像 發(fā)表于 07-27 08:42 ?347次閱讀
    深視智能SD22系列小型激光位移<b class='flag-5'>傳感器使用指南</b>

    4G插卡路由器使用指南

    本文介紹了4G插卡路由器的使用指南,包括購買設備、SIM卡、準備工具,安裝與設置路由器,連接互聯(lián)網等步驟。同時,還提供了使用與維護的建議,幫助用戶更好地使用4G插卡路由器,享受互聯(lián)網的便捷。
    的頭像 發(fā)表于 04-28 15:34 ?1959次閱讀

    熱敏FET使用指南

    電子發(fā)燒友網站提供《熱敏FET使用指南.pdf》資料免費下載
    發(fā)表于 02-22 09:35 ?0次下載
    熱敏FET<b class='flag-5'>使用指南</b>

    AT32F425入門使用指南

    電子發(fā)燒友網站提供《AT32F425入門使用指南.pdf》資料免費下載
    發(fā)表于 12-18 11:14 ?6次下載
    AT32F425入門<b class='flag-5'>使用指南</b>

    關于MS5837-02BA壓力傳感器低功耗配置

    MS5837-02BA傳感器是一款專為健身跟蹤器、無人機和可穿戴設備等消費類設備優(yōu)化的基于MEMS的傳感器。它具有高線性壓力傳感器和低功率24位數(shù)字輸出(I2C),使用戶能夠優(yōu)化轉換速
    的頭像 發(fā)表于 12-14 11:08 ?600次閱讀
    關于<b class='flag-5'>MS5837-02BA</b>壓力<b class='flag-5'>傳感器</b>低功耗配置

    AT32F425入門使用指南

    AT32F425入門使用指南旨在讓用戶快速使用AT32F425xx 進行項目開發(fā)。
    發(fā)表于 10-26 07:46

    AT32F402/405 DMA使用指南

    AT32F402/405 DMA使用指南主要就DMA 的基本功能進行講解和案列解析。
    發(fā)表于 10-26 07:29

    AT32 VSCode PlatFormIO使用指南

    AT32 VSCode PlatFormIO使用指南旨在幫助使用VSCode+PlatFormIO開發(fā)AT32的用戶,快速建立開發(fā)環(huán)境并進行開發(fā)。
    發(fā)表于 10-26 07:14

    AT32F423入門使用指南

    AT32F423入門使用指南旨在讓用戶快速使用AT32F423xx 進行項目開發(fā)。
    發(fā)表于 10-26 06:37

    AT32F425 ADC使用指南

    AT32F425 ADC使用指南本文主要以ADC 的特色功能進行講解和案列解析。
    發(fā)表于 10-25 08:29

    AT32F425 DMA使用指南

    AT32F425 DMA使用指南本文主要就DMA 的基本功能進行講解和案列解析。
    發(fā)表于 10-25 07:52

    AT32F421入門使用指南

    AT32F421入門使用指南旨在讓用戶快速使用AT32F421xx 進行項目開發(fā)。
    發(fā)表于 10-24 07:38