Skip to main content

Analog Discovery 2 でモーター制御回路デバッグ

awong
0

本記事では、Digilent製の携帯計測器「Analog Discovery 2」に搭載されているロジックアナライザ、スタティックI/O、電圧計、パターンジェネレータを使用して、HブリッジDCモータコントローラとステッパモータコントローラのデバッグ方法を紹介します。なおこのデバッグにはC言語で書かれた自動テストプログラムを使用したいと思います。

Digilent Analog Discovery 2

Digilent製 携帯計測器 Analog Discovery 2 (134-6480) は、USBオシロスコープ、ロジックアナライザ、マルチファンクション機器であり、アナログからデジタルまで様々な回路の計測、可視化、生成、記録、制御を行うことができます。無料ソフトのWaveFormsを併用すると、オシロスコープ、波形発生器、電源、電圧計、データロガー、ロジックアナライザー、パターンジェネレーター、スタティックI/O、スペクトラムアナライザー、ネットワークアナライザー、インピーダンスアナライザー、プロトコルアナライザーなどの従来のテスト機器や測定機器として動作するように設定できます。

WaveFormsは、Analog Discovery 2用の無料ソフトウェアアプリケーションで、オシロスコープ、ロジックアナライザ、ファンクションジェネレータなど、Analog Discovery 2のすべての機器を使用することができます。

その上さらにWaveForms SDK(ソフトウェア開発キット)は、様々な計測作業をC、Pythonなどで自動化するなど、カスタム・アプリケーションを書くことができ、そのためのライブラリやサンプルソースも提供されています。

Arduino UNOで制御されている「HブリッジDCモータドライバー」と「ステッパードライバ」をAnalog Discovery 2を使ってデバッグしてみましょう。2つのポテンショメータを使って、DCモータの速度とステッパの位置を設定します。ホール効果センサーは、DCモーターが半回転するごとにMCUに割り込み信号を送り、回転方向を変化させております。我々はポテンショメータの電圧を読み取ります。両モーターは、MCUを無効にした状態で、ドライバーにデジタル制御信号を送ってテストし、我々はMCUを有効にしてから測定します。

Wiring setup

自動テストアプリケーションの作成

まず、ヘッダファイル(AD2_motor_debugger.h)を作成し、以下の関数を宣言・定義します。また、DWFライブラリ(dwf.h)やその他の標準的なCライブラリもヘッダファイルに含めます。

  1. Analog Discovery 2の初期化
  2. Analog Discovery 2の機器をリセット
  3. デジタルI/O端子に値を書き込む(スタティックI/Oの場合)
  4. アナログ入力から電圧を読み出す(電圧計の場合)
  5. 2つのモーターを駆動する(パターンジェネレータの場合)
  6. デジタル信号を記録する(ロジックアナライザの場合)
  7. データを.csvに保存

ラッパーであるメインソースファイル(main.c)には、プロジェクトの構造と、記録されたデータを表示するためのPythonとMATLABの2つのスクリプトを定義しています。

メインソースファイルの冒頭で接続を定義して、Analog Discovery 2を接続しています。モータードライバーをテストするには、Arduino UnoのRESETピンをローに設定して電源を切る必要があります。その後、ポテンショメータの電圧を読み取り、digital_write()関数とPWM生成関数を使用して、両モーターの速度を変化させつつ両方向にテストします。

Arduinoからの信号を記録するには、RESETピンをロジックハイにして、Arduinoをオンにする必要があります。我々は、サンプル数(data_size)とバッファサイズ(digital_data)に合わせてメモリを割り当てるのです。取得後は、データの損失/破損を確認する必要があります。

テストの結果は、現在の操作に関するメッセージとともに、コンソールウィンドウに表示されることになります。

MATLABまたはPythonでデータを視覚化

MATLABスクリプトplotting.mまたはPythonプログラムplotting.pyを実行すると、データをファイルにエクスポートして視覚化可能です。

Visualize the data in MATLAB or Python - Graph 1

Visualize the data in MATLAB or Python - Graph 2

このガイドの詳細とソース・ファイルのダウンロードは、Digilent Reference Pageをご覧ください。

Love learn engineering in hands-on approach. Interested in new technology. Work in Digilent as International Sales and Distribution Manager.

関連性のあるコンテンツ

DesignSpark Electrical Logolinkedin