ブラシレスDCモーターですごいな。2
LinuxCNCにて各種設定とパラメータを詰めて無負荷で指令値に追随するようにしました。
設定をどうしたかと雑感は動画コメント欄に有ります。
設定をどうしたかと雑感は動画コメント欄に有ります。
スポンサーサイト
BLDCモーターをサーボ制御しNC制御のX軸として作動。
動画内コメント欄に少々記述有り。
基本的にはかなり前にやってみたブラシ付きDCモーターの作動となんら変わりは有りません。
LinuxCNCのコンフィグファイルについては動画内コメント欄に。
ステッピングモーターとモーター自体の特性が違うのが面白い所ですが、今時の流行りのセンサレスBLDCではないホールセンサの付いたBLDCなので、ステッピングモーターに似た特性な所も有るようにも思う。
ステッピングモーターとの出力特性が違うので、送りネジを直接回すにはよっぽど小さい径のネジが必要になるかもしれません。
12Vで3200rpm,24Vで6000rpmとか回るので、ベルト等でギヤダウンして使うほうがよいかも。
ところで余談ですが、ステッピングモーター=脱調とゆうイメージがあるかも知れませんが、モーター駆動電圧が高ければ高いほど高回転時に電流を押し込むので、ステッピングモーターでも高いモーター電圧を掛けることができれば結構な回転数迄脱調せずに回ります。
限度はドライバICもしくはドライバユニットの許容する電圧。
ただ高い電圧になれば電源ユニット自体が高価になりますし、モーター自体の発熱も心配です。
追記。
このモーター、halrunを使い直接halを操作Enable端子に直接Siggenで生成される正弦波を入力作動させた時のsiggenのサイン波とモーター尻に付いたロータリーエンコーダーから算出されるパルスから算出される速度値のHalscopeでのグラフ表示のスクリーンショットを貼り付けておきます。
この画像から、入力0付近では作動しない不感帯が存在することが分かります。
この画像からはPWMのDutyが100%付近ではチョイと励磁パターンが変わり滑らかな曲線となってない事が分かります。
じつは複数箇所からモーターを購入しており、尻のプラスチックケース、エンコーダーホイールが破損、軸自体が回らない物が送られて来たのでアカン物は基板を取り外し制御用のICを調べてみました。
制御用のICはAllegroMicroSystem製のA4931でした。
日本ではサンケンのサイトで日本語のデータシートとアプリケーションノートを見ることが出来ます。
このモーターではEnable、Brakez、DIRピンが制御線として外に出てます。
コネコネさわっていると、時折モーターが無反応な状態になってアレレ?と思いアプリケーションノートを読み返してみれば、一定時間Enable端子がHighに固定されてると出力がOffとなり、スタンバイモードに移行し無反応状態になってることが分かりました。
停止時にスタンバイモードに入らないようにするには、Enable端子のPWM入力より優先されるBrakez端子へ入力し停止時にBrakeを有効にしておけば良い事が分かりました。
上記のPWM入力不感帯も含めてLinuxCNCのリアルタイムコンポーネントのコンパレーターとロジックのOR、それと空きGPIOを使ってPWMGenへの入力信号の0~±0.03迄の間はブレーキが効くようにHALを使い設定。
こうゆう、内部数値を使い信号を生成、出力を追加とか、LinuxCNCのHALは非常に便利です。
内部信号をPin、Net、等テキスト記述によって各機能コンポーネントに繋いでいきます。
コレで私の環境下ではとりあえずの作動だけは何も問題なく出来るようになりました。
極低速域ではスムーズに回って制御値に上手く追随します。
作動速度を上げていくと誤差が増えます。
コレは多分入力に対する出力がリニアでは無いためだと思われます。不感帯も有ればPWM100%Dutyで制御パターンが変わる所とかまぁ、色々。
PIDでのフィードバック制御が効いているので、ポイントtoポイントの移動時の停止精度、極低速域でのモーションの精度は非常に高く制御することが可能です。
それともう一つ、、、、
このモーターに使われている制御用IC、モーターがモーターロック検出機能が付いていて、この機能が作動するとモーターを保護するためにシャットダウンをしてしまいます。
オープンループでPWM入力のみで作動させているとスコっとトルクが抜けシャットダウンする場合も。
尻のエンコーダーを使いクローズドループで回転させてる場合ときにはこのシャットダウン起きた事がありません。
オープンループで作動させていると、PWMによる速度調整は全く効かないので結構トルクが無くアレレ?と思いましたが、エンコーダーを使いクローズドループとして、上手く設定出来ると42角のステッピングモーター+α程度のトルクが有るのでは?と思います。
モーターの特性として高い回転数が得意なので、何らかのギヤダウンがひつようになるのかも?とも思います。