打印
[活动]

【每周分享】纯手工搓的电子秤,焊的有点丑

[复制链接]
193|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 地瓜patch 于 2024-6-11 18:48 编辑

@21小跑堂、#申请原创

老规矩,先上配件开箱照片包括stc的单片机,面包板 ,称重模块,24位ADC模块,其他散件




接下来就是组装焊接了,焊接前需要先对布局进行一下规划。
把实物放上去对比一下。看看怎么摆放美观大方漂亮周正



翻来覆去,还是下图这个方式比较合适


确定好位置就开干,能堆锡的就堆锡,实在不行就接线
老电工,焊的优点丑,凑合看,不过保证没有虚焊或短路。
老电工对焊接质量还是有保证的。




焊接完成,加上屏,还不算很难看,焊了三个微动开关,一个清零,一个加校准,一个减校准。足够用了。

加单片机和屏之前,先上电量一下各个点的电压,一是看电压是否正确,二是看各个点是否有电压。
单片机是用宏晶的双列直插40Pin51单片机stc89c52。特 点 :
1. 增强型 6 时钟 / 机器周期,12 时钟 / 机器周期 8051 CPU
2. 工作电压:5.5V - 3.4V(5V 单片机) / 3.8V - 2.0V(3V 单片机)
3. 工作频率范围:0 - 40 MHz,相当于普通 8051 的 0~80MHz.实际工作频率可达 48MHz.
4. 用户应用程序空间 4K / 8K / 15K / 16K / 20K / 32K / 64K 字节
5. 片上集成 512 字节 / 1280 字节 RAM
6. 通用 I/O 口(32/36 个),复位后为: P1/P2/P3/P4 是准双向口 / 弱上拉(普通 8051 传统 I/O 口)
P0 口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。

7 . ISP (在系统可编程)/IAP (在应用可编程),无需专用编程器
8. EEPROM 功能
9. 看门狗
1 0 .内部集成 MAX810 专用复位电路(D 版本才有),外部晶体 20M 以下时,可省外部复位电路
可通过串口(P3.0/P3.1)直接下载用户程序,8K 程序 3 秒即可完成一片

11.共 3 个 16 位定时器 / 计数器
12.外部中断 2 路,下降沿中断或低电平触发中断,Power Down 模式可由外部中断低电平触发中断方式唤醒
13. 通用异步串行口(UART)
14.工作温度范围: 0 - 75℃ / -40 - +85℃
15.封装: PDIP-40,PLCC-44,PQFP-44



显示屏,用最最常用的1602,可显示两行字符,每行16个字符总共32个。
接口方面,有 8 条数据,三条控线。可与微处理器或微控制相连,通过送入数据和指令,就可使模块正常工作

内部预制160个字符,可按照高四位第四位的编码格式,随时读取。有16个单元可存储自编符号。


写时序

读时序



24位ADC-HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的 24 位 A/D 转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成
本,提高了整机的性能和可靠性。
特点
• 两路可选择差分输入
• 片内低噪声可编程放大器,可选增益为32,64 和 128
• 片内稳压电路可直接向外部传感器和芯片内A/D 转换器提供电源
• 片内时钟振荡器无需任何外接器件,必要时也可使用外接晶振或时钟
• 上电自动复位电路
• 简单的数字控制和串口通讯:所有控制由管脚输入,芯片内寄存器无需编程
• 可选择 10Hz 或 80Hz 的输出数据速率
• 同步抑制 50Hz 和 60Hz 的电源干扰
• 耗电量(含稳压电源电路):典型工作电流:< 1.6mA, 断电电流:< 1µA
• 工作电压范围:2.6 ~ 5.5V
• 工作温度范围:-40 ~ +85℃
• 16 管脚的 SOP-16 封装


HX711串口通讯
串口通讯线由管脚 PD_SCK 和 DOUT 组成,用来输出数据,选择输入通道和增益。当数据输出管脚 DOUT 为高电平时,表明A/D 转换器还未准备好输出数据,
此时串口时钟输入信号 PD_SCK 应为低电平。当 DOUT 从高电平变低电平后,PD_SCK 应输入 25 至 27 个不等的时钟脉冲(图二)。
其中第一个时钟脉冲的上升沿 将读出输出 24 位数据的最高位(MSB),直至第 24 个时钟脉冲完成,24 位输出数据从最高位至最低位逐位输出完成。
第 25至 27 个时钟脉冲用来选择下一次 A/D 转换的输入通道和增益。PD_SCK 的输入时钟脉冲数不应少于 25 或多于 27,否则会造成串口通讯错误。[size=10.6779pt] [size=10.6779pt]
如果 PD_SCK 从低电平变高电平并保持在高电平超过 60µs,HX711 即进入断电状态。如使用片内稳压电源电路,断电时,外部传感器和片内 A/D 转换器会被同时断电。当PD_SCK 重新回到低电平时,芯片会自动复位后进入正常工作状态。

芯片从复位或断电状态进入正常工作状态后,A/D 转换器需要 4 个数据输出周期才能稳定。DOUT 在 4 个数据输出周期后才会从高电平变低电平,输出有效数据。

示例图纸


示例程序
参考驱动程序(C)
sbit ADDO = P1^5;
sbit ADSK = P0^0;
unsigned long ReadCount(void)
{
              unsigned long Count;
              unsigned char i;
              ADSK=0;
              Count=0;
              while(ADDO);
              for (i=0;i<24;i++)
              {
                     ADSK=1;
                     Count=Count<<1;
                     ADSK=0;
                     if(ADDO) Count++;
              }
              ADSK=1;
              Count=Count^0x800000;
              ADSK=0;
              return(Count);
}

完成电路和程序后,编译,下载,速度很快


通电,通电后屏幕重量显示不为零,点击清零微动开关,进行清零操作。下图是清零后的显示结果。



用100g砝码进行校准,此时显示重量为101g,点击校准减微动开关,将其重量调整到100g,完成校准。
校准结果存储在stc单片机的片内flash中,重新上电,校准结果还在。



用20g砝码检验一下校准结果是否正确。实测结果还好。若是显示有差异,可以用100g砝码多校准几次。



找几个常见物品看看重量是多少,一元硬币是5g


乾隆通宝5g,大观通宝16g



下一步将改进这个电子秤的精度





21926667fe3b80e44.png (101.6 KB )

21926667fe3b80e44.png

使用特权

评论回复

相关帖子

沙发
jlc317| | 2024-6-9 18:21 | 只看该作者
实用就好

使用特权

评论回复
板凳
ezcui| | 2024-6-9 22:07 | 只看该作者

使用特权

评论回复
地板
WoodData| | 2024-6-11 17:23 | 只看该作者
这个不错啊,精度是多少了。
可以称黄金不。哈哈哈

使用特权

评论回复
5
地瓜patch|  楼主 | 2024-6-11 18:12 | 只看该作者
WoodData 发表于 2024-6-11 17:23
这个不错啊,精度是多少了。
可以称黄金不。哈哈哈

到克,没有小数,需要提高下精度

使用特权

评论回复
6
田舍郎| | 2024-6-11 19:27 | 只看该作者
后边的几个铜钱,一个是乾隆通宝,另一个是大啥通宝

使用特权

评论回复
7
咕咕呱呱孤寡| | 2024-6-12 10:02 | 只看该作者
田舍郎 发表于 2024-6-11 19:27
后边的几个铜钱,一个是乾隆通宝,另一个是大啥通宝

大观通宝

使用特权

评论回复
8
田舍郎| | 2024-6-12 20:37 | 只看该作者

上个小关通宝看看

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1178

主题

11347

帖子

27

粉丝