hx711串口模块使用说明书说明v_第1页
hx711串口模块使用说明书说明v_第2页
hx711串口模块使用说明书说明v_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子秤(HX711)串口模块说明文档模块主要特点:1工作方式 1:2工作方式 2:3校正方法:5附录 1:指令集6附录 2:HX711AD 芯片要点6附录 3:如何把 10HZ 的频率改为 80HZ?7附录 4:AB 通道连续交替输出效果7附录 5:51 单片机参考例程8附录 6:是否能通过 232/485 组网?10 AB 双通道数据采集,数据传输具有 主动发送 和 被动发送 ;数据类型分为工作方式 1和工作方式 2 两种任客户选择,满足不同用户需求。 默认波特率:9600bps 校验位:无停止位:1 位协议总长度:10 字节 体积:长 3.3cm*宽 2cm*高 0.3cm。 新款增加 4

2、7uf 黑色大电容钽电容,稳定性明显提高了。 内置单片机,去皮,校正等 N 条指令控制,功能强大。节约底层开发时间。 HX711 芯片内稳压电路可以直接向外部压力传感器提供电源。 简单的串口TTL232 通信,可以通过 USB 转TTL 线连电脑进行数据传输,非常方便。 可同步抑制 50Hz 和 60Hz 的电源干扰。 耗电量非常小,典型工作电流 12mA. 工作电压范围:DC 4.75.5V。 工作温度范围:-20 +85 旺旺号 深圳小余电子 技术支持QQ 5624092061电子秤(HX711)模块主要特点:下面我们以最常用的A 通道数据,增益 128 为例。(该模块为双通道数据采集,B

3、 通道其实也可以接一个压力传感器。但是B 通道只能增益 32 倍,所以测的精度并不是很高。对精度要求不是很高的可以同时使用AB 双通道,也就是接 2 个压力传感器。B 通道建议用于包括电池在内的系统参数检测。)A 通道主动;工作方式 1:(出厂默认此格式)默认波特率:9600bps 协议总长度:10 字节校验位:无停止位:1 位旺旺号 深圳小余电子技术支持QQ5624092062Bit1起始位0XAA (固定)Bit2命令格式返回0XA1 代表A 通道工作方式 1 进行被动发送(一发一收)0XA2 代表A 通道工作方式 1 进行主动发送-0XB1 代表B 通道工作方式 1 进行被动发送(一发一

4、收)0XB2 代表B 通道工作方式 1 进行主动发送Bit3预留0X00Bit4预留0X00Bit5当前通道数据低 16 位对应 Bit2 命令下返回的数据格式还原 HX711 的 AD 24 位转换【000000H-FFFFFFH】数据=bit5*65536+bit6*256+bit7Bit6当前通道数据高 8 位Bit7当前通道数据低 8 位工作方式 1:注意:Bit2 出厂默认为 A2 命令,间隔 100ms 主动一次数据。有些工作环境中不需要模块主动发送数据,那么可以向模块发送 0XA1 ,则取消主动发送命令,模块立即改为被动发送, 发送一次 0XA1,模块则返回一次采集数据。同理,当

5、要切换到主动发送时,只需要发送一次 0XA2 则切换完成,参数都会断电保存,下次使用无需重新设置!A1 命令时,模块返回格式如下:为了更好的理解工作方式 2,我们先了解一下称重原理:很多人以为称重传感器上面没有放所测物体的时候,数据输出为 0。 这种思想是错误的,其实称重传感器上面没有放所测物体的时候,仍然是有数据输出的,这个与传感器内部桥式电路有这个值不为 0,而且这个数值还非常大!。而且经过 HX711AD 模块处理后,不仅那么我们是如何计算称重物体的重量呢?一般是需要采集一次传感器托盘上面没有放物体时的毛皮重量。毛皮重量采集了后,需要存储在设备里面的ROM 区间里。然后下次称重的时候We

