2305902_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2305902_ja-JP

2305902_ja-JP

モーター制御に関する重要な質問

こんにちは、


S32K344MINI-EVBボード、ドライバGD3000、Sunriseモーターを使用しています。プロジェクト「S32K344:mc_pmsm_1sh_s32ct」でモーターの速度を制御できるプログラムをテストしました。新しいオプションを試してみたいので、いくつか質問があります。

 

JonAnder_Amante_1-1770196663700.pngJonAnder_Amante_1-1770196663700.png


1. 評価ボードを使用してモーター制御を実現したいのですが、制御FOC(2つのPIコントローラ)を使用し、プラント(モーターPMSM)とパワーエレクトロニクス(GD3000)をシミュレーションしたいと考えています。この例では、プラントをシミュレーションしながら評価ボードから制御を実行できるようにどのように変更すればよいでしょうか?ステートマシン ブロックの何かを変更する必要があると思いますが、何を変更する必要があるかわかりません。

2. GD3000 (モーターのドライバ) からモーター PMSM にさまざまな信号を送信するために使用しているピンを教えてください。これについてはあなたのウェブサイトに情報が載っていますが、それが事実かどうかはわかりません。この情報を含む PDF をお送りします。同じボードではありませんが、ピンは同じだと思います (INFO_Driver_MOtor.pdf)。

皆様ありがとうございました。


ジョン・アンダー・アマンテ

Re: Important question about motor control

こんにちは、 @JonAnder_Amanteさん

最初のスレッドの答えは、こちらにあります: S32K3 MBDT のバージョン 1.60 にモーター制御 PMSM の例がありません


よろしくお願いいたします。

ドラゴス

Re: Important question about motor control

こんにちは、 @JonAnder_Amanteさん


S32K344MINI-EVBを使用するには、ボードに次の変更を加える必要があります。

stefanvlad_0-1770819182442.pngstefanvlad_0-1770819182442.png

1. DCジャックの近くのPCB下部にある抵抗器R396R397を取り外します。

stefanvlad_4-1770819788524.pngstefanvlad_4-1770819788524.png

2. J4コネクタの近くにある0オームの抵抗器R413R414R418を取り付けます。

stefanvlad_3-1770819728806.pngstefanvlad_3-1770819728806.png

また、VDD_HV_A には 5V ではなく 3.3V が供給されるため、

stefanvlad_2-1770819465940.pngstefanvlad_2-1770819465940.png

Udc ゲインと Idc ゲインのパラメータを変更する必要があります。

stefanvlad_6-1770820165900.pngstefanvlad_6-1770820165900.png

%% アプリケーションのスケール
MBD_I_MAX = 20.625;
MBD_U_DCB_MAX = 29.7;
 
この後、S32K344MINI-EVBの上にDEVKIT-MOTORGD(GD3000)ボードを接続できます。
stefanvlad_5-1770819975008.jpegstefanvlad_5-1770819975008.jpeg

次に、FreeMASTER を開いて例を実行し、iABC の波形を確認します。

stefanvlad_7-1770821519787.pngstefanvlad_7-1770821519787.png

よろしくお願いします、

ステファン V.

Re: Important question about motor control

こんにちは、

お返事ありがとうございます。現時点では、ボード「S32K344 MINI-EVB」で FOC の制御のみを実現したいと考えています。つまり、パワー エレクトロニクスを備えたモーター PMSM (Sunrise) を表すプラントの別のブロックがありますが、MBD で FOC の制御を使用する必要があります。この例では、どのブロックを保持し、どのブロックを削除する必要があるかを教えてください。

JonAnder_Amante_0-1770883302148.pngJonAnder_Amante_0-1770883302148.png

現在のループと速度ループを「ステート マシン」と呼ばれるブロックに保持する必要があると思いますが、問題は、変数が多く、ブロック間に異なるジャンプがあることです。

JonAnder_Amante_1-1770883826681.pngJonAnder_Amante_1-1770883826681.png


基本的に、私のプロジェクトの目標は、このプロジェクトと同じ FOC 制御を使用しながら、別のプラントを使用することです。

皆様ありがとうございました。


ジョン・アンダー・アマンテ


Re: Important question about motor control

こんにちは、 @JonAnder_Amanteさん


他にどのようなプラントを使用したいのかよく分かりません。別のモーターでしょうか?

現在、 s32k344_mc_pmsm_2sh_s32ct_data.mのパラメータを持つSunriseモーターと、s32k344_mc_pmsm_2sh_s32ct_data_linix.mのパラメータを持つLinixモーターをサポートしています


他のモーターがある場合は、data.m ファイルでパラメータを適宜変更し、クリーン ビルドを実行する必要があります。


