PIDヒーターループで1%の分解能を持つPWMは、1%を超える温度精度を達成できますか?


8

20°C〜300°Cの温度を設定する必要があります。1%デューティサイクルの分解能でPWM出力を使用しています。全体的なPWM周期とPIDループタイミングは、負荷の温度スパンの1%を超える精度を実現できますか?


10
1%の温度精度の定義を調整する必要があります。20 Cを300 Cに、293 Kelvinを573 Kに書き換えるとします。1%は別の数値です。デバイスに(長い)時定数(熱質量)が存在する場合は、適用する値を平均化して十分な時間の精度を達成できるため、精度が向上する可能性があります。
Bimpelrekkie、2017年

ヒーターに電力を供給するゼロ電流ターンオフおよび50/60 Hz主電源ACのソリッドステートリレーを具体的に使用していますか?
DeusXMachina

熱質量に応じて、オン/オフ制御はおそらく十分です
Scott Seidman '22

私はPIDコントローラーについては知りませんが、私は仕事のポッティング硬化オーブンを制御するアプリケーションを作成しました。これは、30秒のPWM周期を1秒の分解能で使用して、温度を目標温度の1-2°C以内に維持できる(一般的には約) 80°C)これはSSRを使用して制御され、2KWの発熱体と空気を循環させるファンを備えています。興味があれば、コードはbitbucket.org/snippets/gds-uk/qj9yE/oven-controllerから入手できます。
RobbG 2017年

また、負荷の熱伝導率が変化することにも注意してください。攪拌された液体や非常に小さなものでない限り、負荷全体の温度の変化は1%を超える可能性があります。
pjc50 2017年

回答:


21

負荷の時定数に依存します。加熱された負荷は数十秒で応答することがよくあります。

1秒間に30%のPWMを生成し、次の1秒間に31%のPWMを生成すると、数秒間の平均で30.5%のようになります。

オーブンサーモスタットは、1分間オン、1分間オフで動作する傾向があり、Cの1桁まで安定したオーブン温度を実現します。1秒に1回調整される1%PWMは、それよりも数桁優れています。


8
コンピューターグラフィックスで色深度を増やす同等の手法の後で、これを「ディザリング」と呼びますが、それをどれほど一般的に呼ぶかはわかりません。
ピートカーカム2017年

1
私はまったく同じ用語を使用していることに気づいたので、それはそれほど遠くにあるはずがないと思います。
DeusXMachina

1
@PeteKirkham私は通常それをディザリングと呼んでいます。
winny 2017年

9

はい。

他のレギュレーション(電圧、電流など)に比べて、温度レギュレーションは非常に遅いという事実を考えると、できることはマイクロコントローラーを使用することです(私はすでにそうしていると思います)、PWM信号の周期的な変動を追加します幅。

システムが安定するためには、3.8%のパルス幅が必要であると想像してください。20%の時間に3%のデューティサイクルを適用し、残りの80%に4%のデューティサイクルを適用するだけです。1秒程度でこれを行うと、必要な精度を達成できるはずです。


7

奇妙な言い方の質問ですが、あなたが質問していると思うのは、負荷の温度が1%ステップずつ増加し、PWMが1%ステップの分解能になるということです。つまり、ステップあたり2.828C。

あるべきように聞こえますが、その答えはおそらくノーです。

その理由は、そのためには、電源投入と負荷の温度上昇の間に1対1の関係が必要です。ただし、負荷の形状と環境によっては、そうなる可能性は低いです。

何かを特定の温度に加熱するには、オブジェクトがその温度で周囲に失う力と釣り合うのに十分な電力を追加する必要があります。問題は、温度が上昇すると、通常、加熱対象の表面からの熱伝達効率も変化することです。

ここに画像の説明を入力してください

温度範囲が狭い場合、電力対温度はほぼ線形と見なすことができますが、300Cは小さな温度範囲ではありません。

