MBD初心者必見!<br>電源FB制御のためのモデル<br>コントローラ編

MBD初心者必見!
電源FB制御のためのモデル
コントローラ編

電源回路モデルも完成して、さあコントローラモデルを作ろうと思った、タイムリーなそこのあなた。

是非立ち止まってこの記事を読んでいただけたら嬉しいです。

サンプル回路もありますので、有効活用してください。

電源回路モデルをまだ作っていない方、プラント編をまだ読んでいない方、ぜひ先にプラント編をご覧ください。

制御モデル概要

まずは作りたいフィードバック制御の仕様を考えていきましょう。

制御対象は、降圧型コンバータとして、ここでは次の三つを考えていきたいと思います。

設計する制御概要

設計の順番もこの通りでいきましょう。

注)ソフトスタートとは、例えば出力電圧を目標値に向かって徐々に近づけていく制御のことです。ソフトスタートが無いと、実際の基板にストレスを与えてしまう可能性があります

余分なモデルは作らない

マイコンの制御は、もちろんPI制御だけではなく、シーケンスや保護などもいろいろと含まれます。

いろいろと作りたい気持ちはよく分かります。しかしながらここでの目的は制御系を考えることなので、不必要なモデルは作らないようにしましょう。

制御を作るときは制御だけを、保護を作るときは保護だけを、というように、まずは小さい単位からモデリングを進めていくことをお勧めします。

小さい単位を組み合わせてシステムをモデリングして、そしていつでも小さい単位に戻れるような環境を構築していくことが複雑なモデルを作るときには役に立ちます。

制御設計のための環境構築

さて、プラントモデル編で、作った以下のモデルに対して、subsystem blockを置いて、出力電圧をフィードバックしてきます。

以下のような入力と、出力を作って、Controllerと名前を付ければ、環境構築完了です。簡単ですね。

ScideamとSimulink接続イメージ

なお、詳しいツールの使い方については、Scideamのチュートリアルも合わせてご覧ください。

制御系設計

PI制御を作る

ここでは制御の中身まではやりませんが、PI制御を作った結果だけ載せておきます。

入力電圧5Vにたいして、出力電圧3Vになるように制御しています。

記事の最後からダウンロードしてお使いください。

また、是非ご自身で制御系をいろいろと作ってお試しいただければと思います。

シミュレーションを実行すると以下の様になります。

PI制御結果

ソフトスタートを作る

ソフトスタートの実現方法としては、目標値を徐々に上げていけば実現することができます。

ですので例えば、LPFを目標値設定の後に入れてあげれば、徐々に目標値を変えていき、出力電圧がゆっくりと目標に近づくということになります。

ソフトスタート実装の結果

以下の様に作りましょう

ソフトスタートを追加した制御系

オンオフを作る

さて、例えば「外部からオンオフ指令が来る」という電源だとして、オンオフ指令をこのモデルに追加しましょう。

オフにするということは、Dutyを0にすることで実現できますので、0が出るようにすればよいわけですが、

注意していただきたいのは、「その積分器リセットできていますか?」ということです。

積分器がリセットできていないと、積分器が値を持った状態、或いは飽和したような状態から次のスタートした時の値が始まり、実機でやってしまうと下のような写真になります。

ソフトが悪いと一瞬でこわれますの様子

積分器をリセットできていない制御モデルは以下の様になります。

オンオフ設定がダメな例
制御が飽和して故障の可能性!

オンオフの指令によってソフトスタートと積分器のリセットがかかるモデルを実行すると以下の様になります。

期待通りオンオフができた例

期待通りオンオフができるモデルは、ダウンロードしてお使いください。

まとめ

制御設計ステップ1,2,3で

  1. 制御を作る
  2. ソフトスタートを作る
  3. オンオフを作る

という手順で行いましたが、実は従来の実機での設計方法は全く逆であることがお分かりになりますでしょうか。

つまり、

  1. オンオフを作る
  2. ソフトスタートと制御を同時に作る

この流れでなければでなければ、危なくて実機を動作させられません。さらに保護を真っ先に作らなければ怖くて動かせないでしょう。

シミュレータを使えば、安定した制御系を作るところから始められます。

制御系が安定したら、保護やシーケンスをじっくり作っていけば良いのです。

まずは環境を作って、開発を加速させましょう。

シミュレーションモデルについて

本モデルは、パワエレ向け高速回路シミュレータScideam(サイディーム)で動作可能です。
MATLABの対応バージョンは2019b以降となります。
本記事のモデルは以下からダウンロードしてください。

モデルベース開発については、こちらにまとまっておりますので、併せてご覧ください。

▼関連投稿 -モデルベース開発 まとめー

投稿者:

中村 創一郎

お問い合わせ