劉天宋
(常州劉國鈞高等職業(yè)技術(shù)學(xué)校 常州 213025)
坐姿與健康密切相關(guān),由于坐姿不當(dāng),造成了許多中小學(xué)生近視、駝背,導(dǎo)致許多的白領(lǐng)患上頸椎、腰椎等疾?。?~2]。這些問題往往影響到人們正常的學(xué)習(xí)和工作,降低了他們的生活質(zhì)量,因此,在學(xué)習(xí)和工作中,保持正確的坐姿非常重要。但是,由于各種原因,長時間保持正確的坐姿是不可能的,因此,有必要開發(fā)一些坐姿檢測設(shè)備來輔助我們保持正確的坐姿。
當(dāng)前,坐姿檢測的方法主要有以下幾種:基于人工觀測的方法、基于視頻錄制分析的方法、基于可穿戴傳感器的方法和基于主觀問卷調(diào)查的方法[3]。人工觀測的方法主要是依靠專業(yè)人員采取繪圖、拍照或者文字記錄等方式來記錄人的坐姿,以用于后續(xù)進(jìn)一步的分析[4]?;谝曨l錄制分析的方法[5]則是利用計算機(jī)或者錄像機(jī)來記錄人們的姿勢,然后通過計算機(jī)分析相應(yīng)的姿勢,但是,該方法因受限于技術(shù)等問題無法廣泛推廣?;诳纱┐鱾鞲衅鞯姆椒ǎ?]需要在用戶身上配置傳感器以獲取坐姿信息,該方法精度較高,但存在因長時間佩戴傳感器而導(dǎo)致的不舒服感。以上各種方法各有優(yōu)缺點,但都由于難以達(dá)到廉價性和擴(kuò)展性,所以很難在學(xué)習(xí)和工作環(huán)境下推廣。
本文設(shè)計了一種智能坐姿檢測儀。該檢測儀包括殼體和控制電路兩大部分。殼體采用馬鞍形結(jié)構(gòu)設(shè)計,控制系統(tǒng)采用Arduino UNO作為主控板。利用接觸開關(guān)和超聲波傳感器獲取人體的坐姿信息,并通過實驗確定檢測坐姿是否正確的方法。最后,制作出了樣機(jī),并對樣機(jī)進(jìn)行了測試。
圖1為本坐姿檢測儀殼體的三維CAD模型爆炸圖。由圖1可見,該檢測儀包含左右側(cè)殼體、主殼體、智能串口屏、3組超聲波傳感器、4個接觸開關(guān),傳感器和電路安裝支架等部分。其中,左側(cè)殼體、主殼體和右側(cè)殼體表面曲面形狀為馬鞍面,這既保證了機(jī)械部分的力學(xué)性能,由使得曲面形狀與人體腰椎的生理曲線吻合。該殼體樣機(jī)采用PLA材料通過FDM工藝3D打印技術(shù)制作,各零件間通過螺栓聯(lián)接在一起,所用PLA材料的主要性能如表1所示[7]。
表1 PLA材料相關(guān)參數(shù)
圖1 坐姿檢測儀殼體三維CAD模型爆炸圖
假設(shè)人體以最大限度的依靠在該檢測儀殼體上,如圖2所示。以一名身高為175cm,體重為75kg的男性為例,此時該檢測儀殼體的應(yīng)力分布和位移分布云圖分別如圖3和圖4所示,可見,該殼體的最大應(yīng)力位于主殼體中央位置,并逐漸向四周減小。最大應(yīng)為值為5.11×105Pa,小于材料的屈服強(qiáng)度。最大位移為1.44×10-2mm,在許可范圍內(nèi)。
圖5所示,為本檢測儀的硬件電路關(guān)系框圖。本系統(tǒng)采用 Arduino UNO[8]作為主控板,通過 3組超聲波傳感器和4路接觸開關(guān)來檢測人體的坐姿。坐姿不當(dāng)時,蜂鳴器發(fā)出警報聲。可以通過USART HMI智能串口屏實現(xiàn)人機(jī)交互。
圖2 人體以最大限度的依靠在該檢測儀殼體上
圖3 檢測儀殼體的應(yīng)力分布云圖
圖4 檢測儀殼體的位移分布云圖
圖5 坐姿檢測儀硬件電路關(guān)系圖
Arduino UNO是一種開源的電路板,利用12V直流電源進(jìn)行供電,具有便捷、方便等特點,可以通過計算機(jī)中Arduino IDE開發(fā)環(huán)境方便的對其進(jìn)行編程和開發(fā)。
超聲波具有指向性強(qiáng),能量消耗緩慢,傳播距離較遠(yuǎn)等優(yōu)點[9]。本系統(tǒng)正是利用了超聲波傳感器的此種特點來檢測人體距離系統(tǒng)外殼的距離。將3組超聲波測距電路模塊安裝在椅子的靠背上,制作成一個超聲波陣列,并于Arduino UNO控制板連接,用來測量人體后背與椅子靠背間的距離,如圖1所示。
超聲波傳感器測量數(shù)據(jù)如下:
利用中位值平均濾波法[10]對測量得到的數(shù)據(jù)進(jìn)行處理,具體如下:
1)利用第i組超聲波測量電路連續(xù)采樣N個數(shù)據(jù):
其中,Di為第i組超聲波測量電路測量得到的距離,di為第i組超聲波測距電路每次測量得到的距離。
2)利用“冒泡法”對Di進(jìn)行排序,排除該組數(shù)據(jù)中的最大值和最小值。
3)計算N-2個數(shù)據(jù)的算術(shù)平均值。
一般的N的取值范圍為3~14,在本設(shè)計中取N=10。
為了得到不同情況時的坐姿數(shù)據(jù),需要進(jìn)行實驗,對不同身高的人坐立時的數(shù)據(jù)進(jìn)行采集,并錄入到系統(tǒng)中。以175cm成年男性為例,當(dāng)其坐在椅子上時,他的后背可以貼在檢測儀外殼上,如圖6所示,也可以離開外殼一定的距離,如圖7所示,兩種情況均為正確坐姿。當(dāng)由正常坐姿轉(zhuǎn)換為伏案姿勢時,如圖8所示,此時的人體脊椎曲線發(fā)生了變化,若長時間保持這種姿勢,則會造成肌肉疲勞等問題。表2記錄了成年男性不同身高的人體在不同坐姿情況下的傳感器數(shù)據(jù)。
圖6 人體后背貼在檢測儀外殼上
圖7 人體離開外殼一定距離時的正確坐姿
圖8 人體離開外殼一定距離時的伏案坐姿
表2 成年男性不同坐姿時的傳感器數(shù)據(jù)
對于不同身高的人來說,只要其后背貼合在系統(tǒng)外殼上時,人體即處于正確坐姿,從表2中可以看出,此種狀態(tài)下,4路接觸開關(guān)輸出結(jié)果為1,即為高電平;
而當(dāng)人體離開系統(tǒng)外殼時,其坐姿狀態(tài)是否正確則取決于傳感器采集到的數(shù)據(jù)Di。從表2可以看出,在正常坐姿情況下,傳感器采集到的各數(shù)據(jù)Di的值相差較小,在3mm之內(nèi)。而伏案坐姿情況下,傳感器采集到的各數(shù)據(jù)值則波動較大,一般大于10mm。為此,可以求出Di的標(biāo)準(zhǔn)差σ的值,作為檢測坐姿是否正確的依據(jù)。σ的計算公式如下:
該智能坐姿檢測儀的程序采用Arduino開放源代碼的集成開發(fā)環(huán)境Arduino IDE編寫。Arduino IDE集成了多種功能的程序模塊,如串口通信、舵機(jī)驅(qū)動等,這使得編程更為簡單快捷。智能坐姿檢測儀的坐姿檢測程序流程圖如圖9所示。
圖9 坐姿檢測程序流程圖
對制作完成的智能坐姿檢測儀進(jìn)行實際的坐姿試驗測試,如圖6~圖8所示。結(jié)果表明,該智能檢測儀檢測結(jié)果準(zhǔn)確可靠,在坐姿不正確時,蜂鳴器發(fā)出了警報聲。在身高165cm~180cm范圍內(nèi),選擇不同的人員作為檢測對象,也均得到較為準(zhǔn)確的測試結(jié)果。
本文設(shè)計了一種智能坐姿檢測儀,該檢測儀包括殼體和控制電路兩大部分。殼體樣機(jī)主體部分采用3D打印技術(shù)制造?;贏rduino UNO主控板設(shè)計了該檢測儀的控制系統(tǒng),該系統(tǒng)利用接觸開關(guān)和超聲波傳感器獲取人體的坐姿信息,并利用實驗方法確定了檢測坐姿是否正確的方法。通過測試,該智能坐姿檢測儀檢測結(jié)果準(zhǔn)確。