專利名稱:流體加熱及控制系統的制作方法
技術領域:
本發明總體涉及到用于瞬時加熱流體的流動加熱系統的控制,特別涉及到對控制的改進,這包括優化的功率調制算法,低功率穩定控制的方法,延長加熱電路機電繼電器的工作壽命的方法,一種冗余的故障安全電路,帶有視聽報警器的自身診斷功能,以及檢測水平面的一種改進的方法。
背景技術:
授予Walker等人的美國專利US3,909,588號公開了一種流體電加熱器,它采用了浸入電絕緣流動罐中的電極,并且控制對流體溫度和加熱電極電流的檢測。
授予July的美國專利US4,337,388號公開了一種快速響應水加熱和輸送系統,它包括水加熱裝置,水溫檢測裝置,以及閉環控制的比例積分微分(PID)方法。
授予Dytch等人的美國專利US4,638,147號描述了一種微處理器控制的流動水加熱器,是通過不同功率加熱元件的切換組合來調節加熱功率。
授予Braun等人的美國專利US4,829,159公開了一種切換電加熱元件負載的方法,按順序為所有負載通電,即不切斷也不滿載,以減少切換過渡過程。
授予Yoshino的美國專利US4,920,252號描述了一種多個加熱元件的溫度控制方法,在預定時間長度的一個周期內分配所需的激勵時間。
授予Seitz的美國專利US5,216,743號公開了一種用于流動瞬時加熱器的熱塑性熱交換器,這種加熱器包括一個采用溫度比較的控制系統。
授予White,Jr等人的美國專利US5,479,558號公開了一種具有流動響應控制裝置的沒有罐的流動水加熱器。
授予Russell等人的美國專利US5,504,306號公開了一種沒有罐的水加熱系統,用微處理器式控制器檢測水的出口溫度,采取一種選擇遙控溫度設定裝置,并且通過在一小部分電力線周期內供電來控制加熱元件。
授予Seitz等人的美國專利US5,866,880號采用了多個加熱元件,每個加熱元件接收大致等量的功率,并且為每個元件供電之間之間的延遲不超過32個半周期。
流動流體的電加熱器常常被叫做沒有罐的流體電加熱器,在流體流過熱交換器時將流體加熱。這種加熱器的目的是從流體進入并通過熱交換器到流體從加熱器出口排出的時間內將流體加熱到預期的給定值。從原理上說,用閉環系統實現這一過程是比較簡單的,流動和溫度的工作參數可以由系統預定。
在這一類應用中,理論上可以用標準的比例微分控制(PID)算法來實現對加熱器的系統。例外,因為其在商業或工業中有許多用途,人們已經習慣了在這些應用中不受限制地使用電能。
對于住宅的水加熱用途,所面臨的是一種完全不同的條件。在流動加熱器中加熱流體的過程完全是動態的,并且需要快速響應和精確的溫度控制-不僅要考慮用戶的舒適還要考慮到安全。多年以來不斷有人致力于涉及出“最佳的”家用“流動”或“沒有罐的”水加熱器。這些努力面臨的許多問題涉及到所使用的常規流動檢測裝置不可靠,并且由于直接暴露于多變且具有侵蝕性的水的不同條件下而過早損壞。
問題1.在流體加熱器中控制溫度的標準方法是試圖根據一個參考溫度來調節流體的輸出溫度Tout。在許多情況下,參考輸入是一個恒定溫度給定值Tsp。在一個單輸入(入口流體溫度是Tin)單輸出(出口流體)系統中,加熱器試圖維持輸出流體的溫度等于給定值,即Tout=Tsp。在加熱器的應用中,假設Tin是小于Tout。流體測量可以提供“正向輸送”信息以便于控制。諸如渦輪機等常規的流體測量裝置價格昂貴并且會受到水條件的不利影響。用來實現這種調節的傳統的反饋方法是首先測量出口溫度并將差值ERROR=(Tsp-Tout)作為一個誤差來計算。系統采用諸如PID(比例積分微分)等等控制方案嘗試著將誤差減小到零,在穩態流動中使ERROR=0。
在標準控制方案被用于罐內溫度控制時會受到多方面問題的困擾。首先,在加熱和檢測到流體溫度變化之間有一個延遲。其次,這種系統往往對系統組成的改變或測量溫度時有沒有噪聲很敏感,會在系統所采用的溫度測量中造成誤差。例如,如果最初用精確校準的熱敏電阻來測量溫度,熱敏電阻的特性會隨著時間而改變,造成測量誤差。最后,由于系統滯后時間,這些系統在存在諸如流體流速迅速改變等擾動的情況下往往不能有效地控制出口流體溫度。
問題2.Seitz等人的專利#5,216,743提出用溫度差來檢測流動/不流動狀態,并提供了一種裝置,在備用狀態下對水進行周期性加熱以維持低能使用,不僅能檢測這些狀態,還能監視溫度梯度。Seitz等人的技術的主要缺點在于對溫度檢測器件也就是熱敏電阻的選擇,Seitz等人建議采用商品型熱敏電阻,其電阻值彼此間原來就有很大差別,從而導致溫度測量變化。這種變化的結果會影響到在“不流動”以及開始“流動”時用來為電源關閉提供響應控制的溫度測量值,還會影響到為維持備用狀態所需要的建立小溫度梯度的能力。
即使當加熱器中的流體溫度很低時,用此類熱敏電阻獲得的溫度讀數也會彼此不同,例如能相差多達5華氏度以上。在大多數沒有罐的水加熱器中,兩個熱敏電阻之間測得的溫度差被用于溫度調節。由于電阻與溫度特性的變化,在熱敏電阻彼此之間往往存在不精確的溫度差讀數。為了補償這些變化,控制參數中通常要包括對溫度測量值的溫度門限。這些溫度門限往往比期望值大得多。這些過高的門限值結合著熱敏電阻之間在特性上的差別會導致流體加熱器相互間在性能上截然不同。在熱敏電阻之間的溫度測量值精度偏差很小的那種加熱器中,關閉會更加精確并更快,從而在關閉時減少溫度超調。對流體狀態的響應也會縮短,從而在開始提供熱水時避免明顯的延遲。在備用時還能降低為維持較小溫度梯度所需的能量。
當加熱器的熱敏電阻電阻值和產生的溫度測量值象商品型熱敏電阻所常見的那樣有明顯變化時,其負面作用是顯而易見的。加熱器對關閉的響應延長會使水過熱,而對流動的響應延長會延遲流體加熱的起動,因而延遲開始輸送熱水。在備用狀態下,加熱器維持一個人為的較高門限以保持所需的溫度梯度,因而要使用更多能量來加熱水。
對這些問題的一種部分解決方案是個別并人工地嘗試著用接近相同的特性匹配熱敏電阻。這一過程的成本降低了使用商品型熱敏電阻在成本上的好處,特別是在大批量情況下。另一種方案是使用高質量熱敏電阻,其特性具有很接近的制造公差,但是此類熱敏電阻是非常昂貴的。
問題3.有許多涉及到用于起動流動水加熱器的加熱元件的控制方法的專利技術提出了對加熱元件進行某種形式的功率調制。所有家用“流動”流體加熱設備都需要5500-7000瓦的大功率加熱元件。
在流體流速變化的條件下,對多個大功率元件的功率調制有5-10%的變化完全屬于正常現象。這些功率變化對于流動式家用水加熱器是正常的。在此類設備中,壓力變化頻繁,特別是鄉村住宅中的水是由私人水井來提供的。在私人水井系統中,隨著壓力罐中壓力的下降起動水泵并且增加壓力以維持理想水壓力。理想水壓力是在水系統的壓力調節器中通過設置壓力開關點而人工設置的。隨著水泵循環的壓力變化會導致水的流速發生變化。水流的變化造成流動式水加熱器的控制系統對加熱元件的功率進行寬范圍擺動的調制,嘗試著跟蹤流速變化所需的要求。在許多情況下,住宅是由陳舊或欠容量的電力變壓器供電的。增加調制的水加熱負載會導致線電壓出現明顯變化。此類電力條件在陳舊住宅,鄉村和建成的房子中是非常普遍的。
隨著對加熱元件的功率調制,電壓的頻率會有變化,特別是會在照明電路中造成“閃爍”。Braun的專利US4,829,159提出了減少閃爍的重要性。公開了一種單獨改變各個元件工作周期的方法,用來控制一個爐子中起動的加熱元件總數所吸取的最大功率。加熱元件的大小不同,有些加熱元件比其他加熱元件的功率大得多。Braun采用不同功率的加熱元件并且“逐漸”調節有關的加熱元件在各時間周期內的“通”和“斷”,這對于流動式水加熱器設備不是一種性能令人滿意的方式。為了盡量減少閃爍,要控制加熱元件以實現多個加熱元件以連環方式彼此獨立地各自按順序起動(消耗電流),當一個負載(加熱元件)被關斷時,下一個負載(功率不同的加熱元件)就導通。Braun采用了不同功率并且各自的工作周期也不同的元件,這樣,在切換這種負載的功率時,就能在獲得平均理想功率電平的同時維持連環的負載。
Seitz等人在專利US5,866,880中提出通過一種唯一的“功率共享”控制方法來實現閃爍控制。Seitz的控制系統是首先起動第一加熱元件,然后在不超過32個半周期內起動第二加熱元件,按順序為各元件增加大致等量的功率。Seitz提出從多個加熱元件的調制中切換負載應該被限制在為流體加熱器的總負載增加或去掉盡量一致的負載。這個一致負載被限制在由于單個加熱元件的功率在一個ac半周期內被順序增加到所有元件總的現有負載或是減小而帶來的增量負載變化。
問題4.在流體加熱系統中,在流體不流動的“備用”狀態下總希望盡量降低能量消耗。這就需要精確的溫度測量。在流動加熱器中,要檢測溫度變化往往需要幾秒鐘。這是因為與其他系統部件的延遲相組合的熱敏電阻響應的時間常數。特別是在采用例如型號為GeneralAutomotive編號25502的商用型熱敏電阻的情況下是這樣的,參見Seitz的專利US5,216,743。如上述的問題2中所述,大多數熱敏電阻的熱敏電阻特性彼此間存在明顯的差別。
Seitz的專利US5,216,743為維持所采用的溫度梯度提出了一種方法,用來控制在“備用”狀態下消耗的能量。除非該控制方法考慮到需要在幾秒鐘時間內采用小幅度增量的脈沖能量,使系統能夠實際開始檢測,并且能響應很小例如是一(1)度的溫度變化,這種控制系統必須具有較大差別的溫度門限。這些較大的溫度門限要求加熱器控制增加比實際需要更多的能量,將水加熱到比實際需要更高的溫度。由于通過熱交換器的溫度損失的速度會隨著流體被加熱到高于其所處環境的環境溫度而加快,都希望精確地維持小溫度門限。另外,沒有能力維持這樣小的溫度差,來自熱水固定設備的小水滴需要加熱器經常循環,并且會導致較大和不必要的能量消耗。
問題5.大多數商用流體加熱器具有很少的診斷特征。用戶只有在加熱器出故障后才會發現問題,而這往往出現在最不合適的時間。如果加熱器是處在用戶不易檢查的閣樓或其他位置,情況就會更壞。如果加熱器或是其有關的管道開始泄漏,用戶在它開始漏水之前可能全然不知。如果流動式流體加熱器中的溫度繼電器或其他溫度測量器件出現故障,常規系統是依靠超溫器件(高限溫度繼電器)切斷元件的電源。在大功率流動式加熱器中,流體在短時間內就能達到很危險的地步,比大多數此類高限溫度器件的響應時間要短。因此,在大多數儲存罐加熱器中需要有減壓閥門。即使這樣,每年還會因流體加熱器由于溫度和壓力檢測器件故障導致的超溫狀態而破裂造成不少不幸的嚴重傷害。
問題6.液面檢測電路被用來檢驗熱交換器內部的流體是否處在安全水平。Seitz等人在專利US5,216,743中公開了一種液面檢測電路,它是按ac線路頻率通過水傳導一個小電流來工作的。如果水位合適,有流體接觸的一個導電傳感器就會通過水將電流傳送給同樣是流體接觸的地電源。這種方案主要依賴于其對水的阻抗的可靠性。因為水的阻抗在世界各地有很大變化,這種方案在特殊場合中不夠可靠。另外,與水面探針相鄰的電加熱元件可能有一個受腐蝕的鞘,造成水中漏電。這種電路可能會錯誤指示水面不足,因為在電流動水加熱器中從泄漏元件到地的電流會在探針上產生一個小電壓。這一ac電壓會被檢測和整流,如果它高于2.2伏的水位檢測門限,就會造成加熱器因錯誤的水位檢測故障而關閉。
問題7.家用水加熱器是為了在預定給定值溫度范圍內工作而制造的。一般都可以人工調節溫度給定值。家庭或商業使用的熱水設備在多樣性上的一個需要是讓用戶能夠遠程調節其給定值溫度。
問題8.任何流動式水加熱器具有足夠的功率能照顧到一棟房子的需求,在環境水溫會下降到40華氏度的地區需要的有效功率要提供的最小輸入是75,000btu。這就需要容量至少達22,000瓦即22kW的電熱水器。按240伏工作的22kW電加熱器可能需要的電流大約是92安培。許多10年內的住宅建筑不能為家庭提供125安培以上的供電。按照National Electric Code Article 220-31提供了一種計算總負載需求的方法,可用來為現有住宅增加負載。依照使用的差異,熱水器的負載可以按40%需求系數計算,并且在負載計算中降低熱水器的負載需求。在家中同時存在大空調器或電動空間加熱負載的地區,如果不增加對家庭的電力供應,很不適合在家中安裝22kW的加熱器。家庭電力供應的升級是一種昂貴的方法,并且已經失去了對這種大功率電動流動加熱器的現有家用設備更新的很大一部分市場。
其他問題。家用熱水使用的另一個需要考慮的問題是限制來自儲存罐本身的熱水的使用量,它支配著家庭成員在浴室中使用熱水的時間。然而,在使用足夠容量的流動熱水器時,對熱水使用量的唯一限制是它的最大有效流速。確認這一事實對于遠程限制是非常必要的,可以按私人代碼來分配給各家庭成員一次淋浴的實際時間。
如上所述,由于熱水器往往是裝在閣樓或其他遙遠的位置,不僅希望熱水器能具有自身診斷的特征,還要能夠對故障提供遠程報警。
本發明克服了現有技術的缺點。
發明概述本發明為流體的加熱提供了一種系統,方法和裝置。在流體流過包含電加熱元件的多個加熱腔時可以將流體加熱到理想的溫度。出口流體的溫度是用一種新的控制方法精確控制的,該方法體現為加熱器電路板上的一個微處理器中的程序。加熱腔的尺寸可容納加熱元件并且可供足夠的流體流動。在加熱腔中不需要儲存過多的流體。
本發明采用的溫度給定值參考方法能夠在一個寬變化范圍內很精確地控制入口流體溫度,流速,和用來測量溫度的系統部件的變化。加熱腔的控制程序比前述的流體加熱器更加健全,這種流體加熱器具有良好的抗擾動能力,并且對溫度測量誤差不敏感。
在最佳實施例中用熱敏電阻來測量流體溫度。特別是采用了低成本的商品型熱敏電阻,就象汽車發動機組中用來監視水溫的那種熱敏電阻。以往使用這種熱敏電阻的缺點是熱敏電阻彼此間往往存在明顯的偏差。在本發明的應用中,在用熱敏電阻測量相同的溫度時,這一偏差在溫度值上可能出現多達5度的偏差。這一差別對加熱器控制系統的性能有明顯的影響。特別是在不同熱敏電阻之間的溫度關系被用于控制,緊急關閉,檢測流動/不流動狀態,以及用于在備用狀態下維持溫度梯度時,這種影響特別嚴重。
用一個功率調制器按半周期間隔為多個加熱元件提供功率,用于響應流體加熱,同時控制造成電燈閃爍的AC電源電壓變化。
進而,本發明在流體不流動的備用狀態下需要很小的功率。這是得益于在加熱器內對溫度的精確測量,以及用來檢測流體流動或不流動的方法。
本發明具有自身診斷能力和緊急關閉保護功能。本發明實施例的硬件及軟件(程序)的組合為不工作的部件例如是溫度傳感器,繼電器,三端雙向可控硅開關,加熱元件等等提供了自身診斷檢測。本發明公開了一種改進的水位檢測電路,它利用低電平,高頻率信號對低傳導性流體執行可靠的流動檢測,并且流體中存在AC電源頻率的電流,它是因不接地的加熱元件鞘或通過損壞的鞘暴露于流體的加熱元件電極漏電而造成的。本發明的實施例同時利用作為微型控制器程序之一部分的一種軟件“監視器”定時器和一種充分冗余的緊急關閉電路。這種電路能防止程序閉鎖狀態造成任何加熱元件三端雙向可控硅開關或繼電器線圈因持續帶電而為加熱元件施加有害的功率。進而,由于是在通過加熱元件的電流基本為零時打開繼電器觸點,繼電器觸點壽命被延長了。具體辦法是在檢測到繼電器線圈功率降低時禁止加熱元件三端雙向可控硅開關立即驅動。可能需要繼電器斷電的狀態是超溫限制開關打開,或者是其他系統故障或關閉。
本系統具有可以和微型控制器相互通信的雙向串行端口。具有諸如終端仿真程序等標準化軟件,或是能夠讀取串行數據流的任何標準的ASCII通信軟件。在加熱器工作時,程序可以將其內部數據提供給外部設備或模塊。可以將向加熱器發回的指令發送給加熱器程序。在最佳實施例中,這些指令可以用于診斷,改變諸如基本溫度,給定值間隔,或是用于負載分離的功率門限等控制參數。另外,串行端口還可以用于習慣溫度記錄,數據存儲,千瓦(KW)使用量和其他用途。本發明的另外一個特征在于可以用串行通信信息將這一流體加熱系統連接到網絡,其他設備,顯示器上,控制器可以將這一流體加熱器作為外圍設備的一個較大系統中的主機或是從屬設備。在本發明的范圍之內還可以兼容使用任何形式的計算機通信,例如可以使用但是不僅限于通用串行總線(USB),Ethernet,FireWire,紅外線,光纖等等。
多腔溫度調節預期有一或多個流體腔,每個流體腔內具有至少一個加熱元件。預期在每個流體腔中還有溫度傳感器。如果通過多個腔的流體的流速發生變化,各腔中的流體溫度在腔與腔之間就會與穩態溫度有明顯的變化。如果僅僅在最后一個加熱腔的出口測量流體溫度就會出現問題,由于加熱系統的慢響應時間會出現明顯的溫度變化(過熱或過冷)。本發明的一個實施例解決這一不良溫度變化的方法是確定一個計算的溫度給定值與各腔中測得的溫度之和相比較的偏差。如果有(正或負的)偏差,溫度控制器就比僅僅將出口溫度作為給定值溫度參考時提前接收溫度信息。這樣,控制器就能更快地響應溫度變化,并且修改其對發送給功率調制器的功率值的計算。
例如在本發明的實施例中,可以由以下公式來確定計算的給定值CSP=A×Trise+B×Tin其中CSP是計算的給定值,Trise是理想出口溫度與實際入口溫度(Tin)之間的溫度差,對于一個四腔的實施例,A是常數2.5,而B是常數4,或者是對于一個兩腔的實施例,A是常數1.5,而B是常數2。可以用以下公式計算出偏差偏差=CSP-∑Tn其中Tn是腔n中的溫度,對四腔實施例來說,n=1,2,3,4,而對于兩腔實施例的n=1,2。如果偏差是正值,POWER就需要一個較大的值;如果偏差是負值,POWER就需要一個較小的值;如果偏差大約處在零值為POWER計算的值就可能是正好。
熱敏電阻匹配和校準在本發明的實施例中,熱敏電阻被用來測量入口流體溫度和加熱器中各點的溫度。熱敏電阻是商用的,它按照一定的標準保持一個給定的公差。同樣材料的熱敏電阻彼此之間容易存在偏移量上的變化,但是溫度對電阻曲線的形狀不會有很大變化。因此,在一定程度上對類似的熱敏電阻進行選擇是可能的,能夠使熱敏電阻的特性在重要的溫度范圍內實現匹配。在加熱器中都希望熱敏電阻的量度彼此間盡量相同。加熱器的功能之一就是在一個腔中建立一個斜溫層。如果一個腔頂部的熱敏電阻與該腔底部的熱敏電阻測得的溫度有幾度的偏差,特別是在頂上的一個讀數很低時,要建立斜溫層就有問題了。失配的熱敏電阻在嘗試著確定一個元件產生的溫升量時也會帶來問題。
無論是不是按照需要的公差購買熱敏電阻還是在收貨之后進行測試并按照公差來分類,熱敏電阻都會以未知的特性進入生產過程。盡管可以使用具有足夠嚴格公差的熱敏電阻,還是希望能夠調整那些公差超過指定范圍的熱敏電阻。這是熱敏電阻老化的需要,往往需要用大量另外的產品更換壞的熱敏電阻,或者是在生產中直接采用公差較大的零件。如果在禁止為加熱元件供電的同時讓水以恒定溫度通過加熱器,每個熱敏電阻就會獲得基本上相同的溫度,但是可能稍有差別。然后可以用一個精密溫度測量設備測量精確的水溫,然后用來校正加熱器控制程序所使用的變量。對讀數高的那些熱敏電阻可以提供一個從其讀數中減去的校正系數。對讀數低的那些熱敏電阻可以提供一個加到其讀數上的校正系數。
功率調制器在工作中,由加熱器的微型控制器程序計算需要提供給加熱元件的功率。在本發明的最佳實施例中,功率是由在微型控制器中運行的一個功率調制器程序來控制的。來自控制程序的功率值代表一個理想功率值,并且提供給功率調制器程序。以下將這一理想功率值稱為“POWER”。為微型控制器建立一個輸入信號,在主電壓源線電壓頻率的每個過零點產生一個脈沖。標稱的線電壓頻率是50Hz或60Hz,因此,信號頻率是100Hz或120Hz。功率調制器程序與這一輸入信號同步,并且在電源電壓波形的過零點上切換加熱元件的功率。在驅動加熱元件負載在電源電壓波形過零點上導通或關斷時,需要在瞬間有大幅度的功率。例如,一個7,000瓦加熱元件要導通一個半周期就需要7,000瓦幅度的功率,或者是240伏和29安培幅度的電流。由于電壓源的阻抗不是零,來自電壓源的電壓隨著對負載的調制也會受到調制。對電源電壓進行調制的作用可能出現在從同一個電源接收功率的其他設備中,特別是室內的照明設備。
如果有可能通過改善電源變壓器的性能并降低供電設備線路的串聯電阻來減少電壓源的電壓降,就能盡量減少對電壓源的調制。發光的類型也是人感覺到調制的一個因素。對于白熾燈,燈絲的質量是一個因素。對于瑩光燈和白熾燈來說,如果電壓源低于標稱值,電壓調制就更加明顯。燈的電源越接近標稱電壓,感覺到的電壓調制就越小。
本文所述的功率調制器技術為使用提供了一種最佳的折衷。調制的幅值和頻率對燈光閃爍都是重要的因素。然而,提供給加熱元件的功率幅度的幅值沒有對這些幅度的頻率(重復)那么容易控制,因為可供使用的選擇很少。這些功率幅度的頻率或重復有更多的選擇。
對于人的視覺來說,電燈所得到的電壓幅值改變的速率是值得注意的。在電燈中,60Hz正弦波電壓波形通過等效的絕對值變換系數轉變成光。就象全波整流一樣,波動頻率是120Hz。低于120Hz的頻率成分更加引人注意,一直可以到很低的頻率。因此,為了避免“閃爍”,燈光中的高頻調制成分最好是處在線電壓頻率(50,60Hz)和雙倍線電壓頻率(100,120Hz)或者是更高。
本發明的一個特征是用功率調制器程序產生線電壓頻率(及其可能的諧波)或2Hz以下的頻率成分。
本發明的目的在于功率調制器最好是不要產生2Hz和線電壓頻率之間的調制頻率,這樣就不會在工作中產生令人討厭的燈光閃爍。然而,如果不產生2Hz和線電壓頻率之間的中間頻率成分,就會有一個虛假的結果,好象提供給加熱元件的奇數半周期AC電壓比偶數半周期要多,或者是相反。如果功率調制器偏愛施加比偶數半周期更多的奇數半周期,電源變壓器就會受到直流(DC)偏置的影響,在變壓器中產生有害的磁化電流。最好讓變壓器工作在其B-H曲線的中間,使變壓器不會飽和。否則就會出現兩種有害的負面影響。一種影響是在1/2線電壓上出現功率調制成分,它會造成討厭的燈光閃爍。另一種影響是,在偏離變壓器B-H曲線的中心操作變壓器時,功率變換會稍有下降。
本發明的另一個目的是利用功率調制器程序借助于顛倒負載電流波形的極性來均衡DC偏置,從而平均由功率調制器操作所產生的任何DC成分。
在本發明的兩個最佳實施例中使用了兩個或四個加熱元件,每個實施例分別有兩個或四個加熱腔。在本發明的范圍內預期可以使用一或多個加熱腔中所包含的一或多個加熱元件。由功率調制器程序為提供功率產生各種“模式”或“圖形”,用來使加熱元件通電。這些模式規定了為加熱元件通電的順序。進而,本發明的功率調制模式不產生線電壓頻率以下或2Hz以上的調制頻率成分,對兩個元件的實施例有5種調制模式,對四個元件的實施例有9種調制模式(這些模式還包括零功率和滿功率)。本發明的另一個特征是為每個加熱元件提供等量的功率(功率共享)。還可以通過功率控制程序來執行對加熱元件的功率共享。
由上述功率調制模式產生的頻率成分是高頻,以下將其稱為“高頻模式”。為了產生這些不同的高頻模式,在八個半-周期(對于四-元件模型)和四個半-周期(對于二-元件模型)的時間段內按等量的時間切換各加熱元件。
功率調制器可以提供的最大功率是在流體加熱器中采用多少個加熱元件以及各元件功率的函數。在最佳實施例中,各元件最好具有相同的功率,盡管在本發明的范圍內考慮到了不同功率的加熱元件。作為非限制性的例子,按照習慣是用每個加熱元件最大30個計數的任意單位來表示功率。以下被稱為“POWER”的提供給功率調制器的值對二-元件加熱器而言是范圍從0到60的一個計數值,而對四-元件加熱器而言是0到120。盡管POWER變量的單位是任意的,按習慣是采用這一范圍的數。作為非限制性的例子,每個加熱元件的功率是7,000瓦,POWER值和所提供的電流量之間大約是一對一對應的,因為在240伏上的一個計數例如是0.97安培。
用一個獨立的控制程序為每1/2秒的POWER計算一個新值,并且將POWER提供給功率調制器程序。如果POWER的范圍對二和四元件實施例分別是0到60和0到120,控制程序就能分別對功率有1.7%和0.83%的分辨率。以下要解釋如何用高頻功率調制器的(分別用于二和四個加熱元件的)25%分辨率和12.5%分辨率來提供POWER所要求的1.7%和0.83%的分辨率。
功率調制器程序在相鄰的高頻模式之間擺動,提供接近所需的POWER值的平均量的功率。平均在7.5秒(15個半秒)上,功率調制器程序能夠分辨的功率輸出可達到高頻功率調制器分辨率的15倍。由于7.5秒比典型的流體加熱器系統的響應時間短得多,這種變化不會造成明顯的流體溫度變化。多達15秒的變化是可以接受的,盡管7.5秒以下的變化更加理想。因此,本發明的功率調制器程序具有的分辨率等級是1%,相當于大約1華氏度,不會在流體溫度輸出中帶來明顯的變化。
繼續說這個例子,功率調制器程序能夠控制功率調制器產生一個平均功率輸出,對二或四元件系統分別可以達到六十分之一或一百二十分之一。首先由功率調制器程序確定在下一個1/2秒時間段內重復哪一種模式。由于控制程序所計算的功率值(POWER)往往不會剛好是由一種功率模式所提供的精確數量的功率,功率調制器程序包括一個計算誤差的裝置。誤差被定義為理想功率和所提供功率之間的差。功率調制器在理想功率電平上、下的兩種調制模式之間擺動,從而驅動該誤差達到零。通過在這兩種模式之間擺動,調制器所提供的功率平均值等于POWER。最好用多達15個半秒周期或7.5秒來分辨所提供的功率,選擇與POWER所規定的功率相等的模式。功率調制器程序每1/2秒執行一次用偽碼表示的以下步驟
MODE=POWERDELIVEREDPOWERDELIVERED=INTEGER[(POWER+REMAINDER)/15]REMAINDER=(REMAINDER+POWER)-15*POWERDELIVERED每當由控制系統提供一個POWER的新值時就執行一次上述代碼序列。該MODE或高頻調制序列應該是POWER/15,因為最初的REMAINDER是零。因此,如果POWER=60,則MODE=4,如果POWER=15,則MODE=1。
如果POWER不是15的倍數,MODE就是POWER/15的整數部分;也就是舍去了除法的余數。這樣就能利用REMAINDER值使MODE擺動到下一高級模式。REMAINDER值累計了理想功率POWER與所提供的15倍MODE的功率之間的差。這個差就是誤差值,代表所提供的功率比理想值相差多少。REMAINDER累計的誤差可以表示出還需要提供的功率,以及為什么增加當前的POWER需求。
在上述序列每隔半秒為MODE確定一個新值的同時,每隔線電壓頻率的半個周期就調用一次高頻調制器。假設用名為MODULATOR的程序驅動加熱元件開關(三端可控硅開關或晶閘管),每次被調用時就產生一個新的元件起動圖形。在功率調制器程序中,可以按線電壓頻率的每半個周期執行以下的步驟CALL MODULATOR(MODE,PHASE)PHASE=MODULO_8[PHASE+1]由程序MODULATOR產生上述表中給出的元件驅動順序圖形。為MODULATOR提供兩個參數MODE和PHASE,它們表示按照這些表的元件切換順序。由于60Hz的半秒中有六十個半周期,調制器僅僅能夠完成8個圖形中的7.5組。按照功率調制器程序的設計,在運行每1/2秒運行一次的功率調制器程序的那一部分之前并不一定能完成8個相位。
這種方法的優點在于它是一種可以在微型控制器中實現的程序,它能夠反復鎖定在線電壓頻率上,并且不需要調節。功率輸出分辨率是細致,穩定和線性的。
對于本領域的技術人員來說,可以推斷出可以按照類似的方式來實現這種技術。本文給出了適用于二元件和四元件加熱器的例子。根據本文所述的技術可以推導出采用一或多個元件的其它配置。本發明的最佳實施例建議將高頻成分限制在線電壓頻率以下。本領域的技術人員根據本文的提示就能看出,比如說40Hz的低頻成分會使得允許的模式數量有所增加。這些增加的模式會更加接近,使得粗略的分辨率更加細致。如果分辨率比較細致,就能用比上述使用7.5秒的例子更短的時間將提供的功率分解成理想的量。在本文的最佳加熱模式下,7.5秒的變化在典型的輸出流體溫度中不會造成輸出溫度在使用的這一點上出現‘波動’。因為7.5秒在時間上比典型的流體加熱器系統時間常數要短得多。另一個原因是流體在各腔中相互混合以及在管道中相互混合的量和管道的熱容量足以使7.5秒變化造成的任何溫度波動變得很小。
診斷和緊急關閉本發明可以采用包括自我診斷和緊急關閉電路等許多安全特征。在加熱器工作的同時可以周期性執行自身測試。以熱敏電阻的測試為例,測試的頻率可以是每半秒一次,而三端雙向可控硅開關等部件的測試頻率可在一個月以上。
來自元件的熱量不足,元件功率確定在加熱器的運行中,每當提供給加熱元件的功率下降到某一最小預定量以下時就加載定時器。四分之一功率是一個足夠的量。然后,在非零時按照固定的速率使定時器遞減。如果在供電的同時定時器是零,這種狀態就相當于功率持續大于為定時器加載時間量的四分之一功率。十二秒對于加載時間值是足夠的。為了節省微型控制器存儲空間,最好是每次測試一個元件。在定時器被加載的同時清除一個累加器。隨著與被測元件相對應的那個腔中測得的溫度上升,按照規則的間隔加到累加器上。當定時器達到零時,將累加值與一個門限相比較。如果元件沒有為水提供足夠的熱量,或者是測得的功率不準確,累加值就會低于這一門限。當然也可以設置其它門限來檢測其它異常或是確定應安裝多大的元件。溫升不夠或是不準確的功率可能是由于元件斷開,斷線,繼電器持續打開,繼電器驅動故障,三端雙向可控硅開關或是其驅動器的故障,或者是觸發了電源面板上對應著這些元件的斷路器。
繼電器持續閉合測試在流體加熱器處在備用狀態時,最好是在進入備用狀態后經過足夠的時間使其接近環境溫度時,微型控制器的診斷程序就能確定繼電器具有粘接(閉合)的觸點。在單相AC電源的加熱器的控制電路中,最好為每個加熱元件提供兩個繼電器。一個繼電器連接到電源線(L1)的一側,第二個繼電器連接到另一電源線(L2)上。按照微型控制器程序,連接到L1的繼電器被確定為一排繼電器,而連接到L2的那些繼電器被確定為另一排繼電器。
首先只接通一排繼電器。然后按每次一個元件短時間接通三端雙向可控硅開關。將位于元件附近的合適的熱敏電阻測得的溫度與幾秒鐘之前和接通三端雙向可控硅開關之后的溫度相比較。如果溫度升高,就表明另一排中的繼電器一定是閉合的。在接通另外一排并斷開第一排的同時重復這種測試。這樣就能測試每個繼電器是否持續閉合。如果發現有一個繼電器持續閉合,加熱器就會用上述聽覺或視覺指示器指示出發現了故障。或者是在發生故障時用微型控制器關閉加熱器。
三端雙向可控硅開關短路測試三端雙向可控硅開關短路測試與繼電器粘接測試類似。當加熱器處在備用狀態并且不需要備用熱量時,兩個繼電器排的繼電器都閉合1/2周期。如果能測到溫升,就表明三端雙向可控硅開關沒有故障。在執行這一測試的同時,假定加熱器中的流體沒有流動,因此,一個腔內被加熱的流體會上升到腔上面的熱敏電阻。和繼電器粘接測試中一樣,在測試中僅僅使用上部熱敏電阻。
加熱元件鞘上的AC電壓水中接近各元件的探針可以用來檢測加熱元件鞘有無破損而使得電氣元件與水之間直接連通。連接到探針上的一個高阻抗放大器會因通過水被短路到地而不能產生信號輸出。例如,如果鞘破損了,通過水到地的電流就會在水中產生一個能夠由這一放大器檢測到的電壓降。為了檢測損壞的元件,將一個單獨的拾音探針布置在各元件和放在元件附近的水中最接近的金屬接地之間。如果鞘本身被用做探針,這種方法仍然很有效。
緊急關閉的監視電路本發明包括一種所謂的“監視電路”,用于在加熱器工作期間微型控制器出故障時緊急關閉。微型控制器將繼電器驅動信號鎖存在一個具有三態輸出的鎖存器(三態D觸發器)中。鎖存器的輸出可以是HIGH,LOW或者是高阻抗狀態。鎖存器集成電路芯片的輸入是一個啟用鎖存器輸出驅動的信號。當鎖存器輸出沒有被啟用時,鎖存器輸出處在高阻抗狀態。當鎖存器處在高阻抗狀態時,來自其輸出不能使繼電器驅動晶體管導通。微型控制器在程序控制下輸出脈沖來接通一個繼電器。脈沖從微型控制器通過一個電容被耦合到一個晶體管的基極。當晶體管通過電容接收到一個脈沖時,晶體管集電極電路因晶體管在來自微型控制器的脈沖持續時間內瞬時導通被拉到地電位。
采取電容耦合的信號要求來自微型控制器的信號必須是脈沖信號才能使晶體管再次導通。如果來自微型控制器的信號停留在HIGH或LOW狀態,晶體管就會關斷并保持關斷狀態。晶體管集電極電路驅動鎖存器芯片的啟用信號。為了啟用鎖存器輸出,采用負邏輯的這一啟用信號必須保持在LOW。將啟用信號線連接到地的一個電容用來在晶體管將啟用信號下拉到地電位之后保持啟用信號有幾毫秒的LOW狀態。該電路中的一個電阻下拉啟用信號HIGH并且對電容緩慢充電,因此,如果晶體管不能維持電容放電,啟用信號最終就會變成HIGH,禁止鎖存器輸出信號。該電路的作用使微型控制器中運行的程序一定要讓微型控制器產生周期性的脈沖,并且有足夠的頻率使繼電器輸出導通。程序的構成使程序在向這一“監視”電路發出脈沖指令之前讓程序運行的‘健全檢查’通過預定的判別。該電路的作用是禁止加熱器驅動輸出到繼電器和三端雙向可控硅開關。當微型控制器因通電或斷電過程或者是由于程序缺陷或硬件故障等處于不確定狀態時,禁止其輸出。微型控制器中導致不能維持提供給“監視”電路的脈沖流的任何故障都會使其輸出被禁止。
低水位檢測現有技術的加熱器的水位檢測是通過一個金屬探針從一個36伏變壓器的副邊將一個標稱值為18伏r.m.s.的信號用電容耦合到水中而實現的。大約500,000歐姆的等效電源電阻0.1μF的電容可以將50或60Hz的正弦波信號耦合到流體(水)中。假設水的阻抗很低,通過水的電流量大約是36微安。如果水的阻抗足夠高,就會在探針上形成一個電壓,由水阻抗和500k歐姆的電源阻抗構成一個分壓器。假定檢測門限是1.5伏DC,而整流和濾波還會造成大約0.7伏的電壓降,水的阻抗必須小于70,000歐姆才能檢測。盡管這是檢測水位的一種有效手段,還是容易在水位正常時指示出水位不足。
如果為靠近水位探針的電加熱元件的鞘上有一個使電流泄漏到水中的電壓,這一電路就會指示出水位不足。這是因為從漏電元件通過水流到地的電流會在探針上產生一個小電壓。該電壓被拾取并整流,如果它高于水位檢測門限,就會因水位檢測故障而使加熱器關閉。按照下述的本發明的實施例,用來確定水位檢測的一種改進的裝置不容易被元件鞘上的電壓錯誤地觸發。還提供了一種單獨檢測受腐蝕元件的裝置。
水位檢測系統采用了一種通過測量水的AC阻抗來檢測水位的裝置。通過一個電阻和串聯電容向位于加熱腔頂部水中的一個金屬探針提供標稱值為32kHz的高頻方波振蕩器信號。將電容和電阻連接到一起的節點還連接到一個比較器的輸入。比較器的輸出為微型控制器提供一個數字輸入。當探針接觸到水并且水接觸到地電位時,電容被充電到激勵波形的平均電壓。激勵波形是標稱值為32kHz的方波振蕩器信號,采用5伏的邏輯電平,其平均電壓是2.5伏。假定電阻和電容的RC時間常數在頻率上遠遠低于高頻波形,在這一節點上會出現一個標稱為2.5伏的平均DC值。將比較器門限設置在低于這一電壓,并用于比較器執行布爾翻轉,只要探針能接觸到水,比較器的輸出就會保持在LOW。這樣,微型控制器就能根據來自比較器的穩定的LOW信號輸入確定水位足夠高。
如果水沒有接觸到探針,電容就允許高頻信號通過比較器。比較器輸入端的寄生電容會使波形發生畸變。然而,比較器的輸出會產生一個近似的方波并且微型控制器通過檢測這一代替穩定的LOW信號的近似方波就能確定水位。如果使用了一個以上的探針,就要按照慣例使用一個CMOS NAND門作為比較器和負0R門。由于CMOS的門限接近1/2Vcc,這對于為微型控制器程序提供額外的抗噪聲能力是有益的。微型控制器對比較器輸出的檢測可以和輸入方波同步,在適當的時間對比較器輸出采樣,以確定輸出方波的存在。選擇電阻和電容值使線電壓頻率難以通過是有益的。因為由于加熱元件故障或損壞而出現在水中的寄生電場會將一個信號注入這一電路。只要電容的值足夠小,就能阻塞線電壓頻率。如果電阻值是150,000歐姆,注入的電流大約就是24微安RMS。如果耦合電容是0.005微法拉,就能阻塞60Hz,因為電容的阻抗可達到500,000歐姆以上。
給定值電位器與遙控在工作中,微型控制器的程序通過檢測設置在加熱器的電路板上的一個電位器的位置來確定輸出流體的理想溫度給定值。另外,本發明的串行通信能力可以將其它設備與加熱器連通以便讀出或寫入各種參數。其中一個參數就是對應著電位器最低位置的溫度,也就是“基礎”溫度。另一個參數是電位器間距。這些參數都可以存儲在非易失性存儲器中。間距參數例如可以規定為零,十度,二十度,或四十度。如果通過參數設置的逆時針電位器位置是110華氏度,而間距被設置在20華氏度,電位器的間距就是最小110華氏度到最大130華氏度。另外,如果通過通信信息將間距設置在零,電位器設置就會“超調”,因為其位置在間距被確定為零時被忽略了,因此,給定值就等于分配給基礎溫度的參數。這是一種靈活的方式,允許用遙控指令使電位器超調,還允許遙控確定電位器范圍。在制造時可以為不同用途來配置加熱器的這兩個參數,并且存儲在非易失性存儲器中。
低功率備用程序低功率備用程序是為了讓本發明的實施例快速識別水的流動,并且轉入加熱模式以便幾乎在同時產出熱水。這一程序是利用暖水的密度比冷水的密度低這一事實而自動工作的。
水在備用狀態下沒有流動。因為水是靜止的,暖水上升到流體加熱器的頂部。只要水是靜止的并且高于環境溫度,加熱器頂部的溫度就會比底部的溫度高。由加熱腔頂部熱敏電阻和加熱腔底部熱敏電阻測得的溫度之間的差被稱為溫度梯度。只要頂部的水是溫暖的,該梯度就是正值。
溫度梯度有三個重要的值。這三個重要的梯度值分別被稱為零限,低限和高限。零限對應著梯度為零。低限和高限的具體值有一定的靈活性。當上面溫度比下面高時,低限和高限都是正值。對這些限值的具體選擇會影響到備用狀態下的能耗,并且會影響到程序識別水開始流動的靈敏度。
當流體加熱器從加熱流動中的水轉入水靜止時的備用時,加熱器內部的水溫由于已被局部加熱而高于環境溫度。在水停止流動之后,很快會形成一個巨大的溫度梯度。隨著時間流逝,熱量從靜止的水傳遞給環境空氣,溫度朝環境溫度下降,溫度梯度降低。溫度梯度最終會下降到低限以下。
當溫度梯度下降到低限以下時,按照每秒1/2AC周期的時間對加熱元件很慢地施加例如是1安培的小量電流,在系統的滯后時間內及時檢測所產生的溫升。這樣,只要水流保持在零,就為水提供維持該梯度所需的最小實際能量,這一小量加熱能提高溫度梯度。小量加熱一直持續到溫度梯度上升到高限。如果高溫度梯度很小,為流體提供很少的能量就能高于環境溫度,因此,能量的環境損失很小。
在開始流動時,加熱器頂部的暖水在腔的頂部的熱敏電阻處被帶走,使得溫度梯度下降。如果流速很低,例如是龍頭漏水造成的滴水,就會有些水分流到加熱器腔頂部的孔。由于從腔中分流的水通過這些孔,在入口水使得頂部熱敏電阻溫度下降的同時,由底部熱敏電阻測得的溫度仍然比較穩定,溫度梯度就會降低。只要小水滴連續并且從腔中分流,溫度梯度就仍然不會變成負值,而加熱器不會脫離備用狀態。這是與標準的水加熱系統相比的一個明顯優點。浪費的能量僅僅是在滴水期間為維持溫度梯度低于梯度高限而注入的很小能量。
如果流動量大于滴水,隨著流體順管道流過加熱器的流動就會將暖水從加熱器頂部拉向底部。由于第一腔中的流動,由頂部熱敏電阻測得的溫度朝著入口溫度下降,而底部熱敏電阻變暖,使溫度梯度下降。當梯度下降到低限以下時,開始小量加熱以便使梯度上升到高限。隨著小量能量將水加熱,向下流動的暖水比向上流動的密度變化要快。其結果會使梯度很快變成負值,指示出水的流動和備用狀態的結束。
卸載利用本發明的通信能力有可能監視或控制其他設備或系統。本發明的實施例可以和其他電氣設備結合著使用,例如有空調壓縮機,廚房爐灶,洗衣機,水池加熱器或者是電暖氣等等。本發明的實施例與其他電氣設備之間通過通信和控制電路的通信可以啟用這些電氣設備投入工作,如果在同時連接所有電氣設備負載,電源往往不能提供所有的功率需求。如果將本發明的實施例應用于淋浴器或浴室,就給予加熱器比諸如空調或電暖氣更高的優先權。本發明的實施例可以用于家庭和商業的不同用途,因而會有不同的使用優先權。例如,淋浴器或浴室熱水要比用于暖氣系統的熱水具有更高的優先權。
繼電器和其他出口的可靠性在加熱器的電路板上用繼電器來啟用或禁止加熱元件的功率電路。在加熱器中,要在加熱器工作過程中測試這些繼電器以提供更高的可靠性和安全性。
加熱器功率繼電器驅動器在本發明實施例中的加熱器功率繼電器的驅動方式能夠使操作更加可靠,并且比現有技術的設計更加安全。如果電源電壓上升到標稱值以上,若不對繼電器線圈的電壓進行線性調節,繼電器線圈就會過熱。執行線性調節的晶體管由于可能必須要耗散大量的功率就會散熱。機電式的繼電器在Mean-Time-Between-Failure(MBTF)往往比電子部件要低。在加熱器電路中,繼電器觸點的導體L1和L2在閉合時會接觸到AC電源,將一個加熱元件連接到向該元件提供電流的三端雙向可控硅開關。由一個此處被稱為“驅動器晶體管”的晶體管來控制繼電器線圈。本文描述了關于提高繼電器可靠性的改進。
在現有技術中,如果驅動器晶體管因故障短路,就會使‘L1’和‘L2’電源電壓跨接在三端雙向可控硅開關和負載上,從而兼顧它們正常時所起的斷路裝置的作用。在本發明的實施例中,略微改變驅動器構造以增加冗余,并且能夠在出現問題之前檢測單個故障點。
繼電器構造用兩組繼電器觸點將三端雙向可控硅開關和負載與AC主電源導體‘L1’和‘L2’隔離。從功能上來說,加熱器中不需要繼電器,然而,由繼電器提供的隔離能防護三端雙向可控硅開關在加熱器沒有向加熱元件供電時的過渡過程。當三端雙向可控硅開關出故障時,它們往往會發生短路。如果三端雙向可控硅開關因故障短路,繼電器觸點可用做后備斷路裝置。因為每個三端雙向可控硅開關有兩個繼電器觸點,在這種結構中是有冗余的。如果一個驅動器晶體管起動了兩個繼電器線圈,單個驅動器晶體管的單個故障點就會使兩個繼電器觸點保持閉合。這種狀態會造成冗余的喪失。因此,一個晶體管驅動和‘L1’線有關的繼電器,而另一個晶體管驅動與‘L2’線有關的繼電器。
繼電器線圈電流繼電器最好采用按設計用于85℃操作的密封式F繼電器。隨著繼電器溫度上升,其磁性下降。磁性會隨著驅動的增加而下降,線圈溫度在工作中抵抗磁性而上升。為了避免繼電器過度驅動,需要由微型控制器監視線電壓。用微型控制器所產生的脈寬調制(PWM)信號來調制繼電器線圈驅動晶體管。當繼電器剛剛閉合時,在繼電器線圈驅動的前1/10秒提供100%的PWM信號。如果線電壓低于額定電壓,就按100%繼續PWM。否則就讓PWM跟隨一個降低的比例,將繼電器線圈電流維持在足以滿足繼電器規格的一個平均量。
用于調制繼電器驅動晶體管的PWM信號進一步受到線電壓信號相位的調制。在接近過零點處,全波整流的DC電壓低于額定值,并且按100%驅動PWM信號。隨著整流DC電壓超過額定值,可以按低于100%驅動PWM信號。在此處可以采用許多算法來獲得相同的結果。最好不要用電容對整流電壓濾波,這樣就能在每個半周期內完成上述下降的功率。一種直接的方法是提供100%有效周期,直至電壓超過一個給定的門限。在該門限以上可以實行線性下降,它是測量電壓的一個函數。為此就需要能夠指示出整流的電壓。最好是在整流電壓的模數轉換范圍之內獲得類似的結果,其采樣速率允許在線電壓頻率的一個半周期內有多次采樣。有足夠的平均值可以指示線電壓,然后根據與線電壓頻率同步的定時輸出PWM信號。如果線電壓是額定值,PWM信號就可以是100%。如果線電壓超過額定值,就可以在與整流電壓峰值相配的一段時間內將PWM信號降低到較小的百分數。
繼電器起動順序最好的繼電器的機械壽命大約是一千萬次開關操作。如果用觸點遮斷大電流和電壓,就必然降低這一壽命規格。如果不用繼電器帶負載切換,壽命就等于其機械壽命。在很繁重的家用條件下,每天要操作100次,一千萬次相當于270年。由于“緩沖器”(抑制器)電路跨接在三端可控硅開關上,即使三端可控硅開關在繼電器切換時關斷,出現在繼電器觸點上的負載也是很小的。加熱元件的大負載不會有繼電器來切換,因為微型控制器僅僅在三端可控硅開關導通之前接通繼電器。同樣,在關斷時,三端可控硅開關比繼電器先關斷。當限制開關遮斷繼電器線圈的電源時,微型控制器檢測到這一狀態,并且在繼電器線圈崩潰之前關斷三端可控硅開關。在失去電源時,用同樣的機制防止繼電器觸點產生火花在三端可控硅開關關斷時檢測繼電器電壓損失。微型控制器為此裝備有用來檢測繼電器線圈電壓下降的輸入。因為繼電器會保持至少10ms,微型控制器必須足以對這一輸入采樣,并且及時關斷三端可控硅開關。如果在繼電器線圈電源電壓上不使用濾波電容,就必須對脈動的DC同步采樣,不能在過零點上檢測電壓。或者是用電容或數字方式對檢測進行濾波,但是,無論是何種情況,引入的延遲可以使繼電器在識別到這一狀態之前打開,并且三端可控硅開關在觸點打開之前不會關斷。
流動計算方法定向測量流動的方法采用溫度傳感器和加熱器功率數據。該方法依賴于存儲溫度和功率數據的歷史記錄的能力,并且使用熱傳導的基本關系來計算流速。
從以下為了解釋的目的而結合著附圖對本發明最佳實施例的說明中可以看出其他和進一步的特征及優點。
附圖簡介
圖1總體上表示本發明最佳實施例的一個正面示意圖,圖中表示了一個流動式加熱裝置的四個加熱腔;圖2是本發明最佳實施例的系統示意性框圖;圖3是溫度傳感器信號調節電路的一個示意圖;圖4是具有交流噪聲抑制的一種流體液面檢測電路的示意圖;圖5是一種濕度檢測電路的示意圖;圖6是一個繼電器啟用/禁止電路的示意圖;圖7是一種緊急關閉電路的示意圖;圖8是一種繼電器和三端雙向可控硅開關控制電路的示意圖;圖9a是一種聽覺報警發生電路的示意圖;圖9b是一種視覺報警發生電路的示意圖;圖10a,10b和10c是按照本發明實施例的數字功率調制器的工作流程圖;圖10d是寄存器位功能的示意性框圖;圖11是數字功率調制器的15/120功率需求波形的示意圖;圖12是數字功率調制器的30/120功率需求波形的示意圖;圖13是數字功率調制器的45/120功率需求波形的示意圖;圖14是數字功率調制器的60/120功率需求波形的示意圖;
圖15是數字功率調制器的75/120功率需求波形的示意圖;圖16是數字功率調制器的90/120功率需求波形的示意圖;圖17是數字功率調制器的105/120功率需求波形的示意圖;圖18是數字功率調制器的120/120功率需求波形的示意圖;圖19是流體液面檢測程序的一個示意性流程圖;圖20a和20b是熱敏電阻匹配程序的示意性流程圖;圖21a和21b是周期性加熱元件自測程序的示意性流程圖;圖22是一種系統產生程序的示意性流程圖;圖23是按照本發明最佳實施例的系統程序的示意性流程圖;圖24a和24b是系統程序初始化程序的示意性流程圖;圖25a-25e是圖23的主循環(MAINL)程序部分的示意性流程圖;圖26a是一種模-數狀態機器的示意性流程圖;圖26b-26r是圖23的主循環(MAINL)程序部分的示意性流程圖;圖27是一種控制狀態機器的示意性流程圖;圖28a-28f是按照本發明最佳實施例的一個中斷子程序的示意性流程圖;圖29是一個表,表示一個全程變量內的使用標志;圖30是一個表,表示一個流量變量內的使用標志;圖31是一個循環加熱系統的示意圖;圖32是流量計算程序的示意性流程圖。
最佳實施例的詳細說明參見附圖,圖中示意性表示了本發明最佳實施例的細節。圖中相同的元件用相同的編號表示,而類似的元件用相同的編號加上不同的下標來表示。參見圖1,它表示本發明最佳實施例的一個正面示意圖,圖中表示在一個流動式加熱裝置中具有四個加熱腔。統一用編號1000表示的流體加熱裝置包括一個熱交換器1,它為進入入口管2的流體提供基本上瞬時的加熱。進入入口管2的流體冷卻被導熱安裝在一個散熱器4上的三端雙向可控硅開關3a-3d,并沿著一條蜿蜒路徑通過U-形加熱元件5a-5d,被加熱之后從出口管6流出。三端雙向可控硅開關3a-3d最好具有例如但是不僅限于600伏和40安培的額定值。三端雙向可控硅開關3a-3d的商用零件可以是由Texas,Irving的Tceeor Electronics,Inc。提供的型號Q6040K7。溫度傳感器7a-7e可以使用熱敏電阻,并且為溫度的給定變化提供一種可以預定的電阻變化。熱敏電阻溫度傳感器7a-7e例如可以是由Selma,Alabama的BWD Automotive Specialties提供的型號25502。超溫限制開關8a和8b最好能分別在流體溫度達到160°F和180°F時打開,例如可以分別采用由Pawtucket,RI.的Elmwood Sensors提供的型號2455RM-87160003和2455RM-87160001。當流體在電極9a和9b與溫度傳感器7a-7e的電接地外殼之間持續提供電流時,流體液面檢測電極9a和9b在加熱腔頂部檢測到有流體。
在最佳實施例中,在圖1的有四個腔的流體加熱腔工作時,用熱敏電阻7a,7b,7c,7d,7e測量五個溫度。這些溫度分別用Tin,T1,T2,T3和T4來表示。在一個兩腔實施例中,T3和T4是零。Tin是額定范圍為40到85華氏度的入口流體溫度。T1,T2,T3和T4是由各腔內的熱敏電阻分別測得的溫度,T4是出口流體溫度,也就是T4=Tout。控制程序的目標是在框圖流動時使溫度T4盡快達到給定值溫度Tsp。額定的Tsp是120華氏度,盡管該值在系統中是可以調節的。
減少熱敏電阻等部件的擾動和變化影響的關鍵在于按以下公式對溫度T1,T2,T3和T4取平均值Tavg=(T1+T2+T3+T4)/4(1)并且用這一平均值為基礎來調節出口流體的溫度。假設將入口流體溫度和出口流體溫度之間的溫升表示成Trise=Tsp-Tin并且(Tsp>Tin) (2)用以下形式的等式CSP=A×Trise+B×Tin (3)來計算一個Calculated Set Point(CSP),其中的A和B是由加熱器中腔的數量所決定的常數。CSP的值是一個非規格化值,它考慮到了需要的溫升和入口流體溫度。加熱器的控制程序可以用該公式來調節輸出流體的溫度。
對于N個腔的實施例,公式3中的常數可按下式計算A=(∑n)/N 其中的n=1,2,...N并且B=N (3a)作為使用公式3進行溫度調節的一個例子,在加熱器的四-腔實施例中,A=10/4=2.5和B=4。進而假設用ΔTi代表一個腔內的溫升,其中的i=1,2,3或4。假設通過實驗確認了各腔內的元件功率相等,各腔內的溫升是大致相同的,因此有ΔT1=ΔT2=ΔT3=ΔT4=ΔT。因而可以用入口流體溫度和各腔內的溫升各項來表示公式1中的平均溫度,也就是Tavg=(T1+T2+T3+T4)/4=[4×Tin+(ΔT+2ΔT+3ΔT+4ΔT)/4=Tin+2.5×ΔT (4)因為T4=Tin+4×ΔT是流體出口溫度,加熱器的控制程序要使溫度T4等于給定值溫度Tsp。
假設給定值溫度Tsp是一個常數,也可以用額定溫度項將CSP的公式3表示成Tcsp=[2.5×(Tsp-Tin)+4×Tin]/4=0.625×Tsp+0.375×Tin (5)其中Tcsp被稱作Calculated SetPoint Temperature并且通常與需要的出口流體溫度Tsp不同。四腔實施例的控制程序用這一公式來調節出口溫度。
考慮到公式5,在達到給定值溫度時得到Tsp-Tin=4×ΔT。這樣就能將公式5中的第一種表達式改寫成Tcsp=[2.5×(4×ΔT)+4×Tin]/4=Tin+2.5×ΔT (5a)它是和平均溫度的公式4一樣的表達式。因此,如果Tavg=Tcsp(6)出口流體溫度T4就會等于給定值溫度Tsp。這樣,系統就能精確地調節出口流體溫度,不需要等待單獨測量的T4達到理想的給定值。
溫度調節公式3可以被納入這樣一種控制方案,在其中如上所述需要有一個恒定的“給定值”流體出口溫度Tsp。在這種情況下,用上述溫度調節公式構成一個參考值,將變量值與其比較,提供一個快速和精確的決定,在流體加熱器的出口測得給定值溫度之前就能獲得這一給定值溫度。從溫升與周圍環境的組合值獲得的控制給定值需要達到給定值(Trise)和周圍環境水溫Tin。上述控制給定值被稱為“Calculated Set Point”或CSP。將CSP提供的參考值與來自多個溫度傳感器的溫度測量值變量之和的值相比較。如果各個溫度測量值之和的上述值等于CSP的值,就說明流體加熱器中的流體已被充分加熱到輸出溫度可以達到給定值。
參見圖2,圖中表示本發明最佳實施例的一個系統示意性框圖。CPU100通過控制,地址和數據總線102與可編程計數器-定時器104,軟件監視定時器106,ROM108,RAM110,通用同步/異步收發信機(USART)112,輸入-輸出(I/O)端口114,和輸出鎖存器166實現電信號通信。時鐘116的工作頻率例如是但是不僅限于4.194304MHz,通過線118為CPU100提供定時,并且還通過線120為計數器-定時器104提供一個固定頻率源。CPU100還通過串行外圍接口(SPI)總線122與A/D轉換器124,輔助連接器126及EEPROM128用電信號通信。計數器-定時器104最好從線130上為液面檢測接口132提供一個32.768kHz信號;從線134上為繼電器驅動器136提供一個脈寬調制(PWM)信號;以及從線138上為軟件監視定時器106提供時鐘脈沖。
串行通信端口140通過線142與USART112用電信號通信;液面檢測電極9a通過線144與接口132用電路連接,而液面檢測電極9b通過線146與接口132用電路連接,接口又通過線148連接到I/O端口114。被稱為“多功能按鈕”的一個開關150通過線152用電路連接到I/O端口114。I/O端口114通過線154為硬件監視定時器156提供信號;通過線158為聽覺指示器160提供信號;并且通過線162為視覺指示器164提供信號。輸出鎖存器166通過線168從硬件監視定時器156接收一個啟用信號。輸出鎖存器166通過總線170向功率控制電路172a-172d發送功率調制信號;并且通過總線174向繼電器驅動器136發送繼電器控制信號。繼電器驅動器136通過總線176激勵包括在功率控制電路172a-172d中的繼電器。
用于控制的電功率通過線180提供給低壓電源178。電源178提供調整的+5伏Vcc,通過線184去激勵包括電壓參考182的加熱器控制電路;通過線186向超溫開關8提供未經調整的+24伏;然后通過線188提供給功率控制電路172a-172d和繼電器驅動器186;通過線190按照AC電源主頻率(50或60Hz)為CPU100提供一個作為中斷信號的邏輯電平信號;并且通過線192向模擬多路復用器194提供一個與電源主電壓(通過變壓器)成正比的模擬電壓信號。電壓參考182通過線198為A/D轉換器124提供一個+2.50伏的穩壓源,并通過線198提供給給定值電位計196;并通過線202為溫度傳感器信號調節電路200a-200e(具體參見圖3)提供一個+0.15伏的穩壓源。給定值電位計196的輸出通過線224發送給模擬多路復用器194。
溫度傳感器7a-7e分別通過線204a-204e用電路連接到信號調節電路200a-200e。信號調節電路200a-200e的輸出分別通過線206a-206e連接到模擬多路復用器194的輸入。由絕緣襯底上兩個電極的相互交叉的金屬指構成的最佳濕度檢測器208可以和熱交換器1(圖1)安裝在同一個殼內或是其下面,在遇到潮濕時具有導電性。濕度檢測器208通過線210用電路連接到信號緩沖器212,再通過線214連接到模擬多路復用器194。模擬多路復用器194通過線216從A/D轉換器124接收數字選擇信號,并且通過線218將選擇的模擬信號發送給A/D轉換器124。
功率控制電路172a-172d分別通過線220a-220d接收50Hz或60Hz的從208到240伏AC的電功率;并且分別通過線222a-222d向加熱元件5a-5d發送電功率。CPU100,計數器-定時器104,時鐘116,軟件監視定時器106,ROM108,RAM110,USART112和I/O端口114可以集成在單片微型控制器中,例如是Chandler,AZ的MicrochipTechnology,Inc出產的型號16C63.A/D轉換器124可以用Austin,TX的Crystal Semiconductor Products Division of Cirrus Logic Inc出產的型號CS5529-AP。模擬多路復用器194可以采用許多半導體廠商出產的型號74HC4051N。輸出鎖存器166可以采用許多半導體廠商出產的型號74HC374N。
使用串行端口的測試,監視和配置系統具有內置的雙向串行端口140(圖1),可以用來與微型控制器進行通信。有現成的標準化軟件包例如是終端仿真程序或任何標準化ASCII通信軟件能夠以例如2400波特,無奇偶,8位外帶一個停止位來讀取串行數據流。在系統工作時,可以將其內部數據提供給外部設備或模塊。可以向加熱器發回指令,按照測量結果和變化發送附加指令去控制流體加熱器。在最佳實施例中,這些指令可以用于診斷,改變諸如基本溫度,偏移,給定值控制電位計196間隔,以及用于負載分離,習慣溫度記錄,數據存儲,千瓦(KW)使用量和其他用途。本發明的另外一個特征在于可以用串行通信信息將這一流體加熱系統連接到網絡,其他設備,顯示器上,控制器可以將這一流體加熱器作為外圍設備的一個較大系統中的主機或是從屬設備。在本發明的范圍之內還可以兼容使用任何形式的計算機通信,例如可以使用但是不僅限于通用串行總線(USB),Ethernet,FireWire,紅外線,光纖等等。
參見圖3,圖中表示溫度傳感器信號調節電路的一個示意圖。溫度傳感器信號調節電路200包括輸入線204;連接到運算放大器(opamp)233的非反向輸入的參考電壓線202;連接在輸入線204和地之間的最佳標稱值為0.1微法拉的射頻濾波器電容230;連接在輸入線204和op amp 233的反向輸入節點232之間的最佳標稱值為100歐姆的輸入電阻231;以及連接在非反向輸入節點232和op amp輸出206的輸出之間的最佳標稱值為2200歐姆的反饋電阻234。op amp 233可以是許多半導體廠商出產的型號為LM324N的一種通用四運算放大器封裝的四分之一。
參見圖4,圖中表示了具有交流電流噪聲抑制的一種流體液面檢測電路的示意圖。可以通過檢查一個計數器中的值來操作這種流體液面檢測電路和程序。一般是周期性地將計數器復位到255。如果圖4的電路為這一計數器提供遞減計數,當計數器達到240(或遞減到大約6.25%的值)時就設置誤差,并且執行液面檢測關閉。只要在兩個傳感器處還有水,裝置就會加熱流體。節點130,標稱值150k歐姆的電阻241,節點242,以及標稱值為100皮法拉的電容240與流體液面檢測器線144相串聯,在一個二輸入Schmitt觸發器式NAND門246的第一輸入節點上構成第一分壓器。按照類似的方式,節點130,標稱值150k歐姆的電阻244,節點245,以及標稱值為100皮法拉的電容243與流體液面檢測器線146相串聯,在門電路246的第二輸入節點上構成第二分壓器。當流體接觸到圖1的流體液面電極9a和9b時,線144和146分別被維持在接近AC地電位,致使電阻241和電容240及電阻244和電容243對線130上的50%工作周期的32.768kHz方波信號獨立地積分,并且將積分或平均值提供給門電路246的輸入242和245。線130上的方波平均值是控制系統Vcc電源或+2.5伏的50%。如果門電路246的兩個輸入都高于大約2.2伏的預定門限電壓,輸出148就會變成邏輯低電平,指示電極9a和9b都能檢測到流體。反之,如果流體檢測線144或146有一方斷開,輸出148就從線130發出一個反極性方波,在I/O端口114上供CPU100通過ROM108執行的程序(固件)來檢測。二輸入Schmitt觸發器式NAND門246是許多半導體廠商出產的型號為74HCT132N的一種邏輯封裝的四分之一。
參見圖5,它表示一個濕度檢測電路的示意圖。濕度檢測電路可以是連接成緩沖器的一個LM324 op-amp 252,通過輸入隔離電阻251讀出,其輸入電壓是通過一個1兆歐姆電阻250的2.5伏參考198。如果在相互交叉的金屬指之間由于有水而發生任何傳導,它們就會導通使電壓輸出下降。當處理器從MUX 194讀出傳感器的數據值并且確定數值已經下降時,就設置一個濕度檢測標志,并且通過關閉電源并打開繼電器而執行適當的關閉動作。程序還會設置一個報警標志,從聽覺指示器160上發出連續的單音。
繼電器啟用/禁止電路電路板上的繼電器僅僅在觸點閉合時才能為流體加熱元件提供功率。繼電器觸點的狀態是由一個2-輸入AND門260a-260d(74HC08或等效電路)的兩個輸入來控制的。為了使繼電器觸點閉合,來自緊急關閉電路(圖7)的鎖存器的用于各繼電器174a-174d的輸出位必須是邏輯HIGH,同時,在AND門的輸入上來自處理器的一個信號134也必須是邏輯HIGH。當雙方的輸入都是HIGH時,由控制繼電器線圈驅動電路176a-176d的繼電器啟用/禁止電路使繼電器觸點閉合。在流體加熱器工作正常時就是這種情況。反之,如果來自處理器134的信號或鎖存器174的輸出位有一個不是HIGH,繼電器啟用/禁止電路就會使繼電器觸點打開。這樣就不會為加熱元件提供功率。
在最佳實施例中,給繼電器啟用/禁止電路的信號134實際是一個被設置在100%工作周期的脈寬調制(PWM)信號。這樣,在處理器正常工作時,這一信號就是邏輯HIGH,而繼電器可以啟用。改變PWM信號的工作周期會使繼電器觸點在信號為HIGH時閉合,而在信號為LOW時打開,這樣就能在某些應用中為加熱元件提供更加精確的功率控制。類似地,將PWM工作周期設置在低于這一電平也能保持繼電器導通,其效果是可以按附加的安全冗余降低元件的功率。縮短繼電器的加熱時間可以提供更加可靠的操作并且節省能量。
為了安全,在微型控制器程序初始化期間和微型控制器由于某種原因中斷時要禁止繼電器(打開觸點)。
參見圖6,圖中示意性地表示了一種繼電器啟用/禁止電路。該繼電器啟用/禁止電路提供了一種控制繼電器線圈驅動電流量的方法,由處理器100在自動遞減的計數器中設置一個值,并且按剩余的計數時間選擇關斷繼電器。由于是一個8位計數器,滿功率是FFh,而1/2功率是7Fh。繼電器驅動器136按照線134上分別從AND門260a-260d的輸出261a-261d來自處理器/計數器-定時器的PWM信號選通總線174上的繼電器控制信號,通過串聯電阻262a-262d和基極-發射極偏置電阻264a-264d驅動輸出晶體管265a-265d的基極端263a-263d。輸出晶體管265a-265d驅動繼電器線176a-176d,并且連接到二極管266a-266d的陽極以保護其免于受到反向-EMF的損害。二極管266a-266d具有共同的陰極并且連接到繼電器電源188。由繼電器驅動器驅動線176a-176d,并且按照以下的表1驅動功率控制器172a-172d內部的繼電器280a-280d及281a-281d(圖8)。
表1
緊急關閉電路在加熱器正常工作時,處理器程序將(二進制)位圖寫入統稱為鎖存器的集成電路芯片(圖2的三態D型觸發器74HC374 166)。來自鎖存器166的輸出位圖依次起動一或多個功率電路為流體加熱器的加熱器元件供電。如果繼電器觸點是閉合的,就由這一二進制圖形來決定加熱元件傳遞給流體的功率。
鎖存器166是一種集成電路,當其用來啟用鎖存器輸出驅動器的OUTPUT CONTROL銷上是一個邏輯LOW信號時就可以將輸入位圖輸出。在最佳實施例中用到的鎖存器的一個特殊狀態被稱為高阻抗狀態。這種鎖存器之所以被稱為三態是因為輸出位可以是邏輯HIGH(一個位是1),邏輯LOW(一個位是0),或者是所有輸出信號都處在高阻抗狀態。在這種狀態下,鎖存器輸出在電氣上與電路有效地斷開。
在正常操作中,鎖存器輸出由處理器輸入的位圖。當鎖存器處在高阻抗狀態時,來自處理器的位圖不被輸出,并且如下文所具體說明的那樣,來自鎖存器的輸出不能使三端雙向可控硅開關導通。
參見圖7,圖中表示了緊急關閉電路的一個示意圖。除了向鎖存器寫入位圖之外,處理器程序在正常操作中向圖7所示的緊急關閉電路輸出一序列脈沖152(STROBE脈沖),啟用鎖存器將這一控制信息傳送給三端雙向可控硅開關。處理器中導致不能維持脈沖數據流的任何故障都會造成鎖存器失效(高阻抗輸出)從而禁止三端雙向可控硅開關。這一動作會阻止向加熱元件提供功率。
按照正常工作的情況,處理器必須在鎖存器的輸出被啟用時在程序控制下輸出脈沖。由于處理器程序是循環操作的,它執行相同的一段代碼就能使脈沖一次又一次通過這一循環。脈沖通過一個電容270從處理器耦合到晶體管273的基極。當晶體管273通過電容270接收到一個脈沖時,由于晶體管在來自處理器的脈沖持續時間內暫時導通,晶體管集電極電路被短接到地。信號152采用電容耦合的事實意味著來自處理器的信號必須是脈沖信號才能保持晶體管導通,因為恒定的電壓高、低不會使晶體管保持電容274處在放電狀態。如果來自處理器的信號152凍結在穩定狀態,晶體管就會關斷。晶體管集電極電路驅動鎖存器上的啟用信號168(OUTPUT CONTROL)。這一啟用信號必須保持在LOW才能啟用鎖存器輸出。保持在啟用信號到地的電容274在晶體管將啟用信號短接到地之后的幾毫秒內可以將啟用信號保持在LOW。這一放電延遲的定時是這樣選擇的,讓處理器能夠有時間保持電容一直在放電。在同一電路中的電阻275對電容充電,因此,如果晶體管不能保持電容放電,啟用信號就會變成HIGH,禁止鎖存器輸出信號。這樣還能用圖6所示的繼電器啟用/禁止電路使繼電器的觸點打開,從而禁止繼電器。
緊急關閉電路156是一個“監視定時器”,用來在CPU100出現任何定時故障時關斷所有的繼電器和光電隔離驅動器。這種硬件監視定時器156響應在一個循環(MAINL)中工作的CPU100所執行的存儲在ROM108中的執行程序,通過線152從I/O端口114接收脈沖。標稱值為0.1微法拉的電容270和標稱值為22,000歐姆的電阻271構成一個微分器,為晶體管273的基極端272提供一個正向脈沖使其導通,并且在正常時通過標稱值為470,000歐姆的電阻275和標稱值100歐姆的電阻276充電到Vcc電位的標稱值為0.1微法拉的放電電容274可以在輸出鎖存器啟用線168上提供一個邏輯低電平,啟用所有繼電器線圈和光電隔離器。反之,如果微型計算機或程序有故障,丟失或錯過線152上提供給晶體管273的脈沖,電容274就會充電到Vcc狀態,從而在線168上提供一個邏輯高電平,并且關斷所有輸出數據和繼電器線圈電流。
參見圖8,圖中表示了繼電器和三端雙向可控硅開關控制電路的示意圖。在按照本發明實施例的一個典型系統中有多個功率控制電路172,如果繼電器電源線188也是帶電的,它們就接收繼電器控制信號176并且起動繼電器280和281的線圈。打開超溫限制開關的觸點或是用啟用/禁止開關可以使這一繼電器電源斷電。繼電器280和281的觸點控制從AC電源220到加熱元件5的電流,并且在三端雙向可控硅開關282出現故障的情況下還用于供電關閉。當功率啟用線170進入邏輯低電平時,通過過零光電耦合器283的輸入從Vcc284提供受到標稱值為220歐姆的電阻286限制的電流。光電耦合器283會在AC線的一或多個半周期內導通,并且在輸出端子287和288兩端會檢測到零電位。這樣就從三端雙向可控硅開關282的端子289向三端雙向可控硅開關282的端子288提供一個門電路觸發電壓,該電壓受到標稱值為20歐姆的串聯門電路電阻290和標稱值為330歐姆的并聯門電路電阻291的限制。保持光電-三端雙向可控硅開關驅動器283持續導通一或多個8.3ms周期,就能按1/2周期增量來控制提供給元件5的功率。光電耦合器283可以采用Phoenix,AZ的MotorolaIncorporated出產的型號MOC3042A。
緊急關閉方法在流體加熱器工作中,當電路板上的繼電器的繼電器觸點是CLOSED時為進入元件提供功率,并且用光電隔離電路來驅動功率調制器件(圖1,3a-3d的三端雙向可控硅開關)。作為本發明的一個安全特征,它包括了僅僅在處理器程序正常執行時才能為進入元件提供功率的電路。在最佳實施例中稱其為“關閉電路”。其作用是在處理器出故障或程序不能繼續(軟件錯誤)的情況下打開繼電器觸點并禁止三端雙向可控硅開關。按照慣例,有時將這種電路稱為“監視電路”。用一個電路也就是緊急關閉電路在處理器出故障時禁止三端雙向可控硅開關。其他電路即圖6的繼電器啟用/禁止電路在處理器(CPU100)出故障時使繼電器觸點打開。
視覺和聽覺指示器在流體加熱器的最佳實施例中有一個視覺指示器164和一個聽覺指示器160(圖2)。這些指示器被用來識別正常工作或故障。它們的電路如圖9a和9b所示。在以下的表2中規定了故障代碼。視覺指示器164由雙色LED和有關的驅動電路構成。它能用綠色指示正常(心跳式脈沖)或是用紅色指示錯誤和故障。LED電路由處理器的I/O端口114(RA1)來驅動。在LED的偏置點上或是附近,如果在端口上設置邏輯1位就能點亮一種顏色,設置0位會點亮另外一種顏色。將輸出保持在第三態就會使LED關斷。聽覺指示器是一個壓電驅動器和一個控制晶體管。由處理器的I/O端口114(RA2)驅動這一聽覺指示器。這一位還被用來驅動一個脈沖,以同步一個示波器或其他診斷工具來指示系統狀態。當控制系統首次接通電源時,它會使視覺指示器閃爍并發聲以指示流體加熱器的型號,用兩次紅色閃爍指示具有兩個加熱元件的流體加熱器型號,而用4次閃爍來指示具有4個加熱元件的流體加熱器。為了擴展系統或提高操作性能顯然還可以建立其他的圖形。在正常操作中,視覺指示器會將綠色閃爍1/3秒,然后關閉1/3秒。如果發現有一或多個(多達32)錯誤,系統就會用下表中所示的“計數代碼”閃爍這種錯誤/故障,例如是在碼組之間閃爍1.5秒。用顏色的短暫翻轉來指示錯誤/故障組的前沿,并且程序退出綠色狀態而開始錯誤/故障指示。用一次閃爍的紅色表示錯誤,幾次紅色閃爍之后接著有一個短間隔(1/3秒),在指示數字3的一或多次閃爍之后是另一個短間隔。只需要對閃爍計數或聽到發聲就能讀取代碼。
參見圖9a,圖中表示了聽覺報警發生電路的一個示意圖。聽覺指示器電路160被CPU100用來用一種高音調(1000Hz)單音向用戶發出故障警告,例如是在濕度檢測傳感器檢測到水時,或者是用連續單音構成的代碼組來指示諸如斷線等故障,并且用低頻單音指示熱敏電阻的良好匹配。指示(所連接的)外圍設備狀態的其他用途也是容易實現的。來自CPU100的輸入信號158通過基極偏置電阻292被耦合到晶體管293的基極。當這一信號以CPU100設置的速率切換時,晶體管就會被關斷和導通,在壓電元件295(電壓模型器件)上建立一個來自Vcc296的電壓,通過負載電阻294和晶體管發射極上的地電位使電流旁路。
參見圖9b,圖中表示了視覺報警發生電路的一個示意圖。視覺指示器電路164可以但是不僅限于用紅色來指示上述聽覺指示器160中使用的錯誤代碼,并且用低頻(1/3秒)綠色心跳閃爍來指示正常操作。這一指示器299是一個高效雙色紅/綠發光二極管(LED),由CPU100以電流源或陷流方式來驅動,將處理器信號162提供給LED299的一側,并且用電阻300和301將另外一側偏置在Vcc和地電位之間大約一半的那一點上。
故障指示僅僅是通過壓電元件用聲音指示一次,然后采用紅色LED直至錯誤被糾正。例如,按下電路板上的一個多功能按鈕就能再次發出聲音故障指示。
表2-視覺和聽覺代碼FAULTO=H/W熱敏電阻 代碼意義118 故障,熱敏電阻斷開117 故障,熱敏電阻短路116 故障,匹配問題115 故障Th-4114 故障Th-3113 故障Th-2112 故障Th-1111 故障Th-inFAULT1=H/WClass I 128 故障,沒有正向溫升,反向流動?*127 故障,元件損壞*,***126125 錯誤,高入口溫度***124 故障,高溫關閉123 故障,水位檢測122 故障,限制開關打開/觸發121 故障,禁止開關打開***FAULT2=H/WClass II 138137136135 故障,溢流警告*
134 故障,濕度報警133 故障,低電源電壓***132 故障,高電源電壓***131 故障,熱敏電阻匹配尚未完成FAULT3=H/WClass III 148 故障,監視器復位*147 故障,控制計算沒有及時完成*146145144 故障,吸附的繼電器關閉*143142 故障,A/D錯誤141 故障,EEPROM錯誤AURAL INDICATION CODES**連續高頻單音 故障,濕度檢測短暫低頻單音 熱敏電阻校準被采納長時間或連續的低頻單音 故障,起動或EEPROM的錯誤上述代碼 與視覺指示相同*檢查與被檢測的這些故障有關的程序**聽覺代碼***不一定要關閉系統加熱器功率控制本發明的最佳實施例能明顯減少甚至消除因電功率系統明顯和急劇的負載變化而造成的電燈閃爍。這是通過“數字功率調制器”來實現的,它被用來按小增量控制提供給加熱元件的功率。所有加熱元件之間均等地分享功率也是有益的,這樣就能在所有級聯的加熱腔中提供大致相同的溫升。進一步的優點還有,通過僅僅在電源電流過零點處切換開關元件導通和關斷而排除射頻干擾,從而避免例如在相位角功率控制中出現的典型的瞬時電流變化尖峰。假設加熱元件的電阻是固定的,從交流(AC)主電源吸取的電流與提供的功率成正比。然而,由于電力公司二次配電網,降壓變壓器的有限阻抗和饋電線路阻抗,由加熱元件吸取的電流中的變化或多或少會受到從同一AC電源獲取電壓的其他負載的電壓變化的影響。特別是低功率白熾燈和熒光燈的亮度會隨著AC電源電壓的幅度變化有明顯的改變。電燈亮度的急劇幅度變化被稱為“閃爍”,嚴重時會使人感到難受。因此,避免從AC電源吸取的功率出現可能造成電燈閃爍的幅度變化是有益的。
參見圖10a,10b和10c,圖中表示了按照本發明實施例的數字功率調制器的工作流程圖。響應一種閉環控制方式,用一個邏輯控制程序以半周期增量來控制對多個加熱元件的功率調制,不會導致電燈閃爍。如下文所述的例如15/120和50/100等數字關系分別被用來表示可能的120個半周期中的15個半周期,或者是100個中的50個。這是隨著線電壓頻率而改變的,并且可以用四個7000瓦元件或兩個3500瓦元件來改變加熱器的電壓和電流波形,而不會改變負載特性,因為本文中所述的方法從短暫的半周期序列和發生在7.5秒內的純零半周期的意義上來說都是基于一種復合波形。在上述的限制之內已經確定,可以按多種基本功率電平為加熱元件供電,在各電平上都不會出現閃爍。按照本文所述有四個100%沒有閃爍的電平(30/120,60/120,90/120,120/120)和另外四個基本上沒有閃爍的電平(15/120,45/120,75/120,105/120)。后四個電平基本上沒有閃爍的原因在于,盡管每個半秒序列(1Hz成分)中存在電流不平衡,程序控制中純零的半周期會使處理器交換AC電源的相位和開始各半秒周期的順序。在最壞情況下,這樣會造成每7.5秒(0.13Hz頻率成分)內純粹都是正相位周期或純粹都是負相位周期。功率控制程序會盡可能對它們取平均值。流動中微小的變化會造成功率電平有一定程度的反彈,而這種隨意的反彈會提供一種很低頻率成分(閃爍)的平均值,但是不會引起人的注意。
假設加熱器有四個加熱元件和60Hz的AC電源,按常規分配功率電平時的全部功率相當于120/120。為了使功率電平中的幅度變化不引人注目,重復一種給定的八個半-周期序列,至少在1.5秒持續時間內不改變。在圖11到18中分別表示了參考AC線電壓和各功率電平的元件電流波形。
給定功率需求的實現是通過在八個功率電平(15/120,30/120,45/120,60/120,75/120,90/120,105/120和120/120)之間來回擺動來完成的,所提供的功率是在15個連續的半秒間隔(7.5秒)內產生的總功率。在一個給定的半秒間隔內所需要的功率是按照以下的公式1a和1b來計算的。
公式1aPOWER DELIVERED=INT((POWER+REMAINDER)/15)公式1bREMAINDER=(REMAINDER+POWER)-(POWER DELIVERED*15)這其中POWER是范圍從0到120的理想功率電平;REMAINDER是在每個半秒間隔內所需的功率和實際提供的功率之間的累計差別;并且INT是一個函數,其定義是對一個數去掉小數部分取其整數部分。
在60Hz AC系統中的POWER DELIVERED可以表示成0/120,15/120,30/120,45/120,60/120,75/120,90/120,105/120和120/120,它表示在120/秒內能提供多少個1/2周期。在50Hz系統中實際的總數是100,這樣,系統實際能提供的功率就是0/100,12.5/100,25/100,37.5/100,50/100,62.5/100,75/100,87.5/100和100/100。該系統與AC電源線電壓過零點同步,并且程序會在這些時間點上產生控制脈沖。最好是用一個不受AC電源頻率影響的晶體振蕩器來產生這種1/2秒定時。
例如,如果需要提供的功率電平是46,就用公式1a和1b計算每半秒間隔內產生的POWER DELIVERED,REMAINDER和POWER REQUIRED,如以下的表3所示。為了指示DC校正還表示了一個凈DC成分。
表3
在15個半秒間隔內提供的總功率電平是46,如果需要的功率不變,該圖形本身7.5秒重復一次。
然而,在實際情況下,由于控制系統的響應,理想功率電平是從一個半秒間隔到另一個半秒間隔頻繁變化的。REMAINDER項用來累計和校正任意給定半秒間隔內的瞬時理想功率電平與實際提供的功率電平之間的長期誤差。
表4表示控制程序按每一個相位和每一種基本功率需求向圖2的輸出鎖存器166輸出的二進制圖形,產生圖11到18所示的波形。在表3中為了完整而包括的用于0到120的所有相位的基本功率電平的具體情況。由每個二進制圖形的最低有效位(LSB)控制加熱元件1(5a);次最高有效位控制加熱元件2(5b);次最高有效位控制加熱元件3(5c);而最高有效位(MSB)控制加熱元件4(5d)。
表4-對于凈零DC偏移的相序的二進制圖形
消除由功率電平15,45,75和105產生的DC偏移是這樣實現的,從圖4所示的二進制圖形中按顛倒的相序讀出給定的功率電平。也就是說,在按照相序0-1-2-3-4-5-6-7讀出二進制圖形的一個半秒間隔結束之后,在開始下一個半秒間隔時按照相序7-6-5-4-3-2-1-0循環讀出二進制圖形。這樣,如果偶數半周期內的AC電源電流大于奇數半周期內的電流,就顛倒偶數和奇數半周期的二進制圖形,從而有效地消除AC電源電流中的DC成分。進而,產生DC成分的所有二進制圖形被選擇在開始的第一半周期中采用比較大的電流。另外,按照類似的方式,在任一給定的加熱元件中產生DC成分的所有那些基本功率需求的二進制圖形都在后續的半秒間隔中經歷DC成分消除。在線220a-220d被連接到一個三相AC電源的各相上的情況下,在各個元件級上消除DC成分是重要的,并且能減少AC電源變壓器中的渦流損失。
在具有兩個加熱元件的流體加熱器的實施例中,為包括兩個而不是四個加熱元件的流體加熱器采用這種數字功率調制器,最大基本功率電平從120降低到60,并且通過執行邏輯OR運算使兩個最高有效位變成兩個最低有效位(除以2)將表4所示的二進制圖形各自從四位減少到兩位。t通過將熱敏電阻Th3和Th4連接到地電位而實現兩腔檢測,因為它們不會出現在兩個加熱元件的加熱器中,處理器會改變其功能參數以適應這一兩個元件的系統。功率調制器和檢測邏輯可以按從一到任何數量加熱元件的需要來工作,在本發明的范圍之內可以操作和檢測任何數量的加熱元件。
表5中所示的一個例子代表標號為相位1到相位8的8個半周期序列,并且表示了在兩個元件的加熱器中每個相位對哪一個加熱元件供電。為了說明如何平衡DC成分,無論是在偶數還是奇數的哪一個半秒中,‘相位’在偶數半秒周期內是從左到右輸出的,而相位’在奇數半秒周期內是從右到左輸出的。
表5兩個元件的加熱器在60Hz下的高頻模式
值得注意的是僅僅需要有四種相位,因為相位5到8是重復前四個相位。這樣做的原因是為了統一兩個元件的操作和四個元件的操作方式,以便稍加修改就能為兩種實施例采用同一個程序。
表6所示的另一個例子表示標號為相位1到相位8的8個半周期序列,并且表示了在四個元件的加熱器中每個相位對哪一個元件供電。采用和上述兩個元件的加熱器相同的方式來消除DC成分。
表6四個元件的加熱器的高頻模式
用一個單獨的控制程序為每1/2秒的POWER計算一個新值,并且將POWER提供給功率調制器程序。因為POWER的范圍對兩元件實施例和四元件實施例來說分別是0到60和0到120,控制程序可以分別將功率的分辨率規定為1.7%和0.83%。調制器在高頻段的分辨率變粗,以下還要解釋如何用高頻功率調制器的25%分辨率和12.5%分辨率來提供POWER所規定的1.7%和0.83%分辨率。
表7所示的例子說明如何用功率調制器為加熱元件提供POWER=31的值。最接近的模式是模式2(30/120)和模式3(45/120)。以下的順序表示如何為POWER產生其理想值。每隔半秒顛倒一次模式輸出,以消除可能的DC成分。在結束7.5秒時重復這一順序。
表7
參見圖11,圖中表示了數字功率調制器的15/120功率需求波形的示意圖。電源頻率的八個半周期的一段時間包括用標號300-307表示的八個相位。以圖2中AC電源220的AC線電壓波形310為參照分別表示了元件1,元件2,元件3和元件4的電流波形311a-311d。AC電源電流波形312代表八個相位300-307按照15/120的功率需求各自從電源220吸取的總電流。電流也就是功率分別按照電流波形311a-311d被均等地分配給圖1的所有四個元件5a-5d。應該注意到負載電流波形312僅包含一種極性的半周期,對AC電源施加一個凈DC成分。如下文中具體說明的那樣,每隔半秒將負載電流波形312的極性顛倒一次以消除DC對AC電源220的有害影響。
參見圖12,圖中表示了數字功率調制器的30/120功率需求波形的示意圖。與圖11類似,圖12的波形表示用于30/120功率需求的元件電流波形311a-311d。元件1,元件2,元件3和元件4各自的電流波形311a-311d說明了采用均等的功率分配,同時用負載電流波形312說明了所有八種相位300-307的幅值不變,沒有DC成分,但是有電源頻率的AC成分。
參見圖13,圖中表示了數字功率調制器的45/120功率需求波形的示意圖。與圖11類似,圖13的波形表示用于45/120功率需求的元件電流波形311a-311d。元件1,元件2,元件3和元件4各自的電流波形311a-311d說明了采用均等的功率分配,同時用負載電流波形312反映出電流有DC成分和AC電源頻率的AC成分。
參見圖14,圖中表示了數字功率調制器的60/120功率需求波形的示意圖。與圖11類似,圖12的波形表示用于60/120功率需求的元件電流波形311a-311d。元件1,元件2,元件3和元件4各自的電流波形311a-311d說明了采用均等的功率分配,同時用負載電流波形312說明了所有八種相位300-307的幅值不變,沒有DC成分,但是有AC電源頻率的AC成分。
參見圖15,圖中表示了數字功率調制器的75/120功率需求波形的示意圖。與圖11類似,圖15的波形表示用于75/120功率需求的元件電流波形311a-311d。元件1,元件2,元件3和元件4各自的電流波形311a-311d說明了采用均等的功率分配,同時用負載電流波形312反映出電流有DC成分和AC電源頻率的AC成分。
參見圖16,圖中表示了數字功率調制器的90/120功率需求波形的示意圖。與圖11類似,圖16的波形表示用于90/120功率需求的元件電流波形311a-311d。元件1,元件2,元件3和元件4各自的電流波形311a-311d說明了采用均等的功率分配,同時用負載電流波形312說明了所有八種相位300-307的幅值不變,沒有DC成分,但是有AC電源頻率的AC成分。
參見圖17,圖中表示了數字功率調制器的105/120功率需求波形的示意圖。與圖11類似,圖17的波形表示用于105/120功率需求的元件電流波形311a-311d。元件1,元件2,元件3和元件4各自的電流波形311a-311d說明了采用均等的功率分配,同時用負載電流波形312反映出電流有DC成分和AC電源頻率的AC成分。
參見圖18,圖中表示了數字功率調制器的120/120功率需求波形的示意圖。與圖11類似,圖18的波形表示用于120/120功率需求的元件電流波形311a-311d。元件1,元件2,元件3和元件4各自的電流波形311a-311d說明了采用均等的功率分配,同時用負載電流波形312說明了所有八種相位300-307的幅值不變,沒有DC成分,但是有AC電源頻率的AC成分低功率備用本發明的最佳實施例具有一種功率很低的備用控制模式,以下稱其為“備用狀態”。最佳實施例的流體加熱器在短時間段之后檢測到流體例如是水沒有流動時就進入備用狀態。備用狀態的作用是在加熱器沒有被用于加熱流動的流體時節省能源。本發明的實施例采用一個子程序將加熱器保持在備用狀態,直至檢測到流體流動,例如是在家用設備中打開熱水龍頭時。
功率很低的備用狀態使處在備用狀態的流體加熱器能夠快速識別到水的流動,從而轉入加熱(控制)模式以便幾乎在同時產出熱水。功率很低的備用狀態是根據低密度溫暖流體超過了高密度低溫流體的情況而自動動作的。
當加熱器處在備用狀態時,流體不流動。當流體加熱器控制從加熱流動的流體轉入流體不流動的備用狀態時,由于加熱器內的流體按下述方式被稍稍加熱,加熱器內部的流體被保持在高于環境溫度。
在備用狀態下沒有流動,來自流體的熱量上升到流體加熱器頂部。只要是處在不流動狀態并且流體溫度高于環境溫度,加熱器頂部的流體溫度就會高于底部的溫度。由加熱腔頂部的熱敏電阻7b和加熱腔底部的熱敏電阻7c測得的溫度之間的差別被稱為溫度梯度。只要加熱腔頂部的流體是溫暖的,該溫度梯度就是正值。
溫度梯度有三個重要的值。這三個重要的梯度值被稱為按度數測量的零,低限和高限。零限是梯度為零的情況,頂部和底部溫度之間沒有溫度差。當頂部溫度比底部高時,低限和高限都是正值。對這些限值的具體選擇會影響到備用狀態下的能耗,對于識別流體開始流動并需要加熱流動的流體也是一個敏感的因素。
在本發明的最佳實施例中,低限和高限的具體值可以僅僅相差1華氏度。由于熱敏電阻可以按下文所述精確地校準和匹配,有可能精確地維持這一很小的差別。
在龍頭或閥門打開時,加熱器正常工作,隨后關閉龍頭或閥門就能阻止流體在加熱器內流動。在流體停止流動之后,由加熱腔頂部熱敏電阻和加熱腔底部熱敏電阻就會測量到一個快速形成的巨大的正溫度梯度。隨著時間流逝,熱量從靜止的流體向周圍散發,溫度朝著環境溫度下降,溫度梯度也會下降。該梯度最終會下降到低限以下。(在空調環境中的正常溫度層次往往能夠提供需要的小梯度,這樣就能在備用狀態下盡量減少所需的能量)。
當溫度梯度下降到低限以下時,微型控制器控制程序對加熱腔內的加熱元件周期性地施加很少量的電流將流體稍稍加熱。只要流體流動仍然為零,這一加熱就會使溫度梯度增大。小量加熱一直持續到溫度梯度上升到高限。典型的高限溫度梯度是一個小值(例如是1或2華氏度)。這樣,用于改善了低功率備用控制,流體加熱器只需要很少的能量來維持流體溫度高于環境溫度,這樣就只有很少的能量損失。
當龍頭或閥門打開并重新開始流動時,加熱器頂部溫暖的流體從頂部熱敏電阻處流走并造成溫度梯度下降。流體流動使溫暖的流體通過加熱器中的管道逐漸從加熱器頂部流向底部。由于流動,由頂部熱敏電阻測得的溫度朝入口溫度(環境溫度)下降,而底部熱敏電阻測得的溫度上升,從而使溫度梯度下降。當溫度梯度下降到低限以下時,開始少量加熱以便使梯度上升到高限。隨著少量能量使流體變暖,流動促使溫暖流體向下流動的速度比密度變化驅使其向上的速度更快。其結果是梯度很快會變成負值,指示出流體流動和備用狀態的結束。
如果流速很低,例如是龍頭泄漏造成滴水,有些水流就會通過加熱器頂部的排氣孔旁路。在同屬于Seitz的專利US5,866,880號中描述了這一加熱器排氣孔,可供本文參考。由于流體繞過了底部熱敏電阻,由底部熱敏電阻測得的溫度在入口流體使頂部熱敏電阻處穩定下降的同時保持相對穩定,溫度梯度因而會下降。只要連續有少量滴水和水流旁路,溫度梯度就會保持在非負值,而加熱器就不會脫離備用狀態。這樣能防止加熱器因加熱滴水的流體而浪費能量。這是與標準的流體加熱相同相比的一個突出優點。在滴水過程中僅僅耗費少量能量來維持溫度梯度低于其高限。
水位檢測作為一個安全特征,流體加熱器中的水位檢測對保證加熱器在元件周圍沒有足夠的水時禁止對元件5a-5d供電是重要的。元件在靠近元件頂部處(對最佳實施例中使用的標準元件大約是1/2英寸)的螺紋插頭區域下面有一個“冷段”,在水位下降到這一水平以下時需要檢測低水位。加熱器1頂部的導電螺釘9a和9b(圖1)被朝下安裝在流體的適當水位上。如果流體充滿到適當的水位,金屬探針9a和9b就通過水位檢測電路和處理器程序來檢測水的存在。水位檢測是通過監視提供給檢測電路的信號由于水的阻抗而產生的變化來實現的。
包含礦物質的水是導電的。將金屬物體放入正常接地的水中會在金屬物體上產生一個電位。這一電位會在DC檢測電路中產生一個直流電流。然而,這一電壓在某些電路中會干擾正常的水位檢測。在加熱器的最佳實施例中采用的方法可以消除探針與水位檢測電路的直接連接,因為金屬探針與檢測電路是電容耦合的。
在最佳實施例中,微型控制器的程序采用脈寬調制(PWM)方式產生一個32,768Hz(圖2的信號線130)的方波用于圖4的檢測電路。方波通過電阻241輸入到一個電容240,電容的另一側連接到金屬探針9a,9b。在電阻和電容相互連接處連接一個檢測電路242來響應該點上的電壓。用一個施密特觸發器246反相邏輯門作為檢測電路。如果金屬探針9a,9b由于在該頻率上通過水到地的低傳導阻抗而使得檢測電路的信號幅值降低,檢測電路輸出148就會變成LOW。然而,如果探針9a(若有兩個探針還包括9b)露出水面,32.768kHz信號144就被傳送到輸出148并隨后提供給CPU100。
當水位降低時,在任意時間對檢測信號采樣的處理器就會接收到適當相等采樣的邏輯HIGH和邏輯LOW電平。由程序中斷處理器對這一方波148的檢測,表示水位低于正常水位,例如是系統中出現空氣的情況。
在水位合適并且金屬探針9a和9b接觸到流體(例如是水)的正常操作期間,由流體提供對地的導電路徑,檢測電路中的電容240和243被接地,形成一個RC低通濾波器。經過濾波后的32.768kHz信號出現在輸出端148,形成一個超過施密特邏輯門246門限值的變化的DC電平。提供給處理器的信號148是恒定的LOW電平,致使程序中斷以指示出有水。
低礦物質含量的水導電性能比較差。水塔的水和來自循環滲透水凈化系統的水類似于導電性能很差的蒸餾水。這就意味著按照處理器程序的解釋仍然對水位進行檢測。導電性差的流體使分壓器的Thevenin等效電壓進入RC濾波器,導致對方波的積分,這樣就會有一個帶DC偏移的三角波進入作為邏輯OR電路的2輸入Schmitt門電路,并且通過調節電阻和電容的值使門電路門限足夠高,讓信號的最低點剛好高于該門限。當輸入信號周期性下降到輸入門限以下時,由處理器監視的輸出信號不會持續為LOW。這些隨機輸入脈沖被輸入到處理器,按照程序用一個計數器周期性復位到十進制值255。當脈沖使計數器遞減到十進制值240以下(減少大約6 1/4%)時,程序就將其解釋為缺水。
對水的導電性變化的靈敏度是由該電路中的分壓器作用來控制的。電阻241,244的值要足夠大才能檢測到低礦物質含量的水。電容240,243必須選得很小才能阻塞50Hz或60Hz的AC電源電壓在水中產生的電氣噪聲可能造成的dc和低頻干擾。DC干擾就是上述的電壓。
如果在水中有一個小AC(50或60Hz)信號,如果電容的大小不準確,水位檢測電路就會受到這一ac信號的影響。對檢測電路中電容和電阻組合的正確選擇會形成一個RC高通濾波器,可以通過由濾波器造成的衰減來降低ac電壓幅值。例如,將RC轉角頻率設置在15kHz可以將60Hz信號降低48dB。這表明探針對60Hz表現出的電抗大約是22兆歐姆,而對32.768kHz是50K歐姆。另外,方波的5V峰-峰信號可以為檢測電路產生大約20μA的驅動電流,而60Hz下的240VAC只能產生大約4μA。
這樣,電路的高通濾波器作用就能為水位檢測電路阻塞由電源電壓造成的AC信號。然而,這種信號實際上是由另外的電路來檢測的。如果用高阻抗RC濾波器247(高通濾波器)與金屬探針9a實現電容耦合,就能檢測到足夠幅值的50Hz或60Hz信號,以便在仍然能正確檢測水位的同時檢測到這一AC成分。
參見圖19,圖中表示了流體水位檢測程序的示意性流程圖。流體水位檢測程序與圖4的水位檢測電路132協同工作。參見圖4,應該在輸出線130剛剛從邏輯低過渡到邏輯高電平時讀出由門電路246驅動的輸入線148。作為主程序環的一部分,控制在入口點400被周期性轉移到水位檢測子程序。控制從入口點400開始進入邏輯步402讀出輸出端口驅動線130。控制從邏輯步402進到判定步404,如果步402中讀出的線130的邏輯電平是高,控制就進到邏輯步430并且使控制返回到主程序環。否則,如果在步402中讀出的線130是低,控制就進到邏輯步406,讀出并保存圖4的輸入線148。控制從邏輯步406進到邏輯步408,讀出圖4的輸出線130。控制從邏輯步408進到邏輯步410。如果線130不是邏輯高電平,控制環就回到邏輯步406,否則,控制就進到邏輯步412,確定在邏輯步406中讀出的線148的狀態。如果線148是處在邏輯高電平,控制就進到邏輯步414,用變量LCOUNT加上數值3的內容替換變量LCOUNT的內容。否則,如果線148是處在邏輯低電平,控制就進到邏輯步416,測試變量LCOUNT是不是零值。如果變量LCOUNT是零,控制就進到邏輯步418,清除一個代表水位檢測故障的軟標志。控制從邏輯步418進到邏輯步430,并且使控制返回主程序環MAINL。否則,如果變量LCOUNT在邏輯步416不是零,控制就進到邏輯步420,將變量LCOUNT的內容減一。從邏輯步420起,流程進入到邏輯步422,將變量LCOUNT的內容與數值240相比較,如果比它小,控制就進到邏輯步430,并且使控制返回主程序環MAINL,不改變水位檢測故障標志的狀態。然而,如果變量LCOUNT的內容在邏輯步422中大于或等于數值240,控制就進到邏輯步424,設置代表水位檢測故障的軟標志。回到邏輯步414來看,控制進到邏輯步426,測試變量LCOUNT是否溢出也就是其增值是否已經超過了最大值255。如果沒有,控制就按上述情況進到邏輯步422。否則,如果變量LCOUNT已經發生溢出,控制就進到邏輯步428,將變量LCOUNT強制定在最大值255。從邏輯步428起,控制按上述情況進到邏輯步422。
因此,當圖4的線148穩定在低時,就表明圖2的水位檢測電極9a和9b都浸在水中,控制流程允許變量LCOUNT最終遞減到零并且指示出一個無故障狀態。否則,如果圖4的線148是高,變量LCOUNT就一直增值到甚至是超過門限值240,指示出一個水位檢測故障狀態。這一子程序還通過滯后作用提供了一定程度的噪聲免疫。當變量LCOUNT達到或超過門限值240時,就設置水位檢測故障標志。然而,變量LCOUNT無論如何必須在清除水位檢測標志之前遞減到零。
熱敏電阻校準在最佳實施例中用熱敏電阻來測量流體溫度。特別是可以使用低價的商用型熱敏電阻,例如是在汽車發動機組中用來監視水溫的那種熱敏電阻。以往使用這種熱敏電阻的缺點是一個熱敏電阻與另一個相比經常出現明顯的精度偏差。對于這種用途,在測量同一溫度的熱敏電阻之間,該偏差會使溫度值出現多達5度的差別。這一差別對加熱器控制系統的性能有明顯的影響。特別是當不同熱敏電阻之間的溫度關系被用于控制,緊急關閉,檢測流動/不流動狀態,以及在備用狀態下用來維持溫度梯度時,這一問題特別嚴重。
為了獲得精確的溫度讀數,按照可預料的溫度提供輸出流體,并且動態地監視流體狀態,有必要校準熱敏電阻,這是為家庭供水所必須的。微型控制器程序將這些溫度用于控制,高溫限制和其他目的。因為微型控制器程序是通過一個多路復用器(MUX)194從模-數轉換器(A/D)124(圖2)接收其溫度讀數的,正如上文所述,這些讀數會由于熱敏電阻和電子部件的制造過程而出現變化。這些不合格部件的變化會造成幾華氏度的偏差。即使在整個加熱器中的流體溫度都相同時,微型控制器程序也需要使用來自熱敏電阻讀數的讀數。因為微型控制器僅僅需要數字值,可以通過下述的校準手段將來自熱敏電阻的流體溫度讀數“校正”到一個可接受的值。這種校準可以為控制算法提供近似精確的讀數,不需要通過其他手段實現精確的溫度控制。盡管看上去的結果是相似的,正如本文中下面一段所述,此處所說的校準與系統初始化時自動執行的熱敏電阻匹配或校準有所不同。
有時候流體加熱器需要以規定的溫度提供流體。這經常出現在過程控制或家庭熱水供應的情況下。盡管熱敏電阻本身是在工廠經過檢查和校準的,還需要在現場校準熱敏電阻。例如,如果熱敏電阻有變化,就需要重新校準。在最佳實施例中,在熱敏電阻需要校準時可以采用一個簡單的程序來校準,它能夠校正熱敏電阻讀數的輕微變化。
為了對熱敏電阻執行校準,在操作加熱器時不向加熱元件供熱。為了避免起動加熱元件要斷開高限溫度調節器的電路連接。然后讓環境溫度下的流體流過該裝置。在流體流動了大約5分鐘之后,或者是在各熱敏電阻的溫度讀數不再變化時,就可以實現校準,向系統發出校準指令,也就是?CCthen?Cxxx,其中的xxx代表流體溫度最接近的溫度度數(即xxx=076)。由校準指令輸入的這一溫度值可以是由校準溫度參考裝置測得的環境流體溫度。一般來說這種程序可以在工廠中執行,因為它需要將一個通信裝置連接到加熱器上才能輸入校準指令。
注意校準值被保存在EEPROM128(電擦除式只讀存儲器)。校準程序會改變現有的校準值。EEPROM128會保存這一新的校準值直到再次校準熱敏電阻。
用多功能按鈕匹配熱敏電阻加熱器的最佳實施例中含有多個熱敏電阻7a-7e(圖1),用來監視流體加熱器內不同位置上的流體溫度。當流體加熱器從工廠發出時,各熱敏電阻讀數已經被精確地校準到能夠指示所測量的準確的流體溫度。在某些情況下需要調整熱敏電阻的讀數和有關的電子設備。例如是在更換熱敏電阻的時候。本發明的進一步特征是提供一種精確匹配熱敏電阻讀數的手段。用來將熱敏電阻讀數調整到相同值的程序要求通過加熱器流動的流體處在一個穩定的溫度,讓各熱敏電阻處的流體溫度相同。該程序被稱為熱敏電阻匹配。這一說法被用來區分匹配和熱敏電阻校準。
為了執行熱敏電阻匹配,在操作加熱器時不向加熱元件供熱。為了避免起動加熱元件要斷開高限溫度調節器8a,8b的電路連接。然后讓環境溫度下的流體流過該裝置。在流體流動了大約5分鐘之后,或者是在各熱敏電阻的溫度讀數已經穩定并不再變化時(如果這些溫度是通過連接的通信裝置來監視的),就可以假定整個裝置中的流體都處在相同的溫度。此時需要按下多功能按鈕150(圖2)電路板并且保持按壓約六秒鐘。這樣就能在處理器中執行一個執行匹配的子程序。電路板上的聽覺指示器160會發出蜂鳴的單音來指示匹配已經被采納并且正在執行。
在按下多功能按鈕150時,匹配操作通過對多個熱敏電阻進行計算對溫度讀數取平均值。在釋放多功能按鈕150時也計算一個平均值。將這兩個平均值相比較。如果兩個平均值相同,就認定是匹配并且執行。如果匹配成功,就能通過計算各熱敏電阻的偏移將各熱敏電阻讀數調整到這一平均值。
各熱敏電阻的匹配算法采用以下公式OFFSET=Tavg-(Tmeasured+CALIBRATION OFFSET)其中的OFFSET是需要加到未校正熱敏電阻讀數上的正或負的數值,Tavg是所有熱敏電阻溫度讀數的平均值,而CALIBRATION OFFSET是通過熱敏電阻校準已確定的一個偏移值。各熱敏電阻的OFFSET值被存儲在裝置的EEPROM中。這是本發明的一個安全特征,如果任何一個OFFSET超過了正、負限值,就認為是有故障。用故障代碼指示出熱敏電阻匹配的故障。以下還要具體說明這些代碼。
作為另一個安全特征,如果兩次計算之間的平均值不同,就不執行匹配,并且不會聽到低音蜂鳴聲。另外,如果有一個熱敏電阻短路,斷開,或超出給定范圍,就用電路板上的視覺指示器指示出一個數字故障代碼,并且不執行匹配。
參見圖20a和20b,圖中表示熱敏電阻匹配的流程圖。如果在沒有溫度計的情況下在現場更換熱敏電阻,就需要為每一個熱敏電阻建立一種“最合適”的校準偏移量以代替實際的校準程序。如果用手動起動熱敏電阻匹配狀態,控制就通過一個子程序從CHECKI模塊(圖25a)內轉移到節點500上進入存儲在圖2的ROM108中的一個子程序MATCH。從節點500開始,流程進到邏輯步502,計算出存儲在變量T1,T2,T3和T4中的平均值并且存儲在變量Tavg中。流程從邏輯步502進到邏輯步504,將變量LOOP_COUNTER初始化到5,在四腔最佳實施例中,五個熱敏電阻各有一個計數。流程從邏輯步504進到邏輯步506,將變量FAULT0的位5初始化到零,指示無故障熱敏電阻匹配狀態。(變量FAULT0包含多個位,用做代表流體加熱器控制所能檢測的各種可能的故障狀態的邏輯標志)。流程從邏輯步506進到邏輯步508,將變量ARRAY_PTR初始化到變量T0的地址,也就是箭頭在RAM110內按順序對變量T0,T1,T2,T3和T4尋址的位置。在讀出之后,通常包含來自各熱敏電阻7a-7e的溫度測量值的變量T0-T4臨時被重新用來保持自各熱敏電阻7a-7e的校準偏移。流程從邏輯步508進到邏輯步510,它是由邏輯步510,512,518,520,522和524構成的一個環中的第一步。在邏輯步510,用變量TEMP1作為一個臨時位置,用來保存由變量Tavg和按變量ARRAY_PTR尋址的變量之間在數值上的差構成的校準偏移量。流程從邏輯步510進到邏輯步512,將存儲在變量TEMP1中的校準偏移與一個低限-128和一個高限+127相互核對,它們代表大約+10華氏度的范圍。如果變量TEMP1中的校準偏移達到或超過了這些限值,控制就分支到邏輯步514,將變量FAUL0的位5數值成1,向SIGCODE錯誤指示器模塊指示出熱敏電阻匹配故障。流程從邏輯步514進到邏輯步516,使控制從那里返回到調用的CHECKI模塊。
另一方面,如果變量TEMP1的內容處在可接受限度之內,控制就進到邏輯步518,在按變量ARRAY_PTR尋址的變量中存儲變量TEMP1中的校準偏移的八位中的最低有效位與一個16-位常數(十六進制1200h)之和。十六進制值1200h僅僅用做唯一的標識符,用來指示按順序參考給出了一個有效入口的具體的熱敏電阻校準偏移量的那個程序。流程從邏輯步518進到邏輯步520,將變量ARRAY_PTR增值到排列T0到T4中的下一個變量的地址。流程從邏輯步520進到邏輯步522,將變量LOOP_CONUTER遞減。流程從邏輯步522進到邏輯步524,如果變量LOOP_CONUTER的內容不是零,流程就循環到邏輯步510按順序指向下一個熱敏電阻值。另一方面,如果變量LOOP_CONUTER是零,流程就通過節點A526進到圖22b的邏輯步528。邏輯步502-524就這樣獲得并存儲每一個熱敏電阻7a-7e的校準偏移值。
在邏輯步528,將變量LOOP_CONUTER初始化到5,五個熱敏電阻7a-7e各有一個計數。流程從邏輯步528進到邏輯步530,將變量ARRAY_PTR初始化到變量T0的地址。流程從邏輯步530進到邏輯步532,將變量E2PROM_PTR初始化到變量EEPROM128變量CALIBR
的地址,也就是在一個五個位置排列中的第一位置。流程從邏輯步532進到邏輯步534,它是由邏輯步534,536,538,540和544構成的一個環中的第一步。在邏輯步534,按照變量ARRAY_PTR尋址的變量內容被存儲在按照變量E2PROM_PTR尋址的EEPROM128變量中。流程從邏輯步534進到邏輯步536,將變量ARRAY_PTR增值到順序中下一列變量的那一點。流程從邏輯步536進到邏輯步538,將變量E2PROM_PTR增值。流程從邏輯步538進到邏輯步540,將變量LOOP_CONUTER遞減。流程從邏輯步540進到邏輯步542,如果變量LOOP_CONUTER的內容不是零,流程就循環到邏輯步534按順序指向下一個熱敏電阻值。另一方面,如果變量LOOP_CONUTER是零,流程就進到邏輯步546,使控制返回到調用的CHECKI模塊。這樣,邏輯步528-544就能將存儲在變量T0-T4中的校準偏移移動到非易失性EEPROM128中的變量。
熱敏電阻自測當處理器程序識別到變化的情況時,就設置適當的標志位以指示這一變化。這些標志位使程序按照該位的設置采取適當的行動。例如,如果流體加熱器系統出現熱敏電阻或有關線路或者是控制系統的故障,程序就能識別到故障并且設置一個“故障標志”。該標志會使程序分支并另外指示出一個故障,并且采取適當的校正行動,例如是切斷提供給加熱元件的功率。程序會使視覺和/或聽覺指示器164或160發出視覺和/或聽覺指示,用特殊的閃光圖形或蜂鳴聲指示故障,操作人員可以通過打印的故障代碼圖表識別出實際出故障的熱敏電阻。由流體加熱器制造商提供這種故障代碼圖表。這一連續測試過程能確保加熱器的長時間穩定性和可靠性。
加熱元件的自測按照本蜂鳴最佳實施例的操作,程序利用對加熱元件的改進的調制控制方式提供很精確的控制。如果元件在操作中發生故障,系統不能馬上識別到這一故障。而是會通過增加對其他元件的功率周期來繼續嘗試滿足需求。微型控制器程序在功率驅動電平下降到一個預定門限值以下時檢查損壞的元件,在實際發生故障后會馬上發出警報聲。這樣,當流體停止流動且加熱器恢復到關閉狀態時,程序就能識別出故障,并且及時發出視覺和/或聽覺指示。繼續使用帶故障元件會降低流體加熱能力,但是,管理著流體加熱器的程序會繼續工作以便在系統的新的管理限制范圍內維持溫度和穩定性。
參見圖21a和21b,圖中表示了周期性加熱元件自測程序的示意性流程圖。圖21a和21b的流程表示加熱元件測試程序的操作,它是在主循環內調用的一個子程序(ELEMT)。單獨測試各個加熱元件。如果一個元件的功率小于預定量,(在最佳實施例中是15個計數),或者是檢測到繼電器故障,就起動一個定時器(ELTSTATE)并清除一個累加器(ELTSUM)。每當調用子程序(ELEMT)時都會執行這些操作,直到狀態發生改變。
如果被測元件的功率高于預定值并且在后來調用子程序時沒有檢測到繼電器故障,就測試定時器是不是零。如果定時器不是零,就計算加熱器中對應著被測元件的那一個腔的溫升,并且加在ELTSUM中的值上,只要和數不是負值。在供電的同時,當定時器變成零時,狀態就指示出功率大于預裝在定時器中的時間量的那一預定量。累加的溫升與一個門限值(在圖21b中是192個計數)相比較。如果累加值大于該某些,就代表元件在工作。在再次調用子程序時就開始對下一個元件的周期。
如果定時器變成了零,但是累加的溫升沒有超過門限值,程序就通過設置故障標志指示出被測元件損壞了。應該注意到,在加熱器的最佳實施例中,溫升不足可能是加熱器中的各種故障造成的。它可以指示出故障的加熱元件,故障的三端可控硅開關,觸點被打開的繼電器,或者甚至是該裝置的一個電路被斷開了。
參見圖22,圖中表示一個系統生產程序的示意性流程圖。用于本發明最佳實施例的系統參數是存儲在微型控制器本身內部的初始值和實際參數的復合體,并且根據需要設置以便能精確并可靠地供應熱水。這些參數被保存在EEPROM128中。用一個簡單的程序“生產”系統,在首次通電時清除EEPROM128中可能存在的所有隨機信息。EEPROM128被復位到全零。所包括的信息例如有一個壽命計數器值,由系統維持該系統已經運行的256分鐘增值計數。該數值提供擔保和維護期限的有關指示。另外還有但是不僅限于熱敏電阻校準變量,使用的總KW數,一個KW/Time變量,序號,維護記錄信息,故障記錄,流速記錄等等。建立用于永久信息的操作參數,然后設置操作變量,然后由用戶設置變量并設置選項。操作變量的設置方式是這樣的,允許在現場對臨界參數進行升級,在每次系統通電時重新使用這些參數。因為系統在最初會從處理器裝載這些參數,并且在以后隨時從EEPROM128裝載,可以在現場設置這些參數并且保存在EEPROM128中直到在以后的配置設置中被覆蓋。例如,如果用戶希望將系統校準到一個特定溫度,有可供使用的程序能恢復這些參數。這樣做會改變EEPROM128中的某些值,而不會影響EEPROM128的其他數據。
系統能夠“部分生產”,因為在制造之后可以執行部分測試功能。為此僅僅需要控制電路和僅僅是控制程序部分的精確和可靠的操作。這樣就能允許系統初始化,讀出熱敏電阻,接通元件,讀出電源線電壓,檢查濕度,限制開關等等。實際的程序最終版本可以在鄰近發貨時才裝載,這樣就能將序號,時間計數器等等全部在接近實際發貨日期時才裝載和存儲。這樣就能保證準確和有效的記錄信息。
參見圖23,圖中表示了按照本發明最佳實施例的系統程序的示意性流程圖。在圖23中表示了主程序的頂級示意圖。所有加熱器控制軟件都可以駐留在CPU100的ROM108中,并且分兩部分執行主程序和中斷子程序。當CPU100首次接通電源時,或者是在軟件監視定時器到期時,從地址0000開始執行該程序,它對應著圖23中的RESET節點。RESET可以禁止所有中斷并且跳到圖23中的INITIALIZE模塊。
參見圖24a和24b,圖中表示了系統程序初始化程序的示意性流程圖。用冷起動步INITIALIZE清除RAM;程序需要有內部定時器,用于分頻,通信波特率,以及總體定時;并且要按照輸入和/或輸出的線路來配置CPU100(中央處理器)的外部端口。
INITIALIZE還要配置外部EEPROM128,如果它是空白的,或者是曾經被微型控制器的不同軟件修訂版使用過,就要更新修訂版檢查和,并且按照兩腔或4腔操作適當地復制控制調節參數。最終用INITIALIZE讀出給定值和所有熱敏電阻值以及“先前”值,以便使溫度控制程序能夠正確地起動。一旦INITIALIZE模塊完成,控制就轉向循環連續執行的MAINL程序。
參見圖25a-25e,圖中表示了圖23的主循環(MAINL)程序部分的示意性流程圖。MAINL程序由下文所要描述的按順序依次調用的許多功能模塊構成。如果需要由模塊執行其職責的狀態沒有準備好,控制就直接返回繼續按順序執行下一個模塊。這樣,MAINL循環的總體執行速度就會隨所有模塊的除了時間的總和而改變。
參見圖25a,MAINL開始于清除軟件監視定時器(WDT)。WDT是由獨立于主4-MHZ振蕩器的一個振蕩器來確定時鐘的一個可編程定時器。它在溢出時迫使CPU100回到復位狀態,因為“沖突的”程序不能按規則使WDT復位。這樣,程序沖突就會迫使CPU100回到其重新起動。接著調用SSDEVS(同步串行設備)模塊,它掌管所有的初始化并讀出A/D轉換器。A/D轉換器連接到一個模擬多路復用器(MUX),通過A/D端口來選擇它的輸入通道。然而,在準備好讀出之前,A/D轉換器需要自身校準和復位周期。初始化的A/D轉換器按順序讀出所有五個熱敏電阻(四-腔加熱器),按照循環順序中的一個一個的給定值,主電壓,或者是濕度傳感器提供校準偏移。A/D狀態機器指導按順序調用SSDEVS,按正確的順序進入正確的狀態。在讀出最后一個熱敏電阻之后,SSDEVS設置全體<4>個標志,發信號給CONTROLM模塊開始處理。以下要具體描述A/D服務模塊參見圖26a,圖中表示了按照本發明最佳實施例的一種模擬-數字狀態機器的示意性流程圖。在INITIALIZE模塊和MAINL程序中都要調用A/D狀態機器(也被稱為SSSDEVS),并且處理所有初始化并讀出A/D轉換器。A/D轉換器連接到一個模擬多路復用器(MUX),通過A/D端口來選擇它的輸入通道。然而,在準備好讀出之前,A/D轉換器需要自身校準和復位周期。初始化的A/D轉換器按順序讀出所有五個熱敏電阻(四-腔加熱器),按照循環順序中的一個一個的給定值,主電壓,或者是濕度傳感器提供校準偏移。A/D狀態機器指導按順序調用SSDEVS,按正確的順序進入正確的狀態。在讀出最后一個熱敏電阻之后,SSDEVS設置全體<4>個標志,發信號給CONTROLM模塊開始處理。
圖26a的A/D狀態機器程序表示了九種狀態。當系統復位時,控制從狀態0 INITIALIZE A/D開始,并通過四個中間狀態直至達到狀態1,WRITE A/D CONFIG。REGISTER。此后,控制順序通過用于每一個輸入讀數的狀態1,2和3。在讀出所有熱敏電阻和一個接一個的給定值電位計,電源線電壓,或者是濕度檢測器之后,就進入狀態8而不是返回狀態1。狀態8在開始下一組測量之前用500-ms等待由中斷子程序設置的記號標志。以下要具體解釋各個狀態。
參見圖26b,當A/D狀態機器在MAINL程序中被調用時,控制就轉到節點SSDEVS。注意節點SSDEVS還在INITIALIZE模塊中被反復調用,以確保控制模塊按正確的溫度讀數起動。從SSDEVS節點起,變量SSSTAT包含當前狀態值,并且控制被分派到標有SSSTAT0到SSSTAT8的九個狀態之一。
參見圖26c,從節點SSSTAT0確定對A/D轉換器芯片的選擇。芯片選擇是端口上唯一只啟用A/D轉換器的那一位。這種布置方式使A/D轉換器,串行EEPROM128和Aux(Auxillary)連接器能共享同一條SPI總線,就象是用CPU100作為單一總線主機來單獨選擇的從屬裝置。
接著,將變量Counter初始化到15以備用做一個循環計數器。按照對Crystal Semiconductor CS5529A/D Converter的推薦的初始化建議,數值FFh的一字節在一個循環中被輸出到A/D轉換器15次。每當輸出一個8-或24-位值到A/D轉換器,就在占用SPI總線的一個時間內構成了一位串行移位輸出的數據。
最佳實施例采用了在Microchip Technologics,Inc.,PIC 16C63微型控制器上實現的軟件,它是用一種“位-脈沖”程序實現的。或者是,如果特定的微型控制器能夠通過向一個端口寫入8-位字節而輸出一個8位值,就允許這種微型控制器的SPI硬件為串行數據定時鐘,而微型控制器同時還可以執行其他程序指令。
在FFh的15字節字符串之后,輸出FEh的一字節作為配置指令,然后是一個24位值000080h,開始A/D轉換器的初始化。接著將變量SSSTAT設置到6,解除對A/D芯片的選擇。解除A/D芯片選擇的動作允許同時對其他SPI外設尋址。控制隨后返回到指令所調用的A/D狀態機器(SSSDEVS),結束狀態0,并且將狀態6設置為下一個狀態。
參見圖26d,從節點SSSTAT6確定A/D轉換器芯片選擇。按上述方式向A/D轉換器傳送一個數值為94h的指令字節。A/D轉換器的響應是重新讀入變量數據24,并且檢驗復位有效位。如果沒有設置,控制就分支到解除A/D轉換器芯片選擇并且返回,不改變狀態。這樣,A/D轉換器狀態機器就會保持在狀態6,直到其完成復位(初始化)操作。
否則,如果復位有效位是邏輯1,就清除變量MUX,開始對T0(THin)的輸入掃描。接著向A/D轉換器輸出數值000000h作為配置,然后是一個數值000003h。這一過程可用于一種自校準程序的初始化。最后,變量SSSTAT進到狀態7,解除A/D轉換器芯片選擇,并且控制返回到調用SSSDEVS下一個指令。
參見圖26e,從節點SSSTAT7確定A/D轉換器芯片選擇。按上述方式將數值為94h的一個指令字節傳送給A/D轉換器。A/D轉換器的響應是讀入變量輸入數據24,并且檢查完成標志位。如果沒有設置,控制就分支到解除A/D轉換器芯片選擇,并且不改變狀態就返回。這樣,A/D轉換器就會維持在狀態7直至完成其校準過程。
否則,如果完成標志位是邏輯1,變量SSSTAT就進到狀態4。解除A/D轉換器芯片選擇,然后控制返回到調用SSSDEVS的下一指令。
參見圖26f,從結點SSSTAT4確定A/D轉換器芯片選擇線。將92h的指令字節傳送給A/D轉換器讀出其偏移和增益。A/D轉換器的響應是讀入變量輸入數據24,除以16,并且置入變量輸出數據24。變量SSSTAT進到狀態5,解除A/D轉換器芯片選擇線,并且控制返回到調用SSSDEVS下一個指令。
參見圖26g,從節點SSSTAT5確定A/D轉換器芯片選擇線。將82h的指令字節傳送給A/D轉換器寫入其增益寄存器。接著向A/D轉換器輸出包含在狀態4中預先設置的增益信息的變量輸出數據24。變量SSSTAT進到狀態1,解除A/D轉換器芯片選擇線,并且控制返回到調用SSSDEVS下一個指令。
參見圖26h,從節點SSSTAT1起,在狀態4中預先初始化的變量輸出數據24被屏蔽成僅僅包括位<2318>并且傳送給A/D轉換器寫入其配置寄存器。變量SSSTAT進到狀態2,解除A/D轉換器芯片選擇線,并且控制返回到調用SSSDEVS下一個指令。
參見圖26i,從節點SSSTAT2確定A/D轉換器芯片選擇線。將C0h的指令字節傳送給A/D轉換器執行模-數轉換,并且將用做到時計數器的變量Stall初始化到255。接著,因為需要在狀態2內訪問EEPROM128,就解除A/D轉換器芯片選擇線。
對現行正在A/D轉換的熱敏電阻輸入讀出邏輯的余數并檢查校準偏移信息。如果在變量按鈕<3>中設置了標志,就實行匹配程序并清除變量CALOFF中的校準偏移。控制隨后進到指令狀態2出口代碼。
否則,如果熱敏電阻不匹配,就檢查變量MUX,如果其大于4,輸入就不是熱敏電阻,而控制就進到指令狀態2出口代碼。如果變量MUX包含0到4之間的數值,被讀出的就是熱敏電阻,就檢查變量配置<1>中的標志。如果設置了該標志,加熱器就是一種4-腔裝置,而控制就分支到去處理校準信息。若是該標志被清除,加熱器就是一種2-腔裝置,就要進行測試看變量MUX是否小于3。如果不是,就輸入A/D輸入多路復用器在兩個未使用的熱敏電阻中選擇的一個,清除變量CALOFF,并且控制進到指令狀態2出口代碼。
否則,變量MUX就包含一個有效的熱敏電阻選擇,并且被用來編入存儲在EEPROM128的校準信息表中。讀取16-位索引位置,將LSB存入變量CALOFF,而MSB存入變量temp。如果變量temp等于代碼12h,就認為存儲的校準偏移是有效的,并且清除MATCH_NOT_DONE標志。否則就認為尚未存儲校準偏移,并且設置MATCH_NOT_DONE標志。控制進到指令狀態2出口代碼,解除A/D轉換器芯片選擇,變量SSSTAT進到3,而控制返回到調用SSSDEVS下一個指令。
參見圖26j,從節點SSSTAT3確定A/D轉換器芯片選擇線。將94h的指令字節傳送給A/D轉換器獲得轉換器的狀態。A/D轉換器的響應是讀入變量輸入數據24并檢查完成標志位。如果該標志是邏輯0,就繼續進行轉換,并檢查變量Stall看其是否已遞減到0。如果它是0,就認為是到時(故障)狀態,控制就分支到狀態3公共故障出口代碼。否則,如果變量Stall不是0,就遞減并再次測試0。如果是0,就按上述方式動作。否則就解除A/D轉換器芯片選擇并使控制返回到下一個指令去調用SSSDEVS。這時,A/D轉換器狀態機器在執行A/D轉換的過程中等待在狀態3。
然而,如果完成標志位是邏輯1,就將96h的指令字節傳送給A/D轉換器讀出結果。而A/D轉換器就讀入變量輸入數據24。將LSB的位<72>與數值F0h相比較,如果不相等,控制就分支到狀態3公共故障出口代碼。
狀態3公共故障出口代碼設置變量故障3<1>中的A/D誤差標志,將變量SSSTAT清除到狀態0,解除A/D轉換器芯片選擇線,并使控制返回到下一個指令去調用SSSDEVS。
如果位<72>等于F0h,就認為是正常轉換,而變量SSSTAT就進到狀態1。解除A/D轉換器芯片選擇線,并且根據多路復用器輸入0到7將變量MUX位<42>的內容編入一個調用分派表。在通過并從調用分派表返回之前,八種可能的狀態都要描述一遍。
參見圖26m,從節點CH0起,將變量指針設置到變量th0的地址。接著將變量CALOFF的內容加入變量輸入數據24的16個低有效位(讀出一行熱敏電阻)并且存入變量指針指向的變量中(也就是th0)。用指令使控制返回到調用分派表。這樣就能將先前在狀態2下調用的校準偏移提供給熱敏電阻讀數并且保存在五個熱敏電阻的變量排列中。
參見圖26m,按照與節點CH0類似的方式從節點CH1,CH2和CH3起分別將變量指針設置到變量th1,th2和th3的地址。
參見圖26n,從節點CH4起,將變量指針設置到變量th4的地址。接著將變量CALOFF的內容加入變量輸入數據24的16個低有效位(讀出一行熱敏電阻)并且存入變量指針指向的變量中(也就是th4)。檢查變量按鈕<3>中的標志,如果是邏輯0,就是沒有要求熱敏電阻匹配,而控制就分支到配置邏輯。否則就調用熱敏電阻匹配子程序。在得知匹配完成時清除變量按鈕<3>中的標志,清除變量按鈕<0>中的標志使指示器靜默,而控制就分支到配置邏輯。
在配置邏輯中檢查變量配置<0>,如果是邏輯1(裝置已經配置好),指令就使控制返回到調用分派表。否則,如果變量配置<0>中的標志是邏輯0(裝置尚未配置好),就檢查變量輸入數據24的內容。如果其內容小于數值3,就將用于th4的多路復用器接地,并設置變量配置<1>中的標志,它代表一種2-腔配置。否則就認為是一個4-腔裝置,此時不改變變量配置<1>中的標志。控制進到將變量配置寫入EEPROM128,并且將適合2-或4-腔裝置的硬編碼調諧參數從微型控制器ROM移到EEPROM128中。最后,控制不是返回而是跳到RESET節點重新起動系統并安置新的配置。
參見圖26o,從節點CH5起從EEPROM128中讀出變量pot_multiplier。如果pot_multiplier是0,就清除變量tpot。否則,就用pot_multiplier中的數值將變量輸入數據24的內容向左算術移位,并且將結果的MSB存儲在8-位變量tpot中。這樣,數值1,2,3,4和5的有效標度就是2,4,8,16或32。數值0具有的特殊意義是為了固定溫度加熱或者是為了遠程溫度給定值設置而禁止本地給定值。在變量tpot被改變之后,用指令使控制返回到調用分派表。最大值255對應著大約20°F。
從節點CH6起將變量輸入數據24的內容乘以16。提取結果的MSB并且存入8-位變量Moist。如果變量Moist超過32,就認為是濕度感應傳導率不足,此時就清除變量故障2<3>中的標志和變量聲音<7>中的標志。否則就設置這兩個標志。然后用指令使控制返回到調用分派表。在變量故障2<3>中設置的標志使LED顯示特殊的濕度檢測誤差代碼,而變量聲音<7>中的標志使聽覺指示器連續發出報警蜂鳴聲。
參見圖26p,從節點CH7起將變量輸入數據24的內容乘以16。提取結果的MSB并且存入8-位變量Volts。然后用指令使控制返回到調用分派表。變量Volts按照AC主電源電壓的每3伏改變一個計數,并且在使用中受到欠壓和過壓檢測比較的限制。
參見圖26k,控制在從任何特殊通道狀態CH0-CH7返回之后進入到節點A。按照位<42>所示對變量MUX逐位格式化,提供一個3-位硬件多路復用器地址,并且在讀出所有五個熱敏電阻之后用位<1>和<0>保持跟蹤被讀出的輸入設備。變量MUX按照圖261中的表改變,在重復之前循環通過15個值。
從節點A起將變量MUX的多路復用器通道位場<42>增值。讀出變量中的位<5>以指示進位超出了這一場。如果有置位,就是計數器發生了翻轉,就清除變量MUX,而控制就分支到結束掃描邏輯。否則,如果沒有發生翻轉,控制就進到檢查變量MUX中的位<4>。如果被清除,就不必進一步行動,而控制就分支到狀態3出口代碼。否則,如果變量MUX中的位<4>是1,就檢查變量MUX中的位<3>,如果它是1,控制就分支到結束掃描邏輯。
狀態3結束掃描邏輯使變量MUX的位<42>復位,通過設置變量global<4>中的標志指示出掃描已經完成,將變量SSSTAT推進到狀態8,并且分支到狀態3出口代碼。
否則,如果變量MUX中的位<3>是0,就檢查變量MUX的位<2>,如果它是0,控制就分支到狀態3出口代碼。否則,如果變量MUX中的位<2>是1,就檢查變量MUX中的位<0>,如果它是1,就強制將變量MUX變成數值1Ah(或11010b),而控制分支到狀態3出口代碼。否則,如果變量MUX的位<0>是0,就檢查變量MUX的位<1>,如果它是1,就將變量MUX的位<3>設置成1,無論變量MUX的位<1>是0還是1,由變量MUX的位<10>構成的場都增值,并且控制進到狀態3出口代碼。變量MUX的增量場<10>的作用是在讀出通道4之后選擇下一個輸入通道5,6,或7。
狀態3出口代碼將變量MUX的位<42>裝入變量輸出數據24的位<2018>準備在狀態1中使用。解除A/D芯片選擇,并且用指令使控制返回到去調用SSSDEVS。
參見圖26q,從節點SSSTAT8起檢查global<5>中的標志,如果是邏輯0,控制就分支到LTICK邏輯。否則就檢查按鈕<4>中的標志,如果它是邏輯0,控制就分支到LTICK邏輯。否則就清除按鈕<4>中的標志,設置按鈕<3>中的標志,并且控制進到LTICK邏輯。在按下熱敏電阻匹配程序的按鈕時,檢測一個標志并設置另一個標志的鏈接過程是多功能按鈕的處理程序中的一部分。
LTICK邏輯檢查在中斷子程序中設置的f500ms標志,如果是邏輯0,就分支到狀態8出口代碼。否則,如果設置了f500ms標志,就清除變量global<5>中的標志,計算的定標沒有完成,根據已知的情況清除f500ms標志,變量SSSTAT進到1,開始新的一次熱敏電阻掃描,并且控制進到狀態8出口代碼。
狀態8出口代碼清除A/D轉換器芯片選擇并且用指令使控制返回到去調用SSSDEVS。
接著要調用CONTROLM模塊,它首先計算是否設置了global<4>標志。若沒有就直接返回到MAINL循環中的下一個模塊。CONTROLM按順序執行以下的計算1.inctime-按0.5秒增加時間記錄值2.do_dtn-為各個熱敏電阻值計算增量T3.do_avg-計算T1..T4的平均溫度4.diffnt8-微分Tavg5.do_tsp-根據電位計讀數計算給定值
6.superv-監視數值并且根據門限值設置/清除標志7.觸發一個新的記錄線,除非是被輸入字符延遲8.chth-檢查熱敏電阻值9.如果有故障就清除控制狀態10.cmswitch-調用控制狀態機器11.發信號給A/D讀出子程序,要求新的一次掃描12.發信號給功率調制器令其改變相位需要提供給元件的功率電平的實際計算是在控制狀態機器的CONTROL狀態下執行的,如下所述參見圖27,圖中表示了按照本發明最佳實施例的控制狀態機器的一個示意性流程圖。控制狀態機器是一種軟件模塊,它為流體加熱器控制系統規定了標號為0到5的六種唯一的狀態。這些狀態是
具體狀態造成在狀態之間的過渡,例如是從不流動到流動狀態或者是相反。維持的狀態例如是維持流動,持續不流動,或者是定時器沒有到時造成控制狀態機器保持在同一狀態。
以下的表8規定了在狀態之間過渡的必要條件。以下要討論采用何種標準的定義來設置標志。
表8-控制狀態過渡
控制狀態最好是通過測量熱敏電阻值而每秒更新兩次,并且計算諸如Tavg這樣的通用值,并且設置或是清除標志。
每秒兩次調用子程序nf(不流動)和sd(關閉),用來檢查溫度和其他導出值,并設置或清除global,fault1和flow標志。
備用狀態是這樣維持的,按照在th1和th2之間測得的差在第二腔內保持一個小的梯度(斜溫層)。在備用期間,當梯度下降到gradmn以下時,就為第二腔供熱。當梯度上升到等于gradmx的一個量時,就切斷供熱。常數gradmn等于15或大約是1.5°F,而gradmx等于20或大約比gradmn高2.0°F。備用期間的平均梯度大約是4°F。
參見圖29和30,圖29表示在global變量內使用的標志,而圖30表示在flow變量內使用的標志。
如果變量tavg低于40°F,就設置COLD標志(global.2),表示應該為所有腔增加少量熱量以免結冰。
FLOW TIMER(flow.2-flow.0)是一個三位計數器,它在使用中被初始化到7并且遞減計數到0。
在偏差derivt的絕對值>1時設置CHG FLOW標志(flow.3),否則就清除。
如果(th1-(th2+epsilcon))-gradmn)>=gradmx,就設置MAXGRADIENT標志(flow.4),否則就清除。
如果th1-(th2+epsilcon)>=gradmn,就設置MIN GRADIENT標志(flow.5),否則就清除。
如果th1>=(th2+epsilcon),就設置NO-FLOW標志(flow.6),其中的epsilcon等于25或2.5°F,否則就清除。
如果th1>=tsp,就設置SHUTDOWN標志(flow.7),否則就清除。
以下是各種狀態的說明狀態0-不確定狀態0-當首次供電時在硬件初始化之后輸入不確定,或者是如果軟件監視定時器已經到時。所有元件都關斷。如果設置了NO-FLOW標志,就接著進入狀態3-NO-FLOW。否則就接著進入狀態1-控制。
狀態3-NO-FLOW從以下三種狀態都可以進入狀態3-NO-FLOW·狀態0-不確定如果設置了NO-FLOW標志(03)。
·狀態1-控制,如果SHUTDOWN標志被清除并設置了MAX GRADIENT標志(01)。
·狀態2-關閉,如果設置了NO-FLOW標志(23)。
所有元件都關斷。如果NO-FLOW標志被清除(可能是僅僅因為狀態3-控制(33)),下一個狀態就是返回狀態3-控制(33)。
如果設置了NO-FLOW和CHG FLOW標志,就接著進入狀態1-控制(31)。
如果設置了NO-FLOW標志并清除了CHG FLOW標志,就將FLOWTIMER初始化到1,并且接著進入狀態4-備用(冷卻)(34)。
狀態4-備用(冷卻)狀態4-如果設置了NO-FLOW標志并清除了CHG FLOW標志,就從狀態3進入備用(cool)。如果清除NO-FLOW標志,就接著進入狀態1-控制(41)。否則就檢查FLOW TIMER的計數是否已遞減到0,如果是,就接著進入狀態5-備用(加熱)(45)。否則就維持在狀態4-備用(冷卻)(44)。如果FLOW TIMER不是零,就朝著0遞減。如果設置了MAXGRADIENT標志,就將FLOW TIMER重新初始化到7允許常時間冷卻。
從以下兩種條件之一進入狀態4-備用(冷卻)·狀態3-NO_FLOW,當FLOW TIMER變成零時(34)·狀態5-備用,(加熱)設置了NO-FLOW標志并設置了MAXGRADIENT標志,并沒有設置整體COLD標志(也就是溫度沒有達到結冰門限)(54)。
否則,如果NO-FLOW標志被清除,就接著進入狀態1-控制(51)。
否則,如果設置了MIN GRADIENT標志,就設置整體COLD標志并且控制維持在狀態4(44)。
否則,如果MIN GRADIENT標志被清除,就接著按變量power=1進入狀態4-備用(加熱)(45)。
狀態5-備用(加熱)從狀態4進入狀態5-備用(加熱)-備用(冷卻)(45)。
如果NO-FLOW標志被清除,就接著進入狀態1-控制(51)。
否則,如果MAX GRADIENT標志被清除或是設置了整體COLD標志,控制就維持在狀態5(55)。
否則,就是有足夠的熱量,就按變量power=0進入狀態4-備用(冷卻)(54)。
狀態1-控制從六種狀態都可以進入狀態1-控制·狀態0-當NO-FLOW標志被清除時,不確定(01)。
·狀態3-當NO-FLOW標志被清除或是設置了CHG FLOW標志時,不流動(31)。
·狀態4-當NO-FLOW標志被清除時,備用(COOL)(41)。
·狀態5-當NO-FLOW標志被清除時,備用(HEAT)(51)。
·狀態2-當NO-FLOW標志被清除,變量cmtimer是0,并且SHUTDOWN標志被清除時,關閉(21)。
在正常情況下是在狀態1內部調用子程序控制去執行PID環計算并且為元件提供合適的功率。然而,如果設置了SHUTDOWN標志,就將變量cmtimer初始化到2,關閉所有元件,并且接著進入狀態2-SHUTDOWN(12)。
否則,如果MAX GRADIENT標志被設置,關閉所有元件,并接著進入狀態3 No Flow(13)。
否則,如果MAX GRADIENT標志被清除,就調用子程序elemt去測試元件,調用子程序控制去執行PID環計算,并且控制維持在狀態1。
狀態2-Shutdown如果設置了SHUTDOWN標志,就從狀態1-Control進入狀態2-Shutdown(12)。
如果設置了NO-FLOW標志,就接著進入狀態3-NO-FLOW(23)。
否則,如果變量cmtimer還不是0或者是設置了SHUTDOWN標志,控制就維持在狀態2(22)。
如果變量是0并且SHUTDOWN標志被清除,就接著進入狀態1Control(21)。
接著調用CHECKI模塊去檢查公共加熱器故障狀態和多功能按鈕。CHECKI首先對用來驅動液面檢測電路的32.768kHz信號的狀態采樣,讀取液面檢測電路的輸出,并且等待32.768kHz信號從低到高的過渡。CHECKI模塊內部的邏輯處理多功能按鈕動作。如果多功能按鈕被保持5秒以上,并且沒有熱敏電阻故障并設置了Tavg,它標志出繼電器測試,高限開關打開,或者是標志出熱敏電阻匹配處理。
在對應著電源線波峰的時刻對來自+28伏繼電器電源的輸入采樣。CHECKI模塊還作為一個帶滯后的數字濾波器,在接收到來自液面檢測電路的邏輯零輸入時將計數器增值到最大值FFh,并且在接收到方波輸入時將計數器遞減到最小為0。
繼續圖25a的流程,當程序從CHECKI模塊返回時,檢測DISABLE開關的狀態。如果它被打開,控制就通過節點B跳過MODULATE代碼到圖25c的Communications Task。否則控制流程就通過節點A到圖25c,通過測試來檢查系統EEPROM128的配置。如果沒有配置,控制就同樣跳過MODULATE代碼。接著觸發STROBE銷的狀態。當STROBE信號從邏輯低過渡到邏輯高時,硬件監視定時器復位,啟用對繼電器和加熱元件的驅動。
接著檢查global<6>標志,如果設置了該標志就意味著繼電器測試正在進行,而控制分支同樣通過節點B跳過MODULATE代碼。否則就檢測延遲的越線標志,如果它被清除,就跳過MODULATE代碼。否則就清除越線標志作為認可,而控制流程進到MODULATE代碼。中斷子程序在電源線波形過零之后設置越線標志。有關中斷子程序的細節在微型控制器程序的主循環后面描述。
電源線波形的每半周期執行一次MODULATE模塊。如下文所述,它考慮到8-相序電源線波形的理想功率電平及其半秒dc抵銷相位,并且每一給定半周期導通或關斷各個元件。這一過程的執行方式能夠有120級功率電平(或對于2-腔加熱器是60級),不會造成燈光閃爍。
Communications Task模塊接著MODULATE代碼,其響應是檢查串行通信線上的輸入指令。將這些指令按照預定的指令集格式化。用一個進位返回(CR)字符或緩沖器滿來檢測消息的結束。若接收到任何字符,就停止有效的記錄。這種“半雙工”方式是利用同一個通信緩沖器用于發送和接收而經濟地實現的。回應輸入字符并且分析和執行裝配的指令。
隨著Communications Task模塊檢查F100MS標志,如果被清除,控制就通過節點C分支,繞過按1/10秒規律執行的所有代碼。否則就清除F100MS標志作為認定,并且將Relay State Machine中使用的非零的繼電器定時器KTIMER遞減。
接著執行RELAYS模塊,按照變量Kstate中的值進入Relay StateMachine。RELAYS模塊在激勵任何元件之前處理激勵繼電器的順序,并且在加熱器不使用時間段之后使繼電器斷電。當多功能按鈕起動繼電器測試時,RELAYS模塊就在繼電器改變狀態時輪詢各繼電器。
接著進入SIGCODE模塊,它的響應是在紅/綠LED上閃爍的代碼,并且使聽覺指示器發聲。它檢查四個故障字節的狀態,如果設置了這些字節,就用帶蜂鳴聲的紅色閃光輸出一個閃光代碼。認定多功能按鈕和濕度檢測的特定狀態,而溫度檢測產生不同的單音。否則,SIGCODE模塊就保持視覺指示器LED按1Hz“心跳”頻率閃爍綠色。
從SIGCODE模塊起,控制流程通過節點C到達圖25d,檢測FISEC標志,如果被清除,程序就回到MAINL環的開頭。否則,就清除FISEC標志作為認定,并且使程序進到Check Relays和Voltage模塊。
在繼電器打開的情況下,通過比較變量Volts的值與預定的限值來測量AC電源線電壓。該變量是通過A/D模塊中的讀出操作被預先更新的。為高于270V的高電壓設置故障標志fault2<1>,為低于198V的低電壓設置故障標志fault2<2>。這些讀數是標稱控制變壓器原邊電壓(230V)和跨接在電源中未經調節的dc母線上的分壓器的比例的函數。
接著要檢查四個故障字節的內容,并且解析成蜂鳴和閃光代碼。然而是由實際驅動各端口的中斷服務子程序向壓電指示器驅動器晶體管輸出一種音頻方波。
最后檢查F1MIN和F4H16標志,如果被清除,程序就回到MAINL環的開頭。否則就清除各個標志作為認定,并且在圖25e中從EEPROM128中讀出里程表字,增值,然后重新寫入EEPROM128。
參見圖28a-28f,圖中表示了按照本發明最佳實施例的一個中斷子程序的示意性流程圖。圖28a表示中斷服務子程序的開頭。對加熱器的微型控制器來說,中斷是由定時器到時或者是通信硬件(USART)造成的。若接收到中斷,就將MAINL程序當前所執行位置的地址保存在返回地址堆棧中。接著要保存微型控制器的W,STATUS,PCLATH和FSR寄存器。在旁邊設置供中斷和中斷子程序與MAINL程序間相互通信的具體RAM位置。
定時器中斷的發生速率大約是每秒1000次,通信中斷的發生速率大約是每秒240次也就是2400波特。執行一個指令大約需要1μs,每1000個指令發生一次中斷,因此,寫入中斷代碼是為了提高速度。控制從中斷寄存器保存子程序進到圖28b的RUPT節點。檢測Timer1標志,如果被清除,控制就分支繞過所有和定時器有關的代碼跳到圖28f的節點D。否則就清除Timer1標志作為認定,并且將毫秒級定時器增值。特殊的“子循環”軟件計數器也增值,從而將電源線波形的一個半周期(60Hz時是8.33ms,50Hz時是10ms)分離成較小的時間增量。
如果MAINL程序中的SIGCODE模塊被請求發聲,就接著執行SOUND模塊。輸出端口按照中斷速率的二分之一,四分之一或八分之一觸發壓電指示器驅動器,產生500,250或125Hz的單音。這種觸發技術提供50%有效周期的強基本單音。
從SOUND模塊中檢測linx標志以確定從電源線波形最后一次過零起是否1ms到時。如果沒有,控制就分支到SEEIFL模塊,按照1ms定時基準連續測量電源線頻率,并且在60Hz時清除標志global,在50Hz時設置該標志。在每次電源線過零點之后還要清除予循環計數器。執行完SEEIFL模塊,控制就繼續通過節點F到圖28f的COMM中斷處理器。
否則,如果設置了linx標志,控制就轉而分支到LCROSS模塊,使subsec計數器增值,并且根據是否設置了global<7>標志來檢查對60Hz的計數12或50Hz的計數10。在達到這一計數時,電源線波形的半周期的100ms計數就完成了。這樣,就能在一秒內提供除以50或60Hz的定時100ms,500ms也就是定時標志,以此來保證緩慢的變動與電源線頻率的倍數的精確同步。
在達到一秒標記時,控制流程通過節點B到達圖28e,計數累加到一分鐘的設置和256分鐘標志。一分鐘標志可以用來在記錄線結束時傳送一個一分鐘標記。256分鐘標志代表4小時,16分鐘周期習慣上被用于更新里程表位置而不用過多地寫入EEPROM128。控制從一秒鐘處理連接到節點C。
在達到500ms標記時,控制流程通過節點C進入圖28e,設置f500ms標志并用于起動一個新的熱敏電阻測量周期并使LED閃光(僅僅是綠色)。控制從500ms處理連續通過節點D到達圖28f的COMM中斷處理器。
在COMM中斷處理器中,USART的發送或接收(或者是雙方)硬件部分都可以被中斷。檢測發送中斷硬件標志,如果設置了該標志,就將通信排列中的下一個字符裝載到USART發送寄存器中。每次中斷都執行這一程序,直至變量xbc(發送字節計數)遞減到0。接著檢測接收中斷硬件標志,如果設置了該標志,程序就停止任何正在進行的發送,清除通信排列,將剛剛從USART接收到的字符輸入到接收寄存器并且存儲在通信排列中的下一個位置。如果接收到一個CR字符,或者是通信排列已滿,就指示MAINL程序去處理一個指令線。
圖31表示采用流體加熱器的一種循環加熱系統的示意圖。在系統中為一定的面積供熱用于空間加熱,融化冰,或者是供暖,系統能夠將水加熱到118華氏度。在這種情況下,加熱的水還可以為其他用途提供熱水。如果空間加熱設備需要不同的溫度,系統就需要知道用于不同用途的時間。在本例中,流動開關被固定在住宅管道的出口線中用來指示適合使用的溫度。按照空間加熱的用途,由一個自動調溫器來控制循環泵,由系統提供適當的熱量供使用。
參見圖31,冷水入口547按慣例用一個節流閥548連接到系統上。流體加熱系統1000接收流體流入其輸入口2,提供合適的能量將流體加熱到所需的給定值A并且將流體送到其輸出6。循環泵553使流體繞著在流動方向550上橫貫被加熱區域的流體環路511流動。當自動調溫器556指示邏輯電路557需要加熱時,就增加功率以滿足所需的溫升。在環路的某一位置最好是最高點處安裝一個浮動泄流閥552,從系統中排出殘留的空氣。阻止閥549防止冷水反方向循環使泵553關閉。在一般的空間加熱操作中,流體流動傳感器不會為控制邏輯電路指示任何流動。
從COMM中斷處理器起恢復出FSR,PCLATH,STATUS和W微型控制器寄存器所保存的內容,并且執行一個RETURN指令,繼續執行MAINL程序。
本發明特別適合用來實現上述的目的并取得所述的優點。盡管本發明是參照本發明的最佳實施例來解釋,描述和限定的,這樣的參照并不是為了限制本發明,不應該認為是一種限制。本發明在形式和功能上能夠有許多修改,變更和等效物,這對于本領域技術人員是顯而易見的。對本發明最佳實施例的描述僅僅是一些例子,并不代表本發明的范圍。本發明是由權利要求書的原理和范圍來限制的,它從各個方面給出了對等效物的充分概括。
圖32的流程圖表示在流體加熱器中僅僅使用溫度和功率數據的流速檢測方法。利用溫度傳感器和加熱器功率數據建立起一種間接測量流動的方法。該方法依賴于存儲溫度和功率數據的時間記錄的能力,并且使用熱傳導的基本關系來計算流速。
為流速計算提供基本關系的熱力學公式是以下的關系q=mcp(t2-t1)這其中
·q=系統的熱定額(BTU/Hr)·m=質量流速(Lb/Hr)·cp=水的比熱(1BTU/Lb華氏度)·(t2-t1)=溫度增量(華氏度)整理公式并且用變換系數消去后獲得合適的單位,就能將這種關系表示成下式Flow rate(1bs/hr)=Average Heater Power(kW)*3.413/Delta Tavg;式中的Tavg是上文所述在T1和Tin值基礎上的溫差。Tin對應著流體的入口溫度,并且在q的公式中被選做t1,因為它在加熱器工作過程中按預期被認為是一個穩定值。在q的公式中將T1選做t2,因為按預期它在系統中能對輸入功率提供最快響應時間,并且在加熱器的多腔實施例中能夠比任何下游熱敏電阻更好地與入口溫度相關聯。計算中包含存儲大約用于10秒鐘操作的數據的時間記錄。可以存儲t1和t2之間的平均溫差,并且可以用一個平均值來平滑整個時間段內的計算。也可以記錄20秒操作的系統功率。
可以相對于流速計算來編制平均功率數據,用來校正相對加熱器響應時間。換句話說,為了減緩流速,可以參照最早存儲的一組功率數據來確定平均功率輸入,而為了加快流速則可以參照最近的功率數據來確定功率輸入的平均值。這樣,系統的開環響應時間的典型記錄如下0.5秒@3g.p.m(每分鐘加侖)升級到10秒@不流動。可以按各單位測量更精確的延遲,并且采用適當調節這一參數的方法。
這一流速計算方法為精確地計算通過流體加熱器的流速提供了一種速代的方法。該方法響應工作條件所微小變化并趨于自動穩定。然而,對于工作條件的急劇變化例如是在加熱器起動,關閉或其他脈動式變化(例如是流速從低變高或者是相反)時出現的情況,上述的流速計算不足以提供快速響應。因此,在控制策略中增加了兩個超前的控制段,它是根據具有最高優先權的出口溫度測量值(T4)和給予T1的第二位優先權段來建立的。二者都可以在突然偏離穩定工作時用于對流速變化的快速響應。這些控制段可以根據工作范圍而自動調節。在某些流動狀態下可以展寬控制段以便有效地計算流速(特別是在低速情況下),以免給流體加熱器基于流速的控制帶來干擾的控制脈沖。加熱器在“安全”控制段內維持穩定功率電平的時間越長,系統的收斂就越好,并且能穩定在正確的流速上,并自動穩定加熱器操作。
可以利用計算的流速來確定加熱器功率的最佳給定值Tsp調節量,從而實現最佳的正向流動加熱器溫度控制。對加熱器功率的這種調節可以使用以下公式Power(BUT/Hr)=Computed Flow Rate(Lb/hr)*(Tsp-Tin)提供的功率可以是從BTU/Hr變換成用于控制加熱元件功率的千瓦值。一種方法是采用級聯的IF測試以確定水加熱器采用三個控制信號當中的哪一個。采用優先的方案,可以用一個與控制方法成比例的高增益來強制對流速變化的快速響應。在持續穩定狀態流體加熱器操作中可以用一種迭代控制方法來優化加熱器功率。如果各個傳感器指示都處在其控制段以內,系統就用它的流速計算來執行正向流動。隨著時間的延續優化迭代流速計算,并且很快地穩定在系統的理想給定值上。
當輸入數據指示出某些故障狀態時(例如是熱敏電阻或加熱元件故障),利用額外的傳感器和稍有不同的控制標準還可以實現對加熱器穩定性的改進。可以根據對加熱器故障的評估來提供平均溫度,并且在程序中可以包括在診斷到故障之后用于穩定控制的策略。
本發明特別適合用來實現上述的目的并取得所述的優點。盡管本發明是參照本發明的最佳實施例來解釋,描述和限定的,這樣的參照并不是為了限制本發明,不應該認為是一種限制。本發明在形式和功能上能夠有許多修改,變更和等效物,這對于本領域技術人員是顯而易見的。對本發明最佳實施例的描述僅僅是一些例子,并不代表本發明的范圍。本發明是由權利要求書的原理和范圍來限制的,它從各個方面給出了對等效物的充分概括。
權利要求
1.由交流(AC)電源供電的一種流體加熱器,上述加熱器包括具有至少一個腔的外殼,上述外殼具有流體入口和流體出口;多個電動加熱元件,上述多個加熱元件各自位于上述至少一個腔的其中一個之內,用于加熱流動的流體;功率控制器,用于控制上述多個加熱元件各自對AC電源的連接,讓上述多個加熱元件各自在確定一種功率電平的多個功率周期圖形當中各自連接至少一個半周期,其中上述多個加熱元件各自的連接是按順序定時的,實際降低切換頻率,以免給AC電源造成明顯可察覺的閃爍;一或多個流體溫度傳感器,各自響應其在至少一個腔內選定位置上的流體溫度;以及用于控制流體出口上流動流體的理想溫度的一個邏輯電路,上述邏輯電路從一或多個流體溫度傳感器接收溫度信息,并且將溫度信息提供給上述功率控制器。
2.按照權利要求1的流體加熱器,其特征是上述加熱元件所工作的多個功率電平是從0/120,15/120,30/120,45/120,60/120,75/120,90/120,105/120和120/120所構成的組中選擇的,這些分數中各自的分子代表AC電源在為上述多個加熱元件供電的一秒鐘內的半周期數。
3.按照權利要求2的流體加熱器,其特征是上述多個加熱元件被連接到AC電源,在上述多個功率電平中的一個較小電平和一個較大電平之間抖動,從而產生理想流體加熱功率電平,使上述多個加熱元件在一定時間周期內產生的平均功率圖形基本上等于一個理想流體加熱功率圖形。
4.按照權利要求3的流體加熱器,其特征是上述時間周期小于15秒。
5.按照權利要求4的流體加熱器,其特征是上述多個功率圖形當中較小的一個是用理想流體加熱功率圖形除以時間周期的二倍并取其結果的整數部分而確定的。
6.按照權利要求5的流體加熱器,其特征是上述多個功率圖形當中較大的一個比上述多個功率圖形當中較小的一個大一級。
7.按照權利要求1的流體加熱器,其特征是上述加熱元件所工作的多個功率電平是從0/2x,12.5/2x,25/2x,37.5/2x,50/2x,62.5/2x,75/2x,87.6/2x和100/2x所構成的組中選擇的,這些分數中各自的分子代表一個xHz的AC電源在為上述多個加熱元件供電的一秒鐘內的半周期數。
8.按照權利要求1的流體加熱器,其特征是上述多個加熱元件以上述多個功率周期組的基本上相同的偶數和奇數半周期數被連接到AC電源,以便減少AC功率中的DC成分。
9.按照權利要求8的流體加熱器,其特征是上述多個功率周期組有四個周期。
10.按照權利要求1的流體加熱器,其特征是上述至少一個腔是兩個腔的整倍數。
11.按照權利要求10的流體加熱器,其特征是上述至少一個腔是四個腔。
12.按照權利要求1的流體加熱器,其特征是上述至少一個腔是三個腔的整倍數。
13.按照權利要求1的流體加熱器,其特征是上述至少一個腔是至少兩個腔,在每個腔內具有至少一個加熱元件。
14.按照權利要求1的流體加熱器,其特征是上述至少一個腔是四個腔,在每個腔內具有至少一個加熱元件。
15.按照權利要求1的流體加熱器,其特征是上述邏輯電路接收一個代表溫度給定值的信號,并且上述邏輯電路向上述功率控制器發送一個理想功率圖形,由控制器控制上述多個加熱元件的連接,將流體出口上被加熱流體的溫度基本上維持在給定值溫度。
16.按照權利要求15的流體加熱器,其特征是上述一或多個溫度傳感器包括分別位于流體入口,流體出口和至少一個腔之一各處的多個溫度傳感器,上述溫度傳感器被連接到上述邏輯電路,上述邏輯電路用來自上述多個溫度傳感器的溫度信息來計算與給定值溫度的偏差。
17.由交流(AC)電源供電的一種流體加熱器,上述加熱器包括具有至少一個腔的外殼,上述外殼具有流體入口和流體出口;多個電動加熱元件,上述多個加熱元件各自位于上述至少一個腔的其中一個之內,用于加熱流動的流體;功率控制器,用于控制上述多個加熱元件各自對AC電源的連接,讓上述多個加熱元件各自在確定一種功率電平的多個功率周期圖形當中各自連接至少一個半周期,其中上述多個加熱元件各自的連接是按順序定時的,實際降低切換頻率,以免由于AC電源造成明顯可察覺的閃爍;用來控制流體出口處流動流體的理想溫度的邏輯電路,上述邏輯電路從一或多個流體溫度傳感器接收溫度信息,并且將溫度信息提供給上述功率控制器;上述邏輯電路確定一個計算的給定值,并且減去由上述多個溫度傳感器測得的溫度之和,從而計算出一個偏差;計算的給定值等于從1到腔數整數之和除以腔的數量乘以Trise再加上Tin乘以腔數,其中的Tin是流體入口溫度,Trise是理想流體出口溫度與Tin之間的差;偏差等于計算的給定值減去由上述多個溫度傳感器測得的溫度之和;以及如果偏差是正值,上述邏輯電路就令上述功率控制器增加給上述多個加熱元件的功率,如果偏差是負值,上述邏輯電路就令上述功率控制器降低給上述多個加熱元件的功率。
18.由電源的交流(AC)電功率供電的一種流體加熱器,上述流體加熱器包括具有至少一個腔的外殼,上述外殼具有流體入口和流體出口;位于上述至少一個腔內的至少一個得到供電的加熱元件,用于加熱流經上述至少一個腔的流體;流體液面檢測和關閉電路,包括位于上述至少一個腔內與流體相接觸的流體液面電極,第一端連接到流體液面電極的一個電容,第一端連接到電容第二端的一個電阻,上述電阻的第二端連接到方波頻率源,其頻率比AC電源高,以及一個電壓比較器,其輸入連接到電容的第二端和電阻的第一端,如果比較器輸入電壓因流體液面電極接觸到流體而大于預定值,電壓比較器的輸出就是第一邏輯電平,如果比較器輸入電壓因流體液面電極沒有接觸到流體而小于或等于預定值,電壓比較器的輸出就是第二邏輯電平,還有一個邏輯電路,用于在上述電壓比較器的輸出處在不一致的邏輯電平時從AC電源上斷開上述至少一個加熱元件。
19.由交流(AC)電源供電的一種流體加熱器,上述加熱器包括具有至少一個腔的外殼,上述外殼具有流體入口和流體出口;位于上述至少一個腔內的至少一個得到供電的加熱元件,用于加熱流動的流體;用來控制上述多個加熱元件各自與AC電源的連接的功率控制器,讓上述多個加熱元件各自在確定一種功率電平的多個功率周期組當中各自連接至少一個半周期,其中上述多個加熱元件各自的連接是按順序定時的,實際降低切換頻率,以免給AC電源造成明顯可察覺的閃爍;一或多個流體溫度傳感器,它們各自響應至少一個腔內選定位置上的流體溫度;以及用來控制流體出口處流動流體的理想溫度的一個邏輯電路,上述邏輯電路從一或多個流體溫度傳感器接收溫度信息,并且將溫度信息提供給上述功率控制器。
20.按照權利要求19的流體加熱器,其特征是進一步包括監視電路,在上述邏輯電路操作錯誤時阻止上述至少一個加熱元件連接到AC電源,上述監視電路包括一個定時電路,其輸入連接到上述邏輯電路,而輸出連接在上述定時電路輸出是第一電平時控制上述至少一個加熱元件,并且在第二電平時關斷上述至少一個元件,采用連接在上述定時電路輸入和來自上述邏輯電路的一個脈動輸出之間的電容,如果有來自上述脈動輸出的脈沖流,上述監視電路的輸出就是第一邏輯電平,如果沒有來自上述脈動輸出的連續的脈沖流,上述監視電路的輸出就是第二邏輯電平。
21.按照權利要求19的流體加熱器,其特征是進一步包括流體泄漏檢測電路,用于在上述至少一個腔外面檢測到流體時發出警報,上述流體泄漏檢測電路包括位于上述至少一個腔的外側并且在其下部附近的流體傳感器,以及連接到上述流體傳感器的流體傳感器檢測電路。
22.按照權利要求19的流體加熱器,其特征是進一步包括低功率備用電路,它包括位于上述至少一個腔頂部的至少一個上溫度傳感器,和位于上述至少一個腔底部的至少一個下溫度傳感器,為上述至少一個加熱元件提供低功率,產生一個斜溫層以指示在上述指示一個腔內有沒有流體流動,由上述至少一個上溫度傳感器和上述至少一個下溫度傳感器指示流動或不流動,使上述邏輯電路和上述功率控制器控制提供給上述至少一個加熱元件的加熱功率。
23.使用循環加熱流體的一種加熱系統,上述加熱系統包括敷設在一個被加熱區域的閉環管道系統,上述閉環管道系統中流過被加熱的流體;用于將加熱的流體泵入閉環管道系統的循環泵;以及由交流(AC)電源供電的一種流體加熱器,上述加熱器包括具有至少一個腔的外殼,上述外殼具有流體入口和流體出口,各自位于上述至少一個腔內并且適合加熱流動流體的至少一個得到供電的加熱元件,適合控制上述至少一個加熱元件與AC電源的連接的一個功率控制器,讓上述至少一個加熱元件各自在多個功率周期組當中各自連接至少一個半周期,其中上述至少一個加熱元件的連接是按順序定時的,實際降低切換頻率,以免給AC電源造成明顯可察覺的閃爍,以及用來控制流動流體的理想溫度的一個邏輯電路,上述邏輯電路連接到上述功率控制器,并且向其傳送溫度控制信息。
24.按照權利要求23的加熱系統,其特征是上述流動流體的溫度可以由使用來控制。
25.由交流(AC)電源供電的一種用于基本上瞬時加熱流體的流體加熱器,上述加熱器包括具有至少一個腔的外殼,上述外殼具有流體入口和流體出口;得到電源的多個加熱元件,上述多個加熱元件各自位于用于加熱流體的一個上述至少一個腔內;分別連接到上述多個上述加熱元件的電源;以及自動測試上述流體加熱器操作的測試電路。
26.按照權利要求25的流體加熱器,其特征是測試電路按照小于一小時的時間間隔反復并自動地測試加熱器的操作。
27.按照權利要求25的流體加熱器,其特征是測試電路有選擇地為多個加熱元件分別供電,檢測作為其響應的溫升,并且將檢測到的升高的溫度和一個預定的溫升相比較,以確定一個代表有問題的不足的溫升。
28.按照權利要求25的流體加熱器,其特征是測試電路自動測試一或多個熱敏電阻,一或多個繼電器,或者是一或多個三端可控硅開關的操作。
29.按照權利要求25的流體加熱器,其特征是測試電路由硬件和固件兩者構成。
30.在由一個交流(AC)電源供電的流體加熱器中使用的多個熱敏電阻的一種匹配方法,加熱器基本上瞬時加熱具有至少一個腔的一個外殼內的流體,外殼具有流體入口和流體出口,該方法包括讓流體通過至少一個腔并通過多個熱敏電阻中的每一個,使多個熱敏電阻中的每一個都能受到基本上穩定的已知溫度的流體;從多個熱敏電阻中的每一個輸出信號,表明多個熱敏電阻中每一個所檢測的流體溫度;將多個熱敏電阻各自的輸出與一個標準相比較;并且響應這種比較來調整多個熱敏電阻各自的輸出,使多個熱敏電阻各自的經過調整的輸出基本上穩定。
31.按照權利要求30的方法,其特征是進一步包括用新的熱敏電阻替換多個熱敏電阻當中的至少一個;將新的熱敏電阻的輸出與上述標準相比較;并且調整新的熱敏電阻的輸出,使各個熱敏電阻的輸出基本上穩定。
全文摘要
對瞬時流動的流體加熱器系統(1000)的控制包括一種邏輯控制方法,對多個加熱元件(5)提供小步幅的功率調制,限制對閉環控制需要的響應,不會造成燈光閃爍。用脈寬調制的驅動方式激勵線圈,降低工作周期,可以延長加熱電路的機電繼電器的線圈壽命,并且能檢測電源電壓上升時可能的線圈熱量。禁止在檢測到繼電器線圈失去電源時立即驅動加熱元件的三端可控硅開關,因而能延長繼電器觸點的壽命,例如是打開過熱限制開關(8),以便確保繼電器觸點在加熱元件電流為零時打開。
文檔編號H05B3/10GK1370261SQ00811685
公開日2002年9月18日 申請日期2000年6月15日 優先權日1999年6月16日
發明者戴維·塞茲, D·P·夏普, T·L·哈曼, L·J·埃弗雷特, R·H·紐曼恩 申請人:戴維·塞茲