結合32位微處理器和高精度顏色傳感器構建一種新型尿液分析核心模塊。模塊采用新穎的光學結構和特定電路提高測量精度,并利用溫度對測量結果進行補償,可直接輸出當前測試條的原始數據及尿液中11項被測指標試紙塊顏色的RGB值、反射率、半定量等級等信息。結果表明,該模塊測量精度在95%以上,具有較好的穩定性、可靠性和一致性,同時該模塊還具有很好的開放性和可擴展性,可方便地用于各種類型的尿液分析儀,并可大幅度地降低尿液分析儀的研發和生產成本。
引用本文: 陳龍聰, 劉改琴, 胡南, 張瑞英, 江奇鋒, 高斌, 熊興良. 基于半反半透鏡的新型尿液分析核心模塊的研究. 生物醫學工程學雜志, 2014, 31(6): 1288-1293. doi: 10.7507/1001-5515.20140244 復制
引言
尿液分析是一項重要的臨床化驗指標[1],除用于泌尿系統疾病的診斷、療效觀察以外,還可用于會引起尿液生化成分改變的其它系統疾病的診斷、安全用藥檢測和健康狀態初評等[2-5]。
早期通過人眼直接對比試紙條與標準色卡獲得的尿液分析測試結果,由于受人眼主觀因素影響,誤差較大。隨著計算機及自動化技術的發展,基于干化學的尿液分析儀成為臨床的主流檢測方法,其關鍵是顏色值的獲取和半定量分析算法,其中顏色值的準確性取決于光學系統和顏色采集器。該部分目前主要有三種方式:① 利用不同波長的發光二極管(light emitting diode,LED)燈依次照射試紙條,根據光敏元件接收到不同顏色對應的反射光強,獲取試紙條對應項的顏色值[6-7];② 采用白光光源照射測試試紙條,利用顏色傳感器獲取試紙條對應項的顏色值;③ 采用白光照射測紙條,利用電荷耦合組件(charge coupled Device,CCD)圖像傳感器以圖像的形式接收不同顏色的反射光強,然后通過圖像處理獲取試紙條對應項的顏色值[8-9]。其中,① 和② 都具有成本較低,裝配簡單等優點,但均存在照射光源裝配位置及角度、傳感器離色塊的距離等因素對檢測結果有較大影響。最后一種光學系統比前兩種方式復雜,光照均勻性要求高,成本也較高,且梯度定標繁瑣,目前僅有部分全自動尿液分析在使用。另外,影響尿液分析儀測量精度、重復性和一致性等性能的因素,除半定量分析算法[10]外,還有環境光、溫度、試紙的新鮮度等[11-16]。針對各種影響因素,通常從軟、硬件兩方面改進:如采用先進的超高亮度冷光源提高光學系統的分辨能力和穩定性,降低環境光對測試結果的影響;采用封閉化、模塊化的系統設計,選用大規模集成電路,以降低元件數量,減小系統內部各部件間的相互干擾,提高產品的可靠性、穩定性;采用軟硬件配合的技術,實現對環境溫度、環境光等干擾的自動補償。
本文結合32位微處理器和高精度顏色傳感器構建一種新型尿液分析核心模塊,提出了一種新的光路系統,同時采用軟硬件相結合的技術,對環境溫度、環境光等干擾因素進行自動補償,可提高測量精度、重復性和穩定性等。
1 模塊設計
本文模塊采用新穎的光學結構,盡可能減少光學系統對測量產生的影響,并利用溫度傳感器獲取環境溫度,根據測量數據與溫度的關系進行修正,以減小溫度對測量結果產生的影響。本文以特定的電路結構及相應的計算方法提高測量RGB值及光強控制精度,有效地提高各輸入量的測量精度。另外,根據實驗數據,利用偏最小二乘法獲得維生素C(vitamin C,VC)、尿糖(glucose,GLU)、膽紅素(bilirubin,BIL)、尿酮體(ketone,KET)、尿比重(specific gravity,SG)、隱血(blood,BLD)、酸堿度(pH)、尿蛋白(protein,PRO)、尿膽原(urobilinogen,URO)、亞硝酸鹽(nitrite,NIT)、尿白細胞(leucocyte,LEU)共11項指標的反射率等計算公式及半定量值區間,由于篇幅限制,該部分獲取方法未詳細闡述,只直接引用結果。本文重點描述該新型尿液分析核心模塊的硬件和軟件結構兩部分。其中硬件部分由光學部分、數據采集和處理兩部分構成,軟件部分用Keil uVision3編譯器實現程序的編譯,下面分別對每部分進行詳細闡述。
1.1 光學部分
如圖 1所示,光學部分由白色LED、半反半透鏡、TCS3104顏色傳感器及T形光筒燈構成。

