Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2018年度 化学プロセスシステム工学 第2回

2018年度 化学プロセスシステム工学 第2回

前回の復習
制御とは?
制御の種類
化学工学・プロセスシステム・制御で大事なこと
流体加熱プロセス
制御するためには、何が必要か?
制御に必要なこと
出力変数と入力変数との関係
プロセスシステムで大事なこと
出力変数と入力変数との関係
流体加熱プロセス:問題設定
理論的に攻めてみよう
物質収支
改めて、流体加熱プロセス:問題設定
理論的に攻めてみよう
熱収支
熱収支
熱収支
熱収支 熱量
熱収支 式変形
モデル化できなかった現象
出力変数と入力変数との関係
プロセスシステムで大事なこと
モデリングできたら、シミュレーション!
熱収支 微分を含む項のあつかい
熱収支 差分であらわす
熱収支 コンピュータシミュレーション
実際にシミュレーションしてみよう!
流体加熱プロセスのシミュレーション
制御しよう!
温度制御
P制御 P・・・Proportional (比例動作)
P制御をしてみよう!
質問!
比例ゲインの影響
P制御の問題点は?
P制御の問題点
PI制御
PI制御をしてみましょう!
積分時間の影響

Hiromasa Kaneko

February 10, 2019
Tweet

More Decks by Hiromasa Kaneko

Other Decks in Technology

