薄膜压力传感器WAX-ARR-II采集器使用说明

数据采集模块使用视频教程

哔哩哔哩_https://www.bilibili.com/video/BV1omKH63Ego/

数据采集模块资料包下载地址

通过网盘分享的文件:WAX-ARR-II薄膜压力数据采集模块 链接: https://pan.baidu.com/s/1YtGBDUYvC8Ttjd38ft-Zag?pwd=wb3y 提取码: wb3y

支持传感器列表

RX_M1616M_1KG传感器
RX_M1616M_2KG传感器
RX_M1616M_5KG传感器
RX_M1616M_10KG传感器
RX_M1616M_20KG传感器
RX_M1616M_30KG传感器
RX_M1616M_50KG传感器

使用方法

../../../_images/11.jpg

2

3

4

5

6

7

8

10

薄膜压力传感器采集器输出协议格式

本采集器蓝牙/USB/排针串口输出协议统一

串口输出协议数据,115200波特率【默认】,8位数据位,1位停止位,无校验。

数据协议

字节数 字段名称 描述
2 帧头 固定为 0xAA 0x55 作为数据起始标志
1 命令字 表示当前选择的不同传感器,例如0x01代表RX_M1616M_1KG传感器
2 数据长度 固定为 512(16*16 个 2字节整数)
512 数据区 传感器而定数据长度
1 校验码(Checksum) 校验数据正确性
1 结束符 固定 0x0D(回车符)

帧头

占用2个字节,固定为 0xAA 0x55 作为数据起始标志

命令字

占用1个字节,

0x01 代表当前是RX_M1616M_1KG传感器
0x02 代表当前是RX_M1616M_2KG传感器
0x03 代表当前是RX_M1616M_5KG传感器
0x04 代表当前是RX_M1616M_10KG传感器
0x05 代表当前是RX_M1616M_20KG传感器
0x06 代表当前是RX_M1616M_30KG传感器
0x07 代表当前是RX_M1616M_50KG传感器
...

数据长度

这里只是数据位的长度,并非整个帧长度

0x02 0X00:16*16传感器是256组数据,1个传感器数据占用2个字节,总共是16X16X2=512个字节,

16进制是0x0200

数据区

根据数据长度发送对应长度数据,

比如发送数据是0x01,0x23

代表

0x0123  十六进制数据
=291    十进制数据

校验码(Checksum)

计算方式:

  1. 把所有数据区字节相加SUM = byte1 + byte2 + ...)。

  2. 只取低 8 位SUM & 0xFF)。

以下为例程校验换算C 语言实现(Checksum),这里以6个字节数据为例,实际计算按照实际长度

#include <stdio.h>
#include <stdint.h>

// 计算 8 位校验和(Checksum)
uint8_t checksum_8bit(const uint8_t *data, uint16_t length) {
    uint16_t sum = 0;  // 16位变量存储总和,防止溢出

    for (uint16_t i = 0; i < length; i++) {
        sum += data[i];  // 逐字节累加
    }

    return (uint8_t)(sum & 0xFF);  // 取低 8 位
}

int main() {
    uint8_t data[] = {0x01, 0x40, 0x00, 0x00, 0x30, 0x39};  // 示例数据
    uint8_t checksum = checksum_8bit(data, sizeof(data));

    printf("校验和: 0x%02X\n", checksum);
    return 0;
}

结束符

固定 0x0D(回车符)

汇总表格

字节序号 RX-M1616 介绍
1 AA 帧头
2 55 帧头
3 01-07 代表传感器型号
4-5 0200 数据长度
6 传感器A0高8位 传感器数据
7 传感器A0低8位 ...
8 传感器A1高8位
9 传感器A1低8位
10 传感器A2高8位
11 传感器A2低8位
... ... //此处规律省略
518 校验位 校验位
519 0D 0D

采集器设置协议

在当前波特率下发送这些协议数据有效

数据协议

字节数 字段名称 描述
2 帧头 固定为 0xAA 0x55 作为数据起始标志
4 命令字 见下表
1 结束符 固定 0x0D(回车符)

命令字

第一个字节,设置传感器

0x01 代表当前是RX_M1616M_1KG传感器
0x02 代表当前是RX_M1616M_2KG传感器
0x03 代表当前是RX_M1616M_5KG传感器
0x04 代表当前是RX_M1616M_10KG传感器
0x05 代表当前是RX_M1616M_20KG传感器
0x06 代表当前是RX_M1616M_30KG传感器
0x07 代表当前是RX_M1616M_50KG传感器
...

第二个字节,设置数据发送间隔

0x01 代表设置100ms
0x02 代表设置200ms
0x03 代表设置300ms
0x04 代表设置400ms
0x05 代表设置500ms
0x06 代表设置1000ms

第三个字节,预留

0x00

第四个字节,预留

0x00

举例,如果设置采集器想设置波特率为115200,型号RX_M1616M_1KG,发送间隔是100ms,整个设置帧是

AA 55 01 01 00 00 0D

采集器回复设置ACK

设置成功会回复:

AA 55 00 01 0D

设置失败会回复:

设置错误会回复:AA 55 00 00 0D