はじめに#
この記事では、PEControllerで組み込み開発を始める方法について説明します。
前提条件
以下のツールは、この記事で示された例を理解し実装するための前提条件である:
- STM32CubeIDE 1.9以降
- STM32Cube_FW_H7_V1.7.0 またはそれ以降
- STM32CubeMX 6.0.0以降
- PEControllerボードサポートパッケージ
ハードウェアの概要

以下の手順で、デモアプリケーションを実行するための PEController を準備します。
- PEControllerの電源を入れます。(スタンドアロン PEController の場合は、15V アダプタを使用して PEController に電源を投入します)。
- ICP USBをType-A USBケーブルでコンピュータに接続します。
PEControllerボードサポートパッケージ
PEControllerはGitHubにあるオープンソースの組み込みCライブラリでサポートされています。オープンソースのパッケージはPEController Board Support Package (BSP)と名付けられています。これらのライブラリには、開発を加速させるサンプルアプリケーション例も含まれています。これらのライブラリは、この記事の前提条件です。
PEController BSP#のダウンロード
以下の手順でPEController BSPの最新リリースをダウンロードしてください:
ステップ1: リンクhttps://github.com/Taraz-Technologies/PEControllerBSP。
ステップ2: 下の画像に示すように "Code"ボタンを押し、"Download ZIP"をクリックして最新版のPEController BSPを入手してください。

ステップ 3: ダウンロードしたzipファイルからフォルダを解凍します。
ステップ4: PEControllerBSPのドキュメントにアクセスするには、ここをクリックしてください。
PEController BSP Brief#
ディレクトリの概要
次のセクションでは、PEController BSP の現在のディレクトリ構造について説明します:

ドライバー
このフォルダにはPEController用のデバイスドライバが含まれています。
- BSP: Taraz Technologies社が提供するBSPドライバが含まれています。
- PEController
- ADC: ADC関連のデバイス・ドライバが含まれる。
- 共通:デバイスドライバに関する一般的な共有と定義が含まれています。
- コンポーネント:さまざまなコンポーネントドライバーが含まれています。
- DigitalPins:Digital IO 関連のデバイスドライバが含まれる。
- ディスプレイ:ディスプレイ関連のデバイスドライバが含まれています。
- intelliSENS:intelliSENS ソフトウェア統合用のデバイスドライバが含まれています。
- PWM:PWM関連デバイス・ドライバが含まれる。
- PEController
- CMSIS:CMSIS(CommonMicrocontroller Software Interface Standard)標準デバイス・ドライバが含まれています。
- STM32H7xx_HAL_Driver:STマイクロエレクトロニクスが提供するデバイスが含まれます。
ミドルウェア
このフォルダーにはドライバーのサポート・ライブラリーが含まれています。
- ST: STマイクロエレクトロニクスが提供するUSBやネットワークなどのサポート・ライブラリが含まれています。
- TarazTaraz Technologies社が提供する制御システム設計のためのサポート・ライブラリ(クラーク/パーク変換、デジタル・フィルタリング、PLL生成など)が含まれています。
- Third_party:LWIP、FreeRTOS、FatFSなどのサード・パーティ製サポート・ライブラリが含まれます。
プロジェクト#
このフォルダには、BSPで提供されるアプリケーション例が含まれています。
- PEController
- アプリケーション
- PEController_Template:新しいクイックプロジェクトを作成するためのテンプレートプロジェクト。
- PELab_OpenLoopVFD:オープンループV/f制御の基本的な実装 PELabの様々なバリエーションと独立したPEControllerボード用に実装されています。
- アプリケーション
オープンループV/f例#の実行
この記事では、PELab_OpenLoopVFD サンプルプロジェクトを使用して、PEController での使い方を説明します。先に進む前に、前提条件となるツールをすべてインストールしてください。
ステップ1 : GitHubからダウンロードしたPEController BSPのあるディレクトリを開きます。
Step 2: Open the “.project” file in {Project_path}/ Projects/PEController/Applications/PELab_OpenLoopVFD. This will add the project with its two nested projects in the STM32CubeIDE workspace.

ステップ 3: 下の画像に示すように、メニューのウィンドウからプロジェクトエクスプローラーを開く:

ステップ 4: メニューのウィンドウからツールバーを有効にしてください:

ステップ5: PELab_OpenLoopVFDプロジェクトを展開します。プロジェクトには2つのネストされたプロジェクトがあり、1つはCM4コア用、もう1つはCM7コア用であることが下の画像からわかります:

ステップ6: BSPのロジックは、測定値の取得、LCD表示、その他の補助機能がCM4コアによって制御され、CM7コアが制御アルゴリズムの実装に使用されて制御性能が向上するように分割される。
ステップ7:どちらのプロジェクトも次のような構成になっている:
- BSP:BSPドライバを含む。
- 共通:CM4とCM7の両コアで共有されるコンフィギュレーションなどの共有ファイルが含まれる。
- コア:STM32CubeMX ソフトウェアによって生成されるメイン・ファイルおよびその他のファイルが含まれます。
- ドライバ:STマイクロエレクトロニクスのドライバが含まれています。
- UserFiles:プロジェクト関連ファイルを含む。
ステップ8:Common/Inc.内の "user_config.h "ファイルにある以下の情報を編集する:
- PECONTROLLER_CONFIG パラメータからハードウェアタイプを選択します。 独立した PEController の場合は PEC_CUSTOM を選択し、PELab の場合は適切な PELab 設定を選択します。
- PEController が PELab に取り付けられている場合は、PELAB_VERSION と CURRENT_SENSITIVITY_mVA の適切な値を選択してください。関連情報は PELab のデータシートに記載されています。
- PEControllerに適したディスプレイモジュールを選択します。

ステップ 9: PELab_OpenLoopVFD_CM4を右クリックし、プロジェクトのビルドをクリックします:

ステップ 10: PELab_OpenLoopVFD_CM7を右クリックし、プロジェクトのビルドをクリックします。
ステップ11:Menu ItemsのRunをクリックし、Run Configurations...をクリックします:

ステップ 12:PELab_OpenLoopVFD_CM4 のスタートアップタブに移動します:

ステップ13: 上図は、PELab_OpenLoopVFD_CM4 プロジェクトがCM4コアのコードをビルドまたはダウンロードしないように設定されていることを示しています。このオプションにより、CM4コアとCM7コアの両方を同時にデバッグできるようになります。下図に示すCM7プロジェクトは、CM7コアとCM4コアの両方のプログラミングを担当します:

ステップ14:上記のウィンドウでCM7プロジェクトが選択されていることを確認し、実行を押して両方のコアにコードをアップロードします。
実施と結果
このセクションでは、誘導負荷に対するオープンループV/f制御の実用的な実装について説明します。
必要な機材
V/f コントローラの機能を実際に検証するには、以下の装置が必要です。
- PEController内蔵PELab
- 三相負荷(誘導電動機またはインダクタ)
- DC電源
実施内容
この実装は PELab の様々な構成で可能である。スタンドアロンのPEControllerでは、この例の実装に外部パワーステージと三相負荷が必要です。このガイドでは、三相負荷として内部インダクタを使用したPELab(PLB-6PH)でのオープンループV/f例の結果について説明します。
この例では、DCリンク電圧が一定であるため、電流周波数に基づいて変調指数を制御することを示している。デモの開始時、出力周波数は1Hzです。必要な周波数値に達するまで、指定された加速係数で周波数が上昇します。これは、三相モータのソフトスタート機能を実証するもので、始動時の高電流要求を回避することができます。
以下の表は、関連する実装仕様である:
パラメータ | 価値 |
PWM周波数 | 40 KHz |
必要出力周波数 | 25 Hz |
出力初期周波数 | 1 Hz |
DCリンク電圧 | 50 V |
インダクタンス | 2.5 mH |
結果
このセクションでは、必要な周波数における三相の出力電流波形を提供します。各電流波形は異なる色で表示されます。関連する測定値も画像で確認できます。

例のデバッグ#
このセクションでは、プロジェクトの CM7 コアと CM4 コアの両方を同時にデバッグする手順を説明します。オープンループ v/f プロジェクトをデバッグするには、以下の手順を使用します。
ステップ1:ツールバーのデバッグアイコンの隣にある矢印をクリックし、下の画像に示すように、デバッグ設定メニュー項目をクリックします:

ステップ 2: PELab_OpenLoopVFD_CM7起動設定を選択し、Debugボタンを押します:

ステップ3:アプリケーションがロードされたら、ツールバーのレジュームボタンを押してください。エラーを避けるため、再開ボタンを押す前にアプリケーションが完全にロードされていることを確認してください。
ステップ 4:ツールバーのDebugアイコンの横にある矢印をクリックし、Debug Configurationsメニュー項目をクリックします:

ステップ 5:PELab_OpenLoopVFD_CM4起動設定を選択し、Debugボタンを押します。
ステップ6:デバッグ・ウィンドウは下の画像のようになり、両方のプロジェクトが実行されているはずです:

ステップ 7:[Live Expressions]タブを開き、[expression]列に "adcVals "と入力してEnterキーを押します。 adcVals の横にある矢印を押すと、アナログ・チャンネルからのライブ値フィードバックが表示されます。adcValsの構造はadc_config.hで定義されており、そのメンバーは設定によって異なる場合があります。ライブ・フィードバック・ビューは下図のようになり、値は常に変化します:

ステップ 8:両方のプロジェクトのツールバーの終了ボタンを押して、デバッグ・セッションを終了します。