專利名稱:一種微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要用于為糧食安全儲(chǔ)藏而進(jìn)行的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫。具體說,是一種微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)。
原有的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)使用的溫度傳感器是熱敏電阻,經(jīng)多路轉(zhuǎn)換、AD轉(zhuǎn)換和單片機(jī),把測(cè)量結(jié)果臨時(shí)存儲(chǔ),再經(jīng)串行接口遠(yuǎn)距離傳至微機(jī)(PC機(jī))。通過程序轉(zhuǎn)換把測(cè)量結(jié)果存儲(chǔ)。顯示、打印。這是一種分布式數(shù)據(jù)采集系統(tǒng),或稱多處理機(jī)系統(tǒng)。熱敏電阻是一種低阻抗非線性器件,雖然價(jià)格低廉,但其穩(wěn)定性、可靠性、一致性和精度都很差,不能保證長期使用,且極易受工作電壓波動(dòng)、電磁干擾等隨機(jī)因素影響。使系統(tǒng)精度差、穩(wěn)定性差,極易損壞,造成報(bào)廢。雖然傳感器是低檔次、低成本,但其由多路轉(zhuǎn)換、AD轉(zhuǎn)換、單片機(jī)和電源組成的“分機(jī)”成本較高,造成成本分配不合理。另外,該系統(tǒng)需要把220V市電引進(jìn)倉內(nèi)。給無人值守的糧倉造成火災(zāi)隱患。在已使用該系統(tǒng)的糧食保管部門,普遍反映不好。
本發(fā)明的目的在于在不大幅度提高總成本的前提下,采用先進(jìn)的溫度傳感器,以提高系統(tǒng)的穩(wěn)定性、可靠性、一致性和測(cè)量精度,并且滿足糧食保管部門的特殊要求,適應(yīng)糧倉的特殊環(huán)境,以達(dá)到長期可靠使用的目的。
本發(fā)明的目的可采用以下措施來實(shí)現(xiàn)它包括微機(jī)1、打印機(jī)2、AD轉(zhuǎn)換卡3、第二并口卡4,主控制器5和分控制器及其傳感器6;AD轉(zhuǎn)換卡3、第二并口卡4插在微機(jī)的擴(kuò)展槽內(nèi);分控制器及其傳感器6安裝在糧倉內(nèi);主控制器5最多可連接32個(gè)分控制器,主控制器5與分控制器6的最大距離可達(dá)2KM;第二并口的引出線經(jīng)重新定義,從主控制器5轉(zhuǎn)接至分控制器6,并從一個(gè)分控制器6向另一個(gè)分控制器6轉(zhuǎn)接,用于控制傳感器的多路轉(zhuǎn)換;每個(gè)分控制器6最多可連接64個(gè)傳感器;全系統(tǒng)最多可連2048個(gè)傳感器;分控制器6的輸出經(jīng)主控制器5的電阻接地,AD轉(zhuǎn)換卡3在電阻上端進(jìn)行電壓采樣,轉(zhuǎn)換成電壓數(shù)字,再經(jīng)程序轉(zhuǎn)換成溫度。
本發(fā)明中的主控制器5是由模塊7、模塊8、模塊9構(gòu)成;模塊7是一電源轉(zhuǎn)換裝置,其輸出供給分控制器6的Vdd;模塊9把模塊7的輸出、第二并口卡4的第16,14,1,4,3,2引腳用7芯屏蔽線轉(zhuǎn)接至分控制器6,最大距離≤2KM;引腳17在主控制器5的模塊9內(nèi)備用;模塊8由32個(gè)固定電阻和32個(gè)精密微調(diào)電阻構(gòu)成;把它們的電阻之和調(diào)至10KΩ,誤差不超過±1Ω;模塊8的輸入來自32個(gè)分控制器6的輸出;在32個(gè)電阻的上端連接AD轉(zhuǎn)換卡3的32個(gè)通道;分控制器6的輸出線也用屏蔽線;各分控制器6的輸出可以根據(jù)遠(yuǎn)近合并成多芯屏蔽線進(jìn)入主控制器5;所有屏蔽兩端均應(yīng)接地;模塊7的地線也應(yīng)與微機(jī)1的地線實(shí)行無阻抗連接;最遠(yuǎn)的分控制器6的地線與主控制器5的地線的直流阻抗不應(yīng)大于10Ω。
本發(fā)明中的分控制器及其傳感器6是由模塊10、模塊11、模塊12構(gòu)成;模塊11由6組電壓放大器構(gòu)成;其輸入與模塊9的16,14,1,4,3,2引腳線相連,其輸出分兩組16,14,1引腳線對(duì)應(yīng)的輸出連接模塊10的S’2,S’1,S’0;另一組4,3,2引腳線對(duì)應(yīng)的輸出連接模塊12的S2,S1,S0;模塊10由4051芯片構(gòu)成;其輸入連接模塊12的8個(gè)輸出,其輸出按分控制器的編號(hào)連接模塊8的對(duì)應(yīng)電阻;模塊12由8個(gè)4051芯片、8個(gè)4028芯片、8個(gè)HTS-2型溫度傳感器構(gòu)成;8個(gè)溫度傳感器的電源端連接4028芯片的8個(gè)輸出端,8個(gè)溫度傳感器的信號(hào)端連接4051芯片的8個(gè)輸入端;4051芯片和4028芯片的3個(gè)控制端均連接模塊11的S2,S1,S0。分控制器6的所有器件均使用主控制器5引來的電源。
本發(fā)明中第二并口卡4使用操作指令OUT(N),M和OUT(N+2),M;其中N是第二并口卡4的首地址,M是操作數(shù);當(dāng)M按照12,13,14,15,8,9,10,11的順序變化時(shí),OUT(N+2),M將按照附錄A的表-2的規(guī)律,在16,14,1的引腳上產(chǎn)生7,6,5,4,3,2,1,0的輸出;當(dāng)M按照15,14,13,12,11,10,9,8的順序變化時(shí),OUT(N),M將按照附錄A的表-1的規(guī)律,在4,3,2的引腳上產(chǎn)生7,6,5,4,3,2,1,0的輸出;經(jīng)模塊11的反相放大,在模塊11的輸出端將分別產(chǎn)生兩組控制序列0,1,2,3,4,5,6,7,用于分別控制模塊10和模塊12。
本發(fā)明的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)的基本算法是
(1)重復(fù)測(cè)量,取平均值為最終結(jié)果;(2)每次測(cè)量之間,要有1mS的時(shí)間間隔;(3)每對(duì)傳感器進(jìn)行測(cè)量操作時(shí),均應(yīng)先進(jìn)行一定數(shù)量的空測(cè)量,其測(cè)量結(jié)果棄之不用;(4)用計(jì)算方差的方法檢驗(yàn)系統(tǒng)的穩(wěn)定性;當(dāng)方差≤1000時(shí),測(cè)量的重復(fù)性可達(dá)±0.1℃之內(nèi);否則,應(yīng)檢查線路連接質(zhì)量或傳感器好壞;(5)基本算法程序在附錄B中;本發(fā)明的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)的系統(tǒng)誤差的調(diào)整方法是(1)建立溫度文件,如附錄C;(2)把一個(gè)分控制器(6)的64個(gè)傳感器放入具有相同溫度的介質(zhì)中;介質(zhì)溫度調(diào)至低溫點(diǎn)附近;(3)用測(cè)試程序算法(附錄D),使每個(gè)傳感器低溫點(diǎn)的電壓數(shù)值逐步向全部傳感器溫度平均值的對(duì)應(yīng)電壓數(shù)值靠近;(4)用文字編輯程序修改溫度文件中的每個(gè)傳感器的溫度項(xiàng),使之與介質(zhì)溫度一致。;(5)把介質(zhì)溫度從接近低溫點(diǎn)升致接近高溫點(diǎn),再進(jìn)行(3)、(4);(6)在用戶程序中使用已調(diào)好的溫度文件,使用基本算法和直線兩點(diǎn)式方程,就可換算出準(zhǔn)確的多點(diǎn)溫度。
本發(fā)明的優(yōu)點(diǎn)是全系統(tǒng)最多可連2048個(gè)傳感器;最大傳輸距離可達(dá)2KM;程序采用特殊算法;在30℃~+50℃范圍內(nèi),可使每個(gè)傳感器周圍介質(zhì)溫度與微機(jī)的屏幕上的對(duì)應(yīng)點(diǎn)溫度的誤差≤0.5℃,重復(fù)性≤0.1℃;市電不進(jìn)糧倉;節(jié)能;不必考慮散熱問題,就可對(duì)糧倉內(nèi)電路實(shí)行全密封,以防止糧倉內(nèi)有害氣體腐蝕。
附圖的圖面說明如下
圖1是全系統(tǒng)框圖;圖2是主控制器5的框圖;圖3是分控制器6的框圖;圖4是電壓放大器模塊11的電路圖;圖5是4051和4028芯片的管腳圖;圖6是模塊10的電路圖7是模塊12的電路圖;圖8是模塊8的電路圖;圖9是模塊8的簡化電路圖;圖10是本系統(tǒng)的簡化系統(tǒng)的原理圖;本發(fā)明以下將結(jié)合實(shí)施例(附圖)作以詳細(xì)的描述通用微機(jī)1可選用PC-486以上的任何一種。最小內(nèi)存4MB,硬盤最小剩余空間20MB,VGA彩色顯示。軟件平臺(tái)為DOS6.2以上和UCDOS5.0以上。
打印機(jī)2可選用市場(chǎng)上的任意一種。它與通用微機(jī)1的主板上的第一并口,按照標(biāo)準(zhǔn)方法相連。
AD轉(zhuǎn)換卡3選用PS-2108型AD/DA卡。其主要技術(shù)參數(shù)如下▲AD部分轉(zhuǎn)換位數(shù)8位;模入通道32路;模入范圍0~+5V;轉(zhuǎn)換時(shí)間(114μS;系統(tǒng)誤差(0.4FSR;▲DA部分通道數(shù); 4路;其余略;PS-2108卡插在通用微機(jī)1的主板上的EISA擴(kuò)展槽內(nèi)。通用微機(jī)1的機(jī)箱外露出一個(gè)37芯插座。用40芯扁平電纜把它引至主控制器5的模塊8中。其中只連1~37芯,其余38~40芯空,連接方法一對(duì)一,最大長度≤3米。PS-2108卡的首地址用卡上的DIP開關(guān)設(shè)定。出廠時(shí)的地址為100H(十進(jìn)制256)。
第二并口卡可選用任意一種IO卡,即PC-386以下微機(jī)常用的接口卡。IO卡通常有兩個(gè)串行接口,一個(gè)并行接口,一個(gè)軟驅(qū)接口,一個(gè)硬盤接口。它插在通用微機(jī)1的EISA擴(kuò)展槽內(nèi)。機(jī)箱外露出的25芯插座,是并口插座。PC-486以上微機(jī)的第一并口通常在主板上。微機(jī)在開機(jī)時(shí)可進(jìn)入SETUP程序(POST程序)。利用這個(gè)程序可把原配置的一個(gè)并口擴(kuò)充為兩個(gè)并口。根據(jù)BIOS版本不同,第二并口的首地址可能是3BCH(十進(jìn)制956),378H(十進(jìn)制888),278H(十進(jìn)制632)。請(qǐng)注意分清第一并口和第二并口,因?yàn)镈OS的屏幕打印要求打印機(jī)連在第一并口上。
PS-2108卡上的4路DA、IO卡上的兩個(gè)串口、軟驅(qū)接口、硬盤接口為LQCK系統(tǒng)再擴(kuò)充時(shí)備用。
本發(fā)明的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)對(duì)第二并口的使用,并不采用標(biāo)準(zhǔn)并口的25芯引腳的定義。它重新定義了其中的16,14,1,4,3,2,17共七個(gè)引腳,并把它們用7芯屏蔽線引至主控制器5的模塊9。7芯屏蔽線的最大長度≤3米。
16號(hào)引腳定義為(S’2);14號(hào)引腳定義為(S’1);1號(hào)引腳定義為(S’0);4號(hào)引腳定義為(S2);3號(hào)引腳定義為(S1);2號(hào)引腳定義為(S0);17號(hào)引腳備用;主控制器5分為模塊7,模塊8,模塊9。
模塊7是電源轉(zhuǎn)換裝置,可按220V市電輸入,+17V輸出,30W功率設(shè)計(jì)。+17V在主控制器5內(nèi)部從模塊7接至模塊9的一個(gè)端子。模塊7的地線必須與通用微機(jī)1的地線實(shí)行無阻抗連接(≤4Ω)。
模塊9由端子構(gòu)成。最少有9個(gè)端子。其中一個(gè)端子接第二并口引來的7芯線的屏蔽、接模塊7的地線,屏蔽的另一端接通用微機(jī)1的地線。7個(gè)端子接第二并口的7芯。第九個(gè)端子接模塊7引來的+17V電源。
模塊9在向分控制器6引出時(shí),也采用7芯屏蔽線。除第二并口的17引腳留在主控制器內(nèi)備用外,其余已經(jīng)定義的第二并口的6芯及+17V電源組成7芯,屏蔽接地。
分控制器6由“前置4051”模塊10、“電壓放大器”模塊11和“4051單元組”模塊12構(gòu)成。
“電壓放大器”模塊11的電路圖見圖4。其中晶體管Q1,Q2,...,Q12采用小功率管9014;R1,R3,R5,R7,R9,R11為5KΩ;R2,R4,R6,R8,R10,R12為4.7MΩ。從主控制器5引出的7芯屏蔽線分別接模塊11的輸入端Vdd,(S’2),(S’1),(S’0),(S2),(S1),(S0)。其6路輸出端分兩組其中S’2,S’1,S’0接“前置4051”模塊10的S’2,S’1,S’0;S2,S1,S0接“4051單元組”的S2,S1,S0。
“前置4051”模塊10由一個(gè)4051芯片構(gòu)成。其8路輸入X0,X1,X2,X3,X4,X5,X6,X7分別接8個(gè)“4051單元組”模塊12的輸出X。模塊10的輸出X遠(yuǎn)距離(≤2KM)接主控制器5的模塊8中的某一通道Ti(i=1,2,...,32)。這里假定分控制器6的編號(hào)為T-i(i=1,2,...,32)。
模塊12由一個(gè)4051芯片、一個(gè)4028芯片、8個(gè)DIP型開關(guān),8個(gè)HTS-2型溫度傳感器構(gòu)成。
HTS-2型傳感器的技術(shù)參數(shù)如下工作溫度范圍-55℃~+150℃;工作電壓范圍+3V~+30V;輸出電流294.1μA(介質(zhì)溫度為25℃時(shí));溫度靈敏度 1μA/℃;線性度 優(yōu)于0.5%;動(dòng)態(tài)阻抗≥10MΩ;最大傳輸距離≤2KM;模塊11的數(shù)出端S2,S1,S0接至4051芯片和4028芯片的S2,S1,S0管腳。4028芯片的輸出端X0,X1,X2,X3,X4,X5,X6,X7分別接至傳感器C0,C1,C2,C3,C4,C5,C6,C7的電源端。傳感器的信號(hào)端接至4051芯片的輸入端X0,X1,X2,X3,X4,X5,X6,X7。DIP型開關(guān)SW0,SW1,SW2,SW3,SW4,SW5,SW6,SW7也分別接至4051芯片的輸入端X0,X1,X2,X3,X4,X5,X6,X7。另一端均接地。4051芯片的輸出端X按“4051單元組”的編號(hào)分別接至模塊10的輸入端X0,X1,X2,X3,X4,X5,X6,X7。
模塊10的輸出端X按分控制器6的編號(hào)6-i(i=1,2,...,32)分別接至主控制器5的模塊8的T-i(i=1,2,...,32)。
模塊8的電路圖見圖8和圖9。其中Ri(i=1,2,...,32)的阻值為9.1KΩ,ri(i=1,2,...,32)是0~2KΩ的精密微調(diào)電阻,SWi(i=1,2,...,32)是DIP型開關(guān)。分控制器6-i(i=1,2,...,32)的輸出端X經(jīng)過不大于2KM的距離接至模塊8的Ti(i=1,2,...,32)。
通過調(diào)整ri(i=1,2,...,32),使Ri和ri(i=1,2,...,32)的阻值之和等于10KΩ,誤差不大于±1Ω。DIP型開關(guān)SWi(i=1,2,...,32)的接法見圖9。
系統(tǒng)所有的地線之間的最大直流阻抗必須≤10Ω,96×φ0.15的銅網(wǎng)屏蔽在不大于2KM的長度內(nèi),可保證這一點(diǎn)。
從主控制器5向分控制器6引出的7芯控制線,在連接時(shí)應(yīng)先接最近的分控制器6,再從這個(gè)分控制器向別的分控制器轉(zhuǎn)接,以節(jié)約線材。
從分控制器6向主控制器5連接的模擬信號(hào)線也必須加屏蔽。但可根據(jù)分控制器所在的相對(duì)地理位置進(jìn)行轉(zhuǎn)接合并,使進(jìn)入主控制器的模擬信號(hào)線為多芯屏蔽線,以節(jié)約成本。
本發(fā)明的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)最多可支持32個(gè)分控制器6,每個(gè)分控制器6最多可支持64個(gè)HTS-2型溫度傳感器。這樣,本發(fā)明的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)最多可支持2048個(gè)HTS-2型溫度傳感器。
本發(fā)明的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)的工作原理如下本發(fā)明的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)是集中式數(shù)據(jù)采集系統(tǒng)的一種。
如果按照?qǐng)D10接線,把+17V電壓送到HTS-2型傳感器的電源端,傳感器隨周圍介質(zhì)溫度變化,產(chǎn)生線性電流信號(hào),經(jīng)不大于2KM的線路傳輸和10KΩ電阻接地,形成回路。采樣電壓送至AD卡的第i路通道(i=1,2,...,32),交微機(jī)1處理,就組成了一個(gè)較小的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)。這個(gè)小系統(tǒng)最多可支持32個(gè)傳感器。
因HTS-2型傳感器要求的工作電壓為+3V~+30V,Vdd在+11V~+17V變化時(shí),不會(huì)影響測(cè)量結(jié)果。又因HTS-2型傳感器的動(dòng)態(tài)阻抗≥10MΩ,最多不超過2KM的傳輸線的動(dòng)態(tài)阻抗不超過傳感器阻抗的萬分之一,也不會(huì)影響測(cè)量結(jié)果。
溫度的電流靈敏度1μA/℃;
溫度的電壓靈敏度10mV/℃;溫度的電壓數(shù)值靈敏度0.5/℃;根據(jù)糧倉保管的要求和實(shí)際情況,介質(zhì)(糧食)溫度范圍為-30℃~+50℃。因此電流信號(hào)的范圍為239.1μA~319.1μA;采樣電壓的范圍為2.391V~3.191V;電壓數(shù)值的范圍為121.941~162.741;在此范圍外的數(shù)值均屬不正常。
現(xiàn)在,把系統(tǒng)擴(kuò)充至本發(fā)明的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)本身。即把圖10中的HTS-2型傳感器替換成分控制器6,并加上控制線(S’2),(S’1),(S’0),(S2),(S1),(S0)等。
信號(hào)組(S’2),(S’1),(S’0)和信號(hào)組(S2),(S1),(S0)是受程序控制的。其操作指令見附錄A的表-1和表-2。
根據(jù)表-1的真值表,按以下順序使用操作指令OUT(N),15OUT(N),14OUT(N),13OUT(N),12OUT(N),11OUT(N),10OUT(N),9OUT(N),8時(shí),引腳4,3,2組成的控制序列就會(huì)順序產(chǎn)生7,6,5,4,3,2,1,0的數(shù)字控制信號(hào)。
根據(jù)表-2的真值表,按以下順序使用操作指令OUT(N+2),12OUT(N+2),13OUT(N+2),14OUT(N+2),15OUT(N+2),8
OUT(N+2),9OUT(N+2),10OUT(N+2),11時(shí),引腳16,14,1的控制序列就會(huì)順序產(chǎn)生7,6,5,4,3,2,1,0的數(shù)字控制信號(hào)。
這里,N是第二并口的首地址。根據(jù)真值表,兩組操作指令是互相獨(dú)立的,互不影響。
亦即,信號(hào)組(S2),(S1),(S0)和信號(hào)組(S’2),(S’1),(S’0)會(huì)分別產(chǎn)生控制序列7,6,5,4,3,2,1,0。模塊11的6組電壓放大器的輸入和輸出是反相的,輸出信號(hào)組S2,S1,S0和輸出信號(hào)組S’2,S’1,S’0就分別產(chǎn)生控制序列0,1,2,3,4,5,6,7。
第二并口是正邏輯信號(hào),高電平為+5V,低電平為0V。在經(jīng)過長達(dá)2KM的距離后,高電平可能衰減至+3V以下。模塊11的電壓放大器可把高電平提高至+6V~+10V。低電平維持不變。在Vdd工作在+11V~+17V之間時(shí),所有芯片均可正常工作。
當(dāng)模塊12的信號(hào)組S2,S1,S0的控制信號(hào)為i(i=0,1,2,...,7)時(shí),4028芯片的輸出Xi被選通,得到Vdd電壓,其余Xi(j≠i)均得到0V電壓。傳感器Ci(i=0,1,2,...,7)得到工作電壓,其余Cj(j≠i)只得到0V電壓。同時(shí),4051芯片的輸入X1(i=0,1,2,...,7)與輸出X接通,其余Xi(j≠i)均未被接通。
當(dāng)模塊10的信號(hào)組(S’2),(S’1),(S’0)的控制信號(hào)為i(i=0,1,2,...,7)時(shí),編號(hào)為12-i(i=0,1,2,...,7)的模塊12的輸出X與“前置4051”模塊10的輸出X接通,經(jīng)傳輸線、Ri、ri(i=0,1,2,...,7)接地,形成回路。于是,傳感器Ci(i=0,1,2,...,7)的介質(zhì)溫度的電流信號(hào),在Ti處被采樣。其余傳感器Cj(j≠i)均在模塊12-j(j≠i)的輸出端被阻斷。
這樣,分控制器的64個(gè)傳感器均能被輪詢。
當(dāng)程序控制選通通道號(hào)k(k=1,2,...,32)時(shí),32個(gè)分控制器6-k(k=1,2,...,32)均有機(jī)會(huì)被輪詢。亦即,2048個(gè)傳感器均有機(jī)會(huì)被輪詢。
模塊8的DIP型開關(guān)SWk(k=1,2,...,32)的作用是當(dāng)Tk號(hào)通道未連接分控制器時(shí),閉合SWk(K=1,2,...,32),使k號(hào)通道得到0V電壓。即使k號(hào)通道接有分控制器,它也將得到0V電壓,只是溫度信號(hào)不經(jīng)過10KΩ電阻。
模塊10的DIP型開關(guān)SWi(i=0,1,2,...,7)的作用是當(dāng)編號(hào)為i(i=0,1,2,...,7)的模塊12未接入電路時(shí),閉合SWi(i=0,1,2,...,7),可以使“前置4051”的輸入端Xi(i=0,1,2,...,7)得到0V電壓,不被懸浮,從而可以長期可靠工作。
模塊12的DIP型開關(guān)SWi(i=0,1,2,...,7)的作用是當(dāng)傳感器Ci(i=0,1,2,...,7)未接入電路時(shí),閉合SWi(i=0,1,2,...,7),可以使“4051單元組”的輸入端Xi(i=0,1,2,...,7)得到0V電壓,不被懸浮,從而可以長期可靠工作。
本發(fā)明的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)是一個(gè)電子測(cè)量溫度的產(chǎn)品,其測(cè)量的準(zhǔn)確性是產(chǎn)品成敗的關(guān)鍵。本發(fā)明的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)又是一個(gè)受微機(jī)程序控制的測(cè)溫產(chǎn)品,其誤差的控制在很大程度上受程序算法的制約。本發(fā)明的本發(fā)明的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng)的程序基本算法見附錄B。算法程序由C語言寫成。其要點(diǎn)是1、重復(fù)測(cè)量,取平均值為最終測(cè)量結(jié)果。綜合測(cè)量速度和精度兩方面因素,以重復(fù)測(cè)量80~100次為好。
2、每次重復(fù)測(cè)量之間,要有1mS的時(shí)間間隔。
3、在測(cè)量某一傳感器時(shí),應(yīng)先進(jìn)行20次左右的“空測(cè)量”,把測(cè)量結(jié)果棄之不用。
4.應(yīng)計(jì)算方差。方差應(yīng)≤1000。否則,應(yīng)檢查線路連接質(zhì)量和傳感器好壞。
在把電壓數(shù)值轉(zhuǎn)換成溫度值時(shí),采用兩點(diǎn)式直線方程。給定低溫點(diǎn)(例如Y1=15℃)和高溫點(diǎn)(例如Y2=35℃),理論計(jì)算其對(duì)應(yīng)的電壓數(shù)值分別為X1=147.5和X2=152.5。當(dāng)實(shí)測(cè)某傳感器的電壓數(shù)值為X時(shí),其對(duì)應(yīng)的溫度Y,可按下列公式計(jì)算y=(x-x1)*(y2-y1)/(x2-x1)+y1;但是,無論是傳感器還是電路,均可能產(chǎn)生不一致性。也就是說,理論計(jì)算的X1和X2,對(duì)于多個(gè)傳感器及其線路并不一定都是準(zhǔn)確的,甚至可以說,大部份是不準(zhǔn)確的。也就是說,雖然傳感器的線性和穩(wěn)定性是好的,但其斜率和截距卻是千差萬別的。如果都按上述公式計(jì)算,會(huì)產(chǎn)生相當(dāng)大的系統(tǒng)誤差。針對(duì)每個(gè)具體的傳感器及其對(duì)應(yīng)電路,找出其準(zhǔn)確的斜率和截距,才能調(diào)準(zhǔn)溫度。
本發(fā)明的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng),采用計(jì)算機(jī)輔助測(cè)試(CAT)技術(shù),用特定的程序算法,找出每一路傳感器的斜率和截距。具體做法如下準(zhǔn)備一個(gè)最少能盛60公升水的容器,內(nèi)裝2KW防水電熱器。其保溫性能應(yīng)達(dá)到在-30℃~+50℃范圍內(nèi),10分鐘內(nèi)溫度增減不超過1℃。再準(zhǔn)備一個(gè)能制冰的設(shè)備。使盛水容器內(nèi)隨時(shí)能放冰水混合物。一個(gè)0.1℃刻度的水銀溫度計(jì)是必不可少的。
把連入系統(tǒng)的64個(gè)傳感器放入水中(傳感器及其引線必須防水放潮)。測(cè)出水的準(zhǔn)確溫度。如果溫度較高,應(yīng)加冰,使溫度在10℃左右。再準(zhǔn)確測(cè)量水溫,記為Tmin℃。
在微機(jī)磁盤內(nèi)建立一個(gè)溫度文件(記為WDWJ)。文件內(nèi)應(yīng)有以下信息▲傳感器所在通道號(hào);▲傳感器所在“4051單元組”編號(hào);▲傳感器本身編號(hào);▲Y1和X1,X1為初始值;▲Y2和X2,X2為初始值;;▲每個(gè)傳感器的信息占一行;WDWJ的例子見附錄C。測(cè)試程序的基本算法(C語言編程)見附錄D。
算法要點(diǎn)如下1、鍵盤輸入水銀溫度計(jì)讀數(shù)(也可省略);2、用基本算法(附錄B)實(shí)測(cè)出傳感器的電壓數(shù)值Xi(i=0,1,2,...,63);3、用兩點(diǎn)式直線方程計(jì)算溫度Yi(i=0,1,2,...,63);
4、從64個(gè)傳感器中挑選出一個(gè)最大者Ymax和一個(gè)最小者Ymin,并記錄所在編號(hào)Kmax和Kmin;5、計(jì)算64個(gè)傳感器的平均溫度
6、計(jì)算(
),記為Cmin;7、計(jì)算(
)和(
),分別記為Dmax和Dmin;8.程序自動(dòng)修改WDWJ中的X1的當(dāng)前值,每次只修改編號(hào)為Kmax和Kmin的傳感器的X1的當(dāng)前值,替換公式為X1′=X1+0.25*Dmax;(Kmax項(xiàng));X1′=X1-0.25*Dmin;(Kmin項(xiàng));9、回到2,直到最大值和最小值之差小于0.5;10、停止程序運(yùn)行,進(jìn)入文字編輯程序,對(duì)WDWJ進(jìn)行編輯。把每個(gè)傳感器的15℃數(shù)據(jù)項(xiàng)全部改為Y1-Cmin的值;用電加熱把水溫提高到40℃左右,記下準(zhǔn)確水溫Tmax。用上述算法修改X2。
至此,每個(gè)傳感器均經(jīng)過“調(diào)姿”,WDWJ即可在用戶程序中使用。
功率估算每個(gè)傳感器耗電0.3mA×V=5.1mW。未被選通的傳感器,理論上不耗電,控制信號(hào)耗電很小。所以,每個(gè)分控制器及所屬傳感器耗電≤1W。全系統(tǒng)耗電≤32W。
頻率估算在線路上,溫度信號(hào)是直流信號(hào),不產(chǎn)生頻率??刂菩盘?hào)因每次測(cè)量間隔要有1mS時(shí)間,所以,頻率≤1KHZ。微機(jī)的主頻對(duì)線路頻率影響很小。
專用于糧堆測(cè)溫時(shí),還應(yīng)注意以下事項(xiàng)糧堆經(jīng)常進(jìn)行磷化鋁熏蒸,產(chǎn)生強(qiáng)烈腐蝕性氣體,應(yīng)對(duì)倉內(nèi)電路進(jìn)行全密封傳感器應(yīng)做成測(cè)溫電纜形式,測(cè)溫電纜與延長線的接頭應(yīng)密封,延長線進(jìn)入分控制器處應(yīng)密封,分控制器應(yīng)全密封。
附錄A表-1并口指令OUT(N),M真值表
注N為并口首地址表-2 并口指令OUT(N+2),M真值表
注N為并口首地址附錄B 程序基本算法<pre listing-type="program-listing"><![CDATA[void main(){ intbingkou2={388};/*并口二的首地址*/ intic,k,m,n; intpport1[8]={15,14,13,12,11,10,9,8}; intpport2[8]={12,13,14,15,8,9,10,11}; float fb,fm,fy1[64]={0},fs1[64]={0}; float fb1[100]={0};outportb(256,0);/*選擇AD卡的0#通道,首地址是256*/delay(4),for(k=0;k<=7;k++){outportb(bingkou2+2,pport2[k]);delay(1);for(m=0;m<=7;m++){outportb(bingkou2,pport1[m]);for(n=0;n<=19;n++){ /*扔掉前20次測(cè)量結(jié)果*/ic=inportb(256);/*啟動(dòng)AD轉(zhuǎn)換*/delay(1);ic=inportb(257);/*讀取AD轉(zhuǎn)換數(shù)據(jù)*/ }; fb=0; fm=0, for(n=0;n<=99;n++){ ic=inportb(256);go ic=inportb(258); delay(1); if(ic=0)goto go, ic=inportb(257); fb1[n]=(float)ic; fb=fb+fb1[n]; fm=fm+fb1[n]*fb1[n]; }; fb=fb/100; fy1[k*8+m]=fb,/*電壓數(shù)字*/ fs1[k*8+m]=fm-100*fb*fb; /*方差*/}; };}]]></pre>
附錄C 溫度文件WDWJ0 0 0 15.0 147.5 35.0 152.50 0 1 15.0 147.5 35.0 152.50 0 2 15.0 147.5 35.0 152.50 0 3 15.0 147.5 35.0 152.50 0 4 15.0 147.5 35.0 152.50 0 5 15.0 147.5 35.0 152.50 0 6 15.0 147.5 36.0 152.50 0 7 15.0 147.5 35.0 152.50 1 0 15.0 147.5 35.0 152.50 1 1 15.0 147.5 35.0 152.50 1 2 15.0 147.5 35 0 152.50 1 3 15.0 147.5 35.0 152.50 1 4 15.0 147.5 35.0 152.50 1 5 15.0 147.5 35.0 152.50 1 6 15.0 147.5 35.0 152.50 1 7 15.0 147.5 35.0 152.50 2 0 15.0 147.5 35.0 152.50 2 1 15.0 147.5 35.0 152.50 2 2 15.0 147.5 35.0 152.50 2 3 15.0 147.5 35.0 152.50 2 4 15.0 147.5 35.0 152.50 2 5 15.0 147.5 35.0 152.50 2 6 15.0 147.5 35.0 152.50 2 7 15.0 147.5 35.0 152.50 3 0 15.0 147.5 35.0 152.50 3 1 15.0 147.5 35.0 152.50 3 2 15.0 147.5 35.0 152.50 3 3 15.0 147.5 35.0 152.50 3 4 15.0 147.5 35.0 152.50 3 5 15.0 147.5 35.0 152.50 3 6 15.0 147.5 35.0 152 50 3 7 15.0 147.5 35.0 152.50 4 0 15.0 147.5 35.0 152.50 4 1 15.0 147.5 35.0 152.50 4 2 15.0 147.5 35.0 152.50 4 3 15.0 147.5 35.0 152.50 4 4 15.0 147.5 35.0 152.50 4 5 15.0 147.5 35.0 152.50 4 6 15.0 147.5 35.0 152.50 4 7 15.0 147.5 35.0 152.50 5 0 15.0 147.5 35.0 152.50 5 1 15.0 147.5 35.0 152.50 5 2 15.0 147.5 35.0 152.50 5 3 15.0 147.5 35.0 152.50 5 4 15.0 147.5 35.0 152.50 5 5 15.0 147.5 35 0 152.50 5 6 15.0 147.5 35.0 152.50 5 7 15.0 147.5 35.0 152.50 6 0 15.0 147.5 35.0 152.50 6 1 15.0 147.5 35.0 152.50 6 2 15.0 147.5 35.0 152.50 6 3 15.0 147.5 35.0 152 50 6 4 15.0 147.5 35.0 152.50 6 5 15.0 147.5 35.0 152.50 6 6 15.0 147.5 35.0 152.50 6 7 15.0 147.5 35.0 152.50 7 0 15.0 147.5 35.0 152.50 7 1 15.0 147.5 35.0 152.50 7 2 15.0 147.5 35.0 152.50 7 3 15.0 147.5 35.0 147.50 7 4 15.0 147.5 35.0 152.50 7 5 15.0 147.5 35.0 152.50 7 6 15.0 147.5 35.0 152.50 7 7 15.0 147.5 35.0 152.5
附錄D 測(cè)試程序算法<pre listing-type="program-listing"><![CDATA[struct wdwj{inttd,bb1,bh2,float wendu1[2];float wendu2[2]; }wdwj; struct wdwj far*pf0[64]; int bingkou2={888}; /*并口二的首地址*/ int adk={256}; /*AD卡的首地址*/ int pport1[8]={15,14,13,12,11,10,9,9}, int pport2[8]={12,13,14,15,8,9 10,11}, float fy[64],fy1[64]={0},fs[64]={0}; voidteat(); /**************min program********************/void main(){ FILE*fp; charche[8]; int ia1,ia2,ia3,kmax, kmin; float fa1,fa2,fa3,fa4,fb,fc,fd,ff; float fdmax,fdmin,fmax,fmin; pf0
=(struct wdwj*)malloc(sizeof(struct wdwj);, if(!pf0
){ exit(1); }; for(i=0;i<=63;i++){ pf0[i+1]=pf0[i]+1, }; strcpy(che,"wdwj"); if(!(fp=fopen(che,"r"))){exit(1); }; for(i=0;i<=63;i++){ fscanf(fp,"%i %i %i″,&a1,&ia2,&ia3); fscanf(fp,"%f %f %f %f",&fa1,&fa2,&fa3,&fa4); (*pf0[i]),td=ia1; (*pf0[i]),bb1=ia2; (*pf0[i]},bb2=ia3; (*pf0[i]),wendu1
=fa1;(*pf0[i]),wendu1[1]=fa2 (*pf0[i]),wendu2
=fa3; (*pf0[i]),wendu2[1]=fa4; };if(fclose(fp)){exit(1); };yn: test(); fb=0; for(i=0;i<=63;i++){ fa1=(*pf0[i]),wcndu1
; fa2=(*pf0[i]),wendu1[1]; fa3=(*pf0[i]),wendu2
; fa4=(*pf0[i]),wendu2[1]; ff=py1[i]); fy[i]=(ff-fa2)*(fa3-fa1)/(fa4-fa2)+fa1;/*溫度值*/ fb=fb+fy[i]; }; fb=fb/64; /*平均值*/ kmax=0; kmin=0; fmax=fy
; fmin=fy
; for(i=0;i<=63;i++){ if(fy[i]>fmax){fmax=fy[i];kmax=i; }; if(fy[i]<fmin){fmin=fy[i];kmin=i; }; }; fdmax=fmax-fb; /*替換*/ fdmin=fb-fmin; fc=(*pf0[kmax]),wendu1[1]; fc=fc+0.25*fdmax; (*pf0[kmax]),wendu1[1]=fc; fd=(*pf0[kmin]),wendu1[1]; fd=fd-0.25*fdmin;(*pf0[kmin])wendu1[1]=fd;if((fdmax-fdmin)>0.5){goto yn;};} /**************end main**********************/void test(){ intic,k,m,n; flout fb,fm; float fb1[100]={0};outportb(adk,0); /*選擇AD卡的0#通道*/delay(4);for(k=0;k<=7;k++){ ontportb(bingkou2+2,pport2[k]); delay(1); for(m=0;m<=7;m++){ outportb(bingkou2,pport1[m]); for(n=0;n<=19;n++){ /*扔掉前20次測(cè)量結(jié)果*/ ic=inportb(adk); /*啟動(dòng)AD轉(zhuǎn)換*/ delay(1); ic=inportb(adk+1); /*讀取AD轉(zhuǎn)換數(shù)據(jù)*/ }; fb=0; fm=0; for(n=0;n\=99;n++){ ic=inportb(adk);go; ic=inportb(adk+2); dclay(1); if(ic==0)goto go; ic=inportb(adk+1); fb1[n]=(float)ic; fb=fb+fb1[n]; fm=fm+fb1[n]*fb1[n]; };fb=fb/100;fy1[k*8+m]=fb; /*電壓數(shù)字*/fs1[k*8+m]=fm-100*fb*fb;/*方差*/ };};}]]></pre>
權(quán)利要求
1.一種微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng),其特征在于它包括微機(jī)(1)、打印機(jī)(2)、AD轉(zhuǎn)換卡(3)、第二并口卡(4)、主控制器(5)和分控制器及其傳感器(6);AD轉(zhuǎn)換卡(3)、第二并口卡(4)插在微機(jī)的擴(kuò)展槽內(nèi);分控制器及其傳感器(6)安裝在糧倉內(nèi);主控制器(5)最多可連接32個(gè)分控制器,主控制器(5)與分控制器(6)的最大距離可達(dá)2KM;第二并口的引出線經(jīng)重新定義,從主控制器(5)轉(zhuǎn)接至分控制器(6),并從一個(gè)分控制器(6)向另一個(gè)分控制器(6)轉(zhuǎn)接,用于控制傳感器的多路轉(zhuǎn)換;每個(gè)分控制器(6)最多可連接64個(gè)傳感器;全系統(tǒng)最多可連2048個(gè)傳感器;分控制器(6)的輸出經(jīng)主控制器(5)的電阻接地,AD轉(zhuǎn)換卡(3)在電阻上端進(jìn)行電壓采樣,轉(zhuǎn)換成電壓數(shù)字,再經(jīng)程序轉(zhuǎn)換成溫度。
2.根據(jù)權(quán)利要求1所述的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng),其特征在于主空制器(5)是由模塊(7)、模塊(8)、模塊(9)構(gòu)成;模塊(7)是一電源轉(zhuǎn)換裝置,其輸出供給分控制器(6)的Vdd;模塊(9)把模塊(7)的輸出、第二并口卡(4)的第16,14,1,4,3,2引腳用7芯屏蔽線轉(zhuǎn)接至分控制器(6),最大距離≤2KM;引腳17在主控制器(5)的模塊(9)內(nèi)備用;模塊(8)由32個(gè)固定電阻和32個(gè)精密微調(diào)電阻構(gòu)成;把它們的電阻之和調(diào)至10KΩ,誤差不超過±1Ω;模塊(8)的輸入來自32個(gè)分控制器(6)的輸出;在32個(gè)電阻的上端連接AD轉(zhuǎn)換卡(3)的32個(gè)通道;分控制器(6)的輸出線也用屏蔽線;各分控制器(6)的輸出可以根據(jù)遠(yuǎn)近合并成多芯屏蔽線進(jìn)入主控制器(5);所有屏蔽兩端均應(yīng)接地;模塊(7)的地線也應(yīng)與微機(jī)(1)的地線實(shí)行無阻抗連接;最遠(yuǎn)的分控制器(6)的地線與主控制器(5)的地線的直流阻抗不應(yīng)大于10Ω。
3.根據(jù)權(quán)利要求1所述的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng),其特征在于分控制器(6)是由模塊(10)、模塊(11)、模塊(12)構(gòu)成;模塊(11)由6組電壓放大器構(gòu)成;其輸入與模塊(9)的16,14,1,4,3,2引腳線相連,其輸出分兩組16,14,1引腳線對(duì)應(yīng)的輸出連接模塊(10)的S’2,S’1,S’0;另一組4,3,2引腳線對(duì)應(yīng)的輸出連接模塊(12)的S2,S1,S0;模塊(10)由4051芯片構(gòu)成;其輸入連接模塊(12)的8個(gè)輸出,其輸出按分控制器的編號(hào)連接模塊(8)的對(duì)應(yīng)電阻;模塊(12)由8個(gè)4051芯片、8個(gè)4028芯片、8個(gè)HTS-2型溫度傳感器構(gòu)成;8個(gè)溫度傳感器的電源端連接4028芯片的8個(gè)輸出端,8個(gè)溫度傳感器的信號(hào)端連接4051芯片的8個(gè)輸入端;4051芯片和4028芯片的3個(gè)控制端均連接模塊(11)的S2,S1,S0。分控制器(6)的所有器件均使用主控制器(5)引來的電源。
4.根據(jù)權(quán)利要求1所述的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng),其特征在于第二并口卡(4)使用的操作指令為OUT(N),M和OUT(N+2),M;其中N是第二并口卡(4)的首地址,M是操作數(shù);當(dāng)M按照12,13,14,15,8,9,10,11的順序變化時(shí),OUT(N+2),M將按照附錄A的表-2的規(guī)律,在16,14,1的引腳上產(chǎn)生7,6,5,4,3,2,1,0的輸出;當(dāng)M按照15,14,13,12,11,10,9,8的順序變化時(shí),OUT(N),M將按照附錄A的表-1的規(guī)律,在4,3,2的引腳上產(chǎn)生7,6,5,4,3,2,1,0的輸出;經(jīng)模塊(11)的反相放大,在模塊(11)的輸出端將分別產(chǎn)生兩組控制序列0,1,2,3,4,5,6,7,用于分別控制模塊(10)和模塊(12)。
5.根據(jù)權(quán)利要求1所述的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng),其特征在于基本算法是(1)重復(fù)測(cè)量,取平均值為最終結(jié)果;(2)每次測(cè)量之間,要有1mS的時(shí)間間隔;(3)每對(duì)傳感器進(jìn)行測(cè)量操作時(shí),均應(yīng)先進(jìn)行一定數(shù)量的空測(cè)量,其測(cè)量結(jié)果棄之不用;(4)用計(jì)算方差的方法檢驗(yàn)系統(tǒng)的穩(wěn)定性;當(dāng)方差≤1000時(shí),測(cè)量的重復(fù)性可達(dá)±0.1℃之內(nèi);否則,應(yīng)檢查線路連接質(zhì)量或傳感器好壞;(5)基本算法程序在附錄B中;
6.根據(jù)權(quán)利要求1所述的微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng),其特征在于系統(tǒng)誤差的調(diào)整方法如下(1)建立溫度文件,如附錄C;(2)把一個(gè)分控制器(6)的64個(gè)傳感器放入具有相同溫度的介質(zhì)中;介質(zhì)溫度調(diào)至低溫點(diǎn)附近;(3)用測(cè)試程序算法(附錄D),使每個(gè)傳感器低溫點(diǎn)的電壓數(shù)值逐步向全部傳感器溫度平均值的對(duì)應(yīng)電壓數(shù)值靠近;(4)用文字編輯程序修改溫度文件中的每個(gè)傳感器的溫度項(xiàng),使之與介質(zhì)溫度一致;(5)把介質(zhì)溫度從接近低溫點(diǎn)升致接近高溫點(diǎn),再進(jìn)行(3)、(4);(6)在用戶程序中使用已調(diào)好的溫度文件,使用基本算法和直線兩點(diǎn)式方程,就可換算出準(zhǔn)確的多點(diǎn)溫度。
全文摘要
一種微機(jī)遠(yuǎn)距離多點(diǎn)測(cè)溫系統(tǒng),它包括微機(jī)1、打印機(jī)2、AD轉(zhuǎn)換卡3、第二并口卡4、主控制器5和分控制器及其傳感器6;主控制器5最多可連32個(gè)分控制器6,每個(gè)分控制器6最多可連64個(gè)傳感器;全系統(tǒng)最多可連2048個(gè)傳感器;最大傳輸距離可達(dá)2KM;程序采用特殊算法。其優(yōu)點(diǎn)是在-30℃~+50℃范圍內(nèi),可使每個(gè)傳感器周圍介質(zhì)溫度與微機(jī)1的屏幕上的對(duì)應(yīng)點(diǎn)溫度的誤差≤0.5℃,重復(fù)性≤0.1℃;市電不進(jìn)糧倉;節(jié)能;不必考慮散熱問題,就可對(duì)糧倉內(nèi)電路實(shí)行全密封,以防止糧倉內(nèi)有害氣體腐蝕。
文檔編號(hào)G01K3/00GK1239222SQ98113599
公開日1999年12月22日 申請(qǐng)日期1998年6月12日 優(yōu)先權(quán)日1998年6月12日
發(fā)明者戴懷來 申請(qǐng)人:戴懷來