Transcript

  1. 制御とは︖ JIS (日本工業規格) の定義 [Z 8116] • 「ある目的に適合するように、制御対象に所要の操作を加えること」 2 望みのとおりになりそうなモノを、

    何かすることで、望みどおりにすること 望みのとおりにならなそうなモノを、 何かすることで、望みどおりにすること 望みのとおりになりそうなモノを、 何もしないで、望みどおりにすること ✕ ✕
  2. 制御の種類 手動制御 • (古いタイプの) シャワー、⾞ 自動制御 • シーケンス制御 ⁃ あらかじめ決められた順番通りに、各段階を進めていく制御

    • 洗濯機 • フィードバック制御 ⁃ 制御したいモノを目標とする値と比べて、 それらを一致させるように操作をする制御 • シャワー、(最近の) ⾞ • (フィードフォワード制御・・・これは後ほど) • (最近の) ⾞ 3
  3. 制御に必要なこと 敵を知る • どんなプロセスなのか︖ ⁃ どのくらい熱を与えると、どのくらい温度が変わるのか︖ ⁃ どのくらい⽔を⼊れると、どのくらい温度が変わるのか︖ • 応用化学実験4では、⼊れる⽔の量は一定

    • 出⼒変数 (制御変数)︓お湯の温度 • ⼊⼒変数 (操作変数)︓加熱量 (正確には、ヒーターの電⼒量) 制御をするときに最初に考える大事なポイント • ① 何を制御するのか︖ → 出⼒変数 (制御変数) は何か︖ • ② 何で制御するのか︖ → ⼊⼒変数 (操作変数) は何か︖ • ③ 出⼒変数と⼊⼒変数との関係はどんなか︖ (どんなプロセスなのか︖ということ) ⁃ ⾞の運転では︖ 7
  4. 出⼒変数と⼊⼒変数との関係 モデルを求める方法は、大きく分けて3つある • 理論的に攻める方法 ⁃ 物質収支 (マスバランス、マテリアルバランス) ⁃ 熱収支 (ヒートバランス)

    • メリット︓実験しなくても求まる • デメリット︓数式として表せないといけない • 実験データを使う経験的な方法 ⁃ モデルの概形を決めて、ステップ応答などの実験(運転)で 得られたデータから計算 • メリット︓数式で表せないものもモデル化できる • デメリット︓実験しないといけない • 理論的に攻めながら、データも使う方法 10
  5. 流体加熱プロセス︓問題設定 11 Q T, V, ρ, cP Fi , Ti

    Fo , T Fi [m3・s-1]︓⼊⼝流量 Fo [m3・s-1]︓出⼝流量 Ti [K]︓⼊⼝流体の温度 T [K]︓タンク内流体の温度 V [m3]︓タンク内流体の体積 ρ [kg・m-3]︓流体の密度 cP [J・ kg -1・ K-1]︓流体の比熱 Q [J・s-1 (=W)]︓加熱量 i ︓input o︓output
  6. 物質収支 13 (タンク流体体積の時間変化) = (⼊った流量) ー (出た流量)+(⽣成速度) i o 0

    dV F F dt = − + 0 dV dt = タンク内流体の体積変化は 0 なので、 よって、 i o F F F = = とする
  7. 改めて、流体加熱プロセス︓問題設定 14 Q T, V, ρ, cP F, Ti F,

    T F [m3・s-1]︓⼊⼝流量・出⼝流量 Ti [K]︓⼊⼝流体の温度 T [K]︓タンク内流体の温度 V [m3]︓タンク内流体の体積 ρ [kg・m-3]︓流体の密度 cP [J・ kg -1・ K-1]︓流体の比熱 Q [J・s-1 (=W)]︓加熱量
  8. 熱収支 18 Hi Ho dH F F Q dt =

    − + H [J]︓タンクの流体の熱量 FHi [J・s-1]︓⼊⼝からの熱量 FHo [J・s-1]︓出⼝への熱量 を、 F [m3・s-1]︓⼊⼝流量・出⼝流量 Ti [K]︓⼊⼝流体の温度 T [K]︓タンク内流体の温度 V [m3]︓タンク内流体の体積 ρ [kg・m-3]︓流体の密度 cP [J・ kg -1・ K-1]︓流体の比熱 で、表してみよう︕
  9. 熱収支 熱量 19 P Hi P i Ho P H

    V c T F F c T F F c T ρ ρ ρ = = = Hi Ho dH F F Q dt = − + これらを、 に代⼊して、整理してみよう︕
  10. 熱収支 式変形 20 ( ) ( ) ( ) P

    P i P P P i i P d V c T F c T F c T Q dt dT V c F c T T Q dt dT F Q T T dt V V c ρ ρ ρ ρ ρ ρ = − + = − + = − + 出⼒変数 (お湯の温度) と⼊⼒変数 (加熱量) との 間の関係を式で表せた︕モデリングできた︕
  11. 出⼒変数と⼊⼒変数との関係 モデリングの方法は、大きく分けて3つある • 理論的に攻める方法 ⁃ 物質収支 (マスバランス、マテリアルバランス) ⁃ 熱収支 (ヒートバランス)

    • メリット︓試しに実験(運転)しなくてよい • デメリット︓すべての現象を表現できるわけではない • 実験データを使う経験的な方法 ⁃ モデルの概形を決めて、ステップ応答などの実験(運転)で得られた データから計算 • メリット︓現象が複雑・不明だったとしても、 データさえあればモデル化できる • デメリット︓試しに実験(運転)する必要がある • 理論的に攻めながら、データも使う方法 22
  12. 熱収支 微分を含む項のあつかい 25 ( ) i P dT F Q

    T T dt V V c ρ = − + (ちなみに積分すると) コンピュータがあるので、 として数値シミュレーションしよう︕ dT T dt t ∆ → ∆ Δt は小さい数にする、たとえば 0.01, 0.1 とか i 0 P 1 exp exp t F F T T t t Qdt V c V V ρ     = + −         
  13. 熱収支 差分であらわす 26 ( ) i P T F Q

    T T t V V c ρ ∆ = − + ∆ 時刻 t を明示的に示すと、 ( ) ( ) ( ) ( ) T t T t t T t t T T t t Q Q t t − − ∆ ∆ → ∆ ∆ → − ∆ → − ∆ Δt を小さくすれば、 T(t), Q(t)でもほとんど 変わらない よって、 ( ) ( ) ( ) ( ) ( ) i P T t T t t Q t t F T T t t t V V c ρ − − ∆ − ∆ = − − ∆ + ∆
  14. 熱収支 コンピュータシミュレーション 27 ( ) ( ) ( ) (

    ) ( ) i P Q t t F T t T t t T T t t t V V c ρ   − ∆ = − ∆ + − − ∆ + ∆     ( ) ( ) ( ) ( ) ( ) i P T t T t t Q t t F T T t t t V V c ρ − − ∆ − ∆ = − − ∆ + ∆ 繰り返し計算によって、T(t) の時間変化を求めていく T(tーΔt) Q(tーΔt) T(t) Q(t) T(t+Δt) Q(t+Δt) T(t+2Δt) ・・・ ・・・
  15. 実際にシミュレーションしてみよう︕ プログラミング • コンピュータにやってほしいことを命令する プログラミング言語 • 命令するための言葉 • オススメは Python,

    MATLAB, R ⁃ Python と R は無料 ⁃ MATLAB は有料 (ただ、メディアセンターに申請すれば 無料で利用できる) • 基本的には、Pythonで進めましょう プログラムを開発する環境 • Anaconda ( https://www.anaconda.com/download/ ) ⁃ Python 3.6 version 28
  16. 流体加熱プロセスのシミュレーション F [m3・s-1]︓⼊⼝流量・出⼝流量 = 0.00005 Ti [K]︓⼊⼝流体の温度 = 20 [℃]

    V [m3]︓タンク内流体の体積 = 0.01 ρ [kg・m-3]︓流体の密度 = 1000 cP [J・ kg -1・ K-1]︓流体の比熱 = 4200 Q [J・s-1] (加熱量) の最大値 = 3000 Δt = 0.1 ヒーターを on にしてから加熱が始まるまで 60 s かかるとする ヒーターを最大にして、3000 s シミュレーションしてみよう︕ 29
  17. 制御しよう︕ 加熱量 (ヒーターの電⼒量) と お湯の温度 との関係はわかった • 加熱量を大きくすると、お湯が熱くなる • 加熱量を小さくすると、お湯が冷める

    ⁃ 定量的にわかっている お湯の温度がどうなったときに、加熱量をどうするか決めよう︕ • お湯が冷めたら、加熱量を大きくする • お湯が熱くなったら、加熱量を小さくする 30 目標温度と実際の温度との差が大事︕
  18. 温度制御 31 目標値 (30℃) 時間 温度 加熱量 増やせ︕ 増︕ 減︕

    加熱量 減らせ︕ 増︕ 減︕ 増︕ どれくらい増やせば (減らせば) よい︖
  19. P制御 P・・・Proportional (比例動作) 出⼒変数 (温度) の目標値との差 e に比例するように ⼊⼒変数 (加熱量)

    を変化させる 比例動作︓P (Proportional) 制御 32 ( ) ( ) ( ) 0 P Q t K e t Q = + t [s]︓時刻 T(t) [K]︓時刻 t のときの⽔温 Ttarget [K]︓目標の温度 KP ︓比例ゲイン (定数) ( ) ( ) target e t T T t = −
  20. PI制御 出⼒変数の目標値との差 e をふまえて、⼊⼒変数の値をどうするか︖ 比例積分動作︓PI (Integral) 制御 • ただ実際は、コンピュータで⾏うので、 ⁃

    積分 → ⾯積の累積和 38 ( ) ( ) ( ) ( ) 0 I 0 t P P K Q t K e t e r dr Q T = + +  TI ︓積分時間 (定数) ( ) ( ) ( ) ( ) 1 I 1 0 t P r Q t K e t e r t Q T =   = + ∆ +     