講座資料と簡単な解説(11-20)

最終更新: 2014/07/08 11:31:10 [| ]  最終更新: 2014/07/08 11:31:10

第11回 マイコン・パソコン通信の基礎

資料アーカイブ 20120821版


内容紹介

SPI型の通信
XBeeを活用したロボットの無線操作系
今回の題材は、マイコンおよびパソコン(サーバ等)の周辺の通信技術です。
※Windows, MacOS, Linux等の高等なOSを搭載しているコンピュータをパソコンで代表しています。

コンピュータを扱う上で、通信のハード、ソフトは欠かせないものになりました。
メカトロ関係で通信が使われるのは、主に、

という箇所です。

通信を理解するためには、ハードとソフトの両面を知る必要があります。もちろん、分担することはあると思いますが、特に、通信のソフトを扱う場合は、ハード面を知っておく意義があります。 他の多くの技術同様、「この手順をすれば、あとはOSなどが勝手に通信してくれる」という層化と、下層の隠蔽は行われますが、ひとたび、トラブルが発生した場合には、とくにマイコン関係の場合には、直接通信ラインの状況を調べることが近道になる場合があります(私は通信が成立しないときなどは、真っ先にオシロを引っ張り出します)。

さて、通信にはさまざまな方式がありますが、典型的には以下のようなものが見られます。

そのほか、無線系では、Zigbee, XBee, Bluetooth, 無線LANなども用いられています。

これらはそれぞれ、クロックの有無や、専用回路の必要性の有無、1対1通信か多対多かなどで特徴を持ち、それぞれの用途ごとにポピュラーに使われるようになってきました。 逆に、これらを知ることで、典型的なパターンを知ることができるでしょう。

今回のセミナでは、これらの通信方式を広く浅く簡単に解説しました。 また、多少レベルの高いところとして、ネットの通信で多用されているTCP/IP通信、HTTP,SMTPなどのプロトコルの概要なども紹介しました。


第12回 アナログセンサをマイコンにつなぐ

資料アーカイブ 20121002版


内容紹介

センサによる測定の構成
処理の回路と信号処理ソフトウエアへの分配検討
センサとアナログ入力の電圧レンジマッチングのための回路
今回はアナログセンサをマイコンで使う場合の検討過程についてまとめました。
実は、今回の構成はこれまでのメカトロセミナーとは若干スタイルが異なります。 これまでは、各要素要素ごとに限って狭い範囲の基礎をまとめるという形式でしたが、今回は、センサを使うという目的のために、横断的に様々な分野に及びます。 それぞれの箇所については、これまでのセミナーで解説した所も多く、より詳細については個別のセミナー資料や専門書をご覧頂ければと思います。

さて、センサをマイコンにつなぎ、計測を行う場合は、

  1. センサ:測定対象の変化を電気的変化(電圧、電流、抵抗変化など)にする
  2. 回路:電気的変化を電圧変化にし、増幅などをしてアナログデジタル変換の入力につなぐ、ノイズをフィルタする
  3. アナログデジタル変換:アナログ電圧をデジタル値にする
  4. 信号処理ソフト:ただのデジタル値に様々な処理を施して、情報としての計測値にする
という手順をとります。そのため、これらの要素について検討し、つなぎ合わせることで目的を達成します。
ただ、ここで大事な鉄則として「センサの性能を超えた測定はできない」「センサで得た精度、分解能などは回路などを通すと劣化する」ということです。デジタル化した後については、想定外の劣化はなく、劣化の程度を予め検証することができますが、アナログ段階ではいわゆるノイズの混入など、予期せぬ劣化がさまざま起こります。従来は、アナログで様々な調整をすることが一般的でしたが、最近はなるべくアナログ部分を減らす方向にあります。その最たるものがデジタルセンサで、アナログ部分はセンサ部品に封入し、部品の出力の段階でデジタルです(次回)。

このようなシステムの開発における開発手順を列挙します。

他の様々な開発同様、キーとなる要素を仕様を元に先に固め、その間をつなぎます。
センシングの場合は、センサとアナログデジタル(AD)変換が全体の性能を決定づけます。 別の言い方をすれば、これらに能力的な不足があったときに、他の手段で挽回することが難しくなります。 そのあと、センサ~AD変換の回路、AD変換後の処理を開発し、最後に性能チェックや補正を行います。 その間に、中間的なチェックポイントをいれてあります。

もちろん、選定する余地無く決まっている場合(ソフトだけ担当する場合)、回路部分がすでに固まっている場合(これまでアナログ主体だったものをマイコン化する)などもありますが、何のために各要素があり、それらがどういう目的、由来があって構成されているのか、という理解は、効率化や今後の改善に繋がると思います。

このような方向性について、キーポイントを押さえつつ、実例として玉乗りロボットのセンサ系の開発の概要についても紹介しました。


第13回 デジタルセンサをマイコンにつなぐ

資料アーカイブ 20121023版


内容紹介

デジタルセンサの利点
セミナーで取り上げた3種類のデジタルセンサ
SPI接続したセンサの信号入出力のプログラム例
今回は、「デジタルセンサ」をマイコンにつなぐために必要なことを、どちらかというと具体的な事例に重きを置いてまとめました。

前回のアナログセンサと、今回のデジタルセンサ、同じセンサであっても、全くという程、性質が違います。おおざっぱに言うと、アナログセンサをマイコンにつなぐ作業はアナログ回路技術の延長にあるのに対して、デジタルセンサはソフトウエアの延長にあります。
アナログセンサをつなぐには、最低限とはいえアナログの変換・増幅回路を用意し、マイコンのアナログデジタル(AD)変換器につなぎます。概ね、マイコンのAD変換の設定をしてあれば、時々刻々の生データ(デジタル値)を得ることができます。
それに対してデジタルセンサは、デジタルの通信線2~4本程度でマイコン、場合によってはパソコンと接続し使用します。外見ではアナログ的な所はありません。しかし、マイコンやパソコンの側で、ただAD変換値を読むのに比べるとかなり複雑なプログラムが必要になります。一つはセンサ通信をするためのプログラム、もう一つはセンサの内部情報を読み書きして、センサの値を得るほか、各種設定などを行うプログラムです。

デジタルセンサの最大の利点は、アナログ部分がセンサ内に隠蔽されていることです。そのため、良質の電源を供給することさえ気をつければ、回路は簡単にできます。
※内部にアナログがあるのは確かで、電源が汚いと(マイコン回路の電源はあまり綺麗ではなく、モータ等があるとかなり汚い=ノイズや変動が多い)その影響が出ます。
センサ内部でデジタル化もしてくれるため、ソフトさえかければ、システムがシンプルになります。その結果、基板の面積の縮小、コスト圧縮(アナログセンサとデジタルセンサで同じスペックならセンサそのものの値段に極端に違いはない?)、とくにアナログ回路がいらなくなることが効きます。
一方、従来のアナログセンサとの違いは大きく、ソフトに不慣れの場合は大変使いにくいセンサです。そのため、回路技術主体の場合には、無理にデジタルに移行することは足かせになる可能性があります。
特に、デジタルセンサを使ってみて困ったことは、内部の動作がさっぱり見えないことです。アナログセンサの場合は、回路のあちこちオシロを当てるなりして、「どこまで動作しているか」を見ることができますが、デジタルセンサでは回路、ソフトの全てがちゃんと動作して、初めて、何らかの値が得られ、トラブル時に問題の切り分けが困難でした。

デジタルセンサの接続は

の2系統に大別されます。後者は高機能なセンサ部品、センサ基板、センサ装置などで、内部に処理用のコンピュータが入っていて、信号処理までしてくれることが一般的です。レーザーレンジファインダ、GPSモジュール基板などもあります。USB接続の場合は、内部にUSB-シリアルブリッジ機能を入れて、最終的にはシリアル通信(COM?等)として使えることも多く見られます。これらの機器は、流れてくる文字列、バイト列を解釈するようなプログラム、ネットワークのサーバなどでよくある形式のプログラムを書くことになります(それゆえ、この系統はソフト経験者に使いやすい)。
一方、前者はより小規模のセンサに使われます。たとえば、ものの姿勢を測定するセンサ(加速度、角速度ジャイロ、IMUセンサなど)などがあります。 これらの場合は、マイコン側から積極的に、SPIやI2Cと呼ばれる形式でセンサに対して設定をしたり値の要求をし、測定値を受け取ることになります。 これらの場合は、まず、マイコンでSPIやI2Cの通信をするためのプログラムと、センサ内部の値=レジスタと呼ばれる=を読み書きするプログラムをつくることになります。

最終的に得られた値に対して信号処理したり、校正・キャリブレーションすることはアナログと同じですが、アナログの場合はノイズ除去などの小細工的処理が必要なことが多いのに対して、デジタルの場合はそれら無しですぐに本来の処理に入れることが楽なところです。
動かすまではアナログより苦労しますが、一度動けばいい性能が得られるといえます。もちろん、一種類を動かした経験があると、二つ目以降はかなり楽になります。

まだまだアナログセンサが主流で、デジタルセンサに選択肢はさほど多くない印象ですし、この先もアナログセンサは存在し続けると考えます。 ただ、デジタルセンサという選択肢を考えてみてもいいと思いますし、特にこれまで回路に縁が遠かったソフト系の方々には、非常にとっつきやすいものと思います。 実のところ、受講された方々のアンケート結果や様子をみると、これまでにくらべ、かなり大きく分かれていました。おそらく、このあたりの専門の違いもあったのではないかと思います。

補足資料

ここではセミナーで使用した資料や、関連するプログラムソースを公開します。