6、ight_Shiwu = HX711_Read(); /采集当前称重的AD 值,的重量AD 值第步 Weight_jingzhong = Weight_Shiwu - Weight_Maopi;/相减的差就等于净重AD 值,B 通道工作方式 2 中只有去皮清零指令,也就是获取这里的净重AD 值,没有第 4 步校正系数的功能。请注意!第步 实际重量=Weight_jingzhong/K; / K 是一个系数回的重量值,不是AD 值。已经转换为实际重量了。旺旺号 深圳小余电子 技术支持QQ 5624092063这行 就相当于A1 和B1 指令下返回第步这行就相当于A 通道工作方式 2 指令下返We

7、ight_Maopi = HX711_Read();/提前采集一次毛皮重量AD 值第步工作方式 2:Bit1Bit2Bit3Bit4Bit5Bit6Bit7Bit8Bit9Bit100XAA0XA10X000X00数据低16 位数据高8 位数据低8 位校验位高 8 位校验位低 8 位0XFFBit8校验和高 8 位=(bit2+bit3+.+bit6+bit7)Bit9校验和低 8 位Bit10结束位0XFF (固定)这样就获取了所测物体的实际重量。刚接触压力传感器看到这里是不是有点晕了,别急,慢慢理解一下逻辑顺序。还是很简单的。第步算过程省去,直接输出实际重量。温馨提示:被动发送和主动发送时

8、,操作和工作方式 1 相同,只是指令符合不同;2 疑问解答:疑问 1: 去皮操作这个可以理解。校正又是怎么回事呢,难道你们发货的时候没有校正好吗?答:接触过压力传感器的朋友都知道,每个压力传感器在首次使用的时候都是新标定的。每个传感器参数不可能完全一样(比如 5KG 量程的传感器有些系数K(我个人理解为传感器线性曲率)是430,有些是 433,有些是 420 不等)。如果不进行校正,使用就有误差,个别传感器甚至续往下看,下面有标定方法)(继疑问 2:Bit4 显示代表重量的数据正负,重量难道还有负的吗?旺旺号 深圳小余电子 技术支持QQ 5624092064,就是我们该模块中A 通道的工作方式

9、 2 了的输出数据,直接把计工作方式Bit1起始位0XAA (固定)Bit2命令格式返回0XA3 代表A 通道工作方式 2 进行被动发送(一发一收)0XA4 代表A 通道工作方式 2 进行主动发送-0XB3 代表B 通道工作方式 2 进行被动发送(一发一收)0XB4 代表B 通道工作方式 2 进行主动发送Bit3预留0X00Bit4正负标志位0X00:正数0X01:负数Bit5实际重量低 16 位A 通道为实际重量=bit5*65536+bit6*256+bit7单位默认为g 。大量程的传感器,如果精确到g,显示波动会较大。建议取 0.1KG 或者 1KG。B 通道时返回数据为去皮后的AD 值

10、。该通道不常用于测重,没有除以系数K,所以是AD 值。Bit6实际重量高 8 位Bit7实际重量低 8 位Bit8校验和高 8 位校验码=(bit2+bit3+bit6+bit7)Bit9校验和低 8 位Bit10结束位0XFF (固定)上面答:Weight_jingzhong = Weight_Shiwu - Weight_Maopi;/相减的差就等于净重AD 值实际重量=Weight_jingzhong/K; / K 是一个系数这行就相当于A 通道工作方式 1 指令下返上面已经介绍过了,获取净重=所测重量-毛皮重量。 当存储的毛皮重量 大于 所测重量时, 就会形成负重状态。以下 2 种情况

11、可以导致负重。1:人为去拿压力传感器托盘,给了它向上的力。2:传感器的误差,在毛皮重量值上下波动。在一定的上下波动范围内,这个是正常的。可以通电等待 2s 待电压稳定后 再进行去皮操作来减小误差;或者这个负数值不大时,忽略不处理。这个看自己设计的产品功能要求视情况而定!【注意:校正仅针对通道A 才有效,通道 B 只有去皮清零功能,无此校正功能,】毛皮和校正参数K 都是断电保存功能,操作一次即可。1:进入 A 通道校正函数程序时,必须先向模块发送一次 0XA5 指令。此时 A 通道校正大门打 开 , 以 下 的 校 正 指 令 才 有 效 。 校 正 完 成 后 只 需 要 发 送 自 己 需

12、要 的 工 作 模 式(A1/A2/A3/A4/B1/B2/B3/B4)指令后,AB 通道校正大门函数都会立即关闭。需要重新校正就又要发送 0XA5 指令了。向模块发送指令功能0XAA进行去皮(零点校准,永久归零)。(如果使用工作方式 2,传感器和该模块连接好后必须先去皮操作。)0XAB显示重量偏大,需要减小。(实际上是使K 增大)实际重量=Weight_jingzhong/K;0XAC显示重量偏小,需要增加。(实际上是使K 减小)实际重量=Weight_jingzhong/K;单位默认为g。大量程的传感器,如果精确到 g,波动会较大。建议取 0.1KG 或者 1KG。相当于输出值再除以 10

13、 或者 100 或者 1000.由于发送 0XAB 或者 0XAC 一次,校正系数 K 就 加减 1 的递增递减,速度较慢。(K 取值范围为 1 到 999),注意:每发送一次校正指令,模块都会返回一次校正后的数据,便于查看是否校正完成!这里我们增加了一些常用的K 系数值(注意 不同厂家和批次的这个K 值可能不同,需要微调校正的。),直接发送该指令即可跳到相应的数据,然后在通过发送 0XAB 或者 0XAC 加减 1 的递增递减微调校正。旺旺号 深圳小余电子 技术支持QQ 5624092065回的重量值,不是AD 值。已经转换为实际重量了。快速校正发送指令对应的参数0xA6这 个代 码是 常用

14、 5KG 量 程传, K=430;0xA7这个代码是常用 10KG 量程, K=210;0xA8这个代码是常用 20KG 或 40KG 量器, K=106;校正方法:Weight_Maopi = HX711_Read();/提前采集一次毛皮重量AD 值Weight_Shiwu = HX711_Read(); /采集当前称重的AD 值,第步第步第步第步以 5KG 量程的系数为例: 如果您使用的量程为 5T( 吨) 时, 根据公式“ 实际重量=Weight_jingzhong/K”系数取 5KG 的 430 不变,Weight_jingzhong 净重 AD 值也是不变的, 实际重量量程从 5KG

15、 到了 5T,放大了 1000 倍。那么得到的单位从g 也会相应放大变为了 1000g。 那么就得出了。5T 量程的系数也可以是 430,单位为 KG;以此类推其他量程.2:进入 B 通道校正函数程序时,必须先向模块发送一次 0XB5 指令。此时 B 通道校正大门打开,然后发送去皮(零点校准,永久归零)指令 0XBA 才有效。操作完成后只需要发送自己需要的工作模式(A1/A2/A3/A4/B1/B2/B3/B4)指令后,AB 通道校正大门函数立即关闭。 和校正 A通道操作基本上一致,只是没有修改系数K 的功能了。HX711AD 模块的使用方法我这里就不多讲了,不清楚的请看 hx711据手册。这

16、里我总结几个要点:数:该模块上面分为A 通道和 B 通道 2 组采集口。A 通道的可编程增益较大,为 128或 64.这些增益所对应的满量程差分输入电压分别为±20mV 或±40mV。通道 B 为固定的 32旺旺号 深圳小余电子 技术支持QQ 5624092066附录 2:HX711AD要点附录 1:指令集0xA9这个代码是常用 100KG 或 200KG 量程传感器, K=26(有些型号不同的 100kg 对应的系数为 50, 自己使用的时候测试一下,系数只作参考!)增益,所对应的满量程差分输入电压为±80mV.通道B 对应包括电池在内的系统参数检测。一般压力传

17、感器的信号小,我们采用A 通道的 128 增益。64 增益几乎用不上。所以我们这个串口模块A 通道固定为 128 增益,B 通道只有一个增益,那就是 32 增益。:HX711 内部晶振频率分为 10HZ 和 80HZ 两种。10HZ 的精度比 80HZ 工作时要高 1.5位。由于生活中电子秤的采集数据对时间要求没有那么严格,1 秒采集 10 次也完全足够了。况且屏幕的刷新速度太快了,眼睛也看不过来呀!所以 AB 通道的主动模式都是间隔 100ms发送。如果采用被动模式(也就是一发一收),发送采集指令的间隔时间必须大于 100ms。(如果要求采集速度非常快的客户,可以把该模块改为80HZ 的工作

18、时序,被动模式下发送采集指令间隔时间可以达到12.5ms,主动模式依然是 100ms 发送一次。80HZ 频率精度会比 10HZ 下降 1.5 位,不推荐使用。具体修改方法请看附录 3):HX711 规定 A、B 切换通道后会有 4 个数据周期的稳定器。为了尽可能消除切换通道带来的误差,我们软件中增加了 1 个数据周期。所以切换通道后延时 5 个数据周期的时间。被动发送模式下 也就是切换通道后的第一个指令需要 执行的时间为 500ms,(500ms 内再次发送指令无效)同通道下第二个指令以后就会恢复到 100ms 执行一次。那么如果是 A、B 连续交 替输出,那么指令时间间隔需要至少 500m

19、s。(效果图请看文档最后面的附录三)相比这种情况下,时间确实较长。:可以考虑将 HX711 改为 80HZ 的工作频率。A、B 连续交替输出时间可以减小到 62.5ms。:B 通道一般用于采集电池电压状态或者其他的一些对时间要求不高的传感器,那么可以采集A 通道 1000 次,然后只采集B 通道 1 次的情况来解决办法。修改方法:HX711上明确写有,HX711 第 15 只引脚RATE 为输出速率。0:10HZ1:80HZ ,只需要把该引脚连接到电源正极 VCC 即可。操作方法:将 14 脚和 15 脚之间的电烙铁将 15 脚和 16 脚短接即可!细线用美工刀或者小工具切断,然后用旺旺号 深

20、圳小余电子 技术支持QQ 5624092067附录 4:AB 通道连续交替输出效果附录 3:如何把 10HZ 的频率改为 80HZ?A1A3B1B3 指令交替输出A1B1 指令交替输出旺旺号 深圳小余电子 技术支持QQ 5624092068附录 5:51 单片机参考例程出厂默认为 A 通道主动;工作方式 1疑问解答:我用工作方式 1A 或者 B 通道的数据,或者工作方式 2B通道的差值AD。为什么数据Bit7 波动的厉害? 答:首先我们要知道该模块是 24 位分辨率的,如果不考虑 AD 无效位的话,数据最大可达 224 次方,也就等于 16777216。 而Bit7 只是数据的低 8 位,算下

21、来就算把 Bit7 舍去了,都还有这 65536 个分辨率,一般都足够了。所以 Bit7 波动是正常的。就好比电子温度计一样,如果分辨率精确到 0.1 度,可能看不到数据波动变化。但是如果分辨率精确到 0.0001 度时,这个数据每刻都会快速波动变化,就好比 12.2568,12.2658,12.2902,12.2056等等。这就是传感器放大后的微妙变化。赠送的 51 单片机程序读取部分,完整程序查看此压缩包里面的程序文件。/*/ 串口中断服务程序/*/ void UartInt(void) interrupt 4ES = 0while(!RI) Byte1=SBUF RI=0/关闭串口中断/ Byte1 固定起始位 0XAAwhile(!RI) Byte2=SBUF RI=0/ Byte2 指令返回while(!RI) Byte3=SBUF RI=0/ Byte3 预留while(!RI) Byte4=SBUF RI=0/ Byte4 预留while(!R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论