先日書いたMCP3002でのアナログ入力方式で照度センシング基板を作った。
今回、片面基板の銅箔面に部品を載せる方法にした。両面基板は以前にも書いた様に、CNCで切削するには位置合わせが面倒なのだ。
多チャンネルが不要なら、MCP3002で作る方がかなりシンプルになる。
先日書いたMCP3002でのアナログ入力方式で照度センシング基板を作った。
今回、片面基板の銅箔面に部品を載せる方法にした。両面基板は以前にも書いた様に、CNCで切削するには位置合わせが面倒なのだ。
多チャンネルが不要なら、MCP3002で作る方がかなりシンプルになる。
Raspberry Piでのアナログ入力方法として、OpenStickを用いる例を先日書いたが、今回はA/D変換ICを用いる正統派の方法を試してみた。
使用したのは秋月電子で¥200のMCP3002。アナログ入力が2CHあり、SPIでRaspberry Piと接続する。
回路図
Raspberry Pi側の準備
こちらを参考に設定した。
お試し
次のスクリプトをspiread.pyという名前で作成。
#!/usr/bin/env python # _*_ coding: utf-8 _*_ import spidev import time CE=0 spi = spidev.SpiDev() spi.open(0,CE) while True: retspi = spi.xfer2([0x68,0x00]) value = (retspi[0]*256+retspi[1]) & 0x3ff print value time.sleep(1)
実行結果(可変抵抗でアナログ値を変化させながら実行した例)
$ ./spiread.py 0 0 128 292 489 1023 1023 1023
Raspberry PiのSPIはCE0とCE1端子を用いて2個のSPIデバイスを個別に使用できる。これをスクリプト中では変数CEで指定している。
spi.xfer2()に渡している0x68はMCP3002に対し、「シングルエンド動作」、「アナログ入力CH0を使用」、「MSPから出力」 を設定している。 変換結果は配列retspiに2バイトで入るので、連結して下位10ビットを取出した後、print文に渡している。
なおspi.xfe2()に渡す値0x68を0x78に変更するとCH1入力を使用する事になる。
OpenStick方式と比べると・・・
ワケあって部屋の明るさをネットワーク経由で検出するシステムを作成しようと思った。
センシング部分は無線LANで接続したいので、簡単に行うにはやはりRaspberry Piが良い。
しかしRaspberry Piにはアナログ入力が無いので、以前にもここで書いた様にOpenStickを用いてみる事にした。
フォトトランジスタの電流変化をオペアンプでバッファリングしてPIC18F2550のアナログ端子に入力した。 ジョイスティックのデータとしてRaspberry Piに伝えるので接続はUSBでよい。
とりあえずRaspberry Piから読み込めている事を確認できた。
しかしシリアルインターフェースのA/DコンバータICを使うのと、どちらが簡単だったろうか?
その後、FedExで送ったとの連絡があった。Tracking numberが記載されていたのでFedExのサイトに入力したら配送状況が表示されたので、まずは一安心した。だが・・・・
なんだかアメリカに送られている模様。テネシー、バージニア、メリーランド等、TVや映画で聞く様なところを旅している。 サイズと重量が書かれており、どう考えても大きすぎる荷物なのでどうやらTracking numberが間違って書かれている様だ。 またまたFusionPCBに問い合わせたら、「ごめん、正しい番号はこれでした :XXXXX」てな感じで返答が来た。 仕事はアバウトだがメールのレスポンスは確実に来る。
で、今日やっと到着した。
ちょっとゴタついたが、CNCで切削した基板とちがって本物はなんだかカッコイイ。
問題なく使えるかどうかはこれから確かめます。
間違った基板が届いた件の続き。
FusionPCBから連絡があり、「間違ったから最製作して発送します。製作に7~10日かかって配送に15~30日かかります。」という様な意味の返事が来た。
そんなに待っていられないので「こっちは急いでるからExpressで送れ」と書いたら、「自分たちのポリシーで初回と同じ発送方法で送る。Expressにするなら追加で$35払え。」と言ってきた。
日本的な感覚では信じられない。ちょっと嫌になって暫く返事せずに放っておいた。
そして今日、「要求通りExpressで送ると」との事。なんで気が変ったのだろう。 さすがに評判を落としかねないと思ったのか。
という事で少しは早く届くのだろう。なお間違って届いた基板は念のため袋を開けずに置いているが、特に返せとも言ってこないのでそろそろ空けてみようかな?
しかし英語でのこんなやり取り、翻訳サイトがあって良かった。。。
基板切削CNCを作成した事により自宅でプリント基板を作れる様にはなったが、細い配線は結構厳しい。そこで激安で話題のFusionPCBにプリント基板を発注してみた。
発注した基板はレスキュークローラ用に作成したRaspberryPi用モータードライバ。CNCで切削した時のデータを元にして、細線が使えるのでシャットダウンボタンとLED駆動用トランジスタを追加した。 発注時の数量を入力欄は最低5枚であるが、何故か10枚でも金額が同じだったので10枚で発注した。送料含めても18.61USドルで確かに安い。
11月30日に発注し、12月10日に発送した旨のメールが届いた。 しかしそれからが長かった。 配送状況をトレースする為の番号がメールに記載されていたが、最初は調べる方法がわからなかった。でも普通に郵便局のサイトを開いて国際郵便のページで番号を入力すればよかったのね。これによるとシンガポールを経由してスイスまで行ってから神奈川に入り熊本に届いた模様。今日(12月29日)やっと到着した。
早速あけてみた。しか~し・・・
中身がぜんぜん違う! “1348 GN9 10113″とシルク印刷してあり、ウチの発注番号は101139なので入れ替わったのか? ならばウチのはどこか他におくられたのか? この写真をみて自分のだと思われる方が居るだろうか?8pinのオペアンプを搭載するっぽい基板です。
仕方ないので先程カスタマーサポートに連絡しました。 これから再製作して発送してもらったとしたら、いったいいつ届くのだろう?
以前、RepRapperからフィラメントを発注した時も違う太さのが届いたし、中国での通販購入は2連敗です。
Make:Japanのブログでレスキューロボットを紹介いただいた。
山口ミニメイカーフェアの時も紹介頂いたが、あの時はミニメイカーフェアのレポートの中のひとつ。でも今回は単品での紹介なのだ。
でもここに書かれている通り、確かに「直球な工作」ですよねー。
メイカーフェアではパン焼き器で文字を書いたり、畳を楽器にしたり、よくこんな発想ができるなぁと思う出展が多くあります。
直球も悪くはないと思うけど、柔軟な発想ができればいいですよね。
レスキュークローラ用に作ったRaspberry Piのモータードライバーは次の回路で製作した。
手持ちにあった東芝TA7291Pを3個使用してモータを3つ制御する。。
Raspberry PiのPWM端子(Raspiの18ピン=コネクタの12ピン)をTA7291PのVref端子に接続しておりモータに与える電圧を制御できる。 回路図では3CH共PWM制御にしているが、実際には前部クローラ上下用モータは常にフルパワーで動く様にVCCと接続した。 PWM端子とVref端子の間には手持ち(ソーラーLEDライトで使用した余り)の330uHを用いたLCフィルタを挿入している(CRでも十分な気がする)。
TA7291Pの信号入力(IN1,IN2)は、H入力は3.5V以上という仕様になっているが、Raspberry Piは3.3Vしか出せないので若干仕様を割っている。 実際どれくらいからHと認識するか実測したところ、2.46V~2.52V程度だったので、実用上は問題なしとする。
またRCサーボをコントロールする為の端子を2つ設けた。 これも本来5Vで制御するものであるが、手持ちのサーボは3.3Vでも動作した。
プリント基板に載せたのはここまでだったが、後付けでShutdown用ボタン((Raspi25ピン=コネクタ22ピン)と、LED制御信号(Raspi24ピン=コネクタ18ピン)を取り付けたので回路図に追記している。
Shutdownボタンはシステム立ち上げ後10秒以上経過した後、このボタンを3秒以上長押しすると「shutdown -h now」コマンドが実行される様にした。 キーボードもディスプレイも無しで動作させる為の対策である。
LED制御は2SC1815で電流増幅して白色LEDに約15mAを流している。 この回路はユニバーサル基板で息子が製作した。
—————————————————————————————
2013-11-26
回路図中、Shutdownボタンの配線が間違っていたので修正しました(プルダウンしているのにボタンを押した時GNDに繋がる様になっていた。3.3Vに繋がる様修正)。
Raspberry Pi制御のタミヤレスキュークローラ、動画を撮影したのでYoutubeにアップしてみる。