AS5048A magnetic rotary encoder の動作チェックと実装

AS5048AというAMSの磁石のセンサーが前から気になっていたので、動作確認してみました。

このセンサーは磁石の磁力の向きを検出して回転を検出出来るセンサーです。なので名前もロータリーエンコーダになっています。

回転(angle)は14bitのデータでSPIで出力されます。I2CバージョンもあってAS5048Bになります。またmagnitudeも検出出来るので、ボタンとしても使うことができます。(最後に貼ってある動画を見てもらうとわかりやすいです)

最初はなんとなく直径方向(軸方向)極性の磁石(普通の磁石ではないですよ)を適当に手で近づけたらなんとなく値が取れると思っていたのですが、全然取れなくて苦労しました。。なので上記のようにちゃんと磁石をセンサーの真上にくるように機構を作りました。その結果安定した値が取得できるようになりました。(M8ネジの頭にちょこっと乗っているのが磁石です。チップの真上にあります)

ボールベアリング(688zz)にM8のネジを通して、ナットで固定するだけです。あとは3Dプリンタでサクッとw

pure dataをラズパイ上で走らせて、AS5048A用のエクスターナルオブジェクトを作ってやっています。(なんでこれをやっているかは、、、これでターンテーブルを作りたいのです。実はこのセンサーを使いたくなったのは、SC1000というlinuxベースのターンテーブルコントローラーでこれはAS5601を使っているのですが、I2Cだったので、SPIバージョンのAS5048Aを使ったわけでございます~

SC1000はxwaxベースだけど、自分のはpure dataベースで行こうと企んでいます。(このあたりは追々にいろいろ記事にしていきます)実際はこれの続きっす。。。http://www.analogfeeder.com/?p=2260

以下はとりあえず動作確認の動画です。まだセンサーのエラー情報とか解析できてないので、それは後日に。

コメントはまだありません »

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URL

コメントする