« Tiny13で制御部を作って自作サーボが動いた | トップページ | 心電計プロジェクト: ディジタルフィルターまで動いたが »

2014年6月 7日 (土)

次の工作プロジェクトの模索、心電計の開発へ

さてこのサーボを何に使うのか(5/16/2014)
 自作のサーボはとりあえず動いた。しかし、用途が決まっていないので、これから何をすれば良いのか見当がつかない。そもそも、今度のサーボモータープロジェクトはサーボの原理を理解するのが目的でこの自作サーボも、リファレンスに買った市販サーボも、2つとも使い道を考えていない。

 出来上がった自作サーボは、完全なバラックで、ギアボックスやポテンショメーターなどを個別に準備したので結構なコストがかかっている。動いたことは動いたが、反応は遅いし、指示点近くに来るとPWMパルスが細くなってモーターは唸るだけで先に進まない。実用性はまだ殆どゼロである。

 ヒステリシスのようなロジックでこの唸りを止めたり、モーターの動きをもっと早くする調整(ポテンショメーターの比率変更)をすればもう少しスムーズになるかもしれない。しかし何に使うかが決まっていないので、調整する方向が見えない。つまりもうやることがない。

 サーボモーターの用途は、最終的には、2足歩行ロボットとか、CNC制御フライス盤(乾式でプリント基板を作りたい)や3Dプリンターなどを考えているが、自作サーボでこれを実現するのは、いかにも道が遠い。どんな制御をするにしても市販のものを使うほうが余程早道である。

 それにしても、サーボひとつとってみてもこれまで先人が開発してきた技術の蓄積というものは膨大なものである。ちょっとのことでは、そのレベルには到底到達できない。自作して見てあらためて感心した。安い市販のR/C用のサーボでも、そんなことをおくびにもださず、きちっと動く。たいしたものである。

 モーター制御の応用といえば、ブログで親しくなった「ばんと」さんがだいぶ前にやっていた倒立振り子あたりが、まずはモーターの応用として面白そうなのだが、ここの駆動はDCモーターではなくてステッピングモーターだ。DCモーターとステッピングモーターの制御は基本から全然違うし、重力センサーなどのセンサー技術との結合は全く手付かずですぐには手が出せない。

マルチコプターが欲しい(5/20/2014)
 所長の模型好きについては、既にご紹介ずみだが、実は複数のローターを持ったラジコンのマルチコプターに今、強い関心を持っている。ここ数年著しい発展を遂げ、もう実用的なところで沢山使われている。ドイツではローター18ヶを使った有人機まで出来上がっている(写真参照)。

Evolo 飛行が非常に安定しているのでこれを使った動画撮影のレベルは、これまでのエンジン駆動の有人パラセールで撮影された空撮画像に匹敵する。GPSを積んで自動飛行も出来る。すごいことになってきた。

 玩具レベルでも大変な進歩だ。数万円もだせばカメラのついたマルチコプターが手に入り、簡単に空撮を楽しむことができる。手のひらサイズの多数の機体が群舞するTVのコマーシャルも登場した。小さいのなら数千円で買える。自作されている人も結構多い。

 今すぐにでも欲しいのだが、このマルチコプターの制御は、ジャイロセンサーや加速度センサーを使ったモーターコントロールの恰好の応用テーマである。折角ここまでやってきたモーター制御の技術を使わずに出来合いの物を買ってしまうのには、戦わずに降参するようなもので、どうも抵抗がある。

 だからと言って、自由にマルチコプターの制御ロジックが作れるほどの実績はまだ何もない。買うのを我慢しているのに、自分では作れない。もどかしい気持ちがつのるばかりで、ウェブでマルチコプターの動画を見ては、ため息をついていた。

 しかし迷ったり、妄想しているだけでは先に進めない。何とかしようと久しぶりに秋葉原に出てショップを覗いてみた。マルチコプターの材料ではないが、Aitendoでリチウム電池充電用のIC、MC73831(2ヶ¥100)が売られているのを知って久しぶりに訪れた。それと2.4インチのTFT液晶をひとつ(LM024C9325-08 ¥1780)。これは別の計画のためだ。

 その足で、特に買うあてはなかったが、千石電商や秋月電子にも立ち寄る。その千石の2Fで、面白いものを見つけた。容量820mAhのリチウム電池のジャンクである。リード線がでていて薄い形をしている。何かの製品の付属品だったのかもしれない。バスケットに山盛りになっていた。

