我需要將溫度設置在20°C至300°C之間。我正在使用具有1%佔空比分辨率的PWM輸出。整個PWM週期和PID迴路時序能否達到負載溫度跨度的1%精度?
我需要將溫度設置在20°C至300°C之間。我正在使用具有1%佔空比分辨率的PWM輸出。整個PWM週期和PID迴路時序能否達到負載溫度跨度的1%精度?
這取決於負載的時間常數。加熱的負載通常會在10秒內做出響應。
如果您在一秒鐘內生成30%的PWM,然後在下一秒內生成31%的PWM,則在幾秒鐘內平均達到30.5%。
烤箱恆溫器往往會在一分鐘,一分鐘關閉的情況下運行,並且仍能使烤箱溫度穩定在個位數C左右。每秒調整一次1%的PWM可能會比這好幾個數量級。
鑑於以下事實:相對於其他規定(電壓,電流等),溫度調整非常慢,您可以使用微控制器(我想您已經這樣做了),但是增加了PWM信號的寬度。
想像一下,要使系統穩定,您需要具有3.8%的脈衝寬度。您只需在20%的時間內應用3%的佔空比,在其餘80%的時間內應用4%的佔空比。在一秒鐘左右的時間內完成該操作將使您達到所需的精度。
措辭奇特的問題,但是我想您要問的是,負載溫度將以1%步進分辨率的PWM以1%步進遞增。即每步2.828C。
儘管聽起來應該如此,但答案可能是否定的。
原因是,要使這種情況發生,功率輸入和負載中的溫度上升之間必須存在一對一的關係。但是,根據負載的幾何形狀和環境,這不太可能是正確的。
為了將物體加熱到特定溫度,您需要添加足夠的功率以平衡在該溫度下物體損失到周圍環境的功率。問題是,隨著溫度的升高,被加熱物體表面的傳熱效率通常也會發生變化。
在較小的溫度範圍內,功率與溫度的關係幾乎可以認為是線性的,但是300℃並不是一個很小的溫度範圍。
無論您計劃加熱的溫度如何線性,以及1%的精確度(即1%的正負值是多少?)當然都超出了本問題和答案的範圍。但是我會懷疑,要使其升至最近的50C,您將需要投入更多的增量功率,而不是將其升至70C。
ADDITION
從您的問題非常不清楚,您是否在控制迴路中包括了溫度感應功能。我懷疑,既然您問了這個問題,答案是否定的,所以這個答案的重點。
如果您需要在所有條件下準確設置溫度,則確實需要將該測量值重新綁定到系統控制迴路中。到那時,您可以隨時間改變PWM調製方式,以盡可能精確地保持溫度,而溫度保持一定的熱滯後和遲滯。
但是,當然,在大型物體上準確測量溫度本身就是一個挑戰。
如果您的控制器或控制算法代碼可以測量負載溫度並以高於“ 1%的分辨率”(請注意輸出與溫度的關係不是線性的)跟踪所需的輸出,則可以實現正如Neil_UK的答案所暗示的,通過抖動,其有效輸出分辨率大大優於1%。您可以管理的實際改進將取決於負載的時間常數相對於輸出的循環時間有多長。
如果您的控制器或代碼無法執行此操作,則負載溫度將有所波動。例如,如果設定點和環境條件使得所需負載溫度的“正確”輸出為30.5%,則輸出可獲得的最接近值為30%,在這種情況下,負載將冷卻至略低於設定點,或31%,在這種情況下,它將加熱到略高於設定點的溫度,只有通過“注意到”實際負載溫度的偏差,控制器才能更改其輸出以校正偏差。
我想在後一種情況下,波動的大小將取決於控制算法中的比例係數和微分係數,並且您的任務將(一如既往)將控制器調整為最佳精度,而又不會帶來不穩定或過大的風險
也請考慮一下accuracy的確切含義。您需要絕對精度(設定值100°C給出的控制值確實是100±0.1°C)還是僅僅是穩定(控制值可以在98到102°C的範圍內穩定,然後保持穩定在±0.1°C之內) C)?溫度測量的絕對精度比人們想像的要難得多,但是在許多應用中,只要穩定性好,絕對精度就不那麼重要。
很有可能是。我已經完全按照您在商業產品中的要求做了。
我說“最可能”而不是“是”的原因是,獲得比PWM分辨率更高的溫度分辨率要求PWM週期顯著小於主導的熱時間常數。除非您有一個非常不尋常的加熱器(白熾燈絲可能是一個例子),否則將滿足這一要求。
我正在編寫通過X射線管控制電流和電壓的固件。更高級別的邏輯將指定電壓和電流是多少,而固件的工作就是做到這一點。
在這種情況下,該管僅是陰極和陽極,沒有柵格。通過改變陰極加熱器的驅動水平來控制束電流。這大約相當於它的體積小巧,但它的時間常數仍然是幾毫秒。
加熱器的PWM運行在多個kHz,比任何有意義的加熱器響應頻率快許多倍。不幸的是,PWM分辨率太低,無法在所需的誤差容限內實現某些所需的電流。陰極溫度對束流高度非線性的作用沒有幫助。
如果這是對PWM的唯一限制,那麼我可以增加PWM週期以獲得更高的分辨率。但是,該處理器做了很多事情,由於硬件限制,同一時鐘用於其他事情,無法更改。
解決方案是實現PWM佔空比的抖動。如果我沒記錯的話,我使用了8個不同的佔空比值。在這種情況下,我可以在微控制器中使用DMA引擎自動對8個值進行排序。佔空比設置例程進行了數學運算,並將0到7的值調整為比第一個高一個數。
這有效地提供了8倍更高的PWM分辨率。相對於加熱器時間常數,PWM週期x8仍然很短,因此加熱器仍然很容易平均多個佔空比值。
我看到Trevor已經涉及到這一點。加熱器的溫度通常與輸入功率成非線性關係。這通常是由於對流不會隨溫度線性變化,因此對較熱的物體進行冷卻的比例要高得多。在更高的溫度下,黑體輻射變得很明顯。輻射功率也與溫度呈非線性關係。
在我的案例中,不僅陰極主要通過黑體輻射冷卻(處於真空狀態),而且溫度對電子束電流的函數也高度非線性。
非線性系統難以控制。 PID之類的簡單方法或任何從S域分析中導出的方法都不適用於非線性系統。如果嘗試這樣做,最終將使該範圍的某些部分過度阻尼,僅是為了保持該範圍其他部分的穩定性。在過度衰減的範圍內,這可能導致建立時間過長,無法接受。
我在這種情況下使用的解決方案(也是我在其他一些項目中使用的解決方案)是從控制迴路的角度對系統進行線性化處理。
我是通過在控制器輸出和系統輸入之間插入分段線性查找來實現的。在製造過程中,系統在多個設定點開環運行。結果被用來填充存儲在每個單元唯一的非易失性存儲器中的查找表。
在查找表的任何段內,系統仍然是非線性的。但是,這些段僅佔系統範圍的一小部分,因此系統特性在一個段上變化不大。如果有,則使用更多的細分。
結果效果很好。是的,所有這些都在商業產品中運行,您可以立即購買。
幾個人已經提到了這一點,但我想澄清一下。
注意:如果您的加熱器具有內置的電子溫度控制,請跳至我的答案的最後一部分。
相反,它控制加熱器消耗多少能量。如果空間加熱器處於理想的絕緣狀態,則恆定的PWM信號將控制溫度的升高速度-直到加熱器自身或其外殼熔化。
實際上,對流,輻射或其他過程不可避免地會散失熱量,因此可以形成穩定的平衡:如果將加熱器加熱到100%循環,則可以在某些預定義的情況下將其加熱到300°C。 / p>
但是,這些情況永遠都不可靠:風,氣壓,濕度和環境溫度可能會使加熱器的佔空比對溫度的額定值產生偏差。
如果您的溫度很高(高於約200°C),由於外界因素可以忽略不計,您也許可以避免變化,但是在那種情況下,確切的溫度還是不太精確,因此sub-1調整百分比沒有任何意義。
控制溫度的可靠方法是使用溫度傳感器: 如果期望的溫度更高然後感測到,則以100%的功率為加熱器供電;如果較低,則完全切斷電源。
不使用100%電源或不使用電源的原因是加熱器始終是無功的,您很可能希望溫度盡快達到所需水平。
讓我們假設您有一個通常能在20°至300°C的加熱器,並且您需要將其從室溫加熱至100°。
如果以30%PWM佔空比為其供電,它將開始快速升高溫度,但隨後逐漸降低。根據加熱器的類型,可能要花幾個小時才能真正達到所需的溫度。那是因為熱量損失隨著熱量的差異而增加,所以最後幾度花費的時間最長。
相反,您應該使用100%的可用功率為加熱器供電,以使其更快地達到所需溫度。
當溫度達到理想值時,您仍然需要對加熱器上突然吹來的狂風或類似後果迅速做出反應。
在某些情況下,加熱器,其負載和傳感器可能都具有很強的反應性,因此電路可能需要在一定程度上預測由加熱器引起的溫度變化。
如果這不可行,則向加熱器饋入分數功率實際上可能對使溫度保持在所需水平有用。
在這種情況下,確切的詳細信息(包括問題的答案)可能取決於加熱器的物理參數,其負載和環境。否則溫度必須真的非常穩定。
在這些情況下,PWM信號不需要精確,而是應根據探頭讀數上下自行調整。
電加熱器可能無法設計成使用PWM電源工作。取決於其構建的精確程度,它可能會開始振動並最終破壞自身或引起其他無法預料的問題。
幾乎所有加熱器都消耗大量功率。用於此類應用的PWM控制晶閘管或晶體管可能效率很低,並且不僅價格昂貴,而且需要大量冷卻。
關於相位校正晶閘管(用於交流),由於交流電源可能不是理想的正弦波,因此使用它們無法可靠地實現低於1%的精度。
某些“加熱器”實際上可能是自己感應溫度並控制功率的電子設備。期望溫度可以通過PWM信號來設置。這些很少見,但這是唯一可以解釋佔空比與溫度之間直接關係的理論。
在這種情況下,對問題的答案取決於加熱器的內置控制電子設備。假設電子設備本身足夠精確,則問題中描述的精確調整可能會起作用-該事實應在其文檔中說明。
由於幾乎所有此類加熱器都在內部工作,如我之前所述,它們經常執行相當長的開關週期,因此,無論PWM信號的精度如何,實際溫度都可能隨時間上下波動。