3軸加速度センサーを利用した盗難アラームの製作


【序章】

デイトナのマジックアラーム5を使用して9年目。
調子が悪くなったとしても十分に減価償却してるわな。

この9年間の盗難対策で学んだ事。
・駐輪した場所から運ばれさえしなければ盗難に遭わない。
・地球ロック(*1)しない限り運ばれる可能性あり。
・だからその運び去るまでの時間が勝負となるので、鍵を外す合計時間を考えるよりも人の注目を集める手段を考えるべき。
・解除される事を恐れるより、とにかくその場で大音量をしかも複数個鳴らす事が出来ればベストである。
・エンジンが掛かる掛からないは運ばれたら同じ。(バイク屋さんのメカニックレベルのスキルがあれば30分で配線を外せる!)
・振動は誤作動がある。誤作動と言っても盗む気の無い子供が乗っても鳴ってしまう事態の話なので、そうした行為に関しては鳴らないようにしたい。(ホテルに留めた時の教訓)
ってな感じ。

極端な話、地球ロック出来ない遠方地で、鍵なんて何十個付けても、男4人居れば260kgなんて担げる。そのままバンに積んだら終了!!
1個2万円のマルチロックを10個付けるよりも、100dbの音を出す500円のブザーを5個付けた方が安心である。
ただ誤解の無いように、これは「見知らぬ遠隔地での夜間放置」に焦点を当てた場合の話で、地球ロック出来る環境があるならマルチロックの方が安心である。

(*1)地球ロック
地球にバイクを固定してやる!ってな冗談語。
しっかし、世の中でこんなに使われるとは思わなかったよ。
9年前にHPで「バイクを地面に固定する」を「絶対に切断出来ない鎖と鍵さえあれば地球を盗まない限りバイクは盗めないぜぃ!」の意味から思いついた「地球ロック」という造語。
お陰様でこの9年間で30万Pv以上も閲覧してもらって、いろいろな方から相談を頂いたり、メーカーさんと協力して紹介したりと、いつの間にか個人的記事から遠くなっていってしまった結果などだと思う。
まぁ、それだけ盗難被害が多く、また真剣に悩んでいる人が多いって事だわなぁ〜。

話が逸れてしまったが、要は、
・大音量で鳴る
・振動センサーはイヤ!
・傾斜センサーが好き
・イモビは設定が面倒臭い!(暫く乗らないと操作を忘れる!)
といった製品を探し始めた訳だ。

相変わらずイモビは4万円前後と高いなぁ・・・・。
しかしイモビを使わないアラームでも傾斜センサーが付いてると2万円前後するんだよなぁ・・・・。
デイトナからは新製品が全く出てこないし(この時点で新製品準備中案内があったが)いい加減別のメーカーにするか・・・。

いろいろとHPを探しているうちにフッと思った。
傾斜センサーって何だ?とググッてみて驚いた。

要は、
@密閉された容器の中に金属ボールが入っている。
Aこのボールが傾いて転がると電極がONになる。
以上・・・・ウソ?ってくらい単純な理屈。

でも致命的欠点が一つ。
「駐輪した場所が傾いてたらダメじゃん!」
これじゃ使えん・・・・。

製品でよくある「ゼロ・キャリブレーション」が出来ないとバイクでは使えない。
要は、初期値はどうでもよくて、その後の絶対値だけを問題にしたいのだ。

「う〜ん・・・・コンピュータ上のプログラムの世界の話なら造作も無い事なんだが・・・・」

待てよ・・・パソコン?・・・・プログラム制御?・・・・マ、マイコン?・・・・!!

確かにマイコン制御すれば可能だろう。
しかしそれはあくまでもソフトウェア上の話。
それに値する物理センサーが無ければ無意味な考えだ。

秋月電子のサイトで傾斜センサーを検索して眺めていると、馴染みの無いパーツが同列で出てくるのに気がついた。
その名称は「3軸加速度センサー」

何?それ?・・・・ってか、加速度なんか欲しくないんですけど!?傾斜角が欲しいんですけど!?
売りたいからってバカにしてるよ・・・・と思いながらも「加速度センサー」でググッてみたら・・・・・!!

-------------------------------------------------------------------------------------
このセンサの用途は加速度を測定することであるが、電子工作で一番使われるのは「傾斜計」。
なぜか?重力加速度も加速度であり、我々は四六時中その加速度にさらされている。
だから体感することは無い微小な9.8Gという値はちゃんとセンサの出力として現れる。
物体がθだけ傾いている場合、センサ取り付け方向には重力加速度gの分解成分g・sinθが掛かる。
したがってセンサの出力としてもg・sinθに相当する値が出力される。
これより、加速度センサは水平位置から±90度の傾斜計として使用できることが分かる。
-------------------------------------------------------------------------------------

ほ〜っ・・・・なるほどにゃぁ〜・・・・・。
確かに重力に逆らえる範囲の日常生活では、重力加速度なんて気にした事もないもんにゃぁ〜・・・・。

つまり・・・だ。
その微細な変化を読み取れるセンサーが存在して、尚且つマイコンに取り込める訳だ。
って事は、キャリブレーション+絶対値測定が可能・・・・って事だな?

