2014年12月11日木曜日

マイコン制御システムのユーザーインターフェイス(1)

マイコンで何らかの制御システムを作るとき、厄介なのがユーザーインターフェース(UI)です。

UIは制御の本質とはあまり関係がなく、その制御システムを利用する人間に対して情報を提供し、またその人間からの要求を受け付けるためのものです。
正直なところ、制御システムを作る人間からすると興味の順位は低いのですが、
制御システムを利用する人間にとっては、そのシステムの評価自体を左右してしまう重要なものです。

7セグメントLEDや液晶モジュールを使って測定値を表示したり、ボリュームや各種スイッチを使って入力を受け付けるなど、いろいろな方法が考えられますが、
いちいちハードウェアから作ってられないよ、という場合もあります。

こんなとき、パソコンをUIとして使うと、非常に便利です。
パソコンには、グラフィカルなUI(GUI)を構築するためのツールや開発環境が豊富にあるからです。
ここでは、パソコンをマイコン制御システムのUIにする一つの方法を紹介します。

ハードウェア(FT232RLを使ったUSBバスパワー駆動マイコン)


パソコンをマイコンのUIにするのですから、当然マイコンとパソコンが物理的に繋がっていなければなりません。 そこで、パソコン側のインターフェイスは、USBを使います。 するとマイコン側にUSBと通信する仕組みが必要なのですが、それにはFTDI社のFT232RLというUSB-シリアル変換ICを使います。 パソコンとマイコンの間にこのICを使うことで、パソコンとマイコンがシリアル通信できるようになります。
つまり、パソコンのGUIでわかりやすいUIを作り、シリアル通信(マイコンのUART機能)を使って、GUIとマイコンのやり取りをしようというものです。
まず、USBには、4本のピンがあります。V+、GND、D+、D-です。
名前でだいたい想像がつきますね。
V+は5V電源のプラスです。GNDはマイナス。
D+、D-はデータ入出力のピンです。

これらのピンをFT232RLにつなぎます。せっかくですから電源はUSBからとっちゃいましょう。
ちなみに、FT232RLは3.3Vの電源も出力できます。
マイコンの電源もUSBからとれば楽ちんです。
ただし注意点がFT232RLのデータシートに書いてありました。これはUSBの規格のようです。
  1. USBにデバイスを接続すると、ホストとの間でネゴシエーションというプロセスが行われます。このとき、USBからは100mA以上とったらダメ
  2. サスペンドモードのときは2.5mA以上とったらダメ
  3. ネゴシエーション完了後、デバイス動作時は500mA以上とったらダメ

ピンの接続ですが、USBのV+は、FT232RLのVCCとVCCIOにつなぎましょう。
このとき、間にインダクタ(フェライトビーズ)を入れます。また、V+とGNDの間には10nFのコンデンサを入れ、VCCとGNDの間に100nFのコンデンサと4.7uFの電解コンデンサを入れます。        
また、3.3V出力とGNDとの間には100nFのコンデンサを入れます。
そして、FT232RLのTXDをマイコンのRXピンにつなぎ、RXDをTXピンにつなぎます。

以上を回路図にすると、以下のようになります。
ここでは、マイコンとして、ATMega328Pを使用しています。
以下、ATMega328PのUART機能を使うものとして説明していきます。


RESET#が浮いてるのが気になりますが、データシートには何も繋がないか、VCCにプルアップして、と書いてますので、まあ未接続でもいいのでしょう。
これでマイコンとパソコンがシリアル通信できるようになりました。 次回は通信プログラムについて書きます。

0 件のコメント:

コメントを投稿