負けてないが??????
工場が燃えたとか、いつになってもユーザーマニュアルを公開してくれないとかで有名な旭化成の磁気エンコーダー、AK7452で詰まったのを解決した話です。
結論を先に書いておくと、エンコーダーICと磁石を近付けすぎると、磁気エンコーダー内部のホール素子が飽和して(?)正弦波状の誤差が出るという問題があり、磁石とICの距離を離すことで解決しました。
AK7452とは
スペック的にはamsのAS5047とかに近い感じですね。
14bit解像度、最高回転数25000rpm、SPI/ABI/UVW出力、off-axis対応、といった感じです。
まあ、
全部書いてあるからね。
つかいかた
ブラシレスモーターのモーター角度検出に使用しています。最初はSPIで初期角度取得→AB相で初期角度の差分だけ取得、としていましたが、実装とかの都合で途中から常にSPIで角度取得するようにしました。
ズレの計測方法
モーターを一定速度で回して、1回転のうち一定角度ごとのエンコーダーで計測すると、エンコーダー角度の誤差が、角度ごとの速度差として出てきます。
純粋に実角度対読み出し角度だけ取ると、角度ズレが計測誤差に埋もれて、原因となっている要素の特性が明らかにならないのでこのようなまわりくどい方法をとっています。
グラフにプロットしたのが以下で、縦軸は一定時間ごとのカウント値(つまり速度)ですが相対値だけわかればいいので単位は適当です。
左がエンコーダーICと磁石の距離が0.5mm以下ぐらいの時、右が3mmぐらいの時です。
Y軸の値の大きさを見比べると明らかですね。
結果だけ書いているのでさっぱりしていますが実際は1ヶ月ぐらい無限にエンコーダーの誤差と無限にバトルした結果ようやく得られたのでだいぶ虚無りました
まあ後で調べるとアプリケーションノートに普通に書いてありました
旭化成,Shaft-End 配置における磁石選定ガイドライン
・・・・・。
~日記~
2020年の大晦日に洗濯乾燥機回してたら排水エラーになって、排水フィルター掃除したり、排水ホースに水道水を大量に流して洗浄しても解決しなかったので、泣く泣く洗濯乾燥機を分解して排水ポンプのつまりを修理している様子
はい、今日はここまで