一、電子人體秤的設(shè)計原理
人站在秤盤上, 裝在玻璃秤盤下的小壓力傳感器,將重力轉(zhuǎn)換為電壓的模擬信號,經(jīng)放大器及濾波處理后由A/D處理器轉(zhuǎn)化為數(shù)字信號, 數(shù)字信號由中央處理器(單片機CPU)運算處理,去皮重,算出凈重,最后由顯示屏以數(shù)字的方式顯示30s,然后CPU進(jìn)入休眠模式。
二、硬件設(shè)計
1. 電源
采用3.3V的紐扣電池供電,CPU需要3.3V和1.8V,通過DC-DC電源芯片 LM1117-1.8V從3.3V轉(zhuǎn)化獲得1.8V。 根據(jù)低功耗設(shè)計原則,需要對系統(tǒng)電源進(jìn)行合理控制和管理。 系統(tǒng)電源在上電狀態(tài)下,當(dāng)空閑時,單片機STM32F101T8進(jìn)入休眠模式,當(dāng)檢測到需要稱重時則喚醒進(jìn)入工作模式。
2. 報警蜂鳴器
將其中一引腳配置PWM模式, 利用PWM控制蜂鳴器的輸出,來實現(xiàn)報警與提示功能。
3.主控芯片
在該方案設(shè)計中使用以 Cortex -M3 為內(nèi)核的STM32F101T8嵌入式單片機 ,該芯片性價比高 、速度快、功耗低、功能齊全,省去很多外圍器件,其主要特性如下:
(1)ARM 32位的Cortex-M3CPU,最高工作頻率為36MHz;(2) 內(nèi)部有64KB Flash、10KB的SRAM;(3)支持低功耗模式:睡眠、停機和待機模式;(4)1個12位的模數(shù)轉(zhuǎn)換器, 范圍為0~3.6V;(5)3個定時器;(6)3個USART;(7)工作溫度:-40℃~85℃。
4.A/D 轉(zhuǎn)化電路
將壓力傳感器的電信號經(jīng)放大及濾波處理后,由A/D處理器轉(zhuǎn)換為數(shù)字信號,包括調(diào)零、去皮電路 (數(shù)字電位器實現(xiàn)),經(jīng)過一定的算法計算出實際重量。
5. 顯示模塊
采用4位8段式液晶顯示模塊,工作電壓為3V,接口方式:三線串行接口(/CS、CLK、DATA),并以數(shù)碼形式把重量值顯示出來。
三、軟件設(shè)計
軟件部分包括引導(dǎo)程序和主程序。 引導(dǎo)程序在程序上電時立即啟動,首先檢測升級標(biāo)志,若有標(biāo)志從片外Flash加載升級程序到片內(nèi)Flash, 并跳轉(zhuǎn)到新程序運行;否則仍跳轉(zhuǎn)至原程序運行。
系統(tǒng)元件架構(gòu)為典型的前后臺式架構(gòu),整體采用模塊化的軟件設(shè)計方法,將系統(tǒng)功能分解為多個子模塊,每個模塊對應(yīng)一個狀態(tài)機,上電后系統(tǒng)在初始化完成后,即進(jìn)入主循環(huán),各個狀態(tài)機依據(jù)在程序的前后位置依次獲得CPU時間循環(huán)運行。
在主程序被引導(dǎo)后, 第一步執(zhí)行軟硬件初始化任務(wù)。 包括必要的軟件資源,配置硬件參數(shù),如時鐘、定時器、I/O口、串口、A/D采樣以及RTC等,并使用相關(guān)外設(shè)。
初始化完成后,進(jìn)入主循環(huán)。 包括上電電源管理,開機顯示,測試秤盤的重量,去皮重。 并實時刷新皮重,定時檢測是否有人稱體重,無則進(jìn)入停機掉電模式,時間到喚醒掉電進(jìn)行循環(huán)檢測。 若有人測量體重,需重新刷新皮重,顯示歸零后,再稱重,則進(jìn)入稱重程序模塊,進(jìn)行毛重計量,扣皮重,得出實際凈重。 然后顯示30s,最后閃爍顯示幾秒后,再次進(jìn)入停機掉電模式。 每次稱重誤差范圍為±0.1kg。