あなたが加熱について計画しているものはどれほど線形であり、1%がどれほど正確である必要があるか(つまり、1%プラスかマイナスか?)はもちろん、この質問の範囲を超えています。しかし、最後の50Cに到達するには、70Cに到達するよりも多くの増分電力を投入する必要があると思います。

添加

制御ループに温度検知が含まれているかどうかは、質問からは非常に不明確です。あなたが質問したので、その答えは「いいえ」なので、この答えに焦点を当てていると思います。

すべての条件下で温度を正確に設定する必要がある場合は、その測定値をシステム制御ループに結び付ける必要があります。その時点で、温度を測定できる限り正確に保持するために、PWM変調を時間的に変化させることができます。すべて、ある程度の熱遅れとヒステリシスがあります。

しかしもちろん、大きな物体の温度を正確に測定することは、それ自体が困難な場合があります。


1
ありがとう。しかし、公平を期すために、省略した情報を少し追加します。つまり、100%PWMは300degCを生成します。もちろん、あなたの答えは実際にはスケールのボトムエンドに当てはまります
Dirk Bruere '22

@DirkBruereテストするのは簡単です。50%に設定して温度を測定します:)
Trevor_G

それは間違いなく非線形になります
Dirk Bruere

正解としてのNOはおそらく正しくありません。Neil_UKの回答を参照してください。「正確ですが、かなり一般的な状況では、はい」と要約できます。ホームオーブンは完璧な例です。
Caterpillaraoz

@Caterpillaraozええ、私は推測します。次の文ですでに修飾していますが。とにかく、そこにある必要はありません..ハメ撮り。フィードバックをお寄せいただきありがとうございます。
Trevor_G 2017年

6

場合によります。

コントローラーまたは制御アルゴリズムコードが負荷温度を測定し、「1%の分解能」よりも優れた目的の出力を追跡できる場合(温度と出力の関係は線形ではないことに注意)、それよりもはるかに優れた結果を得ることが可能です。Neil_UKの回答が示唆するように、ディザリングによる1%の効果的な出力解像度。管理できる実際の改善は、負荷の時定数が出力のサイクルタイムに対してどれだけ長いかによって異なります。

コントローラーまたはコードがこれを実行できない場合、負荷温度が多少変動します。たとえば、必要な負荷温度の「正しい」出力が30.5%になるようなセットポイントと環境条件の場合、出力が得ることができる最も近いのは30%です。この場合、負荷はセットポイントよりわずかに低く冷却されます。 、または31%の場合、セットポイントをわずかに超えて加熱され、実際の負荷温度のこの偏差に「気づく」ことによってのみ、コントローラはその出力を変更して偏差を修正できます。

後者の場合の変動のサイズは、制御アルゴリズムの比例係数と微分係数に依存し、不安定さや過度のオーバーシュートのリスクを冒すことなく、コントローラーを最高の精度で調整することが(いつものように)タスクになると思います。

また、正確にあなたが何を意味するかを考えるの精度。絶対精度が必要ですか(100°Cの設定値により、実際には100±0.1°Cの制御値が得られます)または単なる安定性(制御値は98〜102°Cの範囲で安定する可能性がありますが、±0.1°以内に安定します) C)?温度測定の絶対精度は、人々が想定するよりも達成が困難ですが、安定性が良好である限り、絶対精度がそれほど重要ではない多くのアプリケーションがあります。


+1私はこれとここでのすべての答えに同意しますが、OPの質問のどこにも、これが閉ループシステム、つまり温度フィードバックがあることを示していません。それは彼らがそれをしたであろう方法であるので、それは皆が仮定したものです。
Trevor_G 2017年

@TrevorタイトルはPIDヒーターループで述べています
nekomatic

はい、ありますが、それは何を意味するか、何も意味しない可能性があります。OPが温度を感知していないか、正確に測定できないのではないかと思います。検証せずにブット...誰が知っている。
Trevor_G 2017年

6

