MSP430的低功耗人體生理參數綜合測量儀
引言
本文引用地址:http://www.ex-cimer.com/article/201808/387499.htm當今社會人們越來越關注醫療衛生和保健,敬老院、學校、部隊等集體單位體檢時,身高、體重、心率、肺活量等基本生理參數的測量大多是分開進行或部分合在一起測量,并且這些測量儀器體積較大、操作繁瑣且精度不夠,在很大程度上浪費了人力、物力、財力和體檢時間。因此,有必要利用現在成熟的電子技術,運用微控制器強大的運算、處理和控制能力,設計一款低功耗綜合性的測量儀。
本文采用MSP430F5529單片機作為主控制器,利用各個生理參數測量傳感器,提出了一種低功耗綜合體質測量儀的設計方案。
1 系統總體硬件設計
作為儀表類設計,系統的測量精度和功耗是主要考慮的因素,因此選用了MSP430F5529單片機和相應高精度低功耗器件。
系統硬件結構框圖如圖1所示。
1.1 主控制器
MSP430F5529是一個16位的單片機,采用了精簡指令集(RISC)結構,具有豐富的尋址方式(7種源操作數尋址、4種目的操作數尋址),簡潔的27條內核指令以及大量的模擬指令;大量的寄存器以及片內數據存儲器都可參加多種運算;具有高效的查表處理指令,這些特點保證了
單片機可編制出高效率的源程序。其能在25 MHz晶振的驅動下,實現40 ns的指令周期。16位的數據寬度、40 ns的指令周期以及多功能的硬件乘法器(能實現乘加運算)相配合,能實現數字信號處理的某些算法(如FFT等),內部具有12位的A/D轉換器,速度快、精度高。它在降低芯片的電源電壓和靈活可控的運行時鐘方面設計出色,具有超低功耗。
1.2 身高檢測模塊
身高檢測模塊采用WF20D電阻式位移傳感器,獨立線性公差為精密級±0.1%,拉線長度為1000 mm,外形小巧、堅固耐用、安裝方便,通過該傳感器可以將身高物理量轉換成電阻值。電路原理如圖2所示,利用穩壓管TL431產生2.5 V基準電壓給拉線電位器供電,同時接入單片機A/D轉換器通道1,拉線電位器輸出端接一跟隨器之后,再經過RC低通濾波電路接入單片機A/D轉換器通道2,這樣設計有助于消除A/D轉換器的轉換誤差并可有效抑制溫漂,在接下來的軟件設計中會有身高測量值的具體計算方法。
1.3 體重檢測模塊
體重檢測模塊的傳感器為HX—Z系列雙孔懸梁形式壓力傳感器,其量程為200 kg,精度為0.01 kg,誤差±0.05kg。該傳感器精度高、結構簡單緊湊、抗偏載能力強。
為了提高測量精度,使用外置24位A/D轉換電路HX711,HX711是一款專為高精度電子秤而設計的24位A/D轉換器芯片,集成了包括穩壓電源、片內時鐘振蕩器等外圍電路以及低噪聲可編程放大器,具有集成度高、響應速度快、抗干擾性強等優點,降低了測量儀的整機成本,
提高了整機的性能和可靠性。設計中通過編程設置放大倍數為64,對應的滿額度差分輸入信號幅值分別為±40 mV。芯片內提供的穩壓電源可以直接為外部傳感器和芯片內的A/D轉換器提供電源,系統板上無需另外的模擬電源。芯片內的時鐘振蕩器不需要任何外接器件,上電自動復位功能簡化了開機的初始化過程,芯片與MCU通過I2C總線串行通信,接口簡單方便。體重檢測模塊電路圖如圖3所示。
1.4 肺活量檢測模塊
肺活量檢測模塊采用高精度MPX系列硅壓力傳感器MPX5010,MPX系列是電壓輸出型壓力變送器模塊,采用壓力傳感器作為敏感元件并集成了數字調理芯片,對傳感器的偏移、靈敏度、溫漂和非線性進行數字補償。其內部集成了信號放大電路,傳感器測壓范圍為0~10 kPa,滿量程電壓為5 V,具有集成度高、體積小、精度高、抗干擾能力強、功耗低、溫度范圍寬等卓越特性。采用MSP430內部12位A/D轉換器進行采樣,對氣體流動壓力進行軟件積分即可測量出人體呼氣的流量,經過標定從而計算出人體肺活量。
1.5 心率檢測模塊
心率檢測采用HKG—07系列傳感器,該傳感器利用紅外線檢測,由于心臟跳動而引起的手指尖內微血管容積發生的變化,經過信號放大、調理、整形輸出同步于脈搏跳動的脈沖信號(如圖4所示),經過單片機簡單計算即可得到心率數值。該產品采用高度集成化工藝,將力敏元件(PVDF壓電膜)、靈敏度溫度補償元件、感溫元件、信號調理電路集成在傳感器內主要用于臨床上心率的計數、監測等。
1.6 實時日歷時間模塊
采用美國DALLAS公司推出的具有涓細電流充電能力的低功耗實時時鐘芯片DS1302。它可以對年、月、日、周、時、分、秒進行計時,且具有閏年補償等多種功能。主要特點是采用串行數據傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關閉充電功能。采用普通32.768 kHz晶振,工作電壓為2.5~5.5 V,采用三線接口與CPU進行同步通信,并可采用突發方式一次傳送多個字節的時鐘信號或RAM數據。DS1302內部有一個31×8的用于臨時性存放數據的RAM寄存器。DS1302是DS1202的升級產品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。日歷時間模塊電路圖如圖5所示。
1.7 打印機接口和RS232通信接口
設計中選擇具有串口通信功能的MP-320T熱敏微型80 mm小票據打印機,按下打印按鍵時,MSP430將日期時間和各項測量的參數通過串口發送給打印機進行打印。
2 軟件程序設計
該系統采用MSP430為主控制器,利用C語言進行編程,簡單明了,結構緊湊。
2.1 主程序設計
系統上電初始化之后,顯示時間和日期等信息,等待各被測者生理參數的測量。程序主流程圖如圖6所示,在主循環中實時讀取各參數的值進行實時顯示,待測數據穩定之后單片機自動將數據裝入數組u32 LAST_Data[],數據格式為測量編號、日期時間、身高、體重、肺活量、心率、血壓,每個數據各占4個字節。
2.2 各模塊子程序設計
在各個參數測量中,為了減小誤差采用了均值濾波,在測量身高的時候同時將2.5 V基準電壓接入單片機A/D通道1,身高傳感器(拉線電位器)的輸出電壓接入單片機A/D通道2,轉換之后分別得到數字量H_Data_refer和H_Data。選用的身高傳感器量程是100~200 mm,實際身高為H_Real=(1000×H_Data/H_Data_refer+1000),可精確到2 mm。
肺活量測量時,采樣周期為5 ms,具體為采用定時器定時5 ms,每5 ms進入一次服務程序,對傳感器前后兩次輸出的數值進行對比,當差值大于最小臨界點時即自動開始對傳感器氣流壓力進行軟件積分,每5 ms累積一次,然后當小于最小臨界點時判斷測量完畢并停止積分。經過標定即可得到最終肺活量的數值。
心率檢測傳感器已經把心率信號調理成同步脈沖,利用定時器外部脈沖觸發,上升沿到來使能定時,為了減小誤差,累計10次上升沿的時間,心率計算公式為H_Rate=60×10/(T2-T1)。
程序分模塊設計,各模塊調試、參數標定、精度調節分開進行,軟件系統具有很大的靈活性。
結語
選取5組被測者對本測量儀的測量精度進行測試。通過現有機械式和在售的分立式電子測量儀所測數據進行對比和分析。測試結果對比如表1所列。
身高測量中由于讀數等存在誤差,使得該測量儀器和實際測量存在≤5 cm的誤差可能性;體重對比測量時,由于機械式體重表本身精度就不高,測量數據具有 ≤0.5 kg的誤差;在肺活量測量時采用市場在售的電子式肺活量測量儀進行對比測量,無法保證同一被測對象兩次肺活量完全相同,也無法保證被測對象兩次的吹氣速度,這使得測量結果具有≤60 mm的誤差。心率對比測量采用人工方法,由于起始和結束時間的掌握不準使得結果存在±2最大誤差。同時,還對同一被測對象進行重復測量,結果表明本測量儀具有較高的測量精度和穩定性。
評論