白色LED提供強度可控的光源,以滿足TCS3104顏色傳感器對光強的要求;半反半透鏡可將LED的光反射到試紙條,并將經試紙條反射的光再透射回TCS3104顏色傳感器;TCS3104顏色傳感器將RGB值分別以模擬電壓的形式輸出,外部根據輸出的電壓獲取相應的顏色和亮度信息;T形光筒主要遮擋環境光對結果的影響。如圖 1所示,該模塊的光學顏色采集方法可實現:① 采集的顏色值是不同顏色光在同一位置的反射光信號,在顏色合成時不會出現顏色的位置偏差;② 減小傳感器與色塊距離不同時對檢測結果的影響。
1.2 數據采集和處理部分
如圖 2所示,本部分由光強控制單元、控制和處理單元、啟停控制單元、高精度參考電壓單元、顏色傳感器單元、溫度測量單元和串行通訊單元共7個單元組成。其中,啟停控制單元實現控制電平的轉換,降低功耗,延長使用壽命;溫度測量單元利用18B20實現溫度的測量,以供溫度補償使用;串行通訊單元實現與外部各種數據的傳輸。下面對其余4部分進行詳細闡述。

1.2.1 光強控制單元
該單元利用恒流的方式控制白色LED燈光強,獲取更穩定的光強。其主要是通過微處理器STM32F103RB輸出16位分辨率的脈沖寬度調制信號,經濾波、放大等處理后輸出控制電壓,并利用運算放大器實現電壓電流轉換,進而達到用恒流控制白色LED燈的目的。另外,在LED回路串聯了一取樣電阻,并將其采樣電壓送入微處理器STM32F103RB的模擬端口,從而形成閉環控制,提高恒流的控制精度。
1.2.2 控制和處理單元
該單元由32位微處理器STM32F103RB及相應的外圍元件構成[17]。其中STM32F103RB內帶12位、1 μs轉換速度的A/D轉換器、有128 kb可用于程序和數據存儲的flash存儲器、20 kb靜態存儲,最高工作頻率可達72 MHz。本單元可將顏色傳感器輸出的模擬電壓轉換為相應的數字值,實現顏色的采集,并通過相應算法,根據輸入信息輸出所需的信息,同時還可利用內帶的串口實現與外部通信等功能。
1.2.3 高精度參考電壓單元
該單元是為提高每道A/D轉換的精度而設計的。STM32F103RB內帶A/D轉換的值以模擬電源作為A/D轉換的參考電壓,實際使用中模擬電源會出現波動,且不同核心模塊相應的模擬電源電壓值也可能有小的差異,會造成相同輸入對不同核心模塊A/D轉換的值有一定差異,進而出現核心模塊測量的一致性不好。為解決這一問題,本文提出選用精度為0.1%的3 V參考電壓芯片ADR363B(輸出電壓噪聲峰值6.8 μV、電壓精度±3 mV、溫度系數9 ppm/℃)的輸出作為STM32F103RB的一道模擬輸入,以其作為對照,對其它道的A/D轉換值進行修正。實驗證明,該法可以很好地減小電源電壓引入的干擾,并能提高核心模塊測量的一致性和測量精度。
1.2.4 顏色傳感器單元
該單元由高精度顏色傳感器TCS3104組成,可實現與光路部分的銜接。TCS3104顏色傳感器直接輸出顏色的RGB三色分量模擬電壓值,外部引腳可控制其輸出增益為4倍或1倍,采用4倍可有效提高低照度下的測量精度,響應的典型時間為12 μs,輸出對RGB的典型靈敏度分別為0.4、0.25、0.2 mV/(μW·cm-2),在微處理器的控制下實現RGB顏色的采集,并利用白色紙條的值進行修正。
1.3 軟件部分
軟件部分是利Keil uVision3編譯器編寫,以32位微處理器STM32F103RB的定時器、A/D轉換、Flash存儲、串口等實現各種控制數據的采集、保存、處理及通信。如圖 3所示,軟件部分包括啟停控制子程序、光強控制子程序、A/D轉換處理子程序、顏色處理子程序、結果處理子程序、串口通訊子程序、參數處理子程序、主程序等幾部分。其中,串口通訊子程序通過串行口與外部進行通信,實現信息的交換,比如輸出顏色的RGB分量值、各項的結果序號值等;參數處理子程序則是根據輸入的信息,讀取、保存或更改對應的參數,使得模塊具有很好的開發性和可擴展性;光強控制子程序是利用閉環控制方式使加在白色LED上的電流為恒定的預設值;A/D轉換子程序利用STM32F103RB的定時器實現各種數據的A/D轉換值依據式(1)計算出結果并存入相應的緩沖區;顏色處理子程序在主程序的協調下將顏色的RGB分量從A/D轉換子程序緩沖區取出,并利用式(2)進行修正,得到最后計算所需的RGB值;溫度測量子程序完成溫度的測量,通過多次平均后將測量值存入特定的變量之中,以供結果處理單元使用;結果處理子程序在主程序的協調下,根據顏色處理子程序處理后的RGB值的分布特征取出對應不同色塊的數據,再利用對應測試項的式(3)和式(4)計算出相應的反射率,根據設置的半定量區間值(如表 1所示,給出了蛋白質的區間)得出相應的半定量序號值;主程序是調用啟停控制子程序獲取外部控制的信息,即是啟動工作還是停止工作。若停止工作,則進行相應處理使整個核心模塊處于低功耗模式;若啟動工作,則調用相應的子程序通過對應的關鍵公式進行計算和處理,并輸出相應數據。以下將對軟件部分的關鍵公式進行闡述。

