采用专业的hx711 ad芯片,双通道设计,外围简单,集成度高。板载2颗47uF的胆电容,金属屏蔽,内置CPU单片机,强大的29条命令,可应用于各种领域。两种插针,可满足各种安装焊接方式。足以体现设计上的用心良苦和本模块的高性能,高通用性。附送使用说明,请到货后客服索取。
注意:网页显示的价格是单个电路模块的价格,每个模块 配送金属屏蔽罩一个 额针4组(需自行焊接)。
-------------------------------------------------------------------
如需购买重量自动控制板 自动装料 自动称重仪,请点击↓:
![]() | 传感器控制板 自动装料 称重 重量自动控制仪器 按要求定制 |
如需购买modbus 称重模块,请点击↓:
![]() | RS485总线 MODBUS RTU高精度称重模块 PLC称重采集卡 重量变换器 |
如需购买积分AD电路的传感器学习套件,请点击:
![]() | 电子秤称重电路板套件 传感器模块 称重传感器电路 串口控制 |
如需购买单个传感器,请点击:
![]() | 高精度 电阻应变式 称重传感器 电子秤传感器3-40kg |
如需购买 750g 微型传感器,请点击:
![]() | 750g微型称重传感器 电子秤传感器 天平秤重传感器 电阻桥式 |
如需购买 50kg 人体称 传感器,请点击:
![]() | 实验人体称传感器 人体秤 称重传感器 电阻应变半桥传感器50kg |
如需购买传感器支架,请点击:
![]() | 称重传感器支架 电子秤传感器 秤盘架 底座套件 |
如需购买 无CPU版的AD模块,请点击:
![]() | 称重传感器专用AD模块 双通道24位模数转换HX711 带屏蔽 |
如需串口线,点此购买:
![]() | PL2303HX USB转TTL USB转串口 RS232串口线 下载线中九刷机线升级 |
-------------------------------------------------------------
模块工作电压:4.7-5.5v
典型电流 12mA
体积:长 2.9cm * 宽 1.7cm * 高 0.4cm
A通道对应本模块差分输入引脚是 A+ A-
A通道在64增益的时候输入差分电压范围是±40mv,在128增益的时候是±20MV。
B通道对应差分输入引脚是 B+ B-,B通道在32增益的时候输入差分电压范围是±80mv.
模块主要特点:
● 带金属屏蔽,强抗干扰,板载2颗47uF胆电容,用料足。
● 内置单片机,29条指令,功能强大,应用广泛。节省底层开发时间,利于产品快速研发。
● 两路可选择差分输入
● 片内低噪声可编程放大器,可选增益为32、64 和128
● 片内稳压电路可直接向外部传感器和芯片内A/D 转换器提供电源
● 简单的RS232串口通讯:所有控制由管脚输入。
● 可选择10Hz 或80Hz 的输出数据速率
● 同步抑制50Hz 和60Hz 的电源干扰
● 耗电量(含稳压电源电路):
典型工作电流:12mA
●工作电压范围:4.7 ~ 5.5V
● 工作温度范围:-20 ~ +85℃
使用金属屏蔽的好处:(无cpu版AD模块测得的读数)
从下面两个实测图可以看出,有屏蔽的读数明显稳定一点,显示的差值更小。
常用接法:
宝贝相关图片:
CPU版AD模块的29条命令格式和功能说明:
注:本CPU版AD模块所有的数据或者指令的输入输出均采用RS232格尸9600波特率( 无奇偶校验,1个停止位),TTL电平。本模块不能和电脑主机上的串口直接连接,需要通过RS232芯片进行电平转换。
1、 02H 输出1次当前通道的非常终重量⑴(16进制整数)
命令格式:A502A7
模块返回:02H D1 D2 D3 D4 D5 D6 状态码 校验码
说明:向本模块发送A502A7,其中A5是命令数据头,02H是命令ID,A7是A5和02的异或校验值。模块将返回当前通道所测得的非常终重量数据,其中02H代表本次数据是对应A502A7这个命令返回的,D1—D6是非常终的重量数据,D1是高字节,D6是低字节,状态码⑵是指本模块现在的运行状态和数据状态,附注有详细说明,检验码⑶是前面8个字节的异或值。
本指令在以下系统状态时会报错(在状态码里有标志位),表示数据无效或本指令没有执行:
a 校准状态下 (因为校准状态是准备输入砝码值的,连砝码的值都还没有确定所以就无法输出非常终的重量了。好比要你去测量一根铜丝的直径,这时连手上卡尺准不准都还不知道,也就没法测了,即使测了,读数也可能是不准的)
b当前通道没有经过校准,还没有砝码数据的时候。(可用读砝码命令读一下数据看看)
c 模块接收串口数据超时或者模块内部的单片机和HX711通讯错误。(这个是全局都会报错,对所有指令都有效,后续指令不再重复本条)
2、03H 连续输出当前通道的非常终重量(16进制整数)
命令格式:A503A6
模块返回:03H D1 D2 D3 D4 D5 D6 状态码 校验码
说明:连续输出指令相当于本模块自动的重复的执行输出很少指令,例如:本条指令A503A6是连续输出当前通道的非常终重量16进制,那么就相当于自动的、重复的执行 02H 输出很少当前通道非常终重量16进制的这个命令,只是命令ID代码02改为03,其它数据的含义都相同。连续输出命令可以其它被任何一条命令中断或改变。
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
3、04H 输出1次当前通道的非常终重量(十进制整数)
命令格式:A504A1
模块返回:04H D1 D2 D3 D4 D5 D6 D7 D8 状态码 校验码
说明:功能上与A50非常优秀7读很少当前重量16进制指令相同,只是输出数据是十进制而不是16进制
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
4、05H 连续输出当前通道的非常终重量(十进制整数)
命令格式:A50非常优秀0
模块返回:05H D1 D2 D3 D4 D5 D6 D7 D8 状态码 校验码
说明:相当于自动重复执行 A504A1指令,只是指令代码改为05。
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
5、06H 输出1次当前通道的非常终重量(16进制带2位小数 )
命令格式:A506A3
模块返回:06H D1 D2 D3 D4 D5 D6 状态码 校验码
说明:这里的16进制带2位小数的含义如下:
例如模块返回的数据是06 00 00 00 01 6F DF 07 B0,表示非常终重量就是016FDFH,转换成10进制就是94175,说明当前重量是941.75克,因为这种表示方法相对来说适合进行快速二次加工,如:适合快速的加减乘除运算,也适合进行快速比较大小等等,所以就自创了这种格尸而没有采用浮点格式。(当然这里的单位:克,仅仅是一个例子,具体什么单位要看实际应用和砝码性质了,如果用来校准温度传感器的,那么砝码就是特定时候的温度值,如果用来测电压的,那么这里的单位就是V,如果用来测力的,那么这里的单位就是 牛顿 或者 kg了,等等)。数据头06H表示本数据是针对A506A3这条指令而返回的,状态码07表示当前是A通道,是正数,砝码有效,非常新数据,无错误 等等。
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
6、07H 连续输出当前通道的非常终重量(16进制带2位小数)
命令格式:A507A2
模块返回:07 D1 D2 D3 D4 D5 D6 状态码 校验码
说明:相当于自动的重复的执行A506A3指令,只是指令代码改为07。
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
7、08H 输出1次当前通道的非常终重量(十进制带2位小数)
命令格式A508AD
模块返回:08H D1 D2 D3 D4 D5 D6 D7 D8 状态码 校验码
说明:这里的16进制带2位小数的含义如下:
例如模块返回的数据是08 00 00 00 00 00 09 41 78 07 3F,表示非常终是941.78克,也就是说这里的D8就是小数点后两位的值。这些D1-D8都是BCD码,方便用来直接显示。
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
8、09H 连续当前通道的非常终重量(十进制带2位小数)
命令格式:A509AC
模块返回:09H D1 D2 D3 D4 D5 D6 D7 D8 状态码 校验码
说明:本指令相当于自动的重复的执行A508AD指令,只是指令代码改为09。
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
9、0AH 输出1次当前通道的滤波值(16进制整数)
命令格式:A50AAF
模块返回:0AH D1 D2 D3 状态码 校验码
说明:因为从HX711读进来的24bit数据不是直接用来计算,而是先通过平均值计算,去掉非常大、非常小值等数字滤波后,才用来计算。这里所说的滤波值也就是通过平均值滤波后的数值,这和砝码值是没有关系,即使没有砝码参数,这个值也是有效的。
10、0BH 连续输出当前通道的滤波值(16进制整数)
命令格式:A50BAE
模块返回:0BH D1 D2 D3 状态码 校验码
说明:本指令相当于自动的重复执行A50AAF,只是把命令ID 0A改为0B。
11、0EH AB通道交替输出1次 (十进制整数)
命令格式:A50EAB
模块返回:0EH D1 D2 D3 D4 D5 D6 D7 D8 状态码 校验码
说明:由于HX711有两个通道,有时候会接2个传感器(相当于一拖二),而且2个传感器的数据都要用惮所以就诞生了本条指令。把它分解就相当于:读很少当前通道的十进制(A504A1)→切换到另一通道→读很少当前通道的十进制(A504A1)→再切换回原来的通道,这个4个动作的组合。这个功能在某些需要多传感器数据的场合十分有用,可节省硬件、软件资源开支。
指令在以下系统状态时会报错:
a 校准状态下,且只返回很少数据。
b当前通道没有经过校准,还没有砝码数据的时候。
12、0FH AB通道连续交替输出 (十进制整数)
命令格式:A50FAA
模块返回:0FH D1 D2 D3 D4 D5 D6 D7 D8 状态码 校验码
说明:本指令相当于自动的重复执行A50EAB,只是把0E改为0F。
指令在以下系统状态时会报错:
a 校准状态下,且只返回很少数据。
b当前通道没有经过校准,还没有砝码数据的时候。
13、C0H 当前通道归零
命令格屎A5C065
模块返回:74 C0 状态码 校验码
说明:把当前通道的读数作为当前通道的零位基数。类似于市场上普通电子秤的归零功能。执行归零时请保持传感器输出稳定,不要在重量变化、振动、或者温差变化、信号变化的时候执行归零。所有C或D开头的命令ID都是和系统参数有关的命令,这种命令的返回数据的数据头高半位都是以7开头,数据头的低半位代表整个返回数据的字节总数,例如本命令的返回数据的数据头是74,就表示本数据一共有4个字节。第二个字节C0表示本数据值针对A5C065个命令而返回的。这种结构有助于上位机的校验,防止出现错误的执行系统命令。保证系统命令的执行可靠性。
14、C1H A、B通道同时归零
命令格屎A5C164
模块返回:74 C1 状态码 校验码
说明:把当前A、B通道的读数分别作为A、B通道零位基数。本命令在校准状态下无效,会报错。
15、C2H 读取当前通道的砝码重量(16进制整数)
命令格式:A5C267
模块返回:77 C2 版本号+当前通道 砝码H 砝码L 状态码 校验码
说明:这里的“版本+当前通道”的含义是:前半字节侍件版本,值为0-F,后半字节是在没有开机自动执行参数情况下选中运行的通道,值为A或者B,A表示A通道,B表示B通道。砝码H是砝码的高字节,砝码L是低字节。
16、C3H 读取当前通道的砝码重量(十进制整数)
命令格式:A5C366
模块返回:77 C3 D1 D2 D3 状态码 校验码
说明:功能上等同于A5C267这个命令,只是把 砝码H、砝码L转换为十进制BCD码。D1是高字节,D3是低字节。十进制的数据有助于人机界面的直接显示。
17、C4H 读取当前通道的砝码对应的ad值(16进制整数)
命令格式:A5C461
模块返回:77 C4 D1 D2 D3 状态码 校验码
说明:这个数据一般用来二次开发或者某些特殊场合使用,D1是高字节。
18、C5H 读取当前当前通道的滤波累加深度
命令格式:A5C560
模块返回:77 C5 版本+当前通道 滤波状态 深度 状态码 校验码
说明:滤波状态在附注里面有说明。累加深度是指软件滤波器的累加次数。例如深度是05,就表示连续读5次HX711的数据后再进行很少平均值计算,这个平均值就是前面所说的当前通道的滤波值。“版本+当前通道”的含义是:前半字节侍件版本,值为0-F,后半字节是在没有开机自动执行参数情况下选中运行的通道,值为A或者B,A表示A通道,B表示B通道,例如:在下文D1H命令举例中设定了开机自动运行在B通道05H命令,然后上电自动运行一段时间后由于某种需要用A5D10074命令取消了开机自动运行功能,这时模块还是运行在B通道的,如果用本命令读取滤波深度中:“版本+当前通道”字节显示的是当前A通道,那么下次开机就会选中A通道,而不是B。也就是说 D1H命令中设定的工作通道具有优先权。本命令在校准状态下无法执行,会报错。
19、C7H 使用滑动滤波方式
命令格式:A5 C7 深度 校验码
模块返回:74 C7 状态码 校验码
说明:本命令作用是使当前通道切换到滑动滤波方尸并且附带输入数据滤波缓冲区的大小(深度)。
滑动滤波也称为均值移动滤波,是一种减少随机白噪声同时可保持非常敏捷阶跃响应的好方法,采用均值移动方法可使输出数据速率与输入数据速率保持相同。这种方法可以显著地提高非常终结果的有效分辨率,而不影响输出数据的更新速率。这种方法的很少缺点是由于计算平均值产生的流水线延迟而延长了建立时间。本命令在校准状态下无法执行,会报错。累加深度非常小值04H,非常大值0AH。
20、C8H 使用平均值滤波
命令格式:A5 C8 深度 校验码
模块返回:74 C8 状态码 校验码
说明:本命令作用是使当前通道切换到平均值滤波方尸并且附带输入累加次数(深度)。深度取值在04-C8H之间。深度越大相应输出时间越慢,特别是在连续输出的时候使用平均值滤波方尸要等模块内读取HX711的次数到累加次数的时候才会有数据输出。例如:HX711的数据输出速率设置为80Hz(模块背后J1开路),平均值累加深度设置为C8H,也就是十进制的200,而且当前执行的是任何一条连续输出的命令,那么每次数据输出的间隔就达到200x0.0125s=2.5秒,如果是A、B连续交替输出,那个这个时间还会延长,因为HX711规定切换通道后会有4个数据周期的稳定期。如果HX711的数据输出速率设置为10Hz(模块背后J1短接),那么每个输出数据间隔还会更长。本命令在校准状态下无法执行,会报错。累加深度非常小值04H,非常大值C8H。
21、C9H 当前通道进入校准状态
命令格屎A5C96C
模块返回:74 C9 状态码 校验码
说明:使系统进入传感器的校准模尸为输入砝码做好准备。
22、CAH 输入砝码重量(16进制整数)
命令格式:A5 CA 砝码H 砝码L 校验码
模块返回:74 CA 状态码 校验码
说明:本命令作用是在当前通道的校准模式下输入砝码值,其中砝码H是高字节,砝码取值在1-FFFEH之间。传感器校准的一般流程为:首先进入校准状态,然后再使当前通道归零(如果不是在零位),接着再在传感器上施加一定的准确重量(具体一点可以是精确的1kg重的砝码,或10度的温度差,或者10mv电压等,看具体情况而定),非常后再输入本命令,就校准成功了。在正常模式下输入此命令将会报错,在零位的时候也会报错,无法执行。
23、CBH 输入砝码重量(十进制整数)
命令格式:A5 CB 砝码1 砝码2 砝码3 校验码
模块返回:74 CB 状态码 校验码
说明:本功能等同与输入砝码重量16进制整数,只是这里的砝码值是十进制的BCD码,砝码1是高字节。例如一个砝码的重量是945克,那么本命令就是:A5CB00094522。在正常模式下输入此命令将会报错,在零位的时候也会报错,无法执行。
24、CCH 中途退出校准状态
命令格式:A5CC69
模块返回:74 CC 状态码 校验码
说明:如果输入了A5C96C 命令进入校准状态,但是由于某种原因不想校准了,就可以使用本命令退出,而不影响,不改变,不覆盖原有的砝码数据。在正常模式下输入此命令将会报错,无法执行。
25、CDH 切换到A通道128db
命令格式:A5CD68
模块返回:74 CD 状态码 校验码
说明:本命令作用是选中A通道,并且增益设置为128db。本命令在校准模式下无法执行,会报错。
26、CEH 切换到A通道64db
命令格屎A5CE6B
模块返回:74 CE 状态码 校验码
说明:本命令作用是选中A通道,并且增益设置为64db。本命令在校准模式下无法执行,会报错。
27、CFH 切换到B通道32db
命令格屎A5CF6A
模块返回:74 CF 状态码 校验码
说明:本命令作用是选中B通道,并且增益设置为32db。本命令在校准模式下无法执行,会报错。
28、D1H 把当前环境设定为开机自动执行参数
命令格式:A5 D1 开机执行命令ID 校验码
模块返回:74 D1 状态码 校验码
说明:本命令作用是把当前的参数保存,并作为下次开机自动运行的参数,并且自动执行命令中的“开机执行命令ID”,本命令不会保存砝码参数,滤波方尸滤波深度,只保存A、B通道的零位基数。注意,“开机执行命令ID”只能是0开头的命令ID,但是不能为00H,如果发送了C开头的命令或00H命令ID,都将会取消开机自动执行功能,并且删除先前保存的有关开机自动运行的参数(如果有)。如果想要开机时跳过自动归零,但是又不想自动执行任何指令,请把“开机执行命令ID”设定为0C 或0D这两个无效命令。这个指令对应用于温度、湿度传感器,测电压等很有用,用来保存出厂校准时的设定参数。 例如:当前选中的是B通道,模块内部零位基数是810A9E,然后发送本命令A5D10571,就表示下次上电开机将自动使用B通道,并且跳过开机自动归零,强制使用上次保存的零位基数810A9E,接着马上执行05H命令(连续输出当前重量十进制)。本命令在校准状态下会报错,无法执行。
29、D2H 在当前环境下调用开机自动运行命令
命令格式:A5D277
模块返回:74 D2 状态码 校验码
说明:本命令作用是调用之前保存的开机自动运行命令。例如:按D1命令所假设的情况已经设定了一个开机自动运行命令:A5D10571,当时的环境是B通道,零位基数810A9E,并且这次开机也运行了一段时间了,现在有想看看A通道的情况,或者想看看别的什么参数,于是就输入了切换通道命令,也输入了其它命令,而且也归零了,也就是说情况变化大了,等一切都了解明白之后又想要模块运行开机自动运行命令,但是又不想模块断电,这时就可以输入本命令,输入后将重新选用B通道,和零位基数810A9E,且模块返回74D207A1,紧接着就是05H命令的数据返回,就相当于断电再上电这个动作。如果在模块内没有开机自动运行参数的情况下输入本命令,也会有返回数据,但是不会执行开机自动运行命令,可用C5H命令读一下,就知道模块内开机执行参数是否有效了,如果有效还可知道开机自动执行的是哪个通道,哪个命令ID。本命令在校准状态下会报错,无法执行。
附注:
1、非常终重量是指经过和砝码比例计算后的值。例如校准的时候砝码是1kg且ad读数是111111H,刚才测量的时候ad读数是222222H,那种这时非常终重量就是2kg了。所以这个非常终重量如果没有砝码参数的时候是没法计算得到的。
2、状态码含义:
比特位: bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
含义: 出错 连续 负数 零位 校准 非常新 通道 砝码
说明:
bit7 为1表示有错误发生,表示数据是不准确或者命令没有执行。为0表示正确可用。
bit6 为1表示现在正在连续输出数据。
bit5 为1表示现在的数据是负数(比零位基数小),为0表示正数(比零位基数大)。
bit4 为1 表示现在是零位,读数为零(读滤波数据除外)。
bit3 为1表示现在是校准状态,限制很多功能。
bit2 为1表示现在的数据是非常新的,刚滤波后计算得到的、刚出炉的。
bit1 为1表示当前正在使用A通道,为0表示B通道。
bit0 为1表示系统内有砝码参数,为0表示无砝码参数,限制部分功能。
3、校验码含义
校验码是前面几个数据的异或值,例如一个数据或者命令是6字节:A5 D8 0A 1B 73 1F 。其中非常后一个校验码字节1F 表示是前面5个字节A5 D8 0A 1B 73的异或值,A5先和D8异或得到7D,接着7D和0A异或得到77,接着77和1B异或得到6C,非常后6C和73异或就得到校验码1F了。
4、滤波状态含义
比特位: bit7….bit4 bit3 bit2 bit1 bit0
含义: 开机执行命令 开机执行通道 速率 增益 滤波方式
说明:
bit7-bit4开机自动运行的命令,如果是1-F表示对应01-0F命令,为0表示模块内没有开机自动运行参数。
bit3 为1表示开机自动运行的通道是A通道,0表示开机自动运行的通道是B通道
bit2 为1表示HX711的输出速率是80Hz,为0表示是10Hz(由模块背后J1设定)。
bit1 为1表示当前通道增益128db,0表示当前通道增益64db或32db。
bit0 为1表示当前通道采用滑动滤波方尸0表示当前通道采用平均值滤波方式。
5、命令和返回数据的编码规则:所有命令都是以A5开头,接着是命令ID,例如02H表示读很少16进制重量等,然后是数据(如果有),非常后是校验码。所有的模块返回数据分为2类:一类是02-0FH开头,表示这些返回数据是对应读数命令的,例如数据头是04H的返回数据,表示针对04H命令ID返回的。第二类返回数据是以7XH开头,后半字节的X表示本次返回数据的字节数(包含非常后字节校验码),此类返回都表示是针对和系统参数有关(也就是C或者D开头的命令ID)的命令的数据返回,7X后面一个字节紧跟着是被执行的命令ID(值为C0-CFH、D1、D2)。这样的编码方式有助于上位机的数据处理,快速转散,也有助于校验数据的正确性,提高安全可靠性能。如果所有返回数据都同一方式的话,将很难分辨某个返回数据是那个命令所引起的,特别是快速操作的时候,短时间发送了多个命令,后续会有多个返回数据,统一的编码方式将很难或者要花费更多系统资源来区分哪个数据是对应哪个命令。所有命令的前后两个字节的间隔请在50ms内发送,超过50ms模块将认为是乱码或者受到干扰,将放弃解码。例如:现在要输入A502A7这个三字节的读数命令,首先发送的是A5H,发送完后接着发送02H,但是这个A5H 和02H的发送间隔不能超过50ms,同理,后面的02H和A7H的发送间隔也不能超过50ms。一旦超过,即使3个字节全部发送了,整个命令也是无效的,模块不会返回任何数据。
6、如果前面一个命令正在执行,返回数据正在输出,但是还没有输完,又发送了一个命令,那么这个命令会进入等待,会等到前一个命令输出了一个完整的数据包时,新命令才会被执行。例如:输入一个读数命令A50AAF,这时模块将要返回数据0A 00 62 48 05 25,可是还没来得及输出返回数据或者正当输出了2个数据0A00时又收到了一个新命令A5C065,那么这个新命令A5C065会进入等待,直到模块接着输出上一命令的数据62 48 05 25后,才会执行这个等待的新命令A5C065,且如果执行成功将返回74 C0 21 95。详见下图
7、本模块上电开机时会自动执行很少A、B通道同时归零命令,也可使用D1H命令跳过开机归零,而使用其它零位基数。通道改变 增益改变 校准时的砝码参数 都有掉电保存功能,不必每次上电都校准。
8、在校准状态下有效的命令:
a. 0AH 输出1次当前滤波值16进制整数
b. 0BH 连续输出当前滤波值16进制整数
c. C0H 当前通道归零
d. C2H 读取当前砝码重量16进制整数
e. C3H 读取当前砝码重量十进制整数
f. C4H 读取当前砝码对应的ad值16进制整数
g. CCH 中途退出校准状态
h. CAH 输入砝码重量16进制整数
i. CBH 输入砝码重量十进制整数
9、由于本模块应用场合不侍定不变的,外接的传感器也是品种繁多,没有统一的参数,所以无法设定一个读数稳定标志。设计者可结合实际,用多次读数来判断被测信号是否稳定。例如:向本模块发送5次读数命令,把得到的5个数据进行比较,看看非常大值和非常小值之间的差值有多少,再结合实际情况,判断一下这个差值在多大范围内就可以认定被测信号是处于稳定状态。
连续发送多个命令,后续命令进入等待状态的实测图:
细节放大图:
从图中可以看出,把A50FAA 、A50AAF、A502A7 这个3个命令无间隔的连续发送到模块,模块首先收到A50FAA连续交替输出命令,并且返回数据(请看返回数据2的放大图),可是这很不错个命令都还没执行完毕,需要返回的数据都还没来得及输出,又来了第二个命令A50AAF,这时第二个命令就进入等待状态,可惜命令来的太多了,等待的第二个命令都还没得到执行,又来了第三个命令A502A7。在这种情况下,第二个命令A50AAF就被第三个命令覆盖了,等到很不错个命令(连续交替输出)被中断后,一执行完毕,就马上执行第三个命令A502A7了,请看返回数据3的放大图,在0x45数据之后紧接着是0x02,表明是针对02H命令返回数据的。
其它应用举例:仅供参考
1、 测单端电压
如上图所示,这里的A- A+也可以是B-B+,输入电压理论上可以是0到任意值,可以是20v 100v 300v等,但是实际应用要考虑到稳定性,可靠性,精度,使用环境等因素,设计时可以适当加以改变,或用线性光耦隔离,或经过放大等等。分压电阻选择:如果接的是A通道,且增益是128db,那么应该有±20MV的输入电压范围,但是A-端口直接接地了,所以A+端口输入电压只能是0到+20mv电压范围,只要恰当的计算选择图中R3,R5的阻值,使得在被测输入电压的变化范围内A+端口有0到+20mv的电压变化,就可以达到设计要求了。当然这种比例的缩小同时会降低对输入电压的检测精度,设计时应结合实际需要,酌情考虑,灵活应用。如果要使用模块全部的±20MV的电压范围,提高被测电压的检测精度,请参考接法2。
如上图接法2所示,基本原理同接法1,只是这里多了R1,R2两个电阻,这两个电阻使模块内部的稳压电源经过分压给A-引脚提供了一个参考电压,从而可以得到模块全部的差分输入电压范围,某种程度也提供被测电压的检测精度。电阻的选择方法:假设使用的A通道128db,那么适当选择R1、R2的阻值,使得A-端口有20mv的基准电压,然后再根据实际被测输入电压的非常大变化范围计算选择R3、R4,使得A+端口有0到+40mv的电压范围,这样就可以达到设计要求了。
2、 测双极性信号
所谓的双极性信号就是有正压或有负压的信号,有那么一点类似交流电。例如 某个传感器或者信号源的输出是-1v到+2v,那么这个信号就是双极性信号了。但是模块的A- A+不能输入负压,不过也可以通过几个电阻来解决。
如上图所示,假设使用的是A通道128db,通过恰当的选择R3、R5、R6的阻值,在被测双极性信号的非常大变化范围内使A+引脚有0到+20mv的电压变化。这种接法有个弊端,对被测信号的带负载能力(或驱动能力)有一定要求,当然了也可以R3、R5、R6的阻值。但显然这个接法是成本很低的。设计者需要结合实际,反复测试,酌情考虑。如果需要扩大A+端口的电压范围,请参考接法4
如上图所示,基本同于接法2,只是多了一个R6电阻。同理,恰当选择R1、R2阻值,使A-端口有+20mv的基准电压,再选择R3、R5、R6的阻值,使A+端口有0到+40mv的电压变化,就可以了。如果使用A通道64db,那么A-端口设定在+40mv,A+端口可以有0到+80mv的电压变化。如果使用B通道,那么B-端口设定在+80mv,B+端口就可以有0到+160mv的电压变化范围了。如何选择,选择那种方尸要看实际产品应用情况了。
3、如何使用D1H命令
有时候会应用到测量温度,模拟电压,湿度等领域,但是本模块开机时会自动归零,那只要每次断电再上电的时候,读数总是0,无法正确的读到当时的温度,这时就要用到D1H命令了。例如本模块应用在一种温度传感器上,出厂时就先校准好,先进入校准状态把温度传感器放置在0度环境,这时使模块归零,然后传感器再放到25度环境,这时对模块输入CAH或CBH这两个输入砝码命令,把25度作为砝码值输入到模块里面,校准好之后 用读数命令核对校准精度,如果精度误差太大,可重复几次。校准完成之后,可用D1H命令保存当前的零位基数。如需开机自动执行某个命令,就把开机执行命令ID也输入模块,如果不需要开机执行任何命令,那么只要把开机执行命令ID设置成0C或者0D即可。这样每次开机,模块就会自动的以0度温度值作为基准,输出的数据也就符合要求了。这里的温度也可以是10度、100度,或者是10mv、2v、40v等等,只要提供一个精确的差值就可以了。
GX-2012-(咨询特价)