基于STM32單片機的智能書桌設(shè)計與實現(xiàn)*
*項目支持:本課題得到了國家級大學(xué)生創(chuàng)新創(chuàng)業(yè)計劃項目(項目編號:201510595024)的支持
本文引用地址:http://cafeforensic.com/article/202307/449005.htm**通訊作者:王振省。
研究結(jié)果表明,學(xué)生的讀寫姿勢不正確率高達(dá)70%甚至85% 以上[1]。不良的讀寫姿勢、不合適的光照條件會令學(xué)生不停地調(diào)整眼睛的睫狀肌,容易降低睫狀肌調(diào)節(jié)能力,進(jìn)而導(dǎo)致近視[2]。從長遠(yuǎn)看,不良的讀寫姿勢還會對學(xué)生的脊柱和頸椎形狀,乃至整體形貌和健康產(chǎn)生負(fù)面影響;另一方面,久坐的辦公方式容易導(dǎo)致肌肉骨骼疾患和頸椎、腰椎疾病[3-4]。
桌椅高度和光照情況是決定學(xué)生能否形成良好讀寫習(xí)慣的重要因素。傳統(tǒng)桌椅高度固定,不能很好適應(yīng)個性化的身高。所以,為了讓不同身高的使用者培養(yǎng)良好的使用習(xí)慣,本項目設(shè)計了一款能根據(jù)使用者情況自動調(diào)節(jié)桌面高度的智能書桌系統(tǒng)。在此基本功能之外,該智能書桌還具有久坐提醒、坐姿不正提醒、隨環(huán)境光照自動控制亮度的LED 臺燈、隨環(huán)境溫度自動控制轉(zhuǎn)速的風(fēng)扇、帶密碼鎖的抽屜等功能。同時為了提高使用者使用體驗,也允許用戶對桌面高度、LED 臺燈、風(fēng)扇進(jìn)行手動控制。
1 設(shè)計思路
在對設(shè)計需求進(jìn)行分析后,畫出系統(tǒng)的原理框圖,如圖1 所示。為了能夠簡化系統(tǒng)結(jié)構(gòu)和測試過程,本設(shè)計采用模塊化的思想。其中人體感應(yīng)模塊用于判斷當(dāng)前是否有使用者。身高測量模塊測量使用者身高,從而自動控制、調(diào)整書桌桌面高度以便適應(yīng)使用者,讓使用者可以以一個舒適的坐姿使用書桌,從而降低因不良坐姿導(dǎo)致眼部、頸椎、脊椎等健康問題的概率。坐姿檢測模塊用于判斷使用者坐姿,并將信息反饋給主控芯片處理,避免使用者與桌面太近。語音播報模塊用于坐姿不正提醒、久坐提醒。在自動模式下,主控芯片通過亮度測量模塊得到的光照度控制LED 燈的亮度;并通過溫度傳感器控制電扇通斷及檔位,對溫度進(jìn)行調(diào)節(jié)。為了適應(yīng)不同使用者的習(xí)慣,智能書桌系統(tǒng)還提供了手動控制功能,通過鍵盤模塊手動調(diào)節(jié)桌面高度、亮度、鬧鐘以及抽屜密碼鎖。顯示屏可以顯示當(dāng)前時間、溫度、光照度等信息。
圖1 系統(tǒng)原理
2 方案選擇
本設(shè)計選擇了STM32F407ZET6 作為主控芯片,這是因為該芯片最高能以168 MHz工作,且直接內(nèi)置晶振、模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器,便于簡化設(shè)計電路,專注于實現(xiàn)系統(tǒng)的功能。
人體感應(yīng)模塊、身高測量模塊、坐姿檢測模塊功能通過測距實現(xiàn)。常用的測距傳感器有激光測距和超聲波測距2 種,激光測距使用串行通信(TTL)返回測量距離數(shù)據(jù),測量精度最小可達(dá)到2 mm,有效測量范圍約為0.02 ~ 100 m。超聲波測距測量精度同樣2 mm,測量范圍0.02 ~ 4 m??梢妰煞N傳感器最小精度相同,但是激光測距具有更大的測量范圍。另一方面,激光測距模塊尺寸為72 mm×40 mm×18 mm;而超聲波測距模塊的尺寸為45 mm×20 mm×15 mm,更加小巧,便于安放在智能書桌上。同時考慮書桌系統(tǒng)實際工作環(huán)境為室內(nèi),激光可能對人眼有的一定危害,所以選擇超聲波測距方式。
溫度測量模塊采用測量精度較高的DS18B20 溫度傳感器。DS18B20 溫度傳感器通過單總線與主控芯片連接,主控芯片對從傳感器傳來的數(shù)據(jù)進(jìn)行處理,得到環(huán)境溫度值。溫度傳感器的作用不僅是測量室溫、提供給單片機判斷是否開啟風(fēng)扇降溫,而且還用于超聲波測距時對超聲波速度進(jìn)行補償。
亮度測量模塊采用GY-30 亮度傳感器實現(xiàn),這是由于GY-30 亮度傳感器與主控芯片以IIC總線方式連接,需要的控制線少;另一方面,GY-30 能夠直接輸出環(huán)境亮度的數(shù)字值,省略了復(fù)雜計算環(huán)節(jié),無需標(biāo)定就能獲得高精度測量值。
鍵盤模塊和顯示模塊采用觸摸屏集成。為了實現(xiàn)良好的用戶使用效果,采用支持多點觸控的電容觸摸屏,而不選用電阻觸摸屏。
語音播報模塊采用CN-TTS 語音合成模塊,可實現(xiàn)中文、英文、數(shù)字的語音合成,且支持用戶的命令詞或提示音的定制需求。CN-TTS 控制方式簡單,可兼容5 V或3.3 V單片機,單片機可以通過串口發(fā)送GBK 編碼的形式對其控制。
桌面高度調(diào)節(jié)模塊采用步進(jìn)電機和傳動結(jié)構(gòu)進(jìn)行調(diào)整。步進(jìn)電機在低速轉(zhuǎn)動狀態(tài)下扭矩大,帶動的負(fù)載也更大。相數(shù)越多步距角就越小,能更為精確地調(diào)節(jié)桌面高度。為了能較精確控制桌面的高度,選擇步進(jìn)電機。該升降桌重量W1 = 16 kg,升降部分重量W2 = 11 kg,最大載荷W3 = 56 kg,升降速度v = 13 mm/s,傳動效率η = 0.6,所需最大功率為P = V*(W2+W3)*g/η = 14.2 W。為保證正常工作,可選定30 W 功率電機。
3 方案實施
3.1 主程序流程
圖2 是主程序流程圖。當(dāng)檢測到使用者在書桌旁后,首先檢測使用者的身高,然后對書桌高度、風(fēng)扇轉(zhuǎn)速、臺燈亮度進(jìn)行調(diào)節(jié),最后對坐姿進(jìn)行監(jiān)測,實現(xiàn)對不正確坐姿的友好提醒。此外,如圖3 所示,本系統(tǒng)還設(shè)計了中斷處理程序,當(dāng)人體感應(yīng)模塊檢測到人離開桌子時,程序會自動跳出主程序,進(jìn)入待機模式,以實現(xiàn)低功耗要求。
圖2 主程序流程
圖3 中斷處理
3.2 人體感應(yīng)、身高測量、坐姿檢測
如圖4 所示,通過3 個超聲波測距儀可以實現(xiàn)人體感應(yīng)、身高測量、坐姿檢測的功能。
圖4 身高測量
測距儀1位置固定,其測量方向與桌面平行,用于測量模塊到使用者胸前位置的水平距離S1,通過判斷S1是否小于80 cm 來確定當(dāng)前是否有人使用書桌。
測距儀2 固定在舵機上,可隨舵機轉(zhuǎn)動,其初始測量方向與桌面平行。當(dāng)判斷當(dāng)前有人使用書桌時,測距儀2 從初始位置開始隨舵機向上轉(zhuǎn)動,同時測量距離;直到該距離突然增大,表明測距儀2此時發(fā)出的超聲波已經(jīng)越過了使用者的頭頂,則上一時間點檢測到的距離就是測距儀2與使用者頭部的距離S2。
測距儀3位置固定,位于桌面下方,用于測量桌面到地面的垂直高度S3。由勾股定理得出,使用者的身高為L=S3+得到使用者身高后,依據(jù)表1 桌面高與身高對應(yīng)關(guān)系表[5],將書桌桌面高度自動調(diào)節(jié)至適合人體的位置。
表1 桌面高與身高對應(yīng)關(guān)系表/m
監(jiān)測坐姿時,測距儀1用于間接測量使用者胸膛位置到書桌邊緣的距離L1,測距儀1 到書桌邊緣的實測距離為60 cm,則L1 = S1-60。正確坐姿時,L1 應(yīng)是“一拳”的距離,約為8 cm。當(dāng)L1 < 8 cm 時,系統(tǒng)判定使用者胸膛位置到書桌邊緣的距離不規(guī)范并進(jìn)行語音提醒。測距儀2通過使用者的身高L自動隨舵機調(diào)節(jié)至合適位置并保持不動,用于測量其到使用者頭部的距離S2,使用者眼睛到桌面的距離應(yīng)為“1 尺”,約為33 cm,可用公式表示為Le2d ≈,當(dāng)Le2d < 33 cm 時,系統(tǒng)判定使用者視線距離不規(guī)范并進(jìn)行語音提醒。
圖5 人體感應(yīng)、坐姿高測量、坐姿檢測
3.3 桌面高度、亮度、轉(zhuǎn)速調(diào)節(jié)
桌面高度調(diào)節(jié)通過控制電機帶動書桌升降實現(xiàn)。為了實現(xiàn)對溫度的自動調(diào)節(jié),主控芯片通過PID 算法調(diào)制I/O 口輸出的PWM 波進(jìn)行控制。單片機通過指定溫度和當(dāng)前溫度計算出偏差,將其送入PID 控制器,PID 控制器經(jīng)過運算,可計算出使誤差最快減為0 的PWM 占空比,單片機通過設(shè)置定時器中斷產(chǎn)生相應(yīng)占空比的PWM 脈沖,從而實現(xiàn)對風(fēng)扇轉(zhuǎn)速的控制,達(dá)到指定溫度[6]。同樣,亮度調(diào)節(jié)可通過單片機的I/O 口輸出PWM 信號的方法來實現(xiàn)。為確保人的肉眼看不到PWM 脈沖,PWM 信號的頻率必須高于100 Hz[7],即定時器定時時間T < 0.01 s。LED 燈的亮度與PWM 信號的占空比成正比[8],通過線性調(diào)節(jié)PWM 高電平時間可以進(jìn)行調(diào)光。為適應(yīng)人眼舒適度,桌面上的維持平均照度值不能低于300 lx[9],當(dāng)亮度低于這一值時,系統(tǒng)將會自動調(diào)光。
4 調(diào)試與測試
由于GY-30 亮度傳感器能夠直接輸出環(huán)境亮度的數(shù)字值,無需復(fù)雜計算,無需標(biāo)定就能獲得高精度測量值。
測試發(fā)現(xiàn),由于溫度影響導(dǎo)致超聲波測距產(chǎn)生誤差,改用帶溫度補償公式[10] 之后,測量值與實際值更接近:
式中,t 為當(dāng)前溫度(單位:℃),v 為當(dāng)前溫度下的實際超聲波速度(單位:m/s)。
邀請了10 位不同身高的同學(xué)對系統(tǒng)進(jìn)行了整體測試。測試表明,智能書桌能按測試者的坐姿高度將桌面調(diào)整到合適的高度,且語音模塊能正確播報坐姿矯正和久坐提醒。當(dāng)切換到手動模式時,桌面高度、臺燈、電扇等模塊都能正確地響應(yīng)鍵盤指令。智能書桌系統(tǒng)可以穩(wěn)定、可靠地完成預(yù)設(shè)功能。
經(jīng)過測試,本項目所實現(xiàn)的智能書桌參數(shù)如表2 所示。
5 結(jié)束語
本項目基于STM32 單片機實現(xiàn)了一個智能書桌。該書桌能按照使用者的身高自動初步調(diào)節(jié)桌面到合適的高度,能在使用者距離桌面過近時發(fā)出語音提示,在久坐時進(jìn)行提示,此外還能按照環(huán)境光、環(huán)境溫度自動調(diào)節(jié)臺燈和風(fēng)扇。該智能書桌有助于使用者培養(yǎng)良好的讀寫習(xí)慣。
參考文獻(xiàn):
[1]呂敏之,何鮮桂,王明進(jìn).學(xué)生讀寫姿勢研究進(jìn)展[J].中國學(xué)校衛(wèi)生,2017,38(5):795-798.
[2]王雁,薛金山,銀麗高,等.青少年兒童近視的影響因素及防治[J].中國藥物經(jīng)濟學(xué),2013(6):175-177.
[3]方躍偉,潘松濤,段蔣文.辦公室坐姿作業(yè)肌肉骨骼疾患健康危害及對策[J].健康教育與健康促進(jìn),2014(4):326-328.
[4]武珊珊,何麗華,王生,等.坐姿作業(yè)肌肉骨骼疾患問卷的編制[J].中華勞動衛(wèi)生職業(yè)病雜志,2011(12):908-912.
[5]GB/T 3976—2014 學(xué)校課桌椅功能尺寸及技術(shù)要求[S].
[6]王蕊.基于單片機的多功能自動調(diào)溫風(fēng)扇系統(tǒng)設(shè)計[D].鄭州:鄭州大學(xué),2014.
[7]周志敏.LED照明技術(shù)與應(yīng)用電路[M].北京:電子工業(yè)出版社,2009.
[8]李淵,李寶營,穆艷,等.LED可調(diào)光自動控制系統(tǒng)設(shè)計[J].液晶與顯示,2011,26(1):96-99.
[9]GB7793—2010 中小學(xué)教室采光和照明衛(wèi)生標(biāo)準(zhǔn)[S].
[10]季濤.時差法多聲道氣體超聲波流量計的研究[D].杭州:浙江大學(xué),2017.
(本文來源于《電子產(chǎn)品世界》雜志2022年1月期)
評論