通過STM32F103RB測量各道輸入電壓的計算公式為:
${{V}_{i}}={{D}_{i}}\times 3.0/{{D}_{r}}$ |
式中Vi為計算所得的輸入電壓值,Dr取3.0 V參考電壓經A/D轉換平均值(為了濾除干擾),Di為需測量的某道A/D轉換值。
${{D}_{m}}={{V}_{i}}\times 255/{{V}_{W}},$ |
式中Dm為計算所得顏色分量值(m=R,G,B,分別表示紅色,綠色和藍色),Vi為式(1)所得的結果值,VW表示用白條測試時式(1)算出的值。
${{y}_{25}}^{*}={{c}_{0}}+{{c}_{1}}{{D}_{R}}+{{c}_{2}}{{({{D}_{R}})}^{2}}+{{c}_{3}}{{D}_{G}}+{{c}_{4}}{{({{D}_{G}})}^{2}}+{{c}_{5}}{{D}_{B}}+{{c}_{6}}{{({{D}_{B}})}^{2}},$ |
${{y}^{*}}={{c}_{0}}\prime +{{c}_{1}}\prime T+{{c}_{2}}\prime {{T}^{2}}+{{c}_{3}}\prime {{y}_{25}}^{*}+{{c}_{4}}\prime {{({{y}_{25}}^{*})}^{2}},$ |
式中DR、DG和DB分別為通過式(2)算出的某一測試項或試紙塊的紅色、綠色和藍色的分量值,c0~c4為某一測試項擬合的系數,y25*為式(3)算出的25℃時的反射率,T為測量時的環境溫度,c0′~c4′為某一測試引入溫度后擬合的系數。不同測試項c0~c4和c0′~c4′的系數不同,具體值是根據大量實驗數據分析得出。如:根據實驗得出蛋白質的計算公式為:
$\begin{align} & {{y}_{25}}^{*}=-118.656\text{ }6+0.221\text{ }3{{D}_{R}}+0.001\text{ }4{{({{D}_{R}})}^{2}}+1.741\text{ }9{{D}_{G}} \\ & -0.005\text{ }6{{({{D}_{G}})}^{2}}-0.039\text{ }8{{D}_{B}}-0.000\text{ }2{{({{D}_{B}})}^{2}} \\ \end{align}$ |
$\begin{align} & {{y}^{*}}=-8.851\text{ }2+0.427\text{ }8T- \\ & 0.002\text{ }4{{T}^{2}}+1.003\text{ }4~{{y}_{25}}^{*}-0.000\text{ }1\text{ }{{({{y}_{25}}^{*})}^{2}} \\ \end{align}$ |
蛋白質半定量值區間如表 1所示。

