任勇峰,朱澤琿,賈興中
(中北大學電子測試技術國家重點實驗室,山西太原 030051)
現代工業和自動化領域中,溫度和濕度的測量與采集都是非常重要的。溫濕度信號的測量結果都需要轉換成模擬量信號才能傳輸到幾百米外的測試設備或者采集設備上,與傳送電壓調制信號的方式相比,4~20 mA 電流環具有很強的抗干擾能力[1],并且信號的傳輸距離長,且不需考慮噪聲干擾、線長、壓降和線路阻抗等影響[2],極大地提高了電路的傳輸性能。該設計采用C8051F410 單片機驅動控制SHT15 芯片測量溫濕度,并通過搭建V/I 轉換電路實現高精度的4~20 mA 電流輸出,完成測量。
溫濕度傳感器硬件電路由SHT15 接口電路、C8051F410 單片機外圍控制電路、V/I 轉換電路組成,如圖1 所示。C8051F410 單片機控制SHT15 測量溫濕度并將溫濕度信號的數字量通過IDAC 功能轉換成微小電流量[3],通過接地電阻轉換成理想的電壓值,再通過V/I 轉換電路輸出4~20 mA 的電流信號。

圖1 電路組成
SHT15 傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器[4]。它包括一個電容式聚合體測濕元件和一個能隙性測溫元件[5],并與一個14 位的A/D 轉換器以及串行接口電路在同一芯片上實現無縫鏈接。因此,這款芯片具有品質卓越、超快響應、抗干擾能力強、性價比極高等優點[6]。
SHT15 與C8051F410 單片機的接口電路如圖2所示,SHT15 和單片機之間的通信采用串行二線接口DATA 和SCK 實現[6],其中DATA 為數據線,SCK 為時鐘線,分別與單片機的P0.2、P0.3 的I/O 口連接。DATA 數據傳輸為三態門,為保證信號傳輸和數據讀取穩定,DATA 和SCK 均需要接入一個外部上拉電阻(一般為10 kΩ電阻)。同時VCC 和GND 之間也可添加一個0.1 μF 的電容,用于去耦濾波。

圖2 SHT15接口電路原理圖
C8051F410 單片機是完全集成的低功耗混合信號片上系統型MCU。內部最大時鐘頻率最高可達24.5 MHz,片上資源豐富,能最大限度地減少外圍電路,提高系統的集成度和抗干擾功能[7]。
C8051F410 單片機使用3.3 V 電壓供電,包含兩路12 位電流輸出DAC(P0.0 和P0.1),IDAC 的最大輸出電流可以有4 種不同的設置:0.25 mA、0.5 mA、1.0 mA、2.0 mA。用IDAC 寄存器(IDA0CN 和IDAC1CN)中的對應位來分別使能或者禁止IDAC 功能。同時IDAC 的滿量度輸出電流由IDAnOMD 位(IDAnCN[1:0])選擇。具體配置方法見表1。

表1 IDAC滿量度輸出電流與IDAnOMD位設置
根據設計要求,設置滿量度輸出電流為2 mA,程序設計為:


圖3 C8051F410單片機外圍控制電路
C8051F410 單片機的P0.2 口和P0.3 口與SHT15的DATA 數據線和SCK 時鐘線相連,SCK 為SHT15和單片機提供同步時鐘,DATA 數據線進行數據的雙向傳輸,需要注意的是,I2C 協議與該二線串行通信協議是不兼容的。所以在程序開始時,單片機需要按照SHT15 芯片的啟動傳輸時序來啟動數據傳輸,啟動傳輸時序見圖4。它包括當SCK 時鐘為高電平時,DATA 翻轉為低電平,緊接著SCK 變為低電平,隨后是在SCK 時鐘為高電平時,DATA 翻轉為高電平。

圖4 SHT15啟動傳輸時序
SHT15 測得的溫濕度是以數字量的形式轉換為溫濕度值的,并且濕度的數字量轉換到濕度值是非線性的,若直接利用濕度的數字量進行DA 轉換,必然會導致濕度測量的線性度比較差。為改善溫濕度信號測量與最后4~20 mA 電流輸出的線性度,同時為將溫濕度數值轉換成后續可以處理的模擬量。將具體的溫濕度值線性映射到進行DA 轉換的數字量[8],映射關系見圖5,溫度映射關系同理。

圖5 濕度值與DA轉換數字量映射關系
溫濕度值映射的數字量范圍可以根據設計要求測量的溫濕度范圍進行映射,由于最后傳感器輸出的是4~20 mA 的電流信號,故映射的數字量下限應該大于0x000。若映射的數字量從0x000 開始,則需要后端電路加上適當的偏置電壓去抬高V/I 轉換電路前的電壓值,使得電路的設計較為繁瑣,故該設計不采用這種方法。
從溫濕度量到DA 轉換數字量直接進行線性映射,保證了溫濕度信號測量具有良好的線性度和穩定性。該設計中,電流滿量度輸出設置為2 mA,通過IDAC 功能轉換的模擬電流量根據映射的數字量范圍來確定,例如,映射的數字量范圍是400~3 400,則轉換出的電流量范圍0.195~1.661 mA。P0.0 和P0.1 端口輸出的電流值通過對地電阻R22和R11轉換成適當的電壓值,以便進行下一步的V/I 轉換。
為了將電壓信號轉換成4~20 mA 的電流信號,且需要保證電流信號的輸出與負載無關。初步設計了如圖6 所示的V/I 轉換電路。

