2009年7月31日金曜日

とりあえず脈モニタにしてみた

非反転増幅アンプを作ってみたところ、Spiceでの予想どおりの動作。
気分がいいので、

フォトインタラプタ + 50倍非反転増幅アンプ + シュミットトリガ + 情けないブザ → なんとなく脈モニタ

にしてみました。





黄色線:フォトトランジスタの出力を50倍に増幅
赤色線:シュミットトリガの出力



フォト・インタラプタ部:


赤外LEDとフォトトランジスタの間に指を入れます。
指の中で脈を打っている血流で、赤外線量が変化するのです。
この信号が、次のアンプで増幅される。


50倍非反転増幅部:

Spiceでsimした回路。無難に動きました。
AC電源の部分は、 +5Vを加えたTPS616のエミッタに接続(100KΩ両端に電圧発生)、R11を100KΩとしておよそ50倍の非反転アンプとした。



シュミットトリガ部:

以前、錠剤をカウントするときに考えたものです。


情けない音のブザ:


440Hzの音がでます。わざわざこのために、PICを焼きました。PIC便利ですね。
↑ここまで

2009年7月30日木曜日

情けない音のブザができた


圧電ブザと12F675で、440Hzのブザを作りました。

GP2がHIになると、440Hzの方形波をGP0から出力します。



今にも死にそうな、予想以上に情けない音がします。

でもこれでいいんです。後で使います。


パルスオキシメータ用の非反転増幅回路


フォトトランジスタで拍動が見えたのは面白かった。もうすこし調べてみたいところ。

直流分まで増幅されるとOPアンプがすぐに飽和してしまい、あまり増幅できなかった。
そこで人間の心拍を60回/分、カットオフ周波数を1Hzとして、LM358用・150mV(0-P)のアンプをSpice modelで実験してみた。

f=1/(2πCR), f=1Hz, R=2000Ωより、C=79.6uF → C9 = 100uF とした。

LM358用のSpice model は、ナショセミで公開されているものを利用した。

減衰率


150mV(0-P)・1Hzの様子
赤色:入力信号 水色:入力+2.5Vバイアス  青色:出力+バイアス 緑色:出力信号


サイン波はきれいに出た。

でも血液の拍動だときれいに出ないかも。
Spiceの電源モデルで、似た形を無理矢理に作成。PULSE(150mV 30mV 0.2 0.2 0.8 0.5 0.5)


ん~、平坦になると、垂れてくる感じですね・・・・

パルスオキシメータは、どうも異なる波長でのPeak-Peakの幅を比較して飽和度を求めているようなので、波形が少々歪んでも問題ないかもしれません。

ここまで来て気付くのは、トレーニングマシンなどについている心拍計は、じつに簡単な仕組みなのでは、ということ・・・

帰ったらブレボ上で再現実験。

2009年7月29日水曜日

OPアンプの本

ここまで記憶を頼りに実験してきたが、定石通りにすすめたほうが後の展開に困らないだろうということで、OPアンプの本を買ってきました。
↑ここまで

OPアンプ活用 成功のかぎ 川田章弘 CQ出版社

第3章のOPアンプ周辺部品の役割と値の理由、というところを読んでいますが、経験的に適当に決めていた部分や、理由も分からず(伝統的に?)その値にしていた部分にわかりやすい解説が入っているので楽しく読んでいます。

2009年7月28日火曜日

パルスオキシメータの原理?

オペアンプ100倍実験中に、蛍光灯やら人影やらの変化にも敏感に反応していると書いたが、フォトトランジスタをつまんでいる指に流れている血液の拍動にすら反応していることも分かった。

ブレボ上で光軸設定をしたり光を遮ったりするためにフォトトランジスタをつまんでいたら、妙に周波数の低い、バイアスのブレのような現象が見られました。



どうも1Hzあたりで上下しているようなので、1s/divで見てみました。




当初、1Hzのノイズ源は思い当たらなかったのですが、たまたま今日の午後に来た患者さんと、来月に心臓のCTを取りにいくという話になったとき、もしかして、と思いあたりました。