おそらくそうです。私はあなたが商業製品で求めていることを正確に行いました。

単に「はい」ではなく「最も可能性が高い」と言った理由は、PWMの分解能よりも高い温度分解能を得るには、PWM周期を主要な熱時定数よりも大幅に小さくする必要があるためです。非常に珍しいヒーター(白熱電球のフィラメントがその一例である可能性があります)がない限り、この要件は満たされます。

実際の例

X線管を介して電流と電圧を制御するファームウェアを書いていました。より高いレベルのロジックは、電圧と電流がどうあるべきかを指定し、私のファームウェアの仕事はそれをそうすることでした。

この場合、チューブはカソードとアノードのみで、グリッドはありませんでした。ビーム電流は、カソードヒーターの駆動レベルを変更することによって制御されました。それは、ヒーターと同じくらい小さくて機敏ですが、その時定数はまだ数ミリ秒でした。

ヒーターへのPWMは、意味のあるヒーター応答周波数よりも何倍も速い、複数のkHzで実行されていました。残念ながら、PWMの分解能が低すぎて、望ましい許容誤差内で望ましい電流の一部を達成できませんでした。これは、ビームを非常に非線形にするビーム温度に対するカソード温度の関数によって助けられませんでした。

これがPWMの唯一の制約である場合、PWM周期を増やしてより高い分解能を得ることができます。ただし、このプロセッサは多くのことを実行し、ハードウェアの制限により、同じクロックが他のものに使用され、変更できませんでした。

解決策は、PWMデューティサイクルのディザリングを実装することでした。私の記憶が正しければ、8つの異なるデューティサイクル値を使用しました。この場合、マイクロコントローラーのDMAエンジンを使用して、8つの値を自動的に順序付けできます。デューティサイクル設定ルーチンが計算を行い、最初の値よりも1カウント高い値の0〜7を調整しました。

これにより、実質的に8倍のPWM分解能が得られました。PWM周期x8はヒーターの時定数に比べてまだ短かったため、ヒーターは複数のデューティサイクル値を平均化していました。

非線形性

トレバーはすでにこれに触れているようです。ヒーターの温度は、多くの場合、入力電力に対して非常に非線形になります。これは通常、対流が温度と直線的に反応しないため、高温の物体を冷たい物体よりも不均衡に冷却します。はるかに高い温度では、黒体放射が顕著になります。放射電力も温度に対して非常に非線形です。

私の場合、陰極は主に黒体輻射(真空状態)によって冷却されただけでなく、ビーム電流に対する温度の関数も非常に非線形でした。

非線形システムは制御が困難です。PIDのような単純な手段、またはSドメイン分析から派生したものは、非線形システムではうまく機能しません。しようとすると、範囲の他の部分の安定性を維持するためだけに、範囲の一部を過度に減衰させることになります。これにより、過度に減衰している範囲の部分で、許容できないほど長い整定時間が発生する可能性があります。

この場合に使用したソリューション、および他のいくつかのプロジェクトでも使用したソリューションは、制御ループの観点からシステムを線形化することでした。

これを行うには、コントローラー出力とシステム入力の間に区分線形ルックアップを挿入します。製造中、システムはいくつかの設定ポイントで開ループで実行されました。その結果を使用して、各ユニットに固有の不揮発性メモリに保存されているルックアップテーブルにデータを入力しました。

システムは、ルックアップテーブルのどのセグメント内でも依然として非線形です。ただし、これらのセグメントはシステムの範囲のごく一部であるため、システムの特性は1つのセグメントであまり変化しません。その場合は、より多くのセグメントを使用します。

結果は非常にうまくいきました。はい、これはすべて、市販の商品で実行できます。


2

数人の人がすでにこれについて述べていますが、私はむしろ明確にしたいと思います。

注:ヒーターに電子温度制御が組み込まれている場合は、私の回答の最後のセクションに進んでください。

PWMは従来のヒーターの温度を制御しません

