医療とIoTの現実

医療とIoT市場についての日々の思考。 組込、回路の技術。 作っているIoTデバイスの紹介も。 

電子工作の為の最強のモジュール現る

みなさんは、開発系のマイコンは何をお使いだろうか? Web系の人は、Rasberry piを使うことが多いだろうし、組込みよりの人はArudinoベースの物を使うだろうか?

 

最近は、WifiとBLEがコンボになっている、Rasberry pi 3とか、IntelのEdisonなんかを使う例も増えている。IoTの流れからして、無線を入れるシステムにするのは必須だろうし、そうなるとメインMCUに無線ICが乗っているのは必須だ。

ただ、無線が乗っているモジュール、開発ボードは、以外に高い。昔よりも安くなっているのだが、5000円~10000円はするし、いかんせんデカイので、ちょっとした試作以外には向かない。もちろん量産などに適用できるはずもない。

 

もう各所で話題がもちきりであるが、

今回、量産にも使えるのではないかと思えるモジュールが出てきた。

ESP3212 あの有名になったESP8266を作った、中国Espressif Systems社の後継のIC ESP32を使ったモジュールだ。

 

www.seeedstudio.com

f:id:IMOit:20160912023622p:plain

 

SPECだけ見ていると前作ESP8266のまともなADが無いとか、フラッシュが乗ってないとか、言う所を確実に修正して抑えに来ていることがわかる。

しかもDACDSP、タッチセンサー、CAN、SDIO、ホールセンサー、EtherのMACIFまで乗っているという贅沢ぶり。これスゴイよ!!

もはやMCU開発で使われるIFでのって無いのは、USBぐらいじゃなかろうか。。。

 

しかもこれで、現状6$ぐらい。どうせaliexpress経由で買えば、すぐ3$ぐらいには落ちる。

まだ技適が通ってないので、日本では使えないし、ブレイクアウトボードも検索しても出てこないし、開発環境も出てきていないようだが、これは革命だ。中国最強。

 

もう半年後には、世界で、このモジュールが席巻しているだろう。

日本の到着は技適の取得の遅れで1年後か、、、、

 

心電取得の際のハムノイズ抑制

最近は、ヘルスケアやIoTの流行から、心電信号を取得したことがある人もいるんではないだろうか?

心電を綺麗に取得できれば心臓系の病気(大動脈系の異常とか心不全狭心症とかね)はそれなりにわかるものもある。

心電は結構簡単に習得が可能だ。センサも何もいらないし、ただ金属製の電極を指か体に2枚貼り付けて、計装アンプにぶっこむだけで、とれてしまう。しかし綺麗に心電信号を取得することは、結構至難の技だったりする。難点はハムノイズだ。

心電は数uV程度の微小信号であり、かつ電流量も極めて小さいために、外乱の特に電灯やACDCからだと思うが、ハムノイズによって信号を乱される。

また心電の場合は、人間からもちろん信号を取得するのだが、人間自体がハムノイズの収集源になってしまうのだ。

 

いくつかハムノイズを除外する方法があるのだが、これは日本語のページには極めて情報が少ない。英語で検索すればたくさんの情報はあるのだが、、、

 

今回は、その中の一つである、RLDという手法を解説する。

RLDはRight leg driveの略であるが、日本語約では右足ドライブと書かれる。RLD 右足ドライブ(駆動)。。。。。 なんのことかさっぱりわからん。 もうちょっといい訳はないのかと。 

 

しかし基本は簡単だ。 ハムノイズが乗った心電信号を、そのまま反転増幅回路に入れて、右足にフィードバックする仕組み。 これがRLDだ。

 資料の中では、基本的に計装アンプの中の基準電位を引っ張ってくることになっているが、計装アンプの入力段で取得しても構わない。

 

さて、今回は、これをLTSpiceでシミュレーションしてみた。

まずは、右足にフィードバックがない場合の心電と、その取得回路の波形をシミュレーションしてみる。

f:id:IMOit:20160912021855p:plain

非常に簡単に、心電のR波形のみをパルス波形として差動信号でV5で入力し、

V29とV31でコモンモードの50Hzのサイン波を入力している。それで0.1uFと1MΩのHPFで受けて、1Vにバイアスしている回路。

信号源は、とりあえずR信号に1M、ハムノイズに10Mのシリーズのインピーダンスを付加させた。

結果はこんな感じ。

f:id:IMOit:20160912022132p:plain

いい感じに50Hzの中に、心電のパルスが埋もれている。

 

これにフィードバック回路をつけると以下のような感じになる。

f:id:IMOit:20160912021929p:plain

HPFのバイアスポイントを、U1の反転増幅回路に入れて、R6で電流制限抵抗をつけて、体(右足にフィードバックしている。)R7とR8は人体の抵抗の模擬。

となると、結果はこうなる。

f:id:IMOit:20160912022146p:plain

青がフィードバック回路挿入後だ。非常に綺麗にコモンモードノイズが取り除けることがわかる。

 

ただしこの欠点は右足などに3極目が必要ということだ。ウェラブルとしてはこの欠点は以外に重い。

 

 

 

Braveridge製 nRF51822 搭載 BVMCN5102を触る

界隈では、既に2,3年前から有名であるが、量産にも使える技適付き格安arm cortexM0搭載のアンテナ付きBLEモジュール、BVMCN5102を積みボードしてあったので、触ってみる機会を得た。

 