Blg_p6066520  これまでLPCMプレーヤーなどに使っている任天堂DS用の互換リチウム電池は今も入手可能だが、電極なのでマウントに工夫がいる。一方、この電池はリード線が出ているので汎用性が高い。値段も¥400と手頃だ。何かに使える。とりあえず2つ買った。

千石で買ったジャンクリチウム電池で遊ぶ(5/21/2014)
 TFT液晶や、バッテリーを買ったのには理由(わけ)があるのだが、これは後で説明するとして、千石で買ったリチウム電池である。リード線が3本出ている。2 本が電源の±で、1本は制御用らしい。3Pのコネクターは1ミリピッチの微小なやつで、ピン穴はマチ針すら入らない。

 3本目のリードは電池からはずして当研究所標準のニチアツXRコネクター2ピンに取替えることにする。電池には、ポリイミドテープに守られてポリスイッチと、過放電、過充電検知回路(だろう)の小さな基板が頭部についている。6ピンと8ピンのSSOPのICが実装されていたので型番を検索したがウェブ上では解明できなかった。

Blg_p6066518

 リチウム電池には、3つ電極を持っているものが多い。4年前のLPCMプレーヤー1号機に使った携帯電話からとりはずしたものもそうだった。3つ目を全く無視して使っているが特にこれまで何も問題は起きていない。今度もそうしようと思ったが、少し気になるので調べてみた。

 ググッたところでは、リチウム電池の3つ目の端子は殆どが電池の発熱を検知するサーミスタの出力だという。本当にサーミスターかどうか検証してみる。マルチメーターをオーム計にして負極との間の抵抗値を測ってみた。10.44KΩを指した(対負極電圧が0Vであることは確認してある)。

 少々乱暴だが、ヘアドライヤーを出して電池を少し暖めた。40℃くらいまで上げたところで抵抗値を測る。よーし、6.8KΩに下がった。そのまま置いて、抵抗値を観測する。少しづつ上がっていく。間違いない。この電極にはサーミスターが入っていることが確かめられた。

Blg_p6066524  次は本来の充電を開始する。とりあえず自作のリチウム電池充電器(LT4054)で充電だ。250mA(0.3C)でゆっくり充電する。最初は3.68Vだったが数時間後、見事4.17Vまで充電された。リチウム充電池は満充電で保存すると寿命が短くなるというので、手元のLPCMプレーヤーにつないで長時間テストする。3.8V程度まで消費させた。

1ミリピッチのソケットを中継するプラグを作る(5/23/2014)
 勢いに乗って二つ目の電池も改装にかかろうとして途中で気が変わった。元の3Pのコネクターを活用することを思いついた。せっかくコネクターがついているケーブルをニッパーで切るのはやはり抵抗がある(ひとつめは切ったが)。

 仕事の帰り、秋葉原に寄る。今週は2回目だ。このコネクターに合うソケットを探す。このコネクターのピッチは1ミリで、製造メーカーはどこかわからない。例の実体顕微鏡で調べると、JSのマークが見えたので、ニチアツ(JST)ではないかと当たりをつけ、千石でニチアツの1ミリピッチのソケットをいくつか買ってみた。