良い一日を、

ステファン V.

Re: Important question about motor control

こんにちは、

1.私は Sunrise モーターとそのパラメータを使用したいのですが、プラントを表すブロックが SImulink にあるかどうかが疑問です。なぜなら、プラントのブロックを一方に、コントローラをもう一方に配置したいからです。

2. さらに、モーター サンライズのパラメータを送信しましたが、日付が正確であることを確認できるかどうかわかりません。

PARAM_Rs = 0.192; % レシステンシアデルエステーター [オーム]
PARAM_Mpp = 2; % パレス デ ポロ [-]
PARAM_Ld = 0.000096; % インダクタンス eje D [H]
PARAM_Lq = 0.000107; % インダクタンス eje Q [H]
PARAM_Ke = 0.005872; % 定常逆起電力 [V.sec/rad]
PARAM_J = 0.12e-4;慣性% [kg.m2]
PARAM_r32_F_IP_Wb_motor1 = 0.00518; % Flujo マグネティコ
 
%% パラメトロス ディセーニョ ラソ デ コリエンテ
%ループ帯域幅 = 150 [Hz]
%ループ減衰 = 1 [-]
%ループサンプル時間 = 0.0001 [秒]
%-----------------------------------------------------
f_cutoff_current = 150; % 周波数 [Hz]
w0_current = 2 * pi * f_cutoff_current; % 自然周波数 [rad/s]
xi_current = 0.707; % アモルティグアミエント
Ts_current = 1 /fsw; % ティエンポ デ ムエストレオ
 
% Cálculos eje D
Kp_D = (2 * xi_current * w0_current * PARAM_Ld) - PARAM_Rs;
Ki_D = (w0_current^2) * PARAM_Ld;
% Cálculos eje Q
Kp_Q = (2 * xi_current * w0_current * PARAM_Lq) - PARAM_Rs;
Ki_Q = (w0_current^2) * PARAM_Lq;
 
% 電流ループ制御 (NXP GFLIB セグメンテーション計算)
%----------------------------------------------------------------------
MBD_CLOOP_LIMIT = 0.9;
 
% Eje D (D軸)
MBD_D_CC1SC = Kp_D + (Ki_D * Ts_current / 2);
MBD_D_CC2SC = -Kp_D + (Ki_D * Ts_current / 2);
 
% Eje Q (Q軸)
MBD_Q_CC1SC = Kp_Q + (Ki_Q * Ts_current / 2);
MBD_Q_CC2SC = -Kp_Q + (Ki_Q * Ts_current / 2);

2. Simulink で使用しているスキームをお送りします。私のアイデアは


JonAnder_Amante_1-1771229540348.pngJonAnder_Amante_1-1771229540348.png

JonAnder_Amante_2-1771229553893.pngJonAnder_Amante_2-1771229553893.png

JonAnder_Amante_4-1771229596623.pngJonAnder_Amante_4-1771229596623.png


JonAnder_Amante_3-1771229577117.pngJonAnder_Amante_3-1771229577117.png

私のアイデアは、物理的なモーターを使用せず、写真に写っている緑色のブロックでそれをシミュレートすることです。MCLIB ブロックを使用して制御 (電流ループと速度ループ) を実行します。

 

皆様ありがとうございました。



Re: Important question about motor control

おはよう、

私は御社の評価ボードの一つ、具体的にはFRDM-A-S32K344ボードを、MATLABおよびSimulinkの「S32K344_mc_pmsm_1sh_s32ct」サンプルで使用しています。私が抱えている問題は、インターフェースをFreemasterに接続した際に、一部の変数が表示されず、疑問符として表示されることです。つまり、それらの変数が検出されていないか、実装されていないということです。また、.elf ファイルをロードしようとしていますコンパイルエラーが発生した場合に備えてファイルを確認したところ、特定の変数が検出されないというエラーが表示されました。

手伝っていただけますか?

JonAnder_Amante_0-1780475763418.pngJonAnder_Amante_0-1780475763418.png


JonAnder_Amante_1-1780475763497.pngJonAnder_Amante_1-1780475763497.png



.elf ファイルを再読み込みしようとすると私は持っている:

JonAnder_Amante_2-1780475763491.pngJonAnder_Amante_2-1780475763491.png



Re: Important question about motor control

こんにちは、

FreeMASTERプロジェクトで変数が検出されない場合は、設定からelfファイルが正しく選択されていることを確認してください。

正しく設定されていれば、モデル内で変数が外部か揮発性に設定されているか確認してください。そうでなければ、FreeMASTERはそれらを検出できません。

よろしくお願いします、
ソリン・バンシラ

タグ(1)
評価なし
バージョン履歴
最終更新日:
木曜日
更新者: