主要内容

。

永久永久寿命のベクトル制御

この例では,モーター制御アルゴリズムからcコードコード生生成し,コンパイルした动作と実行时间を确认ための基本ワークとなに示します。プロセッサインプロセッサイン(pil)シミュレーションを使使使,cコードをモーターハードウェアとやりとりする组み込みソフトウェアに统合したときに予期したとおりに动作することを确认します。このワークフローでは特定のプロセッサ向けのモーター制御アプリケーションを使用しますが,このワークフローは事実上どのようなアプリケーションおよびプロセッサにも适适。

永久磁石同期机のベクトル制御アルゴリズムを使用して,このワークフローを说明します。この制御テクニックは,ハイブリッド电気自动车向けのモーター駆动システム,制造机器,产业オートメーションの共通しています。

概要

この例では,制御アルゴリズムモデルからcコード生成してししモーターハードウェアとのに必要な追追の组み込みソフトウェアににできできできできできできますますできできできできますできできできますますできできますますますますますできできできますますますできますますますできできますできできできますますますできできできできできでき

シミュレーション环境をを使使て,闭ループモーター制御システムの动手ををし,検证し动词。制御制御动作がに従っ,コントローラーモデルからcコードを生成しますを検查し后,机械的动作と行进时间をプロセッサイン(PIL)テストテスト使使ててします。

Pilテストを行ため,コントローラーモデルを実行してリファレンスリファレンス出をためのテスト信号を选択のホストのののますますますますますますますますますます金宝appますますますますますますコンピューターの上のsimulink®と通信するtexas instruments™f28335プロセッサのpil実装の例题を确认出力に照らして検证ますます。



メモ:

  • 「システムシミュレーションによる动作の确认」の节では,システムシミュレーションに的Simscape™电气が必要です。その他のタスクでは不要です。

  • 德州仪器™F28335 PIL実装は参考のために示した方法で,事実上どのようなプロセッサにも适用できます。ただし,この実装を直接使用するには,德州仪器™の追加のサポートファイル,コンパイラ,ツールが必要になります。これらの详细については,この例の「PIL実装の作成と的S金宝appimulinkでの登录」の节を参照してください。この参考用のPIL実装では嵌入式Coder®の德州仪器C2000™组み込みターゲット机能は不要ですが,C2000™ユーザーにはアドオンエクスプローラー德州仪器C2000サポートパッケージインストールすることお勧めします。

システムシミュレーションによる动作の

このこのでは,コントローラーを闭ループシステムシミュレーションで検证します。

システムモデルモデルベンチは,テストテスト力,组み込み组み込み,电力用电电子产品,モーターハードウェア,可化でされいますコントローラーコントローラーしていてコントローラーをします。コマンドの使使ててモデルモデル実実て,记录された信号をプロットますますます。

Open_System('rtwdemo_pmsmfoc_system')out_system = SIM('rtwdemo_pmsmfoc_system')rtwdemo_pmsmfoc_plotsignals(out_system.logsout)

プロットは,MOTOR_ON信号が真实になるまでが状态状态であることをます既知のが検出されるモーターはエンコーダーインデックスパルスで示さますはエンコーダーパルスで示さますますは闭ループ动手。し,モーターモーターは定常定常状态速度达达ます。

モデルアーキテクチャの検查

この节では,データデータ指定方からからされるがスケジュールベンチからなど,コントローラーコントローラーのをを说ししこのアーキテクチャでをははますますますでをはは.このこのアーキテクチャで,システムシミュレーション,システムシミュレーション,アルゴリズムコード生成,pilテストを使生成,PILテストを使使用。

データデータ定义ファイルはシミュレーションシミュレーションコードコードコードコードに必要必要MATLAB®データを作用成し。このこのデータファイル,自动的にシステムテストモデルののpreloadfcn.コールバック内で実行されます。

编辑('rtwdemo_pmsmfoc_data.m'

システムシステムベンチモデルで,组み込み组み込みプロセッサは机器ととコントローラーの组みわせとしてとしてソフトウェアさされ。

Open_System(“rtwdemo_pmsmfoc_system /嵌入式处理器”

コントローラーソフトウェアははしモデルとして指定さますこのこの内で,mode_schedulerサブシステムextenflow®ををして函数_controlアルゴリズムの各动词

Open_System('RTWDEMO_PMSMFOC'

Motor_Controlサブシステム内で,センサー信号はエンジニアリングユニットに変换され,コアコントローラーアルゴリズムに渡されます。コントローラーアルゴリズムは电圧を计算します。电圧はドライバー信号に変换されます。

Open_System('rtwdemo_pmsmfoc / motor_control'

第一制御则,磁界方向コントローラーです。コントローラーコントローラーは,速度を制御する遅いレート外部ループと,电影流制御するレートの内部があります。

Open_System('rtwdemo_pmsmfoc / motor_control / field_oriented_controller'

速度控制器外部ループは,电流控制ループ时间の数目実これらサンプルれます指定するmatlab®変数を表示できます。

fprintf('高速采样时间=%f秒\ n',ctrlConst.TsHi)fprintf中(“低速率采样时间=%F秒\ N”,ctrlconst.tslo)
高速率采样时间=0.000040秒低速率采样时间=0.005000秒

コントローラーアルゴリズムの最高レートは25千赫です。

fprintf('高速频率=%5.0f Hz \ n',1 / ctrlconst.tshi)
高速频率= 25000 Hz

组み込みアプリケーションに统合成するコントローラーcコードの生成

この节では,コントローラーのÇコード关数を生成して,可视化して検查します。

结合を简単に,生成さシングルタスクコードを,生成されコードををを关关呼び出しで呼び出せるにしますます。生成さレートたたレートにししははしししししししししししししししししししししししししししはははししししし关关节,速いレートのサンプルサンプルでされなければなりません。

关コントローラー关关节をますとしてとしてとしてとしてとしてとしてとしてとしてとしてとしてとしてとしてとしてとしてとしてとしてとしてますますできますできできますでき表示ますますできとしてとしてできできとしてとしてますとして。

mdlfcn = RTW.GetFunctionSpececification('RTWDEMO_PMSMFOC');disp(mdlfcn.getpreview('在里面'))DISP(mdlFcn.getPreview('步')))
controller_init()错误= controller(motor_on,command_type,current_request,*传感器,* pwm_compare)

生成されたコードグローバル构造ををて,磁界方向コントローラー比例ゲインおよびグローバルにできでき。

DISP(CTRLPAMS.VALUE)DISP(CTRLPPAMS.CODERINFO)
Current_P:10个Current_I:10000 Velocity_P:0.0050 Velocity_I:0.0150 Position_P:0.1000 Position_I:0.6000 StartupAcceleration:1 StartupCurrent:0.2000 RampToStopVelocity:20个AdcZeroOffsetDriverUnits:2.2523e + 03 AdcDriverUnitsToAmps:0.0049 EncoderToMechanicalZeroOffsetRads:0 PmsmPolePairs:4个Simulink.Co金宝appderInfo StorageClass: 'ExportedGlobal'标识符: '' 对齐:-1

モデルからから次のようようしててててを生成し。

rtwbuild('RTWDEMO_PMSMFOC'
###开始模型的构建过程:RTWDEMO_PMSMFOC ###成功完成模型构建过程:RTWDEMO_PMSMFOC

生成されたレポート使し生成さたコードコードファイル検证,正しいステップおよびささが生成されてことをします。また,パラメーター构造体ます。确认确认ます。

コントローラーモデルのリファレンス动作の确立

この节では,テストテスト力とリファレンス出力量をして,动作をし,pilテスト中间の行时间をプロファイルのますををを作物し,コントローラーモデルのコピーを実実実するのを実実行走信号をます。コントローラーコントローラーモデルをこれらのの记录された信信を设定设定设定に设定设定しししモデルを実设定てて负荷モデルをに设定てて记录ポートをよう设定てて记录ポートを実にししし

リファレンス使パラメーターはコントローラーますパラメーターははますますますますますますますますます。ただし,インストールインストールしたコントローラーモデルをする変更変更しにため,モデルモデルを保存ないよう前前ためためためため前前前前前RTWDEMO_PMSMFOC_LOCAL.SLX.に変更します。

save_system('RTWDEMO_PMSMFOC''rtwdemo_pmsmfoc_local.slx')close_system('rtwdemo_pmsmfoc_system',0);close_system('RTWDEMO_PMSMFOC',0);

行动时间をプロファイルため,コントローラー内の该当するパス実するますますますますますますますますしするするするつのとははことするモデルははことするモデルモデルははことするモデルははことこと

inmotor_on = out_system.logsout.getElement('motor_on').Values;In.command_type = out_system.logsout.getElement('command_type').Values;in.command_value = out_system.logsout.getElement('command_value').Values;in.sensors = out_system.logsout.getElement('传感器').Values;显示(在)
在= struct with字段:motor_on:[1×1次] command_type:[1×1次] command_value:[1×1倍]传感器:[1×1 struct]

これらの信号をををポート付加して,コントローラーモデルにインポートて,システムシステムモデルとは独立して直接されるようににことができことができことができますアプローチ利润はことができコントローラーモデルをはのコンポーネントとしとしテストとと検证行,再利用とその他システムモデル闭ループ闭ループベンチとのををを可にできるですをををを详细详细ですですコントローラーをを详细详细ですですするは详细详细またははは,コンフィギュレーションははしてパラメーターを変更して力信号とログ信号をmatlab®ワークスペースに记录します。これらの変更モデルの[コンフィギュレーションパラメーター]ダイアログでグラフィカルに行たり,以以にようにでうことができますますことができます。

set_param('rtwdemo_pmsmfoc_local'......'LoadExternalInput''在'......'ExternalInput''inmotor_on,In.command_type,In.command_value,In.Sensors'......'停止''0.06'......'zerointerernalmemoryatstarttup''在'......'simulationmode''普通的')save_system('rtwdemo_pmsmfoc_local.slx'

PWM比较出力ポートと付けられ信号

OUT = SIM('rtwdemo_pmsmfoc_local')controller_mode = out.logsout.getElement('controller_mode').Values;pwm_compare_ref = out.logsout.getElement('pwm_compare').Values;RTWDEMO_PMSMFOC_PLOTPWMCOMPARE(Controller_Mode,PWM_Compare_ref)

ログに记录された出力を,PILテストのリファレンス动作として使用します。

。

PIL実装の作成

このこのでは,Pil実装の例题ををしびます.embeddedcoder®の必要必要な始めドキュメンテーション次次することから始め始め次ローカルことから始め始め例をディレクトリコピーコピーしてをコピーコピーし金宝appててコピーコピーしてててディレクトリコピーしててます.PIL実装の开放にに使使ししををてて追するファイルをししのの得ます.spectrum digital Inc.ezdsp f28335ボード码Composer V4およびおよび接続を使使使いる接続使をいるいる场使いる场料このpil実装がコントローラーコントローラーととと动手するように成できます。别のプロセッサを使使してているいるいるいるは,このpil実装を开始点使しし,しし,独て,独て,独て。

カスタムpil実装の作物の基础为Simulink创建PIL目标连接配置金宝appに记载されています.PILテスト中に的S金宝appimulink(ホスト侧)と组み込みプロセッサ(ターゲット侧)との通信を利用するには,rtiostream API使用の基本概念に习熟する必要があります.EmbeddedCoder®は,既定のTCP / IP実装のホスト侧ドライバー(S金宝appimulink®的でサポートされるすべてのプラットフォーム用)と,シリアル通信用の的Windows®専用バージョンのドライバーを提供することに注意してください。生成されたコードのビルドは,テンプレートmakefileののカスタで说明するようにmakefileをを使使しし行い.PIL包装作作作作作者服务部,生成されコードをビルドためのfののをためのfの作物,ビルドし実行作作作作作作作者有条の自动化など,组み込み组み込み环境でいくつかのタスクを実する必要がありありあり

上记のアプローチを使がて,PIL包装谱DIGITIAL INC.EZDSP F28335ボード以は,この実装でまし概要概要性性コンポーネント概要性性コンポーネント概要性ですコンポーネント概要性性の概要性性コンポーネント概要性性コンポーネント概要性性コンポーネント概要性性コンポーネントコンポーネントた接続

  • ホスト侧通信- ホストホスト侧の接続ドライバー,シリアル通信を使するように设定れます。

  • ターゲット侧通信- ターゲットターゲット通信は,手书签关关rtriostreamのシリアル装配と,タイマーアクセス有关部を使达达成され。

  • ビルドプロセス- Makefileベースのアプローチををて,行排可なアプリケーションをし。

  • - 実行可能ファイルのダウンロードと実行は,的Code Composer Studio™V4(的CCSv4)の调试服务器脚本(DSS)ユーティリティを使用して行われます。

PIL実行は3段阶で再帰的に开発されています。以下は,これらのステージの说明と,各ステージで実行されるタスクです。独自のPIL実装を开発する际は,同様のアプローチに従うと便利です。

ステージ1:的CCSv4でシリアル通信アプリケーションを作成する

  • CCSv4をインストールして,F28335 ezdspボードと接続できることを确认ますます。

  • シリアルデータを信する组み込みをを作物成し。

  • ホストホストコンピューターと组み込み组み込み组み込みアプリケーションで通信をテストしします。

  • コンパイラ,リンカー,アーカイバーのコマンドとを特种しし,makefileを使用ししアプリケーションアプリケーションビルドします。

  • DSSユーティリティを使用して,的Windows®コマンドプロンプトからアプリケーションをダウンロードして実行します。

ステージ2:组み込みシリアルrtiostreamをを装ししテストし,matlab®で自动化を开放する

  • シリアルアプリケーションを拡张して,データのエコーにrtiostream API关数を実装します.rtIOStreamOpenを作成して,シリアルポートの设定などの泛用ボード初期化を実行します。

  • 关数rtiostream_wrapperを使用して,MATLAB®から组み込みプロセッサとのシリアルデータの送受信を検证します。

  • DSSユーティリティを呼び出すシステムコマンド使をし,MATLAB®からからアプリケーションをダウンロードして実実ししし

ステージ3:的S金宝appimulinkとの接続性コンフィギュレーションを実装してテストする

  • 接続性コンフィギュレーションクラスを作成して,ホスト侧シリアル通信を构成し,rtiostreamアプリケーションがビルドプロセスで含まれるターゲット侧コードファイルを指定し,プロファイリングデータの收集に使用されるタイマーへのアクセス方法を指定し,组み込みアプリケーションを起动するDSSユーティリティの呼び出しを统合します。

  • コンパイラ,リンカー,アーカイバーアーカイバーのコマンドとオプション指定する,makefile(target_tools.mk.)を作成します。この生成文件はテンプレート生成文件(target_tools.mk.)に含まれています。

  • target_tools.mk.をを含むmakefile(ec_target.tmf.)を作物成し。

  • インストールに依存するパラメーターを特定して,MATLAB®基本设定として保存します。

  • PIL包装件有为效ななを指定するする金宝appSIMULINK®カスタカスタファイルを作物成し。

このpil実装に关键词付けたファイルは嵌入式译码器®ににしていが,matlab®パスにはありませ。これらのファイルをするため,これをローカルローカルにコピーできこのディレクトリをmatlab®パスに加加〖si金宝appmulink®〗カスタマイズを更新すること,このpil実装を登录できます。

%COPYFILE(全文件(MATLABROOT,'工具箱','RTW','RTWDEMOS','examplepilf28335'),'examplepilf28335','f')让addpath(genpath(完整文件(matlabroot,'工具箱''RTW''rtwdemos''examplepilf28335')))sl_refresh_customizations

MATLAB®基本设定设定使して,パス情icitichとホストしシリアルポートポート実を直接使ししてている场场场场场基基设定设定をコンフィギュレーション适切适切指定ししなければばませませに。

TI_F28xxx_SysSWDir基本设定はTexas Instruments™ががするC2000™实验器套件应用软件sprc675.zip.)内内のディレクトリを参照するに注意ししてこれらにファイルファイルししてこれらにファイルファイルししはcod cod cod cod cod codcod注意は付属付属付属付属付属付属付属いませませませ

setpref('examplepilf28335''examplePilF28335Dir',完整文件(matlabroot,'工具箱''RTW''rtwdemos''examplepilf28335'));setpref('examplepilf28335''ccsrootdir''C:\ Program Files \ Texas Instruments \ CCSv4');setpref('examplepilf28335''ti_f28xxx_sysswdir''C:\ Program Files \ Texas Instruments \ Ti_f28xxx_syssw');setpref('examplepilf28335''targetconfigfile',完整文件(matlabroot,'工具箱''RTW''rtwdemos''examplepilf28335''f28335_ezdsp.ccxml'));setpref('examplepilf28335''波特率',115200);setpref('examplepilf28335''cpuclockratemhz',150);setpref('examplepilf28335''boardconfigpll',10);setpref('examplepilf28335''comport''com4');

PIL包装を使をするできました。

PILテスト向けのコントローラーモデルの准备

この节では,PIL実装を使用するためのコントローラーモデルを构成します.PIL実装の登录に使用したカスタマイズファイルを确认して,PIL実装を使用するようにモデルのコンフィギュレーションパラメーターを设定し,コントローラー出力と実行プロファイルデータのログ记录を有效にします。

PILモードでシミュレーションを开放するとき,S金宝appIMULINK®は登录されたマイズ确认しであるかマイズファイルします。カスタするな指定します対応コンフィギュレーションを指定し。ををて,この包装のカスタファイル确认确认でき。

编辑(FullFile(MatlaBroot,'工具箱''RTW''rtwdemos''examplepilf28335''sl_customization.m'));

このファイルは,このPIL実装を使用するために必要なハードウェアデバイスとテンプレート生成文件の设定を指定することに注意してください。コントローラーモデルのコンフィギュレーションパラメーターを,これらの设定に一致するように変更できます。これらの変更はモデルの[コンフィギュレーションパラメーター]ダイアログでグラフィカルに行ったり,以下に示すようにプログラムで行うことができます。

set_param('rtwdemo_pmsmfoc_local'......'ProdHWDeviceType''Texas Instruments-> C2000'......'templatemakefile''ec_target.tmf'......'gencodeonly''离开'......'simulationmode'“处理器在环(PIL)”

シミュレーション出力値を変数模板として记录し,実行プロファイル情icalexecutionProfileとして记录して,PILテスト中に実行プロファイル情报の收集を指定できます。これらの変更はモデルの[コンフィギュレーションパラメーター]ダイアログでグラフィカルに行ったり,以下に示すようにプログラムで行うことができます。

set_param('rtwdemo_pmsmfoc_local'......'codeexecutionprofiming''在'......'CodeExecutionProfileVariable''executionProfile'......'codeprofilingsaveOptions''alldata');save_system('rtwdemo_pmsmfoc_local.slx'

コントローラーモデルをpilモードモードで実実ようになりましましましできるようににましまし

生成したコードの动作と行当行时间のテスト

この节では,コントローラーモデルをPILモードで実行して,动作と実行プロファイルの结果を确认します。コンパイルされたコントローラーコードの动作がリファレンスシミュレーション动作と一致することを検证し,コードの実行がタイミング要件を満たすことを确认します。

モデルを実行ししシミュレーションの结果をプロットますますますます。嵌入式编码器®はアルゴリズムのコード生成し,アルゴリズムコードをシリアル通信インターフェイスとリンクし,组み込み组み込みをして,アプリケーションをボードにダウンロード,ターゲット上のシミュレーションを开放します。以降のpilシミュレーション中は,コードはモデルが変更さたのみのみ生成されるに注意して。により,pilシミュレーションシミュレーションはノーマルモードのより低速低速で実さことことがありありれることことありあり

以下のmatlab®コマンドは,ハードウェアとの接続が必要,前述の组み込み开放ツールを使ため,意図的にコメントアウトれてます。ハードウェアハードウェア接続ますれ。は,コメントを解除しての行を実行してモデル実行し,结果をプロットて,动作がノーマルノーマルで実しシミュレーションシミュレーションが等しいこと确认ますます。の先を确认しながらながら実しししします。

%取消了以下行运行模拟并绘制结果%如果存在('slprj','dir'),rmdir('slprj','s');结尾%SIM('RTWDEMO_PMSMFOC_LOCAL')%pwm_compare_pil = logsout.getElement( 'pwm_compare')值。%rtwdemo_pmsmfoc_plotpwmcompare_pil(controller_mode,pwm_compare_pil,executionProfile)

上部プロットはコントローラーのの力,PWM比较です.PILモードでのの力は,「コントローラーモデルのリファレンス动态の确立」で示したノーマルでのシミュレーションの示しと似ています。モードシミュレーションのの力から引いて,数码が等しいことを确认ますます。

%取消注释以下行以验证输出的数值等同%pilErrorWithRespectToReference =总和(ABS(pwm_compare_pil.Data  -  pwm_compare_pil.Data))
PilerRorwithRespectToreference =.
0 0 0

下载プロットは,各シミュレーションタイムステップでのモデルの実行时间のの状态は最も时间がかかりんんん。コントローラーがマルチレートでシングルタスクため,行排时间中间に小さい周周4

コントローラーは组み込みプロセッサで25 khzで実行されなければならないないため,アルゴリズムは40マイクロ秒内で実をしなければなりません(その他のコード要求ません追の差し引き差し引きますさを差し引きも行。るる合成がますますプロファイル结果,アルゴリズムは组み込み环境のこのに割り当てられたた内実行

生成されたコードは検证され,数値が等しい结果が得られ,このテストケースの実行タイミング要件を満たします。

close_system('rtwdemo_pmsmfoc_local',0);close_system('power_utile',0);

PIL実装に使用されたMATLAB®基本设定はMATLAB®セッション间で维持されます。これらの基本设定を削除するには,次のコマンドを実行します。

Rmpref('examplepilf28335');rmexamplePilF28335hooks();

まとめ

このこのでは,永久永久同同のベクトルベクトル制御制御アルゴリズム制御アルゴリズム使ててシステムレベルのシミュレーションコード生成を示し,コントローラーアルゴリズムの机构的动作をしました。また,任意の组み込みた。,但是プロファイルプロファイルの说を说明ししまし,アルゴリズムの动作が正しく,コードがコントローラーモデル生成さ,ターゲットプロセッサでされ,ターゲットプロセッサでますれ,プロファイルされ。,モーターハードウェアとインターフェイスする组み込みソフトウェアとととできるようになりなりなりなりなり

关键词トピック