■ HX711读取模块


通过对于 磁悬浮地球仪拆解 中,悬浮物所受到的磁力随着空间和电流的变化,可以建立起被控对象的数学模型。除了在理论上可以电磁相互作用力进行测量之外,通过实验完成数据的拟合,帮助对模型进行修正和检验。

使用 微型称重传感器 可以对于一些力进行测量。其中结合着电子秤专用模拟/数字(A/D)转换器芯片 HX711 便可以完成测量结果的数字化。本文设计的MCU HX711读取模块是基于STC8G单片机来读取受力。为了能够同时完成多路信号的读取,设计的模块至少具有4路的HX711读取通道。设计后的模块在 串口ISPHUB 支持下可以协同其它模块加成综合实验。

▲ 带有HX711接口板的小型电子秤(5kg量程)

01电路模块设计


HX711的电路模块的接口如下,其中包括有电源(VCC,GND)以及时钟(SCK)和数据(DT)。

▲ HX711模块的接口

1.电路设计1

▲ 读取模块的电路原理图

▲ 快速制版的实验电路板

2.MCU软件2

  • 单片机OSC:35MHz,UART1 460800 bps

(1) HX711读取数据协议

下面是HX711读取数据的协议:

▲ HX711读取数据序列

(2) 延迟程序

通过_nop_()循环获得延迟: 4.6us.

for(j = 0; j < 0x20; j ++) _nop_();
ON(SCK1);
for(j = 0; j < 0x20; j ++) _nop_();
OFF(SCK1);

▲ 测量SCK1波形:4.6us

(3) 编写读取HX711函数

通过HX711Read4Buffer(ucMode) 读取四个通道的HX711的数值。下面是SCK的波形,对比HX711协议,它满足对时序的要求。

▲ 实际读取HX711的SCK波形

02串口命令


具体命令参见下面serialtxt中的命令:

else IFARG0("hx711read") {printf("%ld ", g_lnHX711Buffer[0]);printf("%ld ", g_lnHX711Buffer[1]);printf("%ld ", g_lnHX711Buffer[2]);printf("%ld\r\n", g_lnHX711Buffer[3]);
} else IFARG0("hx711readb") {lnNumber = g_lnHX711Buffer[0];SendChar((unsigned char)(lnNumber >> 16));SendChar((unsigned char)(lnNumber >> 8));SendChar((unsigned char)(lnNumber));lnNumber = g_lnHX711Buffer[1];SendChar((unsigned char)(lnNumber >> 16));SendChar((unsigned char)(lnNumber >> 8));SendChar((unsigned char)(lnNumber));lnNumber = g_lnHX711Buffer[2];SendChar((unsigned char)(lnNumber >> 16));SendChar((unsigned char)(lnNumber >> 8));SendChar((unsigned char)(lnNumber));lnNumber = g_lnHX711Buffer[3];SendChar((unsigned char)(lnNumber >> 16));SendChar((unsigned char)(lnNumber >> 8));SendChar((unsigned char)(lnNumber));
}

02 ISPHUB命令3


  • ISPHUB的读取HX711的子程序:
//------------------------------------------------------------------------------
#if HX711_EN
void HX711Read(long * pBuffer) { unsigned char c, i;unsigned long lnNumber;SendHubCommand("hx711readb");WaitTime(10);for(i = 0; i < 4; i ++) {UART2ReceChar(&c);if(c & 0x80) lnNumber = 0xff;else lnNumber = 0;lnNumber = (lnNumber << 8) + c;UART2ReceChar(&c);lnNumber = (lnNumber << 8) + c;UART2ReceChar(&c);lnNumber = (lnNumber << 8) + c;*(pBuffer + i) = (long)lnNumber;}}#endif // HX711_EN
  • ISPHUB的串口命令:
} else IFARG0("hx711read") {HX711Read(g_lnHX711Buffer);printf("%ld ", g_lnHX711Buffer[0]);printf("%ld ", g_lnHX711Buffer[1]);printf("%ld ", g_lnHX711Buffer[2]);printf("%ld ", g_lnHX711Buffer[3]);printf("\r\n");

 

※ 结论


HX711模块可以满足读取四个通道的HX711转换模块数据读取的要求。

▲ HX711读取模块工作状态


  1. AD硬件设计工程文件:AD\STC\Tools\2020\HX711STC8G1K.SchDoc * ↩︎

  2. MCU的C51工程文件:C51\STC\Test\2020\Tools\HX711STC8G1K\HX711STC8G1K.uvproj ↩︎

  3. ISPHUB的MCU工程文件:C51\STC\Test\2020\Tools\ISPHUBALLSELSTC8H1K28\ISPHUBALLSELSTC8H1K28.uvproj ↩︎

HX711电子秤专用转换芯片读取MCU模块相关推荐

  1. 电子秤专用模拟/数字(A/D)转换器芯片 HX711

    ■ 简介 HX711是一款专为高精度电子秤而设计的24位A/D转换器芯片.与同类型其它芯片相比,该芯片集成了包括稳压电源.片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高.响应速度快.抗干 ...

  2. 【Arduino】HX711 拉力计称重模块 两个模块同时使用

    硬件 hx711模块使用原理图如下: 应变片原理 图片来源 程序 使用此测试程序需要先下载 HX711 库文件. 下载方法:在"工具"->"管理库"中,搜 ...

  3. 基于单片机智能灯光光控照明系统设计、基于单片机HX711电子秤自动计价系统设计、基于单片机GPRS远程测控系统设计、基于单片机多功能循迹避障无线遥控蓝牙智能小车-设计资料

    基于单片机智能灯光光控照明系统设计 智能光控照明系统设计原理: 本系统采用STC89C52系列的单片机为核心,利用BH1750传感器测量实时光照强度,并将亮度的模拟信号转化成数字信号,大大减少了系统的 ...

  4. 基于单片机HX711电子秤自动计价系统设计-基于单片机GPRS远程测控系统设计-818基于单片机循迹避障无线遥控蓝牙智能小车-基于单片机24s倒计时篮球积分器系统-基于单片机智能洗衣机控制系统

    816基于单片机HX711电子秤自动计价系统设计 本设计使用高精度电阻应变式压力传感器,用A/D转换器HX711(HX711数据手册)对传感器信号进行调理转换.AT89s52(AT89s52数据手册) ...

  5. 读取EL1809模块输入信号

    读取EL1809模块输入信号 主要参考el18xxen.pdf Twincat学习笔记 一 普通IO程序 AT%Q表示该变量可以与IO 输出链接,AT%I表示输入链接 这里主要为了单独读取转向电机辅助 ...

  6. 流量计专用无线物联模块介绍

    流量计广泛应用于工业供给水等系统.随着物联网的发展,离散式分布式安装的流量计需要把数据远程传输到物联网平台上去,因此,传统流量计需要加上一个无线物联网模块,才能实现数据的远程传输. 流量计一般采用RS ...

  7. RH850从0搭建Autosar开发环境【3】- Davinci Configurator之MCU模块配置详解

    MCU时钟配置讲解 一.如何打开MCU配置界面 1.1 打开MCU时钟配置界面 1.1.1 第一种方式:Base Services 1.1.2 第二种方式:Basic Editor 1.2 RH850 ...

  8. Arduino读取GPS模块

    Arduino读取GPS模块 最近要做一个公交车报站器,所以打算用GPS模块来实现定位的功能,于是找朋友借了个GPS模块来试试. GPS模块 常见的GPS模块的参数都差不多,除了有些个别输出格式不同. ...

  9. 【034】基于51单片机的HX711电子秤Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的HX711电子秤proteus仿真设计一份: (2).基于51单片机的HX711电子秤proteus仿真设计keli源代码一份: (3).基于51单片机的H ...

最新文章

  1. 基于Mysql主从同步的读写分离
  2. Visual Studio 2013运行时卡顿 CPU占用超高的解决方法
  3. World of Darkraft(codeforces 138D)
  4. 设计一个模型计算机的原理,计算机组成原理——基本模型机设计与实现
  5. 记录层序遍历中每层右侧第一个数字 Binary Tree Right Side View
  6. 函数调用 压栈的工作原理
  7. 折半查找法(二分查找法)
  8. Elasticsearch使用REST API实现全文检索
  9. 参考文献的类型及标识
  10. 《老马的职业“鬼”话》 马华兴著
  11. k均值的损失函数_K-Means算法的实现
  12. 关于程序修改时(修改被调用的SQL时),注意关联性(也可以说是影响范围)。
  13. 系统集成项目管理工程师 笔记(第一章:信息化知识)
  14. 棋牌游戏开发教程系列:游戏服务器框架搭建
  15. 北京等保测评机构项目测评收费价格标准参考
  16. 宝健中国用产品缔造口碑,深受消费者信赖
  17. SpringBoot+Hibernate配置
  18. guzzle php,PHP中使用Guzzle进行API测试
  19. 基于tp5的免费开源企业官网系统
  20. 微信小程序 java四六级英语学习助手系统app

热门文章

  1. 哈佛图书馆墙上的训言
  2. Windows窗体的所有菜单
  3. javascript高级教程
  4. 图形旋转的C语言源程序
  5. A股融资融券余额是什么意思?
  6. linux环境中,查询网卡的速度(带宽)
  7. 学习C#中调用COM,后期绑定(以及对WinHttp COM对象的C#封装)
  8. windows 下xampp集成环境安装mongodb扩展
  9. Office 365系列之四:添加自定义域
  10. 宿主机訪问virtualBox中Ubuntu