Raspberry pi の初仕事

昨日書いた通り、6台作った計測向けインターフェースつきRaspberry piですが、無事に朝から夕方まで連続して動作することを確認しました。今回はLibre officeしか使っていなかったので、本来の目的ではありませんが。。。

高校生講座でのraspberry piの様子

今週はMario先生(アメリカCOE College)が来日していて、私もよく知っているLehigh大のIMIが、高校生の教育のためにキャンディーで作ったガラスを自作したDTA, DSCで計測している情報を教えてくれました。まさにこれをやりたいのです。

http://www.lehigh.edu/imi/docs_edu/AAPT2012_02_Expts.pdf

米国ではRaspberry piなどのカードサイズPCと3Dプリンタの自作が一大ブームになっているそうです。日本でもここ数ヶ月3Dプリンタがコンシューマ向けで出てきていますが、20万円台と高額なんですが、自作だともっと易くできるそうで、この辺も注目していきたいと思います。

研究室のモットーである、コンピュータに強く、材料開発の専門性をもった、語学堪能な学生を育てたいと思ってます。

PL-2303 USB-シリアルのWindows8未対応

今日からスーパーサイエンスハイスクール(通称SSH)で、地元の高校生がガラス作りとレーザーパターニングの体験に来ています。本来は学生ゼミでRaspberry piをお披露目と思ったのですが、思いの外学生にうけが良かったので、明日使ってみることにします。

とはいってもLibre office calcでグラフ用紙からXY座標をデジタイジングする作業と、impressで報告プレゼンを作るのに使うので、計測は行いません。果たして無事に6台動くかどうか?

今回の製作を通じて分かった驚愕の事実が、タイトルにあるUSB-シリアル変換ケーブルの件です。

巷ではWindwosXPサポート終了問題がしきりに報道されていますが、測定器関連はほとんどがXPで動いています。Raspberry piのUARTシリアルの動作確認のためにWindows8プリインストールのノートパソコンに、秋月電子のUSB-シリアル変換ケーブルを挿したら動作しないのでした。いろいろ調べるとWindows8ではサポートしないようです。この変換ケーブルですが、研究室にはたくさんあります。もちろんXPに繋いで使用しているのもありますが、うかつにWindows8にはアップグレード出来ないことになります。

Visual studio expressが出たときも、webアプリ開発が先にローンチされて、デスクトップアプリ開発は後回しになったのも驚かされましたが、計測器を制御するのに最適なOSかは疑問がでてきます。測定装置、計測器のメーカーも多分悩んでるんでしょうね。

これを機会にWindowsで計測プログラムを開発するのやめようかな?と思います。

 

UARTシリアルつけてようやく完成

完成した計測向けraspberry pi

完成した計測向けraspberry pi

長岡花火を目前にしてようやく完成しました。UARTシリアルポートがついたのでRS-232Cをもつ装置も制御できます。ケースはダイソーのはがきケースを選択しました。
シリアルの変換ICはADM3202を使いましたが、これに悩まされました。raspberry piとADM3202の結線例は多数あるのですが、やってみると全く応答しない・・・

デジタルオシロまで引っ張り出してきて、分かったのがd-sub 9ピンの2,3番とADM3202の13,14ピンの接続が逆なような感じ。なんか気持ち悪いがとりあえず動作確認できたのでよしとします。

7セット完成したので、2学期から研究室のゼミで利用したいと思ってます。

Raspberry piでUSBTMC

土日は学内で学会、ようやく普段の落ち着きを取り戻しつつあるが、来週はICGで再び海外へ、
raspberrypiネタばかりですが、これははまります。
カーネル再構築でUSBTMCが使えるそうで、ただいまコンパイル中

参考にしているのは以下のサイト

http://kuchem.kyoto-u.ac.jp/kinso/weda/blog/?date=20130612

成功したらまた報告を

Raspberry piのUSBTMC

Raspberry piのUSBTMCドライバを開発していらっしゃる方いるんですね。

https://plus.google.com/106729691068058521403/posts

 

あとNIのUSB DAQ 6008と6009のドライバもNIから出ているんですね。

https://decibel.ni.com/content/docs/DOC-25806

Labviewのトレーニングのため6009を持っていますが、RaspberryPIより遥かに高額です。できればUSB-TC01が動いてくれるといいのですが、なぜか対応はWindowsのみ。テストしてませんが、つないでpyUSBあたりで何とかならないものでしょうか・・・

 

しばらく国際会議等で忙しないので、落ち着いたらLCRメータあたりつないでみようかと思います。

どうでもいいことですが、今までコメントできなかったのでコメントできるように設定変更しました。

 

Raspberry piに K熱電対ロガー (2)

前回に引き続き、今回はようやく熱電対2チャンネル分の動作まで確認できた。

外観はこんな感じ

Raspberry piに熱電対モジュール2つ接続した外観

Raspberry piに熱電対モジュール2つ接続した外観

SPIシリアルは基本的にはSSで機器を判別するので、配線は以下の通りとなる。

SPIシリアルピンと2つのK熱電対モジュールの配線図

SPIシリアルピンと2つのK熱電対モジュールの配線図

配線はなるべく短いほうがいいようです。とりあえず手元にあった古いLANケーブルを切り刻んでハンダ付けしましたが、十分OKでした。

あとはmax31855.pyのコードを2チャンネル分読み取るように編集すると完成。

5秒毎の室温を2ちゃんねる同時に測定し、libreofficeでグラフ表示

5秒毎の室温を2ちゃんねる同時に測定し、libreofficeでグラフ表示

概ね安定して測定できています。もう少しノイズ対策したらばらつきは改善するのかもしれません。windowsでプログラミングするようになってからあまりきにしていませんでしたが、pythonはインデント位置が厳密になっていて、綺麗にコードが書けるように配慮されています。あとはRS-232cポートを取り付けて、シリアル制御もできるとさらに可能性が広がります。できればUSBTMCも制御できてしまうと完璧なんですが。GPIBはとても大好きですけど遅いしもういらないかな・・・だれかUSBTMCドライバ開発してください。

Raspberry piにK熱電対ロガー (1)

K熱電対のモジュールが届いたので、ユニバーサル基板にピンソケットをつけて配線したらとりあえずあっさりと1チャンネル分の熱電対ロガーが出来てしまったので、まとめておく。

参考にしたサイトは以下のサイトですが、フランス語なのでgoogle翻訳のお世話になった。

http://chezdjibb.wordpress.com/2013/03/02/raspberrypi-et-thermocouple/

 

K熱電対のモジュールは千石電商から購入し、ソケット終端の熱電対がセットになっています。

IC(MAX31855)部分は予め半田付けしてあるので、ピンヘッダ部と熱電対のソケットをハンダで固定するだけです。

モジュールとraspberry piとの配線は以下の通り

  • VCC  →  3V3 Power  (隣の5Vはだめです。多分MAX31855が壊れます)
  • GND →  Ground
  • SS  →  GPIO 8(CE0) あるいは GPIO 7(CE1)どちらでも可(のはず)
  • MISO →  GPIO 9 (MISO)
  • SCK  → GPIO 11(SCKL)

GPIOs

 

とりあえず繋いでみた写真がこんな感じ

IMG_0255

 

ここからはソフトウェアの設定

  • GPIOを制御するライブラリのダウンロードとインストール

https://github.com/quick2wire/quick2wire-python-api

quick2wire-python-api-master.zipを適当なフォルダに保存したら

unzip quick2wire-python-api-master.zip

cd quick2wire-python-api-master

もしここでpyhton3がインストールされていなければ sudo apt-get install python3-setuptoolsを実行

sudo python3 setup.py install

  • Bitstringのダウンロードとインストール

https://code.google.com/p/python-bitstring/downloads/list

unzipで解凍したら先ほどと同じく解凍したフォルダに移動して

sudo python3 setup.py install

  • GPIOポートの設定

/etc/modprobe.d/raspi-blacklist.confの全ての行をコメントアウト(行頭に#をつけて保存)

rebootで再起動

  • MAX31855ドライバのダウンロードと編集

https://github.com/Tuckie/max31855/blob/master/

ZIPを解凍してmax31855.pyを編集

134行目 thermocouple = MAX31855(1, “f”) ここで括弧の中の1はCE1を示すので、CE1に接続したなら1のまま、CE0に接続の場合は0に書き換え、”f”は華氏、”c”に書き換えで摂氏に変更

  • とりあえず実行してみる

python max31855.py で実行すると以下の通り温度が1秒おきにスクロール表示される

IMG_0260

2つ値が表示されるが、tcが熱電対先端の温度で、rjがモジュールICに内蔵の冷接点補償回路のセンサー温度なので、常に冷接点補償された温度を記録できている。素晴らしい。

あとはもう1チャンネル繋いで、2チャンネル分収集出来るか確認が出来れば示差熱分析に使えそう!

ただ14ビットで最少0.25C刻みなので、ちょっと不安ではありますが・・・、まあ学生実験であれば許されるだろう;

というか-200℃~1800℃を14ビットで分解しているのはどう見てもおかしいでしょう。K熱電対はそんな高温まで耐えられないんだから1100℃上限のスケールにしてもらえればもう少し分解能は改善すると思うんですが。不思議です。

MAX31855はR熱電対用もあるみたいです。ただ1000個ロットでないと安く購入するのは難しいようなので、

どなたかR熱電対用も同じ価格でモジュールを販売していただけると助かります。

このコストパフォーマンスには驚かされます。Raspberry piが2950円(typeAに至っては2150円)、熱電対モジュールが1個2730円。モニタはターミナルあるいはVNC経由にしてしまえば通常は必要ないので、この時点で6000円ほどでLAN対応温度ロガーができてしまいます。電気炉のモニタにも使えるでしょうし、この面白さ、学生にもぜひ理解して欲しいところです。

Raspberry piで

35$コンピュータとして昨年人気になったRaspberry piを学生実験の計測に活用できないか思案中
とはいえデータロガーは最低でも数万はするし、NI-DAQとLabVIEWとなるとさらに高額でボツ。できれば熱電対の温度くらいは格安でデータ収集したいところです。

いろいろ探しているとRaspberry piにはSPIシリアルが2つ切り替えられるのと、SPIシリアル用に熱電対モジュールが販売されているようです。

MAX31855 K型熱電対温度センサモジュール

http://strawberry-linux.com/catalog/items?code=12388

また、pythonで読み取れるらしい。

http://www.raspberrypi.org/phpBB3/viewtopic.php?t=18125

これを2つ搭載すれば、示差熱分析が一万円しないで作れそう。
さらにUARTシリアルに電子天秤を繋げばTG-DTAにも・・・

 

B2の学生実験ガイダンスの補足

今年度も学生実験が始まりました。まずはB2のガイダンスからスタートです。
レポートの書き方でグラフソフトについて話しましたが、今日デモしたngraph-gtkに関するお役立ちリンクを紹介します。

ngraph-gtkはngraphをgtk+に移植させたものですが、最近はこちらのほうが開発が頻繁なようです。windowsはもちろんlinux, macでも動くので、windows使いの研究室学生が作ったグラフを、主にOSX使い(もともとwindowsユーザーです)の私が受け取って編集することができます。

ngraph-gtkが元となっているngraphのサイト。windows,linux版はあるが、OSXで起動させるにはかなり苦労しそうである。いつの間にかフリーソフトとなっている。大変ありがたい。もちろんngraph-gtkもフリーです。
単独で使うならngraphでもいいかも知れないが、pdfが出力できるgtkの方がいいと思う。使い方はまったく同じなので、マニュアルは役に立ちます。

秋田高専の電気情報工学科の先生のページらしい。レポートの書き方・手書きでのグラフの書き方についても解説がある。もちろんngraphの使い方についても丁寧に紹介されている。

エクセルで科学グラフの作成はかなり大変です。ぜひngraph等の専用ソフトを使いましょう。