什么是電子秤
電子秤(英文名:electronic balance)是衡器的一種,是利用胡克定律或力的杠桿平衡原理測定物體質(zhì)量的工具。按結(jié)構(gòu)原理可分為機(jī)械秤、電子秤、機(jī)電結(jié)合秤三大類。
電子秤主要由承重系統(tǒng)(如秤盤、秤體)、傳力轉(zhuǎn)換系統(tǒng)(如杠桿傳力系統(tǒng)、傳感器)和示值系統(tǒng)(如刻度盤、電子顯示儀表)3部分組成。
基于stm32的電子秤方案大全(一)
基于STM32的多功能電子秤設(shè)計
題目要求:
1、基本部分:
(1)能用鍵盤設(shè)置單價,稱重后能同時顯示重量、單價和總額;電子計價秤:最大稱重為10.000公斤,重量誤差不大于±0.1%;
a、重量顯示為5位數(shù)碼,單位為公斤,最大重量顯示值為99.999公斤;
b、單價金額顯示為5位數(shù)碼,單位為元,最大單價金額顯示值值為999.99元;
c、總價金額顯示為6位數(shù)碼,單位為元,最大總價金額顯示值值為9999.99元, 總價金額誤差不大于0.01元;
(3)具有去皮功能和總額累加計算功能;
(4)能預(yù)存10種商品的單價;可以隨意調(diào)出使用
(5)測量并顯示環(huán)境溫度,溫度測量誤差不大于1℃;
(6)稱量0-10kg稱重;
(7)語音播報測量結(jié)果
2、發(fā)揮部分:
(1)具有實時時鐘顯示并具有掉電保護(hù),可顯示日歷時鐘(年、月、日、時、分、秒);
(2)擴(kuò)展高精度A/D轉(zhuǎn)換器,提高電子計價秤測量精度,測量誤差不大于±0.01%;
(3)能預(yù)存10種商品的名稱(或代號)和商品的單價;
單元模塊設(shè)計:
1、主控芯片模塊
2、TFT液晶屏模塊
3、稱重模塊
4、語音播報模塊
5、24bitAD HX711轉(zhuǎn)換模塊
6、軟件部分
模塊介紹:
1、主控芯片模塊
在該制作中,我們采用了STM32為主控芯片,主要是考慮到HX711是24bit的AD,運算量大,且我們的制作還加設(shè)了TFT彩色液晶模塊,語音播報模塊等的外設(shè),普通的MCU的刷屏和運算速度是不夠的,所以我選擇了STM32作為主控芯片。下面是關(guān)于芯片的主要介紹:STM32F103xC 、STM32F103xD 和STM32F103xE 增強型系列使用高性能的ARM? Cortex?-M3 32位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲器( 高達(dá)512K字節(jié)的閃存和64K 字節(jié)的SRAM),豐富的增強I/O 端口和聯(lián)接到兩條APB總線的外設(shè)。所有型號的器件都包含3個12位的ADC、4個通用16位定時器和2 個PWM定時器,還包含標(biāo)準(zhǔn)和先進(jìn)的通信接口:多達(dá)2 個I2C 接口、3 個SPI接口、2個I2S 接口、1個SDIO接口、5個USART接口、一個USB接口和一個CAN接口。
2、TFT彩色液晶模塊
TFT-LCD即薄膜晶體管液晶顯示器。其英文全稱為:Thin Film Transistor-Liquid Crystal Display。TFT-LCD與無源TN-LCD、STN-LCD的簡單矩陣不同,它在液晶顯示屏的每一個象素上都設(shè)置有一個薄膜晶體管(TFT),可有效地克服非選通時的串?dāng)_,使顯示液晶屏的靜態(tài)特性與掃描線數(shù)無關(guān),因此大大提高了圖像質(zhì)量。TFT-LCD也被叫做真彩液晶顯示器。該模塊有如下特點:
1、320×240的分辨率。
2、16位真彩顯示。
3、自帶觸摸屏,可以用來作為控制輸入。
4、通用的接口,除了ALIENTEK MiniSTM32開發(fā)板,該液晶模塊還可以使用在優(yōu)異特、 STMSKY、紅牛等開發(fā)板上。
這里在硬件上,TFTLCD模塊與IO口對應(yīng)關(guān)系如下:
LCD_LED對應(yīng)PC10;
LCD_CS對應(yīng)PC9;
LCD _RS對應(yīng)PC8;
LCD _WR對應(yīng)PC7;
LCD _RD對應(yīng)PC6;
LCD _D[17:1]對應(yīng)PB[15:0];
TFTLCD顯示需要的相關(guān)設(shè)置步驟如下:
1) 設(shè)置STM32與TFTLCD模塊相連接的IO。
這一步,先將我們與TFTLCD模塊相連的IO口設(shè)置為輸出,具體使用哪些IO口,這里需要根據(jù)連接電路以及TFTLCD模塊的設(shè)置來確定。
2) 初始化TFTLCD模塊。
其實這里就是上和上面OLED模塊的初始化過程差不多。通過向TFTLCD寫入一系列的設(shè)置,來啟動TFTLCD的顯示。為后續(xù)顯示字符和數(shù)字做準(zhǔn)備。
3) 通過函數(shù)將字符和數(shù)字顯示到TFTLCD模塊上。
觸控部分:
電阻式觸摸屏利用壓力感應(yīng)進(jìn)行控制。電阻觸摸屏的主要部分是一塊與顯示器表面非常配合的電阻薄膜屏,這是一種多層的復(fù)合薄膜,它以一層玻璃或硬塑料平板作為基層,表面涂有一層透明氧化金屬(透明的導(dǎo)電電阻)導(dǎo)電層,上面再蓋有一層外表面硬化處理、光滑防擦的塑料層、它的內(nèi)表面也涂有一層涂層、在他們之間有許多細(xì)小的(小于1/1000英寸)的透明隔離點把兩層導(dǎo)電層隔開絕緣。 當(dāng)手指觸摸屏幕時,兩層導(dǎo)電層在觸摸點位置就有了接觸,電阻發(fā)生變化,在X和Y兩個方向上產(chǎn)生信號,然后送觸摸屏控制器。控制器偵測到這一接觸并計算出(X,Y)的位置,再根據(jù)獲得的位置模擬鼠標(biāo)的方式運作。這就是電阻技術(shù)觸摸屏的最基本的原理。
電阻屏的特點有:
1)是一種對外界完全隔離的工作環(huán)境,不怕灰塵、水汽和油污。
2)可以用任何物體來觸摸,可以用來寫字畫畫,這是它們比較大的優(yōu)勢。
3)電阻觸摸屏的精度只取決于A/D轉(zhuǎn)換的精度,因此都能輕松達(dá)到4096*4096。
3、稱重模塊
滿量程輸出電壓=激勵電壓x靈敏度2.0mv/v
例如:供電電壓是5v乘以靈敏度2.0mv/v=滿量程10mv
接線:紅線輸入電壓+,黑線輸入電壓-,綠線輸出信號+,白線輸出信號- 安裝方式:懸臂梁安裝方式
4、語音播報模塊
WT588D 語音芯片是一款功能強大的可重復(fù)擦除燒寫的語音單片機(jī)芯片。WT588D 讓語音芯片不再為控制方式而尋找合適的外圍單片機(jī)電路,高度集成的單片機(jī)技術(shù)足于取代復(fù)雜的外圍控制電路。配套 WT588D VoiceChip 上位機(jī)操作軟件可隨意更換 WT588D語音單片機(jī)芯片的任何一種控制模式,把信息下載到 SPI-Flash 上即可。軟件操作方式簡潔易懂,撮合了語音組合技術(shù),大大減少了語音編輯的時間。完全支持在線下載,即便是 WT588D 通電的情況下,一樣可以通過下載器給關(guān)聯(lián)的 SPI-Flash 下載信息,給 WT588D語音芯片電路復(fù)位一下,就能更新到剛下載進(jìn)來的控制模式
本作品的語音播報模塊使用了一線串口控制模式,可通過發(fā)碼端控制語音播放、停止、循環(huán)播放和音量大小,或者直接觸發(fā) 0~219 地址位的任意語音,發(fā)碼速度 600us~2000us; 有兩種輸出方式:PWM 和 DAC ,PWM 輸出可直接推動 0.5W/8Ω的揚聲器,DAC 輸出外接功放,音質(zhì)好。由于本作品對音質(zhì)沒有過高要求,所以使用PWM輸出方式。
使用WT588D語音播報模塊時需要使用語音合成軟件合成語音,然后通過Voice_Chip_V-B軟件將語音對應(yīng)特定地址編譯成bin文件下載進(jìn)WT588D模塊中。
5、24bitAD HX711轉(zhuǎn)換模塊
HX711 采用了海芯科技集成電路專利技術(shù),是一款專為高精度電子秤而設(shè)計的 24 位 A/D 轉(zhuǎn)換器芯片。與同類型其它芯片相比,該芯片集成了包括穩(wěn)壓電源、片內(nèi)時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應(yīng)速度快、抗干擾性強等優(yōu)點。降低了電子秤的整機(jī)成本,提高了整機(jī)的性能和可靠性。
該芯片與后端 MCU 芯片的接口和編程非常簡單,所有控制信號由管腳驅(qū)動,無需對芯片內(nèi)部的寄存器編程。輸入選擇開關(guān)可任意選取通道 A 或通道 B,與其內(nèi)部的低噪聲可編程放大器相連。通道 A 的可編程增益為 128 或 64,對應(yīng)的滿額度差分輸入信號幅值分別為±20mV或±40mV。通道 B 則為固定的 64 增益,用于系統(tǒng)參數(shù)檢測。芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的 A/D 轉(zhuǎn)換器提供電源,系統(tǒng)板上無需另外的模擬電源。芯片內(nèi)的時鐘振蕩器不需要任何外接器件。上電自動復(fù)位功能簡化了開機(jī)的初始化過程。 特點:
? 兩路可選擇差分輸入
? 片內(nèi)低噪聲可編程放大器,可選增益為 64 和128
? 片內(nèi)穩(wěn)壓電路可直接向外部傳感器和芯片內(nèi)A/D 轉(zhuǎn)換器提供電源
? 片內(nèi)時鐘振蕩器無需任何外接器件,必要時也可使用外接晶振或時鐘
? 上電自動復(fù)位電路
? 簡單的數(shù)字控制和串口通訊:所有控制由管腳輸入,芯片內(nèi)寄存器無需編程
? 可選擇 10Hz 或 80Hz 的輸出數(shù)據(jù)速率 ? 同步抑制 50Hz 和 60Hz 的電源干擾
? 耗電量(含穩(wěn)壓電源電路): 典型工作電流:《 1.7mA, 斷電電流:《 1μA ? 工作電壓范圍:2.6~ 5.5V
? 工作溫度范圍:-20~ +85℃ ? 16 管腳的 SOP-16 封裝
6、軟件部分 TFT驅(qū)動部分:
void LCD_WR_REG(u8 data) 寫寄存器函數(shù)
u16 LCD_ReadReg(u8 LCD_Reg) 讀寄存器
void LCD_WriteRAM_Prepare(void) 開始寫GRAM
u16 LCD_ReadPoint(u16 x,u16 y) 讀取個某點的顏色值
void LCD_DisplayOn(void) //LCD開啟顯示/ void LCD_Clear(u16 Color) 清屏函數(shù)
void LCD_Init(void) 初始化lcd
void LCD_DrawPoint(u16 x,u16 y) 畫點
void LCD_Fill(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color) 在指定區(qū)域內(nèi)填充指定顏色
void LCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2) 畫線
void LCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2) 畫矩形
void Draw_Circle(u16 x0,u16 y0,u8 r) 在指定位置畫一個指定大小的圓
void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode) 在指定位置顯示一個字符
void LCD_ShowNum(u16 x,u16 y,u32 num,u8 len,u8 size) 顯示數(shù)字
void LCD_Show2Num(u16 x, u16 y, u16 num, u8 len,u8 size,u8 mode) 顯示2個數(shù)字
void LCD_ShowString(u16 x,u16 y,const u8 *p) 顯示字符串
WT588D部分:
void wt588d_init(void) WT588D初始化
void send_dat(u8 addr) 以一線串口方式發(fā)送數(shù)據(jù)到WT588D
void pronounce_num(u16 t) 整數(shù)部分?jǐn)?shù)字發(fā)音 范圍(0~9999)
void pronounce_point3num(u16 t) 小數(shù)部分?jǐn)?shù)字發(fā)音范圍(0~0.999)
void pronounce_point2num(u8 t) 小數(shù)部分?jǐn)?shù)字發(fā)音范圍(0~0.99) HX711部分:
u32 Read_HX711(void) 該函數(shù)讀取HX711采集回來的經(jīng)過放大以后的值
u32 Sampling(void) 該函數(shù)將AD采樣回來的值算術(shù)平均數(shù)字濾波,去掉最低和最高后的平均值
main.c部分:
void UI(void) 設(shè)置界面
main函數(shù)中整合各個模塊的函數(shù)實現(xiàn)電子秤稱重功能,TFT顯示功能等等。
評論