具体的には、BLEを使った、新しい「デジタルまいごひも」を作ろうと思っているのだが、かなり苦戦。というか今までArmをろくに触ったことがないのに、なかなかのチャンレジだった。まぁマイコン開発には少し慣れてきているので、本質は応用が効く。

 

開発環境はArmのKeil uVision5とnRFgo studioである。

デバッガはJ-link seggarである。

っていうかamazonの下記のボードね。

 

BLE 開発キット with J-Link segger:BVMCN5103-CFAC-BK KIT PLUS

BLE 開発キット with J-Link segger:BVMCN5103-CFAC-BK KIT PLUS

 

 

今日の成果としては、開発環境/デバッガの整備と、各種IOの制御と、SPPプロファイルでのBLE通信ぐらい。うーん進捗遅い。まぁ途中でビール呑んだりもあるんだが。

 

後半はcentral設定にして、peripheralからの通信を受けて制御をしたかったのだが、そこまで手が回らず。っていうか、centralにするとちゃんと動かないのよ。

 

今気がついたけど、まいごひも は特に通信がいらないので、peripheralでRSSIでも取得すればいいのかな。まぁ明後日試してみよう。

 

今日苦戦したのが、下記の2点だ。

 

  1. uVision5でのROM書き込みエリアの設定。
  2. 通信部分のF/WのSoftdeviceのver。

 

1.に関しては、日本語のページを見ていると、なぜ設定するのかがまったく書いてない。ちゃんと、reference manualから見ないとダメね。

f:id:IMOit:20160904233044p:plain

 

ROM上には、SoftdeviceのF/Wをまず置いてから、そのアドレスの後に、アプリケーション層のF/Wを置く構造。 他のBLEとかWLAN関連もそうなのだろうか?

つまりアプリケーション層を書き込み位置をSoftdeviceによって変え無くてはならない。 そしてSoftdeviceのバージョンや、Central設定、peripheral設定によって、Softdeviceのメモリサイズが変わり、アプリ層の書き込み位置が変わるのだ。

結構、これが曲者で、一体どこに書いてあるんだ、、、、と思ってみていたら、

f:id:IMOit:20160904233334p:plain

 

書き込みするnRFgoにはちゃんとアドレスが書いてあって、あぁこれでいいんだ、と気がつくまで、少し時間がかかった。

あとは、容量から計算すればOK 例えばsize 160KBだったら、 1024 × 160 = 163840 -> 0x28000とか。

 

2. の通信部分のF/WのSoftdeviceのverは、S110とS120の区別が最初つかなくて、なんだこりゃと見ていたら、CentralとPeripheralで使い分けるのね。

なんだか名前がわかりにくいなぁと思って、また引っかかった。あとはversionもわからんのだが。どのサンプルにどのversion使えばいいんだよ!とね。

組込み系の開発で極めて、よく引っかかるがこういった略称である。

一旦知ってしまった人や開発者にとってみれば、S110 ね。あーperipheral側の話ね。とかS120ねCentral側ね。とかSDSと書かれいても、それがSoftdeviceの略だとわかるだろうし、ラクなんだろうけど、初学者にとってはこれが一番の難所。

 

という慣れるしかないんだけどね。

 

明日以降は、RSSIの取得で試す件をやってみるか。Centralで動かない解析ももう少しするかな。。。

ベンチャーと大企業の違い

大企業で働いていると、一緒に働く人のレベルの低さや、資料作りなどの無駄な仕事の多さ、そして動きを遅さを感じて、最近面白そうなwantedlyでベンチャーの募集を見つけては行ってみている。

といっても、HW系のベンチャーは本当に数が少ないので、本当に数個しか募集がないが、実は行ってみると何か違うなと思ったことしかない。

 

ベンチャー=面白そう と行く前は思ったりするのだが、なぜだろうか?

ベンチャーに行けばなんでもできそう と思ってしまうからではないのか?

結局、ベンチャーの経営者と話すと、経営者の下でなんでもいうことを聞いてくれて、手となり足となって動いてくれる人を求めているとわかってしまう。

wantedlyには都合の良いことをいっぱい並べてあって、かっこいい事を書いてあったりするが、結局は上記のことだ。

 

もちろんベンチャーでは、人が足りないために、その指示の中での裁量権の大きさがあるかもしれないが、やはり投資家からお金が投入されてしまったベンチャーではすでに経営者も投資家のいいなりであり、幹部は経営者のいいなりであり、従業員は幹部のいいなりとなる。

結局誰かの下について仕事をする次点で、なんでもできることなどない。

 

しかしその中でも、

なんでもできそうな環境に当たるには、下記の2つの条件が必要だろう。

  • 運良く、自由にやらせてくれることこそが、人財を育てるという考えがあるいい上司、経営者に当たること。ベンチャーだから、大企業だからということはない。ただの運だ。 私は人生で2回こういう人にあたった。今がその2回目だ。
  • その職種、マーケットで、だれが見てもパットみでわかる実績がある人財であり続けること。実績があるからこそ、その人にすべてを任せようという気になるわけだ。

 

さて、長い前置きになったが、このブログはそのために開始する。

今後、本ブログには私の作るプログラムや、私の作品を展示すると、それを作るための同時に技術情報、そして私の業界や日々の出来事に対する思考経過を記録してアピールの一つとする事を目標とする。

 

Related Posts Plugin for WordPress, Blogger...