以前に磁気エンコーダ調査について説明させて頂きましたが、
今回はその続きをご紹介させて頂きます。
以前の調査の際に見つけたアバゴのAEAT-6600磁気式エンコーダICを購入し、
軽く使用してみました。
個人的で勝手な結論から言うと、
アバゴ社よりも買ってすぐ使えるAMS社が勝ちといった感じです。
AEAT-6600はデジタル通信部分がSPIでなく、
SSIという通信形式で慣れていないせいかプログラミングに苦労しました。
最初、IOをそのままON/OFFさせてSSI通信させましたが、
タイミングが合わないのか、上手く通信できず。
PICマイコンのSPIモジュールをSSI通信として通信させて、
なんとか何かデータを受信できるようになり・・・
一応、360度絶対位置で10bitで受信できるようになりました。
設定はこんな感じ。
SpiChnOpen (1,SPICON_MSTEN | SPICON_CKP | SPICON_SMP |SPICON_MODE16 | SPICON_ON, 8);
受信データを0xFFC0でマスクするのでなく、
0x7FE0でマスクすると上手く値が取り出せました。
まだ完全にはSSI通信のタイミングが合っていないようです。
AEAT-6600はデフォルトは10bitのエンコーダとなっており、
OTP(One Time Programmable (OTP) ASIC)で設定を書き込むことで
14bitや16bitエンコーダとして動くようです。
書込み時は6.5Vの電圧をある端子に与えると半永久的に設定が残るという仕様のようです。
ピン信号やレジスタでモードを簡単に切替できず、
SSI通信や書込み操作が面倒ということで上記のような結論に至りました。
海外のサイトを検索してもAEAT-6600の設定に癖があるようです。
デフォルトで14bitでかつ簡単に通信できるという意味では
AMS社が有利なようです。
AMS社ではAS5048A以外にも様々な磁気エンコーダが販売されています。
特に最近はAS5047Dなど安くてDAECと呼ばれる補正機能搭載のエンコーダもあり、
そちらに移行するのもありだと思いました。
既にAS5047Dを使用したことがありますが、
AS5048Aと絶対位置の原点が違うこと、
エンコーダ値の増加方向が真逆なことなど
簡単に置き換えできないのが気になる点です。
といってもこのような高性能なエンコーダが数千円で
手に入る時代になったということ自体が驚きです。
SOC恐るべし。
低価格で素晴らしいエンコーダでモーションコントロール技術が
更に身近になればいいなと思います。