1 引言 航天醫用冷藏設備主要用于儲存血液、試劑、疫苗等醫學樣品,是在特殊條件下對醫學樣品進行存儲研究的冷藏設備。為了保證冷藏設備具備高的可靠性、穩定性,在開發過程中需要進行全面的實驗測試,這就需要一種相匹配的監測儀器對影響其可靠性、穩定性的參數進行實時監測、分析,進而提高冷藏設備的性能,最終使其滿足在極特殊的條件下工作。 目前,醫用冷藏設備在國內外有廣泛的研究,而在航空航天領域的研發在國內外屬于領先技術,為保證達到嚴格的制冷保溫指標要求,在結構設計、板材選取等方面需特殊處理,才能保證冷藏設備在特殊條件下穩定可靠的運行。相匹配的監測系統主要針對工作電源和溫度這兩個重要的控制指標進行準確可靠的監測。 2 系統硬件設計 航天醫用冷藏設備監測系統硬件關鍵部分是信號檢測裝置,包括模擬量信號測量電路、電源系統和串口通訊。其中電源系統采用經典電路實現,本文不作詳細敘述。監測系統的硬件設計過程中采用冗余技術、單點雙線、光耦隔離等抗干擾技術,增加了系統數據采集的準確性和可靠性。監測系統原理框圖如圖1所示。 圖1 監測系統框圖 1) 模擬量信號測量電路 以AT89C52單片機為核心,外置看門狗X5045和一片11.0592MHz晶振構成最小單片機系統,AT89C52是整個系統的控制核心,內帶8KB的Flash ROM,用戶程序存放于此。測溫單元采用Pt100鉑電阻傳感器(測溫范圍-50~+100℃),配套線性化輸出0~5V標準信號的溫度變送器,誤差為0.06℃,構成單線式溫度采集網絡。為了提高精度,選用12bit的串行A/D轉換器TLC2543,應用單片機I/O口的雙向傳輸數據的功能,將P1.0~P1.3口與TLC2543的4根控制線CS、OUT、IN、SCK相連接,實現對TLC2543進行讀取和寫入操作。將溫度變送器輸出接入TLC2543的模擬輸入通道即可。由于AT89C52單片機沒有SPI接口,需要用軟件實現SPI的功能,對TLC2543操作的關鍵是理清接口時序圖和寄存器的使用方式。系統程序利用Xeltek公司的基于USB口的通用編輯器Superpro3000U下載到AT89C52芯片中,實現系統固件編程。溫度采集電路如圖2所示。 圖2 數據采集、顯示電路 電源信號的測量包括采集電路和顯示模塊兩部分,裝置電路圖如圖2所示。檢測供電電源的電壓采用分壓電路實現,小電阻4.3KΩ兩端接上一個5.6V穩壓管以保護單片機系統;檢測工作電流應用運算放大器LM358將采樣電壓放大為標準信號,如圖3所示。然后將電壓、電流檢測電路輸出接入TLC2543的AIN0,AIN1接口,完成對電源信號的采集。顯示模塊由2個四位一體的共陰極數碼管和1片LED串行共陰極驅動器MAX7219構成。MAX7219的3根控制線DIN, LOAD, CLK與單片機AT89C52的P1.5~P1.7相連,數碼管的段選信號線a-dp分別和MAX7219對應的SegA~SegDP相連,其中一組數碼管LED1的4根位選信號線和MAX7219的位驅動線Dig0~Dig3相連接,另一組LED2的位選信號與Dig4~Dig7相連。LED1顯示系統供電電壓,LED2顯示工作電流。固件程序分為信號采集和數據顯示兩部分,系統工作是在程序控制下,完成對模擬信號的采集和電源信號的顯示。 圖3 電流采集電路 2) 串口通訊 由于RS-232串行通信標準接口使用方便、接線少而且傳輸距離可達到15m,足以滿足監測系統的技術要求,因此選用RS-232的串口通信方式。ATMEL的89C52單片機通過普通I/O口與 PC機 RS-232串口實現通信的硬件接口電路,如圖4所示。由于 PC系列微機串行口為RS-232標準接口,與輸入、輸出均為TTL電平的AT89C52單片機在接口規范上不一致,因此TTL電平到RS-232接口電平的轉換采用 MAX232標準 RS-232接口芯片,該芯片可以用單電壓(+5 v)實現RS-232接口邏輯“1”(-15~3V)和邏輯“0”(3~15 v)的電平轉換。AT89C52的P3.0為串行輸入端,P3.1為串行輸出端。 圖4 RS232串口通訊 3 系統軟件設計 監測系統軟件包括下位機程序和Delphi數據通訊軟件兩部分,實現測試數據的分析處理、回放顯示、打印輸出等功能,它可以接收命令和數據,向設備發送控制信號,返回設備的狀態參數,提供友好的人機界面。同時,利用軟件濾波方法提高數據采集的準確性。 1) 下位機程序設計 監測系統的核心在于下位機程序能夠進行數據的采集、顯示并與上位機的數據通訊,向上位機發送采集的溫度、電源數據,接收上位機發來控制指令,進行傳輸數據,與上位機通信采用查詢和中斷方式實現,并有奇偶校驗以保證數據正確傳輸,下位機程序的軟件流程圖如圖5所示。 圖5 主程序流程圖 MAX7219初始化即設置各個寄存器初始值,包括BCD譯碼器、多位掃描電路、段驅動器、位驅動器和用于存放每個數據位的8×8靜態RAM以及數個工作寄存器。通過指令設置這些工作寄存器,使其進入所要求的工作狀態。AT89C52單片機有發送緩沖寄存器和接收緩沖寄存器SBUF、串行口控制寄存器(SCON)、特殊功能寄存器(PCON),MAX232串口初始化就是通過程序設置SCON定為工作方式2,并使REN為1,允許串行口中斷。串口通信發送程序采用查詢方式實現,數據接收程序采用串口中斷方式實現,在數據接收中斷服務程序中根據所接收的數據判斷是否將發送標識Send_flag置位。數據采集處理子函數形為模擬通道號,完成對此通道數據采集轉換,并將轉換結果放入一維數組Cstring[],然后循環采集多次順序放入Cstring[]數組中,采用軟件濾波方法得到此通道的數據。LED顯示子函數是按照正確的時序和尋址方式操作內部寄存器,完成電源信號的實時顯示。 2) Delphi通訊軟件設計 上位機利用Delphi開發,由于Delphi沒有自帶的通信控件,采用第三方SPComm控件實現PC機與單片機串口通信。它具有豐富的與串口通訊密切相關的屬性、方法和事件,提供了對串口進行操作的多種功能。在使用過程中,只要設置正確,完全可以發送從 0到 255的二進制數字,且接收正確。SPComm控件的StartComm方法用于打開串口,StopComm過程用于關閉串口。利用事件驅動法完成數據的接收和發送,SPComm控件的OnReceiveData事件,當輸入緩存有數據時將觸發該事件,在這里可以對串口收到的數據進行處理,而WriteCommData完成數據的發送,這樣上位機系統可以接收單片機發送的數據和信息,以使PC機更快速作出反應。 為實現數據通訊程序,須在Delphi開發環境下設置一個窗體,窗體上主要有一個通訊控件SPComm和3個Timer控件。軟件采用定時器Timer1和Timer2控件來實現在數據信息送出2s后PC機仍未收到任何回執信息,程序出現提示然后跳出系統,以下是程序編寫時相關注意點: (1)握手信號建立以及發送接收數據時:為了使主機能夠對整個檢測過程進行實時控制,串口打開即發送握手信號,接著設定等待時間,握手成功后,通過條件判斷下一步是發送還是接收數據。對發送的命令,最好采用文本方法,若采用二進制特別注意數據的格式。 (2)接收數據:接收數據通過被動的觸發事件完成,可以通過函數實現,根據自己的要求編寫,在接收過程中,多用特征字符,如“#”,“$”等,這需要在通信協議中約定。 (3)Timer控件:根據需要設定Timer控件,通過它可以完成發送命令和接收數據的過程,同時可以有效的判斷通信異常等情況,并迅速作出反應。 (4)通訊錯誤:由于外界干擾或電壓波動等原因,PC機和單片機之間的通訊可能會出現錯誤,如接收緩沖區溢出、網絡端口超速等,這些可能在代碼中引起運行錯誤,為了處理這些錯誤,須將錯誤處理加到SPComm控件的Receivedata事件中處理。 4 結語 溫度傳感器通過溫度變送器接入TLC2543A/D轉換器,輸入信號很小,對干擾很敏感,因此一定要加裝獨立的屏蔽線,避免外界的干擾。同時,供電電源置于設備內部,工作時會產生干擾,所以一定要與信號線、控制線分開并屏蔽好,防止設備出現意外的情況。 經過模塊化的電路測試、軟件調試和系統組裝,測溫精度可以達到±0.08℃。 此儀器采用單片機作為主控制器,成本低,通訊可靠性高,實時性好,系統運行穩定,各項指標達到了技術要求,通過青島市科技局鑒定,并已交付用戶單位使用,目前在冷藏設備的開發過程中已經發揮了重要作用。 |