若輸出為反射率,則通過式(6)算出的反射率,若為RGB值則為當前測定的RGB值。
2 結果
該新型尿液分析核心模塊的實物如圖 4所示,可直接輸出當前測試條的原始數據、人尿中白細胞、酮體等11項物質各自的RGB值、反射率、半定量等級等信息,可方便地用于各種類型的尿液分析儀。為了說明該模塊的結果,下面通過實驗得到不同試紙條的4種輸出,即當前測試條的原始數據如圖 5所示,試紙塊顏色的RGB值如表 2所示,反射率如表 3所示,半定量等級數據如表 4所示。圖 5中,紅色箭頭所對應的位置即每一個極小值對應一試紙塊的顏色值,紅色、綠色和藍色曲線分別表示在試紙條移動過程中對應RGB顏色的變化,利用該功能及輸出試紙塊顏色的RGB值可以對新的測試項的規律進行研究、分析,利用外部工具如Matlab等得出相應的計算公式,然后通過特定的指令添加測試項及對應的系數,以實現相應項的測量,利用輸出反射率可以通過實驗確定各項的半定量區間,并通過特定的指令更改對應項的區間等。





另外,為了驗證該核心模塊的可靠性、穩定性以及一致性,進行了大量的實驗,測試的最后結果如表 5所示。在醫學上,常用“-”表示陰性,表示被測試者健康,“+”表示陽性,表示被測試者有疾病。其中,加號越多,代表病情越嚴重。由表 5可以得出,該核心模塊測試的準確度達到95%及以上,完全達到尿液分析測試結果的要求。

3 討論
本文提出了一種基于32位微處理器STM32F103RB和顏色傳感器TCS3104的新型尿液分析儀的核心模塊,采用新穎的光路結構、特定的電路及軟件算法進行補償,使其每項測量精度均在95%及以上,具有很好的穩定性、可靠性和一致性。另外,該模塊可根據外部控制直接輸出當前測試條的原始數據、11項指標各自顏色的RGB值、反射率、半定量等級等信息,并且通過特定的指令還可實現修改反射率計算系數、增加測試項和對應的計算系數、讀取或更改半定量區間等。因此,該模塊具有很好的開發性和可擴展性,從而保證具有很好的通用性,適用于各種類型的尿液分析儀,并可大幅度地降低尿液分析儀的研發和生產成本,具有很好的使用價值和廣闊的市場前景。但目前還需對其整體光路、電路和軟件進一步優化,力求成為一種標準化尿液分析儀核心模塊。
引言
尿液分析是一項重要的臨床化驗指標[1],除用于泌尿系統疾病的診斷、療效觀察以外,還可用于會引起尿液生化成分改變的其它系統疾病的診斷、安全用藥檢測和健康狀態初評等[2-5]。
早期通過人眼直接對比試紙條與標準色卡獲得的尿液分析測試結果,由于受人眼主觀因素影響,誤差較大。隨著計算機及自動化技術的發展,基于干化學的尿液分析儀成為臨床的主流檢測方法,其關鍵是顏色值的獲取和半定量分析算法,其中顏色值的準確性取決于光學系統和顏色采集器。該部分目前主要有三種方式:① 利用不同波長的發光二極管(light emitting diode,LED)燈依次照射試紙條,根據光敏元件接收到不同顏色對應的反射光強,獲取試紙條對應項的顏色值[6-7];② 采用白光光源照射測試試紙條,利用顏色傳感器獲取試紙條對應項的顏色值;③ 采用白光照射測紙條,利用電荷耦合組件(charge coupled Device,CCD)圖像傳感器以圖像的形式接收不同顏色的反射光強,然后通過圖像處理獲取試紙條對應項的顏色值[8-9]。其中,① 和② 都具有成本較低,裝配簡單等優點,但均存在照射光源裝配位置及角度、傳感器離色塊的距離等因素對檢測結果有較大影響。最后一種光學系統比前兩種方式復雜,光照均勻性要求高,成本也較高,且梯度定標繁瑣,目前僅有部分全自動尿液分析在使用。另外,影響尿液分析儀測量精度、重復性和一致性等性能的因素,除半定量分析算法[10]外,還有環境光、溫度、試紙的新鮮度等[11-16]。針對各種影響因素,通常從軟、硬件兩方面改進:如采用先進的超高亮度冷光源提高光學系統的分辨能力和穩定性,降低環境光對測試結果的影響;采用封閉化、模塊化的系統設計,選用大規模集成電路,以降低元件數量,減小系統內部各部件間的相互干擾,提高產品的可靠性、穩定性;采用軟硬件配合的技術,實現對環境溫度、環境光等干擾的自動補償。
本文結合32位微處理器和高精度顏色傳感器構建一種新型尿液分析核心模塊,提出了一種新的光路系統,同時采用軟硬件相結合的技術,對環境溫度、環境光等干擾因素進行自動補償,可提高測量精度、重復性和穩定性等。
1 模塊設計
本文模塊采用新穎的光學結構,盡可能減少光學系統對測量產生的影響,并利用溫度傳感器獲取環境溫度,根據測量數據與溫度的關系進行修正,以減小溫度對測量結果產生的影響。本文以特定的電路結構及相應的計算方法提高測量RGB值及光強控制精度,有效地提高各輸入量的測量精度。另外,根據實驗數據,利用偏最小二乘法獲得維生素C(vitamin C,VC)、尿糖(glucose,GLU)、膽紅素(bilirubin,BIL)、尿酮體(ketone,KET)、尿比重(specific gravity,SG)、隱血(blood,BLD)、酸堿度(pH)、尿蛋白(protein,PRO)、尿膽原(urobilinogen,URO)、亞硝酸鹽(nitrite,NIT)、尿白細胞(leucocyte,LEU)共11項指標的反射率等計算公式及半定量值區間,由于篇幅限制,該部分獲取方法未詳細闡述,只直接引用結果。本文重點描述該新型尿液分析核心模塊的硬件和軟件結構兩部分。其中硬件部分由光學部分、數據采集和處理兩部分構成,軟件部分用Keil uVision3編譯器實現程序的編譯,下面分別對每部分進行詳細闡述。
1.1 光學部分
如圖 1所示,光學部分由白色LED、半反半透鏡、TCS3104顏色傳感器及T形光筒燈構成。