Blg_p6066521 家に戻って早速試してみる。「ビンゴ!」であった。ひとつ¥20しない部品である。みみっちいけれど、買ってきたものが無駄にならなかったという喜びはちょっと形容しがたい喜びである(部品棚には、買ってきたけれど合わなかった部品がゴロゴロしているが)。

 ただ、このソケットは面実装で、汎用基板では固定できない。接着剤で十分固定できる小ささだが、ソケットなので力が加わる。何とかハンダ付けをしっかり行いたい。何かないかと部品棚をさらっているうち、昔、秋月であてもなく買った、表面実装用の汎用基板がでてきた。

Blg_p6066522  おう、これはピッチが細かい。有望だ。ノギスで測る。何とぴったり1ミリピッチではないか。この表面実装汎用基板を小さく切り出して、milピッチの2Pソケットへの中継基板を作った。念のため瞬間接着剤で双方を固定してからハンダ付けをする。つないでみる。問題なく接続できた。こんな小さな工作でも思ったような部品が出来ると嬉しいものだ。

心電計開発の道を検討する(5/27/2014)
 次のテーマが決まらないまま、ちまちました工作で時間をつぶしていた。実はだいぶ前からマルチコプターではなくて、次の工作テーマに暖めている大物があるのだ。手軽にとりかかれるものではない。それは心電計の自作である。

Blg_p6066523  ちょっと前、偶然にウェブでこの自作を紹介しているページを見つけた。センサー部はオペアンプを使った高精度アナログアンプで、中間部はマイクロプロセッサーを使ったディジタルフィルター、表示部は、オシロスコープのような画像表示という、それぞれが食指の動く題材である。

 そもそものきっかけは、最近の障害者用のロボットのような、筋電圧を検知して動くロボットに興味を覚えウェブサイトを逍遥するうち上のページを見つけたのが端緒である。この著者は、昨年のインターフェース誌(2013年1月号)でも成果を発表されておられ、早速、この雑誌も入手した。

Blg_p6066516  まだ下調べの段階だが、どの部分も素人が全く手が出ないレベルではなさそうだ。雑誌記事では、センサー部と表示部を光ケーブルで接続しているが、これは無茶な自作の責任を出版社が免責するための変更で、フォトカプラーで絶縁しても何の問題もないし、Xbeeなどの無線を使えばもっと安全になる。

 技術的な課題(私にとって)は、やはり入力部の微小電圧の増幅(差動アンプ)だが、この記事には、LM358という安価なオペアンプを初段に採用した回路図もあり、いますぐにでも作ってみたい気にさせられる。

 ノイズフィルターは、一般家庭内の商用電源に起因する50(関西では60)Hz及びその高調波を重点的に除けば良いということで、リングバッファーを使った巧妙なロジックで除去している。このあたりの低周波のデジタルフィルタリングは、安いAVRチップで十分なようだ(雑誌記事ではPICを使っている)。このサイト以外にも、いくつかの制作例があり、なんとかなりそうである。

 心電計を作りたくなった動機のひとつに、このノイズフィルターの実装がある。マイコンのソフトで魔法のように、電源系のノイズが除去され所定の心電波が出てくるところにしびれた。

 アナログアンプの制作も魅力的だ。こうした生体系のアンプは、高価なオペアンプと、おおがかりな電源が必要だと思って、近寄りがたかったのだが、ここのページは、何と秋月で¥20で買える汎用オペアンプLM358で、しかも単電源で組み上げている。

 表示部は、32ビットのマシンでTFT液晶に出したい。心電波の周波数帯域は、せいぜい100Hz程度(それ以上は生体が出せない)らしいので、クロック20Mhz、8ビットのMega1284あたりで十分かもしれない(ピン数は沢山要る)が、ここは、積み基板の多い32ビットのARM系で作ってみよう。

 心電波形を画像にするソフトウエアは、これらのマシンで動く自作オシロスコープのソフトが、色々なところで公開されているので、これを応用すればそう難しくはない(だろう)。

 計測部と表示部の間は絶縁のため、フォトカプラーなどを使ったUARTでつなぐ。8ビット(256段階)の大きさの波形を送るのに、38400bpsなら分解能は、秒あたり4800なので、横320ドットあたりのTFTに脈拍2周期分くらいの波形を描画するのに十分である(10倍以上のマージンがある)。

 高速のフォトカプラーを使うまでもなさそうだ。このUARTをXbeeの無線にすれば、保安上の問題は全く心配する必要がなくなる。それに取り回しも格段に楽になるが、まあ、まだ最初は、ここまでこることもないかもしれない。

 夢(妄想)はいくらでも膨らむのだが、今度の目標はちょっと大物なので、すぐに着手するのは避け、とりあえずは詳しいロードマップを作り、周到な開発計画を練ることにする。