これ、指先の動脈血流の変化が検出されていました。

LEDから出た赤外線が指を通り抜ける間に、血液中に含まれる酸素ヘモグロビンがその赤外線を吸収しており、拍動に合わせて増加・減少する血液量に比例する形で、その吸光度が変化していたのです(吸光光度計・Lambert-Beerの法則)。

この原理を応用したのがパルスオキシメータで、酸素ヘモグロビン濃度と、還元ヘモグロビン濃度から、酸素飽和度を求められます。詳しい原理はコニカ・ミノルタさんのページにあります。

その酸素飽和度と酸素分圧の換算表から、酸素分圧を求めることができます。
(コニカ・ミノルタさんの飽和度・分圧換算表

肺のように酸素分圧の高いところでは酸素飽和度は100%に近くなり、末梢に行くに従って酸素分圧が下がると酸素飽和度は下がります。つまり酸素分圧が下がると、ヘモグロビンは結合している酸素を放出します。これがヘモグロビンによる肺から末梢への酸素の運搬です。

さらに、この酸素飽和度-分圧の表をよく見ると、温度や血液のpHにより、ヒステリシス特性を持つと云うことが分かります。

生体では、熱源を酸素で酸化してエネルギーを得る過程から二酸化炭素が生じます。ですから肺に比べて末梢では二酸化炭素の量が多いのですが、二酸化炭素は酸性ですから末梢組織は肺に比べて酸性であると考えられます。先ほどの酸素飽和度-分圧の表では、酸性だと曲線が右に移動していますから、末梢での酸素分圧が同じであれば、より多くの酸素を遊離することになります。このpHによるヒステリシス特性は、淘汰圧の巧妙さを物語っています。

話が大幅に脱線しました。

以前、在宅医療の患者さんから頼まれて、そのパルスオキシメータを購入したことがあるのですが、サンプリングも速く、感度もよかったのを覚えています。

つづく。

2009年7月26日日曜日

赤外線の到達距離と、OPアンプの増幅

非反転増幅によって、1~10倍の増幅を行う実験をしてみました。
それによって、LEDとフォトトランジスタは、どのぐらいの距離まで離せるか、検討してみました。

回路は次の通りです。


この回路をブレッドボード上に作りました。


端から端まで使ったので、100mmの距離になりました。

まずは、VR1を5KΩに設定、オペアンプの非反転増幅回路の増幅率は、1+(VR1 ÷ R4)で計算されますから、増幅率は6倍となるはずです。
点A(赤ライン)、点B(黄ライン)の電圧を測定。センサ間を一瞬、遮光してみました。



テスタでの測定で、点Aは110mV、点Bは670mV。ほぼ6倍の増幅となっていることがわかります。

次に、次段の入力バイアスは、1.4Vぐらいを想定しているので、点Bが1.4Vになるよう、VR1を調整しました。10倍なのでVR1は、ほぼ振り切り状態です。

点A(CH1:赤)は100mV/div、点B(CH2:黄)は、1V/divに設定し、センサ間を横切ってみました。

10倍に増幅しても、形は忠実に再現されています。

次に、シュミットトリガの設定を、ON→OFF時には0.9Vを下回ったとき、OFF→ON時には1.0Vを上回ったときになるよう、VR2とVR3を設定しました。

その後、CH2(黄)を、シュミットトリガのオペアンプ出力につないで確認しました。



閾値を境に、オペアンプの出力がデジタル的に変化していることが分かります。


(おまけ)
初段のオペアンプの倍率を100倍(100KΩ)にし、5m以上離れたところからリモコンを操作したところ、500mVの波形が観測できました。
しかし、可視光カット型とはいえ、蛍光灯のフリッカ(120Hz)も乗っていますし(右図)、センサの近くを歩くだけでバイアスが変化します。照明下での100倍は実用的ではなさそうです。


2009年7月25日土曜日

秋月オシロスコープ


使っているのは、秋月電子通商にて31,000円で売られている、OWONのPDS5022S。
25MHz・2ちゃんねるのデジタルストレージ方式。

安い・薄い・軽い、本当に一家に一台あったほうがいいんじゃないかという便利なおもちゃです。

良いところ(アナログのオシロに比べて)
  • カラー表示。各Chや目盛、トリガ閾値などが色分けされているのでわかりやすい。
  • 画面が広い(面積が大きい)
  • STNの割には表示の反応が良く、気にならない
  • 本体はとても軽い
  • 機能がシンプルで使いやすい
  • 電圧・掃引周波数・トリガをボタン1つで自動設定できる(オートセット機能)
  • 周波数や周期、Peak to Peakが表示される
  • 普通に使えるプローブが2本ついてくる
  • 波形メモリが4 save point あるので、保存した波形と比較することができる
気になるところ
  • 説明書が英語と中国語(簡単。経験者なら不要のレベル。未経験者は市販書を読んだほうが良い)
  • 液晶の表面が光沢を持っているので、映り込みが目立つ(写真撮影などには不向き)
  • 同レンジのブラウン管方式に比べれば掃引線が太く、ドットが目立つ
  • 輝度入力がない(Z軸入力がない) → オシロテレビを作ることができない
  • ビデオ信号に関連した機能はデジタル化の時代には不要
  • 付属のPCソフトは波形のスナップショットをとるぐらいにしか使えない(FFTなどの処理は不能)
  • 本体が非常に軽いのでボタンを押すとバックする

というあたりですが、価格を考えると、ホビーユースなら十分な性能があると思います。

2009年7月23日木曜日

カセットに合わせたセンサ部の見直し

     
左:4号カプセル(14.3mm)のカセット     右:手持ち最大のサーカネッテンのカセット

思いつく範囲で最小の錠剤は、シグマート錠2.5mgの正円錠剤で、直径5mm、厚さ2mm。
逆に最大サイズの錠剤は、プロヘパール錠の楕円形錠剤で、長径 15.6mm、短径11.7mm、厚さ 7.0mmというもの。

1号カプセルに至っては、長さ20mmで直径が7mmになるので、落下部の窓あけは2cm×2cm程度なければならないことになる。

分包器本体側の開口部は17.5mm×25mmとなっていて、カセットとの接合部すぐのところにセンサがある。カウンタの場合には直後にセンサがなくてもかまわないので、幅20mmの滑り台を設けてセンサを置けば、大幅な回路変更をする必要もないと思われる。

余った1本のLM358の内部回路はバッファとして使用し、センサ距離が延びた時の増幅回路としても使用できるように回路を変更することにした。


基準電圧を1.5V付近に選んでいるのは、LM358の出力幅が±1.75V程度であるため。
どれぐらいの距離まで実用になるのか、機会を見て実験してみます。

2009年7月22日水曜日

発泡スチロールで型を作ってみる

発泡スチロールを削って、台を作ってみました。
どこにセンサを付けようか考えていたら、ちょうどよい位置にスリットが。


カットしたら、ちょうど基板がはまりました。
ここはガラエポがよさそうですね。

最終的には木造の台にして、数台つくることになったら、これを原型にしてポリウレタン樹脂で作ることにしましょう。

カセットの嵌合部を考える



センサ、カウンタ、モータ駆動部が完成したところで、本体の仕上げを考えなければなりません。もっとも面倒なのが、錠剤入カセットと嵌合する部分です。

錠剤カセットは、本体側の台の上にかみ合う構造になっています。台の部分を取り外してみました。


これを原型にして、レジンで複製したらよさそうです。

2009年7月21日火曜日

カウンタ零号機、初の稼働テスト


どうも筐体を加工するような工作は苦手です。
モータとセンサを取り付ける適当な容器が見あたらなかったので、ダイソーで買ってきました。

ポリエチレンの容器を。。。

なんか、熱でダレそうな素材ですが、、、まあ乗るのは綾波レイ実験機なので、これでいいでしょう。

ポリエチレンの箱を裏返し、ドリルでモータ固定用の穴2ヶ所と、ロータ軸を出す穴をあけます。ロータの穴はさらにリーマで拡大します。
錠剤が落ちてゆく穴は、ドリルの穴を並べ、ニッパでつないで切り落としました。
そして、モータとセンサを固定します。


センサは位置が決定していないので、今回はテープ固定です。


モータとモータドライバを接続。
センサ基板から555のパルス補正回路へ接続。
回転パルス発生装置とモータドライバを接続。
実験用錠剤・エスタゾラム「アメル」10錠準備完了。

さて、電源をいれます・・・・




あっという間に10錠のカウントが完了してしまいました!もっとゆっくりだと思っていたのに・・・。

やたら振動が多いのは、ステッピングモータのステップ数があまり細かくないからです。
ちょっとうるさいですよね、、、、

2009年7月20日月曜日

歯車をカット


ステッピングモータの軸に付ける歯車を以前購入したのですが、少々長かったので、カットしてしまいました。


以前の歯車の様子↓



100円ショップで買った工作用カッターナイフの刃をガスレンジで過熱し、ホットナイフの要領で、軸の長さに合わせて切りました。

歯がなまった部分は、おなじく100円で買った、ナイフ状やすりで整形して完成です。

もっとも小さな錠剤はなにか?

錠剤は、さまざまな大きさや形をしている。テストのための条件を考えてみた。

  1. もっとも小さな錠剤
  2. もっとも大きな錠剤
  3. 異形の錠剤(フルイトラン、ハルシオン、クリノリル、・・・)
  4. 赤外線を通すかもしれない透明な錠剤(アルファロール、エパデール、ゲファニール・・・)

医療保険承認薬という条件で、今日は、もっとも小さな錠剤を考えてみた。

オパルモン5ug 直径6.5mm 厚さ2.8mm 重さ100mg
ラシックス20mg 直径8mm 厚さ2.3mm 重さ160mg
メプチンミニ 直径5mm 厚さ2.2mm 重さ57mg
シグマート2.5mg 直径5mm 厚さ2mm 重さ50mg

お年寄りがヒートから取り出して、つまむのは大変だなと、改めて認識した次第。

NE555の単安定動作

Signeticsの555と云えば、かつては、それこそ今のPICの如くにプロからアマチュアにまで弄られたICです。ジェネリック品も多数存在し、この応用の広さたるや、豆腐百珍の世界なのです。

この555の単安定動作を使えば、10-20ms幅のパルスを作るのは簡単そうですね。


参考回路を探してみましたが、Signeticsのページでは見つかりませんでした。代わりにLMC555の参考回路を発見。しかも日本語で書いてあります。

もっとも簡単でデジタル的な振る舞いをする555の代表回路で、 ̄TRIGに負方向のパルスが加わえられると、OUTに指定された幅のパルスが得られるというものです。パルスの幅は、

TH=1.1 × RA × C

という式で得られます。

今回は、10~20msぐらいのパルスを得たいので、RA=100KΩ、C=0.1uFとして、ブレッドボードで実験しました。


昨日の回路(右図)の出力は負論理ですから、そのまま ̄TRIGに入れることができます。



オペアンプの出力端子と、555のOUTにプローブを接続し、波形を写してみました。オペアンプが赤、555が黄色です。フォトインタラプタ部分を遮ってみます。




12-13ms程度の幅を持つパルスが出力されています。


つぎに、チャタリングの模倣として、トランジスタの3本足を通してみます。


パルスの幅は拡大されているものの、3つのパルスが出ています。これではチャタリング対策にはなりません。

そこで、RA=330KΩとして試してみました。パルス幅は、計算上36msほどになります。


今度は見事に、1つのパルスとして整形されました。


最後に、フォトトランジスタのコレクタ電流と、555で整形した波形をのせておきます。

RA=100KΩの時


RA=330KΩの時
これで、多少のチャタリングにも負けない、丈夫なセンサ部分が出来たのではないかと思います。

2009年7月19日日曜日

センサ部の基板化と錠剤カウントを試す


OPアンプを使用した回路はブレボ上で上手く動いているように見えても、基板に組んだときには思うように動かなかったり、厄介極まりない発振を起こすことが多々ある。本体を組み上げてから大幅な設計変更を強いられる前に、ユニバーサル基板に回路を組み、実験しておく必要がある。
ユニバーサル基板の一部に15mm幅の切り欠きを作り、その両側に発光部と受光部を設置。
ブレッドボード上のカウンタ部に接続し、実際に錠剤を使って落下テストを行ってみた。
センサ基板は水平、錠剤は垂直という条件となっている。



結果は誤カウントもなく計測できた。後半は、念のためにオシロでOPアンプの出力波形を観測した結果。
2本足のLEDを落とすとパルスは2つ、3本足のパワトラを落とすと3つ波形が出ているあたりは、律儀です。
スイープ速度と画面更新の関係で、画面外に表示されて見えないパルスがあるのは3万円のオシロだからかもしれません。

次に、センサ配置による隙間の影響を考えてみました。棒を、フォトトランジスタを1,2,3と順に遮るように動かした結果です。

まず、直径3mmほどの耳掻きです。


赤いラインはフォトトランジスタの負荷抵抗にかかる電圧(前回の回路図の点Aの電圧)、黄色いラインはOPアンプの出力電圧の変化です。

センサ間隙に耳掻きが入ったときには、光量が増加しているのがわかります。センサは3つなので、下向きの山は3つになっています。しかしどちらかのセンサをわずかに遮るサイズなので、シュミットトリガの働きもあり、出力は1つのパルスになっています。


次は、直径1mmもないLEDの足です。


センサの間隙に収まった際には、光が遮断されていないことがわかりました。出力波形も山3つです。対策としてはセンサの密度を上げるのが簡単で正攻法なのですが、サイズ的には面実装の超小型品をつかわなければならないなど現実的ではありません。

カウントする錠剤は、もっとも小さい(薄い)ところでも1mmはあるでしょうから重複カウントされる心配は少ないのですが、さらに10ms~20msのタイマを加えパルスの最短幅を10~20msに揃えるか、PIC側でその処理を行うか、という対策を、ダメ押しでしておく必要があると思います。


それにしても、OPアンプの出力に、リンギングのような波形が見られるのが大変気になります。

2009年7月18日土曜日

OPアンプによるヒステリシス回路


前回作成したフォトインタラプタには欠点があります。それは発光側と受光側の距離に反比例して、フォトトランジスタのコレクタ電流が減少することです(TPS616データシート参照)。負荷抵抗に発生する電圧がPIC入力端子の閾値を超えないと、ソフトウェアで変化を検出することができません。

LEDの輝度を上げるのは限界があります。
そこで、今回はOPアンプを使用してみました。この方式では、反応する閾値を設定できることと、ヒステリシスを持たせられるという利点があります。

その回路図です。
受光部に幅を持たせるため、TPS616を3つ直列にしています。どの受光部が遮られてもコレクタ電流が低下します。このほかに小信号用ダイオードを介して並列にする方法や、シュミットトリガ入力を持つORを使う方法も考えられますが、部品点数が増えて面倒なのでやめました。


シュミットトリガになる動作を解説しておきます。
今回の実験回路での発光ダイオードとフォトトランジスタの距離は15mmで、障害物が全くないときの点Aの電圧は約1.65Vでした。


まず、OPアンプの出力が0Vである場合です。バイアス抵抗は次の等価回路と考えられます。
この時の点Bの電圧は1.17Vとなるので、点Aの電圧がこの電圧を下回らないと、出力は反転しません。



次に出力が反転すると等価回路は次のようになり、
今度は点Aの電圧が1.43Vを越えなければ、出力が反転しないことになります。

つまり、R4とR5でバイアスを決定し、R6でヒステリシスの幅を決めることができます。
ただし実際には、OPアンプの出力の幅は0→5Vではありませんし、負荷側の影響も受けますから計算通りにはなりません。E12やE24に収まるよう、実験で適当に決定する必要があります。

以下、光の遮断と、点Bの電圧変化の様子です。


最後に。東芝の光センサという資料ですが、p.63のOPアンプを使用したシュミットトリガの回路図が変な気がするのですが、どうなんでしょう。