AS5048磁気ロータリーエンコーダーICを使ってみる。

AustriaMicroSystem製の磁気ロータリーエンコーダIC、AS5048を使ってステッピングモーターの回転角度を計測してみました。
今回は、AS5048を駆動させるのがやっとで、只々、ステッピングモーターを90度動かしてみただけです。

Arduinoを使って、C?C#?ArduinoIDEにてのプログラミングですが、なかなかに大変でした。
毎度のことながら、命令文の羅列です。

偶数パリティ?なんじゃそりゃ?位からのスタート^^;
受信したデータをマスクしたりズラしたり。。



AS5048をSPI通信を使いArduinoと繋がってます。このICはSPIのものと、I2Cのものがあり、今回はSPI。。

どっちが簡単なのでしょうね??




この、AS5048、1回転の分解能が14ビット。1/16384回転まで計測します、が、M3のボルトなフレームでは、下一桁はフレフレです。。

動画上段左は14ビットの数値。
上段右の数値は2進数下4桁を切り捨て、の数値。1回転1024です。
下段は角度ですが、下3桁は小数点以下です。計算がテキトーなので、超おおまかな目安^^;


今回使用したのはEvalutionKitを利用しました。
AS5048A Evaluation-Kit for Stepper Motor with SPI Interface



このEvalutionKit、磁石も入っていて、取り付けも割りと簡単。
ICのみを購入してだと、調度良い磁石を探すのと、また、その磁石を取り付けるのに一苦労になってしまうので。。

都合よく、Steppermotor用として販売されています。。

磁石自体も着磁が通常の表S極裏N極な物ではありません。
同じような磁石は二六製作所にて販売されてるみたいですが、使えるかどうかは試してません。

ただしSPI通信がシロートな私にはEasyではなかった、、、。。。


高分解能なICですが、下一桁分がフレフレなので、???です。まぁ、分解能自体鈍らせることはできるので、問題はないのですが、SPIインターフェース(orI2C)とPWM出力しかないので、ちょっぴり不満。。

もしかしたら、10ビットの分解能のAS5040の方がA相B相のパルス出力があるので、使いやすいかもしれませんね。
余り分解能が高すぎると、パルス出力では、パルスが追いつかない様になってしまうので、シリアルなデーター転送なのでしょうかね??

もうちょっと、試行錯誤です。。




参考図書。。




Arduinoをはじめようは公式リファレンス、Arduinoで計る測る量るは、LCDの使い方。STM32マイコン徹底入門はEvalBoardのPDFにあるファームウエアを理解するために役にたちました。

特に計る測る量る、は、実践的な記述で解りやすいです。。


その他Web上の先駆者の方々のテキスト。。
先人の方々には頭が上がりません。。

昔の行番号付きベーシックやフォートランのgotoやサブルーチンでトピトビな頭では、関数飛び飛びで階層が深くなるプログラムが、非常に難しく感じますT.T







スポンサーサイト

テーマ : 自作・改造
ジャンル : コンピュータ

コメントの投稿

非公開コメント

是非ソースコードを公開して頂けませんか?
私も入手したのですが、SPIの通信がなかなか上手く行かず、苦労しています。
海外サイト見るとちょっと普通の設定ではダメなようで苦労してる方も多いと分かりました。
上手く動いているようなので、是非教えて下さい!

AS5048のSPI

こんにちは、けそけそさん。

使用してるマイコンが分からないのでなんとも、ですが、私はArduinoIDEのSPIライブラリを使用し、

SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE1);

とSPI通信の設定をしてSSをLowにしてSPI.transferにて0x3fffを8ビットずつ2つに分けて送ってSSをHighに。

あとは送られてきた上位ビットと下位ビットを繫いで計算して出力です。

詳しくはAMSのホームページ内のAS5048のDemoボードの説明書PDFに正式なサンプルコードが載ってます。


ソースコードを公開するほどの物では、、、。。
動画では、読めてるし作動してるのですが、AMSのサンプルコードを見る限り、コマンドが一つ足らない気もしますし、微妙な、、^^;

ライセンス
アクセスカウンター
プロフィール

あきらひとし。

Author:あきらひとし。
木工用CNCルーターフレームと、ステッピングモータードライバを作ってみました。
たぶん記事は一般的な人には殆ど必要のない事ばかりなの、かも。

モーターは回るだけでも楽しい。制御(速度、トルク、位置)できるともっと楽しい!

メールフォーム

名前:
メール:
件名:
本文:

リンク
最新記事
カテゴリ
スポンサードリンク
スポンサードリンク 
スポンサードリンク
オンラインカウンター
現在の閲覧者数:
検索フォーム
RSSリンクの表示
最新トラックバック
最新コメント
月別アーカイブ