チュートリアル 4194

MAXQ2000を電圧計として使用する方法


要約: このアプリケーションノートでは、マイクロコントローラMAXQ2000を単純な電圧計アプリケーション用に構成する方法を示します。このアプリケーションは、4.5桁のLCDディスプレイおよびデータ収集システム(DAS) MAX1407を含むMAXQ2000の評価キットに加えて、外付けの抵抗を2本使用します。このMAXQ2000による電圧計は、0~10Vの任意の電圧の計測と表示を行います。

はじめに

このアプリケーションノートでは、 MAXQ2000の評価キット(EVキット)を単純な電圧計としてセットアップする方法を説明します。

このEVキットには、マイクロコントローラMAXQ2000-RAXが含まれています。MAXQ2000はADCを内蔵していないため、EVキットにはアナログ-ディジタル変換を実行するデータ収集システム(DAS) MAX1407が搭載されています。EVキットには最初から4.5桁のLCDディスプレイが付属しています。EVキットに+5V電源およびPCに接続されたRS-232ケーブルを追加することによって、0~10V DCの計測が可能な、完全に機能する電圧計が実現します。

Figure 1

単純な電圧計アプリケーション

電圧計アプリケーション用のファームウェアはmain.cというファイルに含まれており、an4194_sw.zipというファイル名でダウンロードが可能です。このファームウェアは、MAXQ2000のハードウェアSPI™インタフェースを使用してMAX1407 DASとの通信を行います。MAXQ2000は内蔵のハードウェアLCDコントローラを使用して、EVキットのLCD上に電圧を表示します。

リセットの後、MAXQ2000はlcd_init()関数を呼び出すことによってボード上のLCDを初期化します。次にMAX1407のRESETラインをローに駆動してADCをリセットし、max1407_init()関数の呼び出しによって初期化を行います。ADCの初期化が終わると、SPIを通してコマンドが発行され、IN0端子の電圧を読んで較正を実行するように内部のマルチプレクサが設定されます。較正の後、IN0ライン上において毎秒30回の速度でADC変換を行うようMAX1407に命令が発行されます。

MAX1407のDRDY (Data Ready)ラインは、MAXQ2000の入力ポートP6.1に接続されています。このラインは、MAX1407がADC変換を実行している間はハイになっています。変換データの準備ができてマイクロプロセッサによる読取りが可能になると、ラインがローになります。LCDに表示される値が高速で変化しないように、30サンプルにわたって(ファームウェアアプリケーション内で)変換データの平均値が算出されます。

フィルタリング後の結果、すなわち分解能0.01VでMAX1407 DASが読み取った電圧が、display_voltage()という名前の関数に渡されます。たとえば、ADCの読んだ値が7.89Vであった場合、「789」という値がdisplay_voltage()関数に渡されます。この関数は、100の桁の右に小数点を付けた適切な形で、整数値をLCDに表示します。渡された整数がMAX_DC_VOLTS以上の場合は、「-E-」という形でエラーを表示します。

MAXQ2000のEVキットのハードウェアに対する変更

生の入力電圧をMAX1407 DASのIN0入力に接続する前に、4分の1に調節する必要があります。この調節は、単純な抵抗分圧器(メータの入力電圧とIN0端子の間が3.00kΩ 1%、IN0端子とグランドの間が1.00kΩ 1%)で実現することができます。さらに、オペアンプ(TL084など)をバッファに使用することで、抵抗分圧器によるソースへの負荷を防ぐことが可能です。

IN0端子の電圧が+3.3Vを上回る可能性やグランドを下回る可能性がある場合は、IN0端子と+3.3V電源間およびグランド間にショットキダイオードを接続してください。

MAXQ2000-RAXのEVキットには、+5V ±5%の電源が必要です。この電源は、非常に多くのソースから入手可能です。Radio Shack(s)では、273-1696という型番で扱っています(EVキットのジャックに合わせるために、273-1717アダプタプラグも必要になります)。

MAXQ用IAR Embedded Workbench®

このアプリケーションノートでは、マキシムのWebサイトからダウンロード可能なIAR Embedded Workbenchを開発に使用しました。PCにインストールした後、FileメニューからOpen Workspace ...を選択すると、次のようなダイアログボックスが表示されます。

Figure 2

このダイアログボックスを使用して、ハードディスク上のプロジェクトワークスペースの保存場所に移動してください。voltmeter.ewwというファイルを選択して、Openボタンをクリックしてください。このとき、「The project 'voltmeter' contains the unknown tool 'MAXQEMU'. A backup copy of the original file will be made before the project is loaded. (プロジェクトvoltmeterには不明なツールMAXQEMUが含まれています。プロジェクトをロードする前にオリジナルファイルのバックアップコピーを作成します)」というメッセージが表示されることがありますが、このアプリケーションノートの場合はメッセージを無視しても問題ありません。

IAR Embedded Workbench内で、ProjectメニューからRebuild Allを選択して、電圧計アプリケーションに必要なすべてのソースコードのビルドを行ってください。エラーや警告なしにコンパイルすることができるはずです。

MAXQ2000のEVキットの説明に従って、リボンワイヤヘッダケーブルを使用してLCDモジュールをEVキットのメインボードおよびMAXQJTAGモジュールに接続してください。EVキットの3つのボードがすべて接続され、電源が投入され、RS-232ケーブルがPCに接続された状態になったら、ProjectメニューからDebugを選択してください。この操作によって、ターゲットのMAXQ2000にオブジェクトコードがダウンロードされ、実行の準備が整います。DebugからGoを選択すると、電圧計アプリケーションが実行されます。何も表示されない場合は、DIPスイッチSW3を調べて、すべてのスイッチが「on」の位置になっていることを確認してください。

結論

この単純な電圧計アプリケーションは、マイクロコントローラMAXQ2000およびそのEVキットで実現可能な使用法の1つを示しています。このアプリケーションに必要なものは、MAXQ2000のEVキット、抵抗分圧器、および外部電源だけです。結果の電圧計は、0~10V DCの計測が可能です。