心電計開発のロードマップを作る(6/5/2014)
 3つの大きな機能ブロックは、それぞれが独立しているので、別々に開発を進めることが出来る。表示部は、最初はなくてもテストできる。UARTの出力をPCにグラフとして出しても良いし、DA変換をしてオシロスコープに出力を出しても良い。

 準備しなければならない特殊な部品がいくつかある。 身体につけるステンレスの電極などがそのひとつだ。銅やアルミの電極ならいくらでも有るが、ステンレスは少ない。銅やアルミは良導体だが、皮膚につくと電気化学反応が起きてデータが不正確になるそうだ。両腕と足に電極を固定するマジックテープの形も考えなければならない。

 センサー部とフィルター部の電源は、それこそ今度入手したリチウム電池で十分だろう。表示部の開発は一番最後にする。表示用マイコンは、ARM系だけでも、STM32か、Mbedか、BBBか。雑誌付録のFM3もある。決めるのに困るくらいだ。

 オペアンプは、やはり汎用オペアンプLM358で挑戦してみたい。駄目なら計装アンプを買ってくる。このあいだラジオデパートの2階で計装アンプのAD623を売っているところを見つけた。DigiKeyに注文しないで済む。

 これから変更していくかもしれないが、当面、出来たロードマップは以下の通りである。

(1)まず、オペアンプ部を作る。微小電圧なのでブレッドボードではなく汎用基板にいきなり組むことにする。出力は、ノイズのはいったデータでもそれらしいデータを得るところまでが、このステップのゴール。電源はリチウムバッテリー。

(2)続いてデジタルフィルター部を作る。アナログアンプと基板は分けた方が良いかもしれない。 AD変換は10ビットで十分だろう。ここは手馴れたAVRを使う。ノイズが除去されるかは、UARTを通してPCで検証する。ノイズが除去されて、それらしい心拍波形を得るところまでがゴール。

(3)余裕があれば、DAコンバーターを入れて8ビットのデジタル値をアナログに戻しオシロで確認する。

(4)いよいよ表示部の開発に進む。公開された自作オシロスコープの画像表示ソフトウエアを勉強する。ここのプラットホームが悩ましいところだ。STM32F103が浮いているのでこれをつかうか(基板もある)、STM32F3Discoveryを使うか。

(5)
センサー部をケースに入れ、もっともらしい形にする。シリアル通信部をXbeeなどにすれば、使い勝手が良くなる。

(6)表示部の方を実装する。操作性を高めるため、OSとしてFreeRTOSを使うか。OSを入れるとボタンなどの操作系の設計はとても楽になるが、制作例が少ない。

さて、計画は出来た。「段取り8分」という諺があるが、何か、出来てしまったような錯覚で先に進まないこともあるので要注意だ。

|

« Tiny13で制御部を作って自作サーボが動いた | トップページ | 心電計プロジェクト: ディジタルフィルターまで動いたが »

電子工作」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: 次の工作プロジェクトの模索、心電計の開発へ:

« Tiny13で制御部を作って自作サーボが動いた | トップページ | 心電計プロジェクト: ディジタルフィルターまで動いたが »