lllyd
1
水下机器人在水下需要知道的就是自己所处的位置,比如水深等信息。而要精确知道所在水深,在此选用MS5837-30BA压力传感器。
MS5837-30BA压力传感器模块包括高线性度的压力传感元件和超低功耗的24位ADC
·24位的压力和温度数字输出
·水深测量分辨率高达2mm
·最高可测量300m水深。
·I2C通信协议与主控通信。
·供电电压1.5-3.6V。
·工作范围: 0 to 30 bar, -20 to +85 °C
根据传感器和稳压芯片的数据手册典型电路画原理图
然后就是画出pcb的封装生成pcb
在背面引出I2C通信引脚
用环氧树脂把传感器灌封进去
效果图
5 个赞
SuMax
7
灌封为了防水,漏洞是为了压力传感,那个洞是不会让水灌进去的,是让传感器可以反馈信息
这种结构的灌封怎么灌?中间的孔洞怎么在灌封的时候保证不漏进去呢?
除了现有的空心螺丝作为外壳,还需要两个o型圈和一个加工件。
加工件外圈的o型圈套紧空心螺丝的内壁,内圈的o型圈套在深度传感器的结构上。
pcb涂胶固定防治渗水。
加工完成会在淘宝更新此款深度传感器并开源加工文件。
xxtroy
10
ROVMAKER深度传感器的pcb预览:
生产后也会开放pcb文件。
附上此款传感器的技术手册:点击此处下载
xxtroy
12
pcb改了一下 印好了,过一下回流焊,下一步加工下外壳。
买了一批传感器也到了。
我们也用的这个传感器。 密封方式差不都,不过做的大小不一样
xxtroy
17
pcb的四个过孔分别sda,scl,正,地。
基于MS5837-30BA,可以测量300米深度,I2C通信。工作电压3.3 v,电源输入电压可以5.5 v。另一端是标准4-pin 连接器。这个传感器包括一个温度传感器,精度±1°C,数据也可以通过I2C输出。
示例代码和库文件:
MS5837_Library-master (1).zip (9.5 KB)
使用arduino的测试代码:
#include <Wire.h>
#include “MS5837.h”
MS5837 sensor;
void setup() {
Serial.begin(9600);
Serial.println(“Starting”);
Wire.begin();
sensor.init();
sensor.setFluidDensity(997); // kg/m^3 (997 freshwater, 1029 for seawater)
}
void loop() {
sensor.read();
Serial.print(“Pressure: “);
Serial.print(sensor.pressure());
Serial.println(” mbar”);
Serial.print(“Temperature: “);
Serial.print(sensor.temperature());
Serial.println(” deg C”);
Serial.print(“Depth: “);
Serial.print(sensor.depth());
Serial.println(” m”);
Serial.print(“Altitude: “);
Serial.print(sensor.altitude());
Serial.println(” m above mean sea level”);
delay(1000);
}
是否可以采用现成的来做比较直接些呢?一般的压力传感器就可以用了吧?