白色LED提供強度可控的光源,以滿足TCS3104顏色傳感器對光強的要求;半反半透鏡可將LED的光反射到試紙條,并將經試紙條反射的光再透射回TCS3104顏色傳感器;TCS3104顏色傳感器將RGB值分別以模擬電壓的形式輸出,外部根據輸出的電壓獲取相應的顏色和亮度信息;T形光筒主要遮擋環境光對結果的影響。如圖 1所示,該模塊的光學顏色采集方法可實現:① 采集的顏色值是不同顏色光在同一位置的反射光信號,在顏色合成時不會出現顏色的位置偏差;② 減小傳感器與色塊距離不同時對檢測結果的影響。
1.2 數據采集和處理部分
如圖 2所示,本部分由光強控制單元、控制和處理單元、啟停控制單元、高精度參考電壓單元、顏色傳感器單元、溫度測量單元和串行通訊單元共7個單元組成。其中,啟停控制單元實現控制電平的轉換,降低功耗,延長使用壽命;溫度測量單元利用18B20實現溫度的測量,以供溫度補償使用;串行通訊單元實現與外部各種數據的傳輸。下面對其余4部分進行詳細闡述。

1.2.1 光強控制單元
該單元利用恒流的方式控制白色LED燈光強,獲取更穩定的光強。其主要是通過微處理器STM32F103RB輸出16位分辨率的脈沖寬度調制信號,經濾波、放大等處理后輸出控制電壓,并利用運算放大器實現電壓電流轉換,進而達到用恒流控制白色LED燈的目的。另外,在LED回路串聯了一取樣電阻,并將其采樣電壓送入微處理器STM32F103RB的模擬端口,從而形成閉環控制,提高恒流的控制精度。
1.2.2 控制和處理單元
該單元由32位微處理器STM32F103RB及相應的外圍元件構成[17]。其中STM32F103RB內帶12位、1 μs轉換速度的A/D轉換器、有128 kb可用于程序和數據存儲的flash存儲器、20 kb靜態存儲,最高工作頻率可達72 MHz。本單元可將顏色傳感器輸出的模擬電壓轉換為相應的數字值,實現顏色的采集,并通過相應算法,根據輸入信息輸出所需的信息,同時還可利用內帶的串口實現與外部通信等功能。
1.2.3 高精度參考電壓單元
該單元是為提高每道A/D轉換的精度而設計的。STM32F103RB內帶A/D轉換的值以模擬電源作為A/D轉換的參考電壓,實際使用中模擬電源會出現波動,且不同核心模塊相應的模擬電源電壓值也可能有小的差異,會造成相同輸入對不同核心模塊A/D轉換的值有一定差異,進而出現核心模塊測量的一致性不好。為解決這一問題,本文提出選用精度為0.1%的3 V參考電壓芯片ADR363B(輸出電壓噪聲峰值6.8 μV、電壓精度±3 mV、溫度系數9 ppm/℃)的輸出作為STM32F103RB的一道模擬輸入,以其作為對照,對其它道的A/D轉換值進行修正。實驗證明,該法可以很好地減小電源電壓引入的干擾,并能提高核心模塊測量的一致性和測量精度。
1.2.4 顏色傳感器單元
該單元由高精度顏色傳感器TCS3104組成,可實現與光路部分的銜接。TCS3104顏色傳感器直接輸出顏色的RGB三色分量模擬電壓值,外部引腳可控制其輸出增益為4倍或1倍,采用4倍可有效提高低照度下的測量精度,響應的典型時間為12 μs,輸出對RGB的典型靈敏度分別為0.4、0.25、0.2 mV/(μW·cm-2),在微處理器的控制下實現RGB顏色的采集,并利用白色紙條的值進行修正。
1.3 軟件部分
軟件部分是利Keil uVision3編譯器編寫,以32位微處理器STM32F103RB的定時器、A/D轉換、Flash存儲、串口等實現各種控制數據的采集、保存、處理及通信。如圖 3所示,軟件部分包括啟停控制子程序、光強控制子程序、A/D轉換處理子程序、顏色處理子程序、結果處理子程序、串口通訊子程序、參數處理子程序、主程序等幾部分。其中,串口通訊子程序通過串行口與外部進行通信,實現信息的交換,比如輸出顏色的RGB分量值、各項的結果序號值等;參數處理子程序則是根據輸入的信息,讀取、保存或更改對應的參數,使得模塊具有很好的開發性和可擴展性;光強控制子程序是利用閉環控制方式使加在白色LED上的電流為恒定的預設值;A/D轉換子程序利用STM32F103RB的定時器實現各種數據的A/D轉換值依據式(1)計算出結果并存入相應的緩沖區;顏色處理子程序在主程序的協調下將顏色的RGB分量從A/D轉換子程序緩沖區取出,并利用式(2)進行修正,得到最后計算所需的RGB值;溫度測量子程序完成溫度的測量,通過多次平均后將測量值存入特定的變量之中,以供結果處理單元使用;結果處理子程序在主程序的協調下,根據顏色處理子程序處理后的RGB值的分布特征取出對應不同色塊的數據,再利用對應測試項的式(3)和式(4)計算出相應的反射率,根據設置的半定量區間值(如表 1所示,給出了蛋白質的區間)得出相應的半定量序號值;主程序是調用啟停控制子程序獲取外部控制的信息,即是啟動工作還是停止工作。若停止工作,則進行相應處理使整個核心模塊處于低功耗模式;若啟動工作,則調用相應的子程序通過對應的關鍵公式進行計算和處理,并輸出相應數據。以下將對軟件部分的關鍵公式進行闡述。

