电子组装与调试”预赛“电子秤”电路功能简介
一、功能说明
电子秤主要以单片机STC90C52RC控制核心,实现电子秤的基本控制功能。系统扩展了电子日历时钟,系统可以分为最小系统、数据采集、人机交互界面和系统电源、时钟和语音报数六大部分。最小系统部分主要包括STC90C52RC和经典复位电路;数据采集部分由称重传感器、信号放大和A/D转换部分组成,信号放大和A/D转换部分主要由专用型高精度24位AD转换芯片HX711实现;人机交互界面为键盘输入和点阵式液晶显示,主要使用4*4矩阵键盘和1602液晶显示器,可以方便的输入数据和直观的显示数据;时钟模块主要由时钟芯片DS1302和时钟电路组成;语音报数模块可语音报读时间和电子秤系统的重量、单价、金额等语音内容,主要由SC1010B实现。该电子秤可以实现基本的称重功能(称重范围为0~5Kg,重量误差不大于±0.005Kg),并扩展了时钟和语音报数的功能,时钟模块还可设置闹钟功能。系统在称量时还具有超量程报警功能。整个系统结构简单,使用方便,功能齐全,精度高,具有一定的开发价值。
二、电路功能简介
系统硬件的结构框图如下图1所示:
电路原理图如下:
Arduino配套例程连接图
arduino源程序如下(51单片机与stm32源码附件下载):
- #include "HX711.h" //调用24bitAD HX711库
- HX711 HX711_CH0(2, 3, 400); //SCK,DT,GapValue
- //SCK引脚用于arduino和HX711模块通讯的时序提供
- //DT引脚用于从HX711读取AD的数据
- //GapValue用于校准输出的重量值,如果数值偏大就加大该值,如果数据偏小就减小该值
- int LED = 13;
- long Weight = 0; //定义一个变量用于存放承重的重量,单位为g
- void setup()
- {
- pinMode(LED, OUTPUT); //设定LED是输出引脚
- digitalWrite(LED, LOW); //LED熄灭
- Serial.begin(9600); //设定串口输出波特率
- //Serial.print("Welcome to use!\n");
- HX711_CH0.begin(); //读取传感器支架毛重
- delay(3000); //延时3s用于传感器稳定
- HX711_CH0.begin(); //重新读取传感器支架毛重用于后续计算
- digitalWrite(LED, HIGH); //板载LED点亮,说明可以承重
- }
- void loop()
- {
- Weight = HX711_CH0.Get_Weight(); //采样当前传感器重量,该重量已经自动去皮,去皮值根据初始化程序中采样的值计算。
- Serial.print(Weight); //串口输出当前重量
- Serial.println(" g"); //单位为g
- delay(1000);
- }
复制代码
所有资料51hei提供下载:
5kg电子秤资料.zip
(5.69 MB, 下载次数: 271)
|