ここで誤解の無いように注釈すると、上記で述べている「傾斜計」とは「傾斜していく過程の変化を検出する」センサーという意味であって「地球に対する傾斜角の絶対値」の事ではない。
そこには「センサーが感知する為の速度」が必須なので、アラームにおいてはその理論は50点である。

つまり盗難目的で静止しているバイクを起こしたら加速度が生じて作動する。その意味では100点。
しかしもし時速1cm/hで動かしたら加速度は検知されないで静止と見なされてしまう。
ならばジャイロを使った水平安定盗難装置(そんなもんあるのか?)を使ったらアラームは作動しない。(実際には無理だって!)

だからアラームにおいては「加速中の加速値」などはどうでもよくて「ある時間単位の絶対位置」が必要なのだ。
この場合、絶対位置とは「地球に対する現在の重力=センサーの電圧値」に相当する。
だからこの電圧値を時間単位で切り取って保管し、常に比較を行なう事で位置の変化を読み取る事が重要なのだ。

もっと簡単に言うと、三軸加速度センサーはミリ単位で状態を教えてくれるスーパーナビのようなものだ。
だから僅かでも動けば位置の変化を検出して電圧で教えてくれるので、それを前回値と比較するプログラムを組み込めば良いのである。

あ〜ぁ・・・・・ため息出ちゃうよ・・・・。
・マイコンのハードウェアの勉強
・マイコンの(専用=おそらくアセンブラ)プログラムの勉強
・チップのファームウェアの勉強
・書き込み用のパソコンソフト+ハードウェアの勉強

・・・・・・だって・・・・これらの何も・・・・知らないんだもんね・・・・・。
まだ【序章】だって〜のに、ここまで解明してから面倒臭い病が出てきちゃったよ・・・。

ま、やれるところまでやってみますかね・・・・・。
ただ、電子工作に関しては(おそらく)膨大なHPになると思われるので、それはそれで別に作りましょうか。

ってな訳でまずは【お勉強&試作編】から始める事にしよう!

(約2ヶ月後・・・・)
ふぇ〜・・・戻ってきたぜぃ!

【試作品第1号完成!&失敗!編】

まだ連装システムが出来てないので、傾斜とブザーが連動する単純明快な回路状態だが一応の形は成していた。
しかし・・・・・なんとなく気が付いてはいた・・・・。

シリアル通信のプログラムを削除するとLEDの点滅が追いつかない現象が発生したのだ。
実際に基板上では誤動作がひどい。
具体的にどこで誤動作しているのか?に注目してみると、どうやらキャリブレーション直後らしい。
キャリブレーションの値がデタラメを示すのだ。
当然の様にそれ以降のアラームルーチンに入ってしまう訳だ。

しかしそのままブレッドボード(=開発モード)に戻してみると全く誤動作しない。

@定期取得ルーチンは問題なし
Aキャリブレーション割り込みは問題なし
B比較ルーチンも問題なし
と確認を進めるとやっぱりキャリブレーション・ルーチンで問題が起きているようだ。

改めてキャリブレーションとは?
@アナログ電圧取得の繰り返し
Aその平均化

平均化は完全なロジカル計算なのでそこにバグは無い。(あればデバッグで発見できる)
という事は・・・・・。 アナログ値の取得に対するCPUの周波数が高すぎてタイミング的にデータの取得に失敗してる!!

すげ〜納得できた・・・・。
プログラムにおいて”表示”というサブルーチンは異常にCPUパワーを食う。
経過表示をコメントアウトするだけで処理が10倍速くなる事も珍しくない。
しまった・・・・もう時間がない・・・・という訳で、目標にしていた京都ツーに合わせて実装する事を断念する事にした。

【2010年2月】

あれから半年後・・・・。
京都ツーを目標にしていただけに、ツー帰宅後に作業を続ける気力が全く無くなってしまっていた。
どうせもう冬になるからロング・ツーはしないし、来年でいいや・・・・って。
たぶん何かのキッカケでまたハマるまで触らないだろうなぁ・・・とは思っていた。

でもこんな大作HP作っておいて、このまま”無かった事”ってのは余りに悔しいし。
暖かくなって昨今・・・・よし!そろそろ始めるか!(文字通り長期企画になってきたよ・・・・)

それでは!【ロジック研究&基板製作編】

【2010年3月】

(一ヶ月半後・・・・)
も、戻ってきたぜぃ!

実車実装に向けて、只今昼夜テスト作動中。
1号機と違って今回は安定稼働をしている。

そろそろ実装したいのだが、自分の環境は自宅のガレージに駐輪している関係から、お泊りツーでもしない限り効果の検証が出来ない。
だから前もって人柱をお願いしている人に積んでもらう事にした。
引渡しは今月中を予定。

この試作2号機が異常検出を含めて安定稼働をする検証が取れたら、試作3号機(まだ試作かい!)に向けて、
・CPUの変更
・それに伴なうプログラムの変更
を講じた上で、
・複数トラップの搭載
・電波リモコンの実装
・スリープ機能搭載
・外部バッテリー搭載
を実践していこうと思う。

(一週間後)

只今、コアシステムの人柱実験進行中。
まだ結果には時間が掛かるので、開発作業から開放された一週間後、久しぶりに秋月電子に向かう。
そこで下記CPUを入手して、また何やかんやと・・・・。

んじゃいきますか!【CPU第二弾18Fに挑戦!編】

(只今格闘中!)