酒精检测模块(ZH-AD02)
酒精检测模块是检测人体呼出气体中的酒精含量的仪器设备,选用16mm高精度电化学燃料电池传感器,具有较好的灵敏度和重复性,MCU智能检测。
ZH-02型酒精检测模块是检测人体呼出气体中的酒精含量的仪器设备,选用16mm高精度电化学燃料电池传感器,具有较好的灵敏度和重复性,MCU智能检测。工作流程合理,简洁便利。5V供电,提供USB接口和TTL电平串口通讯协议,方便与外接设备连接进行二次开发,广泛用于人脸识别岗前检测机、闸机、挂墙式广告机等的酒精检测。
l 16mm电化学传感器,高精度、高灵敏度、高稳定度的酒精测量。
l 吹气压力检测,哈气即可快速启动测量。
l USB或TTL串口通讯。
l 操作模式有主动排查模式(吹气启动排查)和精确测量模式(使用吹管连续吹气3秒以上),满足用户在任何场合下使用。
项目 | 指标及参数 | ||
酒精测试 | 酒精传感器类型 | 16mm电化学型燃料电池 | |
量程范围 | 0 mg/100mL~400 mg/100mL | ||
分辨率 | 1 mg/100mL | ||
灵敏度 | 5 mg/100mL | ||
示值误差 | 标准气体浓度<100mg/100mL BAC时 | ||
基准工作条件下 | ±6.0mg/100mL | ||
工作温度范围 | -5℃~+50℃ | ||
贮存温度范围 | -30℃~+70℃ | ||
基准工作环境条件 | 温度:25℃±5%,湿度:<80%RH,大气压:86 kPa~106 kPa | ||
基础配置 | 处理器 | Cortex-M4 | |
显示 | 3位数码管 | ||
通讯接口 | TYPE-C USB(标准HID/CDC设备),UART-3.3V-TTL | ||
工作电压 | 5V/1A | ||
按键 | 1按键:测试/标定用 | ||
模块尺寸 | 长×宽×高:8cm x5cm x 1.8cm |
高灵敏度、吹气感应、USB接口(HID设备)、UART接口
1、 模块连上TPYE-C USB线后插至电脑(或手持设备)开机
2、 模块显示H01表示上电成功,数秒后息灭,等待酒精检测命令,若60秒仍无检测命令则退出等待状态
3、 可手动按模块侧面按键启动测量,数码管显示“blo”表示等待吹气,也可通过串口发送检测命令启动测量
4、 显示”blo”后对准吹气孔连续吹气数秒,模块启动采样程序,采样等待过程会显示“三三三”,采样结束显示结果,单位为mg/L
5、 10秒后退出,显示黑屏等待下次测量
l USB接口:
1、 通讯连接方式:USB虚拟串口(VCP driver)
2、 通讯波特率:自动识别波特率(9600/115200/256000 bps…)
3、 数据格式:8位数据位,1位停止位,无奇偶校验位,无流控
l TTL-UART接口:
1、 通讯连接方式:TTL-232串口
2、 通讯波特率:115200bps
3、 数据格式:8位数据位,1位停止位,无奇偶校验位,无流控
l 通信协议:
Module-->Device命令发送格式:Command+Type+Total Length+Data Payload+End
Bytes | Sending format | Description | |
command | 1 | 0x(十六进制) | 0x0C |
Type | 1 | 0x | 0x0D |
total length | 1 | 0x | 0x00(=n+5) |
data payload | n | 0x | 0x00 ... |
End | 2 | 0x | 0xCC 0xCC |
Device-->Module 命令发送格式:Command+Type+total length+data payload+End
Bytes | Sending format | Description | |
command | 1 | 0x(十六进制) | 0x0C |
Type | 1 | 0x | 0x0A |
total length | 1 | 0x | 0x00(=n+5) |
data payload | n | 0x | 0x00 ... |
End | 2 | 0x | 0xCC 0xCC |
描述 | 编码 | 协议 | 说明 | |||||
模块名称 | ZH-02 | |||||||
精确测量模式 | 0x02 | A-->D: 0C 0A 06 02 CC CC | 向模块下达“精确测量模式”命令 | |||||
D-->A: 0C 0D 07 02 0X CC CC | 模块返回准备“倒计时”。0X:倒计时值(0A~00) | |||||||
快速测试 | 0x0B | AàD:0C 0A 06 0B CC CC | 向模块下达“快速测试”命令 检测酒精速度加快,2-3秒出结果,精度稍差 | |||||
检测吹气 | 0x03 | |||||||
D-->A: 0C 0D 06 03 CC CC | 模块上传“检测吹气”命令,模块开始检测是否有气体吹入,请吹气 | |||||||
吹气测试 | 0X04 | |||||||
D-->A: 0C 0D 06 04 CC CC | 模块上传吹气状态,吹气中 | |||||||
吹气中断/错误 | 0x05
| |||||||
D-->A: 0C 0D 06 05 CC CC | 模块上传吹气“错误”命令。 | |||||||
数据分析 | 0x06
| |||||||
D-->A: 0C 0D 06 06 CC CC | 吹气结束,模块上传数据分析指令。 | |||||||
测试结果 | 0x07 | |||||||
D-->A: 0C 0D 08 07 XX XX CC CC | 浓度单位为mg/l。XX XX:计算的结果。先发高8位,再发低8位。测量范围0.00~2.00mg/l。 例00 18:0.24mg/l
单位转换: 0x0018=24 24/100=0.24mg/L 0.24*220=52.8mg/100mL(旧国标) 0.24*230=55.2mg/100mL(24新国标)) | |||||||
关闭测试 | 0x08 | A-->D: 0C 0A 06 08 CC CC | 下达“关机”命令。中断模块的任何操作,并返回到初始状态。 | |||||
D-->A: 0C 0D 06 08 CC CC | 模块结果显示结束后或吹气检测超时,上传“关机”命令/回复“关机”命令。 | |||||||
吹气压力 设置 | 0x09 | AàD:0C 0A 07 09 XX CC CC | 吹气压力等级设置,XX取值1~15,值越大越难吹动 | |||||
DàA:0C 0A 07 09 XX CC CC | ||||||||
读取模块流水号 | 0x01 | A-->D: 0C 0A 06 01 CC CC | 出厂时,每个模块都有独立的流水号 | |||||
D-->A: 0C 0D 09 01 02 14 25 CC CC | 流水号占3Byte,先发高8位,再发中8位,最后发低8位,范围:0~0xFFFFFF,例 02 14 25 = 136229 | |||||||
机器号读取 | 0x0A | AàD:0C 0A 06 0A CC CC | 读取模块SN序列号(如:22050001) | |||||
DàA:0C 0D 0A 0A 22 05 00 01 CC CC | 返回的序列号为BCD码,0x22 0x05 0x00 0x01表示22050001 | |||||||
读取测试次数 | 0x18 | A-->D: 0C 0A 06 18 CC CC | 读取总测试次数 | |||||
D-->A: 0C 0D 08 18 06 15 CC CC | 返回测试次数,先发高8位,再发低8位。 例:06 15 = 1557 | |||||||
恢复出厂设置 | 0x19 | A-->D: 0C 0A 08 19 00 01 CC CC | 恢复出厂设置,写入计数初始值,先发高8位,再发低8位。 例:06 15 = 1557 | |||||
D-->A: 0C 0D 06 19 CC CC | 模块自动更新测试次数计数 | |||||||
查询激活日期 | 0x1C | A-->D: 0C 0A 06 1C CC CC | 查询模块激活日期 | |||||
D-->A: 0C 0D 09 1C 16 04 0B CC CC | 返回激活日期。顺序为年、月、日,各占1Byte 例:0x16 04 0B = 22/04/11 | |||||||
设置激活日期 | 0x1D | A-->D: 0C 0A 09 1D 16 04 0B CC CC | 设置激活日期。顺序为年、月、日,各占1Byte。 例:0x16 04 0B = 22/04/11 | |||||
D-->A: 0C 0D 06 1D CC CC | 设置成功。 | |||||||
查询酒精浓度阀值 | 0x1E | A-->D: 0C 0A 06 1E CC CC | 查询酒精浓度阀值 | |||||
D-->A: 0C 0D 07 1E 0F CC CC | 返回当前酒精浓度阀值,占1Byte。 例:0x0F = 15 即阀值为0.15mg/l | |||||||
设置酒精浓度阀值 | 0x1F | A-->D: 0C 0A 07 1F 19 CC CC | 设置的酒精浓度阀值,占1Byte。 例:0x19 = 25 即阀值为0.25mg/l | |||||
D-->A: 0C 0D 06 1F CC CC | 设置成功,(*模块将清除超过阀值次数,重新累加计数) | |||||||
查询超过阀值次数 | 0x20 | A-->D: 0C 0A 06 20 CC CC | 查询超过酒精浓度阀值次数 | |||||
D-->A: 0C 0D 08 20 02 10 CC CC | 返回超过次数,占2Byte,先发高8位,再发低8位。 例:0x02 10 = 528 | |||||||
重置超过阀值次数 | 0x21 | A-->D: 0C 0A 08 21 00 00 CC CC | 重置超过阀值次数 | |||||
D-->A: 0C 0D 06 21 CC CC | 设置成功。 | |||||||
吹气时间 | 0xA0 | AàD:0C 0A 07 A0 XX CC CC DàA:0C 0D 07 A0 XX CC CC | XX表示吹气时间取值范围为2-15,表示连续吹气时2-15秒后启动测试 | |||||
标定操作 | 0xB0 | AàD:0C 0A 07 B0 XX CC CC DàA:0C 0D 07 B0 XX CC CC | XX=0x50表示标定80mg/100mL点 |
标定说明:
1、准备好0.40mg/L(80mg/100mg)的标准酒精气体
2、向模块下达【标定操作】指令:0C 0A 07 B0 50 CC CC //0x50表示80
3、向模块下达【启动测试】指令:0C 0A 06 02 CC CC
4、 用标准酒精气体吹入进气口等待测量完毕,模块自动保存标定值,标定完成。
J2为TTL电平UART接口,1:GND 2:TXD 3:RXD 4:+5V