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