通過STM32F103RB測量各道輸入電壓的計算公式為:
${{V}_{i}}={{D}_{i}}\times 3.0/{{D}_{r}}$ |
式中Vi為計算所得的輸入電壓值,Dr取3.0 V參考電壓經A/D轉換平均值(為了濾除干擾),Di為需測量的某道A/D轉換值。
${{D}_{m}}={{V}_{i}}\times 255/{{V}_{W}},$ |
式中Dm為計算所得顏色分量值(m=R,G,B,分別表示紅色,綠色和藍色),Vi為式(1)所得的結果值,VW表示用白條測試時式(1)算出的值。
${{y}_{25}}^{*}={{c}_{0}}+{{c}_{1}}{{D}_{R}}+{{c}_{2}}{{({{D}_{R}})}^{2}}+{{c}_{3}}{{D}_{G}}+{{c}_{4}}{{({{D}_{G}})}^{2}}+{{c}_{5}}{{D}_{B}}+{{c}_{6}}{{({{D}_{B}})}^{2}},$ |
${{y}^{*}}={{c}_{0}}\prime +{{c}_{1}}\prime T+{{c}_{2}}\prime {{T}^{2}}+{{c}_{3}}\prime {{y}_{25}}^{*}+{{c}_{4}}\prime {{({{y}_{25}}^{*})}^{2}},$ |
式中DR、DG和DB分別為通過式(2)算出的某一測試項或試紙塊的紅色、綠色和藍色的分量值,c0~c4為某一測試項擬合的系數,y25*為式(3)算出的25℃時的反射率,T為測量時的環境溫度,c0′~c4′為某一測試引入溫度后擬合的系數。不同測試項c0~c4和c0′~c4′的系數不同,具體值是根據大量實驗數據分析得出。如:根據實驗得出蛋白質的計算公式為:
$\begin{align} & {{y}_{25}}^{*}=-118.656\text{ }6+0.221\text{ }3{{D}_{R}}+0.001\text{ }4{{({{D}_{R}})}^{2}}+1.741\text{ }9{{D}_{G}} \\ & -0.005\text{ }6{{({{D}_{G}})}^{2}}-0.039\text{ }8{{D}_{B}}-0.000\text{ }2{{({{D}_{B}})}^{2}} \\ \end{align}$ |
$\begin{align} & {{y}^{*}}=-8.851\text{ }2+0.427\text{ }8T- \\ & 0.002\text{ }4{{T}^{2}}+1.003\text{ }4~{{y}_{25}}^{*}-0.000\text{ }1\text{ }{{({{y}_{25}}^{*})}^{2}} \\ \end{align}$ |
蛋白質半定量值區間如表 1所示。

