3Dプリンター(9)2015年11月27日

Z軸の自動調整機能

各軸の位置調整はエンドストップスイッチの取り付け位置で行います。X、Y軸の位置調整はホットエンドがベッド内に収まるようにエンドストップスイッチの取り付け位置を決定しますが、Z軸の調整はホットエンドとベッド間のギャップ調整を行います。基本的にはX、Y軸と同じなのですがこれが結構面倒です。ベッドの取り付けネジ4本(水平調整)とエンドストップスイッチの取り付け位置(ギャップ調整)の2調整を同時に行います。ネットで検索しているうちにMarlinFirmeareの機能にAuto Bed Levelingというのがあることがわかりました。実際に使っている方もいらしてYouTubeに動作している動画を見つけました。こういう機能が欲しかったというべき機能です。それに動きがロボット的なのも良いです。
ベッドが水平でなくとも自動的にZ軸を調整してくれる素晴らしい機能です。ホットエンドのギャップはZ-Probe(Z軸のエンドストップスイッチ)のZ方向のオフセットで決まりますので最初の設定が肝心です。Z軸自動調整機能(Auto Bed Leveling)の実装にはマイクロサーボ1個とZエンドストップスイッチの取り付け位置変更を行います。3Dプリントした取り付けパーツで実現できます。

  • Z-Probe取り付けパーツを作成します。Xキャリアやホットエンドに合わせて選択するかデザインしてください。

  • YouTubeの動画がわかりやすいです。
    Part 1(組み立て)
    Part 2(設定)
    Part 3(調整)
    MarlinFirmeareのConfigurations設定を修正します。
    測定位置、X、Y、Z方向のホットエンドとのオフセット値、動作速度、マイクロサーボの動作角度を設定します。
  • オフセット値は試行錯誤で微調整します。
    一度オフセット値を設定してしまえば、ホットエンド周りを変更する時まで再調整の必要はないと思います。
自作の3Dプリンターはまだまだ手作業や微調整を行いながら印刷しなければなりません。それも面白いのですが印刷までの時間短縮と精度アップになるZ軸自動調整機能(Auto Bed Leveling)はおすすめできるのではないでしょうか。

Z軸自動調整機能(Auto Bed Leveling)を実装しようとしていますが、MarlinFirmeareの設定がうまくできません。G28コマンドでサーボが動作するとMarlinFirmeareがハングアップしてしまいます。サーボを使用せずにG28、G29コマンドを動かすとうまく動きます。サーボを使用しない誘導近接スイッチを使用した例もあります。スマートなのですがロボット的でないところがちょっとねと思っていたのですが、e-bayでLJ12A3-4-Z/BXが290円だったため、背に腹には替えられずクリックしてしまいました。でも安かったな日本では安価なものが売られていないですね。
誘導近接スイッチにはNPNタイプのLJ12A3-4-Z/BX(青色)とPNPタイプのLJ12A3-4-Z/BY(黄色)があり、接続が少し違います。また、電源に6V~36Vが必要です。RAMPS1.4コントロールボードのエンドスイッチ入力は5Vロジックです。誘導近接スイッチの出力を5Vにレベル変換する必要もありますが、抵抗分圧で簡単にすませることができます。 抵抗分圧では供給電圧によって出力電圧が変動しますので電源が安定していない場合は注意が必要です。抵抗が短絡した場合12VがArduinoに入力されてしまいます。パーツ箱の中にあったSharp PC900Vフォトカプラでアイソレートしてあげました。回路はいたって簡単です。

コメント

トラックバック

このエントリのトラックバックURL: http://azss.asablo.jp/blog/2015/11/27/7925185/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。