ペダリングで使う筋肉をモニターするための自作筋電計を作ってみた

簡易EMG。

ご存じの通り、人間の神経には微少ながら電流が流れている。

EMGとはElectromyographyのことで筋肉の収縮時に起こる電流を測る筋電図のこと。

筋電図以外にも、脳電図と呼ばれるEEG(Electroencephalogram)、心電図であるECG(Electrocardiogram)、眼電図のEOG(Electro-oculogram) など、様々な生体器官の電流を測ることで生体活動をモニターすることができ、医療機関や研究機関で用いられている。

ちなみに基本的なコンセプトはどれも同じなのだが、脳や心臓は筋肉よりも電流が微量で捕捉しづらいのでむしろEMGの方が簡単である。

が、筋電図をとるための筋電計をネットで探してみても、安くても数千ドル(数十万円)するようなものや、同じく高価で大型の機械のものばかりで、少なくとも個人が使うような用途で想定されていない。

そこでEMGを自作してみようということでArduinoを導入したのであった。




前回ご紹介した通りArduinoにはシールドがあり、筋肉の収縮により発生する微電流の電気信号を増幅させるシールドを装着。



筋電図を取るには、対象とする筋の皮膚表面に電極を貼る表面電極と、筋束に針電極を刺入する方法があるが、今回は表面電極を取るため専用のパッドを用意。



表面電極が取れればよいのでCompexに使うようなジェルパッドでも可能。

そしてArduinoのアナログ読み取りポートに接続。

Arduinoのアナログポートでは増幅された電気信号を0~1024の間の数値で取れるためその数値をプログラムで処理。

Firmataライブラリを使うことでArduinoのプログラムは単にFirmataでデータの橋渡しだけを行い、実際の処理はProcessing上で行うことにする。

4つの電極セットをそれぞれ内側広筋、大腿直筋、外側広筋、大腿二頭筋に割り振って描画処理。



テストをしてみて筋電を読み取れることを確認。



そして実際にローラー台で筋肉の収縮をテスト。



こちらはダンシング時。体重を支えるためからか、外側広筋と内側広筋といった大腿四頭筋の側面の筋肉の収縮が高いことがわかる。




つまり、自分のペダリングで動員される筋群と同種の負荷を与えるウエイトトレーニングをすることで、より効率的に筋肉を鍛えていくことができるのである。



自作EMGまではさすがに作らないという方はこちらも汎用的ではあるがご参考になるかもしれない。


もっとビジュアル的にわかりやすいように、グラフの範囲を調整したりといった微調整は必要になるだろうが、これで大まかな筋電計としての要件は満たすことができた。

ちなみに今回EMGを自作してみてわかったことは、自転車のためにEMG用の電子回路まで作ってる自分こそ電動コンポを使うべきなのでは・・・ということであった。

ここまで電脳に染まった人間はもはや電動の道へ行くしかない・・・。

ということで筋電計を作ったつもりが電動コンポへの物欲へと変わっていくのであった。

7 件のコメント :

  1. 電子工作熱もここまで来ちゃいましたか(笑。
    次は脳波で変速にTryに1万クルゼーロ!

    返信削除
    返信
    1. 脳波変速・・・、そういえば脳波で遊ぶゲームがあるくらいなので原理的には可能かも知れませんね。テストを重ねないと誤作動がすごそうですが・・・。ただ声で変速とかは普通に実現可能な気がします。まさしく必殺技の名前を叫ぶとギアチェンジする感じで。ってかなり疲れそうですが。

      削除
  2. もう電動コンポも自分で作っちゃえば(ぇ

    返信削除
    返信
    1. 電動コンポもプロトタイプくらいなら十分自作可能だと思います。ただ市販品ほどの精度かつコンパクトさでとなったらかなり大変なんでしょうが。それこそワイヤレスの電動変速も。ってSRAMがもう実験し始めてるようですけどね。

      削除
  3. 筋電について調べていたら貴サイトがヒットしました.
    私も筋電センサをマイコンで自作しようかなぁと多段増幅回路を思い描いていると,この記事を発見し,シールドに興味が出ました.
    もし問題ないようでしたら,こちらで使用したシールドをお教えいただけないでしょうか?

    返信削除
    返信
    1. コメントありがとうございます。私もAmpを個別に使った回路も検討してみましたが、Shieldの方が手間的に安上がりだったので横着してしまいました。シールドはこちらのFlex Voltになります。ソフトウェアやBluetoothセンサー的なものもあるのですが、ソフトウェアはとても洗練されたものとはいえず、純粋にShieldだけ使ってArduino上でアナログの数値さえ取れれば十分なので自分はShieldとパッドだけ買いました。
      http://www.flexvoltbiosensor.com/

      削除
    2. 素早いお返事ありがとうございます.
      遅延等を考慮して,私もBluetoothの購入は見送ろうかと思います.

      良いものをお教えいただき本当にありがとうございました.

      削除