電子組裝與調試”預賽“電子秤”電路功能簡介
一、功能說明
電子秤主要以單片機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)
2018-5-5 09:53 上傳
點擊文件名下載附件
|