今回は、今年さんざん苦労させられた磁気式エンコーダについて書きたいと思いますエンコーダは、角度を計測するセンサーで、マイクロマウスではタイヤの回転数を計測するためによく使用され、重要な要素となっています。タイヤの回転数から、マウス自身がどれだけ進んだか、また、どれほどの速度で走行しているかが分かります一般的に、エンコーダには、光と機械的な特性を用いた光学式と磁石の磁力線の特性を用いた磁気式という2つの方式があります。マイクロマウスではよく小型化されやすい光学式のエンコーダを用いることが多いのですが、本当に小型なものは値段が高く、入手も難しいです。近年では磁気式エンコーダ用の磁気を読み取る小型のICが安価で入手できるようになりました。このため、磁気式エンコーダを自作するマウスが多くなりました私もこの流れにのっかり、磁気式エンコーダを使ってみました使った感想としては、ちゃんと使わないと痛い目を見る。左から磁気式IC、鉄製スペーサ、磁石、スペーサ、シャフト、ベアリング、モータマウント、スペーサ、ギアです。磁石をリング型にして、固定を楽に、さらにシャフトと磁石の回転中心をできるだけ合わせようという狙いでした。使用した磁石はネオマグというところのリング型ネオジム磁石内径1.2外径2.6です。実際に作ったものがこちら鉄製スペーサは鉄ネジを旋盤で加工して作製、シャフトの磁石固定部分の径落としも旋盤で加工しましたまず問題になったのがICとのSPI通信です今回、磁気式エンコーダICはAS5047を選択し、SPI通信で角度の情報を読み取るという方式を取っていました。その際、マイコンのピン数削減のために、MPU6500と一部を共通配線にしました。このせいで、めんどくさい問題がでました。MPU6500とAS5047とは通信の方式が同じSPI通信でも少し違っていて、一括で同じ設定で通信ができません。具体的には以下の2つの仕様が違いました。frame・SCLKの基準電圧がlowRX631のRSPIには一つの通信毎にこのような設定を変更する機能があったので今ではなんとか通信出来ていますが、設定するのにずいぶんと時間がかかりました。できれば配線を分けたほうがいいと思います。次に問題になったのが、磁石がモータと引き合うというものでした。実は当初は上で公開しているような設計ではなく、もう少し大きめの外径6くらいの磁石を使用していました。モータも比較的大きいものを用いているため、このような問題がおこりました。主観的な説明になりますが、かなり強力に引きつけていました。100度くらい磁石を意図的に回しても、手を離した瞬間にすぐ戻ってしまうほどには。この問題を解決すべく、磁石の径を上で説明しているものに落とし、鉄製のスペーサで囲いました。することによって、改善しました。手で意図的に回しても、引きつけられているとは感じないまでになりました。肝心のエンコーダからの取得データですが、このようになりました。右:取得角度(最大14bit)これはモータにduty10%?ほどかけて空転させたときのデータです。これを見たときは少し絶望しました。ここまでブレるのか・・・と。ここからは次回書くことにします。長文になりましたが、ここまで読んでくださり、ありがとうございました。その1Tweet広告を非表示にする関連記事2016-01-032016年ハーフマウス(予定)新年明けましておめでとうございます。