若輸出為反射率,則通過式(6)算出的反射率,若為RGB值則為當前測定的RGB值。
2 結果
該新型尿液分析核心模塊的實物如圖 4所示,可直接輸出當前測試條的原始數據、人尿中白細胞、酮體等11項物質各自的RGB值、反射率、半定量等級等信息,可方便地用于各種類型的尿液分析儀。為了說明該模塊的結果,下面通過實驗得到不同試紙條的4種輸出,即當前測試條的原始數據如圖 5所示,試紙塊顏色的RGB值如表 2所示,反射率如表 3所示,半定量等級數據如表 4所示。圖 5中,紅色箭頭所對應的位置即每一個極小值對應一試紙塊的顏色值,紅色、綠色和藍色曲線分別表示在試紙條移動過程中對應RGB顏色的變化,利用該功能及輸出試紙塊顏色的RGB值可以對新的測試項的規律進行研究、分析,利用外部工具如Matlab等得出相應的計算公式,然后通過特定的指令添加測試項及對應的系數,以實現相應項的測量,利用輸出反射率可以通過實驗確定各項的半定量區間,并通過特定的指令更改對應項的區間等。





另外,為了驗證該核心模塊的可靠性、穩定性以及一致性,進行了大量的實驗,測試的最后結果如表 5所示。在醫學上,常用“-”表示陰性,表示被測試者健康,“+”表示陽性,表示被測試者有疾病。其中,加號越多,代表病情越嚴重。由表 5可以得出,該核心模塊測試的準確度達到95%及以上,完全達到尿液分析測試結果的要求。

3 討論
本文提出了一種基于32位微處理器STM32F103RB和顏色傳感器TCS3104的新型尿液分析儀的核心模塊,采用新穎的光路結構、特定的電路及軟件算法進行補償,使其每項測量精度均在95%及以上,具有很好的穩定性、可靠性和一致性。另外,該模塊可根據外部控制直接輸出當前測試條的原始數據、11項指標各自顏色的RGB值、反射率、半定量等級等信息,并且通過特定的指令還可實現修改反射率計算系數、增加測試項和對應的計算系數、讀取或更改半定量區間等。因此,該模塊具有很好的開發性和可擴展性,從而保證具有很好的通用性,適用于各種類型的尿液分析儀,并可大幅度地降低尿液分析儀的研發和生產成本,具有很好的使用價值和廣闊的市場前景。但目前還需對其整體光路、電路和軟件進一步優化,力求成為一種標準化尿液分析儀核心模塊。