代わりに、ヒーターによって排出されるエネルギーの量を制御します。スペースヒーターが理想的に絶縁されている場合、一定のPWM信号は、ヒーターがそれ自体またはそのエンクロージャーを溶かすまでの温度上昇の速さを制御します。

実際には、熱は対流、放射、またはその他のプロセスによって必然的に失われるため、安定した平衡が形成されます。ヒーターが100%のサイクルまで加熱されると、事前定義された状況でヒーターが300°Cまで加熱されると評価されます。

ただし、これらの状況は決して信頼できるものではありません。風、気圧、湿度、周囲温度によって、ヒーターのデューティサイクル対温度定格が歪む可能性があります。

温度が非常に高い(約200°Cを超える)場合は、外的要因による多少の無視が可能なため、変動を回避できる可能性がありますが、その場合、正確な温度は非常に正確ではないため、1%以下の調整では意味がありません。

温度センサーを参照してください

温度を制御する信頼できる方法は、温度センサーを使用することです。必要な温度が感知された温度よりも高い場合は、ヒーターに100%の電力を供給します。低い場合は完全に電源を切ってください。

100%を使用する、または電力を使用しない理由は、ヒーターは常に反応しており、温度をできるだけ早く目的のレベルに到達させるためです。

通常20°から300°Cまで加熱できるヒーターがあり、室温から100°まで加熱する必要があるとします。

30%のPWMデューティサイクルで電源を投入すると、温度の上昇が速くなりますが、徐々に遅くなります。ヒーターの種類によっては、実際に目的の温度に達するまでに数時間かかる場合があります。これは、熱の差によって熱損失が増えるため、最後の数度が最も長くかかるためです。

代わりに、100%の電力でヒーターに電力を供給して、ヒーターをはるかに速く目的の温度に到達させる必要があります。

温度が望ましい値に達しても、ヒーターに吹き付けられる突発的な突風や同様の結果に迅速に対応する必要があります。

可能なPWMアプリケーション

場合によっては、ヒーター、その負荷、およびセンサーがすべて非常に反応する可能性があるため、回路はヒーターによって引き起こされる温度変化をある程度予測する必要があります。

それが不可能な場合は、ヒーターにわずかな電力を供給すると、実際に温度を希望のレベルに保つのに役立ちます。

その場合、正確な詳細(質問への回答を含む)は、ヒーターの物理的パラメーター、その負荷、および環境によって異なります。または温度は本当に本当に安定している必要があります。

これらの場合、PWM信号は正確である必要はありませんが、プローブの読み取り値に応じてそれ自体を調整します。

電気的スイッチングの懸念

電気ヒーターは、PWM電力で動作するように設計されていない場合があります。それがどの程度正確に構築されているかに応じて、振動し始め、最終的にそれ自体を破壊するか、または他の予期しない問題を引き起こす可能性があります。

ほとんどすべてのヒーターは多くの電力を消費します。このようなアプリケーションのPWM制御サイリスタまたはトランジスタは、非常に非効率的であり、高価であることに加えて大幅な冷却が必要になる場合があります。

位相補正サイリスタ(ACの場合)については、AC電源は完全な正弦波ではない可能性があるため、1%未満の精度は確実に達成できない場合があります。

電子制御ヒーター

一部の「ヒーター」は、実際には温度を感知して電力を制御する電子機器である場合があります。所望の温度は、PWM信号を介して設定することができます。これらはまれですが、デューティサイクルと温度の直接的な関係を説明できる唯一の理論です。

この場合、あなたの質問に対する答えは、ヒーターの内蔵制御電子機器に依存します。質問で説明されている正確な調整は、電子機器自体が十分に正確であると仮定して機能する可能性があります。その事実はドキュメントに記載されているはずです。

このようなヒーターのほとんどすべてが前述のように内部で動作するため、かなり長いオン/オフ/オフサイクルを実行することが多く、実際の温度は、PWM信号の精度に関係なく、時間とともに上下する可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.