圖6 初步設計的V/I轉換電路
在該電路的設計應用中,使用了兩路運算放大器,U2運放做電壓跟隨器,起阻抗變換的作用[9];U1運放為一個同相加法器。對運算放大器有以下要求:必須具有較小的輸入失調電壓和輸入偏置電流,減少運放自身參數對電路平衡性和對稱性的影響[10]。要求不高的場合,運放可以選用通用運算放大器LM358,要求高的場合可以選用高精度、低噪聲的OPA228。
電路原理可做如下簡單推導:

令K=R5/R8=R12/R13,若選用運算放大器的輸入失調電壓和輸入偏置電流足夠小,達到微伏或者微安級。按照理想運算放大器推算,滿足U1+=U1-。
其自由度為1,保證了小曲拐的正常運動,從小曲拐四桿機構可以看出3個小曲拐的運動規律一致,且與偏心主軸的運動一致,使得動盤公轉運動而不發生自轉,因此滿足渦旋壓縮機防自轉的要求。
則整理化簡得:

可見,輸出電流與外接負載電阻無關,只與輸入電壓、V/I 轉換電阻R20以及電阻阻值之比K有關。在給定的電路中,R20與K值恒定,若輸入電壓不變,可實現恒流輸出。
為增強電路的輸出電流驅動能力,電路設計中加入了一個NPN 三極管,改進的電路見圖7。利用NPN 三極管實現了擴流的作用,增強電流的輸出能力[11]。并通過Multisim13.0 軟件仿真可知,三極管不僅增強了電流的驅動能力,并且由于基極電流較小,減少了對運算放大器負載電流能力的要求,同時承擔了主要的電壓壓降[12-13]。D2 為肖特基整流二極管,在對電路進行保護的同時,也能提高電流的傳輸性能。

圖7 改進的I/V轉換電路
因此在選用三極管時,不僅要滿足功率電壓等要求,更要考察三極管的驅動電流能力。小電流可使用S8050,電流可以達到1.5 A;大電流可使用TIP41,電流可達到6 A。
利用上述電路,根據自己的使用需求,選擇適當的電阻配比值K,可將單片機外圍電路輸出的電壓轉換成4~20 mA 電流輸出。輸出電流不受外接負載影響的特點,也為電流信號進行后續的轉換與采集提供了高精度的保證。
在完成硬件電路設計和軟件程序編寫后,為驗證和測試溫濕度傳感器的測量精度,使用OMEGA 公司的熱電偶溫度校準儀(測溫精度可達0.5 ℃)和瑞士羅卓尼克標準溫濕度探頭(測濕精度可達1.0%RH)分別對溫濕度傳感器的溫度和濕度測量進行試驗測試分析和數據處理。
將溫濕度傳感器和熱電偶溫度校準儀感應探頭同時置于高低溫箱中,改變高低溫箱中的溫度[14],并在溫度穩定后記錄校準儀顯示溫度和溫濕度傳感器測溫端輸出電流,測量結果見表2。

表2 溫度標定測量結果
對測量的數據作最小二乘法直線擬合,結果見圖8。

圖8 溫度值與輸出電流擬合直線
由擬合直線求解到非線性度為0.41%,非線性度小于1%,滿足設計要求。再由輸出電流值根據擬合直線公式反推溫度測量值,考察溫度測量的實際值和測量值之間的誤差,反映溫度測量精度[15],結果見表3。

表3 溫度測量精度分析
由數據分析結果,在溫度測量范圍-40~40 ℃中,傳感器的溫度測量與電流輸出不僅有著良好的線性關系,而且同熱電偶溫度校準儀相比,測量精度不超過0.5 ℃。
在溫濕度快速變化試驗箱中對傳感器進行濕度測量[16]。通過標準溫濕度探頭測量當前濕度,并在濕度環境穩定后記錄當前濕度值和溫濕度傳感器的測濕端輸出電流。測量結果見表4。

表4 濕度標定測量結果
對測量的數據作最小二乘法直線擬合,結果見圖9。

圖9 濕度值與輸出電流擬合直線
由擬合直線求解到非線性度為0.75%,非線性度小于1%,滿足設計要求。再由輸出電流值根據擬合直線公式反推濕度測量值,考察濕度測量的實際值和測量值之間的誤差,反映濕度測量精度,結果見表5。

表5 濕度測量精度分析
由數據分析結果可知,在濕度測量范圍0~100%RH中,傳感器的濕度測量與電流輸出不僅有著良好的線性關系,而且同標準溫濕度探頭相比,傳感器測濕的測量精度不超過±0.721%RH。
文中設計的溫濕度傳感器測試電路,以C8051F410 單片機和SHT15 敏感芯片為核心,根據傳感器自身的設計測量范圍和性能要求,通過程序設計和改進型V/I 轉換電路的搭建,為傳感器測量信號遠距離傳輸提供了可選方案,并且有效地改善了SHT15 芯片自身濕度測量的非線性,提高了測量精度。最后通過試驗測試驗證了該設計是合理可行的,可以用于精度較高場合下的測量。