3D-PRT18)チェックと調整を始める。
2016.05.18
前回からかなり日が経ってしましましたね。
今日はRepetier-Host V1.6.1を使用して調整作業を行います。
かなり地味で面倒な作業になりますので
出来れば半日以上余裕ある時にやりたい作業ですよ。
まず調整が終わったらPLAのフィラメントを使います。
オマケで同梱されていることが多いと思いますが、
足りなくなる恐れもあるので、
品質のいいPLAフィラメントを別途用意しておくことをお薦めします。
(ABSは印刷後の歪みが大きいので本体の調整には不向きです。)
今日は使いませんけど・・・
あと、先日発覚した底面のネジが出っ張っている問題で、
簡易的な台座をMDF板で作成して貼り付けました。
調整で本体がガタガタしてたら意味が無いですしね。この段階で仮対策です。
さてKosselの電源を入れてUSBケーブルをパソコンに挿します。
=========================================
【前準備】
ログが見えないと計測情報を
数値化して見ることが出来ないので
消えていたら表示します。
表示方法はRepetier-Hostの上部に
「ログ表示切替」と書いているボタンを押すことで出来ます。
さらに↑写真の○部分を確認して水色のランプが付いていることを確認し、
消えている箇所があったらクリックして有効にします。
左上の「プリンタ接続」のボタンを押してプリンターとの接続を確立します。
無事接続出来れば「プリンタ接続」のマークが赤から緑に変わるはずです。
写真↓では、先日comポートも適切に設定したことで問題なく接続出来てますね。
右側に「オブジェクト配置」「スライサ」「Print Preview」「プリンタ操作」「SDカード」
といったタブがありますが、その中の「プリンタ操作」を選びます。
=========================================
【エンドスイッチのチェック】
エンドスイッチは3Dプリンターが座標を判断するために絶対必要な物です。
このスイッチが押された位置が最大の高さとされます。
この後のあらゆる調整はこのスイッチが有効に働いて初めて行えますので
スイッチの故障が無いか一番最初にチェックします。
まずG-Code枠のところに「M119」と打ちこんで送信。
ログの反応を見ます。
x_max: open
y_max: open
z_min: open
z_max: open
と出たらエンドスイッチは押されていないとKosselが判断しています。
次にX軸のエンドスイッチを指で押さえながら(カチッとするまで押さえる)、
再びG-Code枠のところに「M119」と打ち込んで送信。
ログの反応を見ます。
x_max: TRIGGERED
y_max: open
z_min: open
z_max: open
x_maxがTRIGGEREDになっています。
これはXスイッチが押されていてることをKossellは分かっていますよという表示です。
他のY軸、Z軸にも同じ事を行ってスイッチが正常なことを確認します。
「あれ? ~_maxはエンドスイッチだとしてもz_minはなんだろ?」って思いますが
これはホットエンドに付いているオートレベリング用のスイッチのことです。
ホットエンドを押し上げながらM119の反応を見ると問題が無ければTRIGGEREDが返ってくるはずです。
もしX軸のスイッチを押したのに、x_maxじゃなく、
他が反応するような状況だと、配線の挿し位置を間違っています。他の軸も同様です。
間違いでもなく、反応しないという症状なら、断線や接続の間違いを疑ってみます。
正常に反応するようになったら次のステップに進みます。
=========================================
【XYZ軸用モーターの接続のチェック】
このチェックは判断が遅れると駆動系やカーボンロッドを破損します。
そのため安全対策をしっかり心得てから試したいと思います。
(自信が無い場合は、キャリッジからロッドを外すと安全にチェックできます。)
まず、手でホットエンドの高さを真ん中らへんに移動させます。
カーボンロッドに無理が掛からないようにやさしく移動します。
(何をやっているかというとホットエンドを上方向にも下方向にも
衝突しないように、余裕ある位置に退避させたのです。)
右上の緊急停止を目視で確認します。
次の工程でおかしな挙動をしたときは、直ぐさまこの緊急停止ボタンを押して下さい。
もし自信が無いようなら本体の電源スイッチを直接切ってもいいと思います。
次はホームボタン(家のマーク)を押しますが全てのキャリッジが上に動けば正解。
XYZ軸のうち1つでもおかしな動きをしたときは、間髪いれず緊急停止です。
全てのキャリッジが下に動いたときはモーターの配線全てが左右逆に接続しています。
ちぐはぐに動いたときは、モーター毎に再確認が必要です。
モーターの移動方向が正しければ次のステップに進みます。
=========================================
【ホットエンド/ヒートベッドの動作チェック】
ホットエンドが正確に温まらないと話しになりません。
サーミスタが温度情報を正常に把握できているかをチェックします。
ヒートブロックを触るだけで体温で上昇するので動作確認は簡単ですが、
どうせならABSを使用するときに必要な温度まで上げてみます。
240度まで上げられたらABSでの使用で悩むことはないようです。
(ファームウェアのデフォルト値では275度を上限としているようです)
画面の右下にノズルのアイコンと温度設定枠があります。上昇させたい温度に数字を変えて
(今は240にして)アイコンをクリックすることで温度設定をON/OFFできます。
ホットエンドのヒートブロックは温度がグングン上がっていきます。
余り待つことなく200度を超えていくと思います。
とりあえずテストなので、240位までいけるのを確認したらOFFにして終わらせましょう。
ヒートベッドが付属しているモデルはヒートベッドの動作チェックもしておきます。
ホットエンドのボタンの直ぐ上にヒートベッドのアイコンがあります。
(今は100度にしてためしてみます)アイコンをクリックすることで温度設定をON/OFFできます。
ヒートベッドは時間がかかりますよ。Kosselの構造では余程室温が高くないと
100度まで到達出来ないかもしれません。1度上昇するのに何十秒もかかる状況であれば、
適当なところでやめて温度をメモして終わりにします。
私の場合は室温20度の状況で84度が軽快に上がる最大値でした。1時間くらい粘れば90度くらいは行ったかもしれませんが・・
温度が無事上昇すれば次の工程に進みます。
=========================================
【エクストルーダーの吐出量調整】
エクストルーダーから一旦PTEFのガイドチューブを外します。
エクストルーダーにオマケで付いてきたフィラメントを差込み
指でギアを回してフィラメントをエクストルーダーの出口付近まで持って行き
フィラメントの先をツライチにします。
(もしフィラメントの先が潰れていてツライチにできないときは
フィラメントを多めにだして、ツライチの位置にペンで印を付ける方法でもいいと思います。)
ホットエンドの温度を上昇させます(ホットエンドアイコンをONにする)
175度以上の温度になったら
エクストルーダーにフィラメントを送り出す命令を出しますが、
動作確認しやすいように1cmだけ送り出してみます。
(エクストルーダーはノズルの温度が175度以上にならないと命令を受け付けません)
定規で測ってエクストルーダーが正確にフィラメントを送り出せているかを見定めます。
送り出すどころか、逆に吸い込んだ場合は、配線が逆になっています。
もし送り出す長さが狂っている場合、
・モータードライバーの電圧がおかしい
・エクストルーダーのギアが滑っている
・フィラメントの軸形状にばらつきがある
・エクストルーダーのバネ圧が強すぎる
等が考えられます。
私のエクストルーダーは正確な長さを吐出してくれました。
=========================================
【ホットエンドの温度制御パラメータを再設定する】
ホットエンドが冷めている状態でRepetier-Hostから、「M303 E0 S200 C8」を送信。
<コマンドの意味>
M303 = 自動調整命令
E0 = 温度チェック対象(0:ホットエンド -1:ヒートベッド)
S200 = 目標温度
C8 = 8回測定
ホットエンドが加熱し、ある一定の温度まで上がると、測定が終了します。
終了結果はログに表示されます。
表示されたログ情報を元にConfiguration.hを書き換え、Arduinoに書き込みます。
書き込み方法は先日行った物と同じです。
私の計測結果は以下の通り
13:48:23.167 : Kp: 32.00
13:48:23.167 : Ki: 2.86
13:48:23.167 : Kd: 89.66
13:48:23.167 : PID Autotune finished! Put the Kp, Ki and Kd constants into Configuration.h
=========================================
【ヒートベッドの温度制御パラメータを再設定する】
このモデルはヒートベッドが付属していますので、そのパラメータも設定する必要があります。
ヒートベッドが冷めている状態でRepetier-Hostから、「M303 E-1 S80 C8」を送信。
今回はS80(目標温度を80度)にします。
事前に実験したところ84度までしか到達しませんでしたorz
さらに、ホットエンドのファンがベッドの近くにあると70度くらいまでしか上がりません。
印刷するときは事前にベッドの温度を上昇させてから印刷ボタンを押さないと
いつまでも印刷されないという状況に陥りますね・・
ABSを使う場合は100度くらいまで上がってくれないと困りますね。
今後、何か対策が必要です。
ホットエンドど同じように自動計測が始まりますが、温度上昇が遅いので、暫くかかります。
終了結果はログに表示されます。
表示されたログ情報を元にConfiguration.hを書き換え、Arduinoに書き込みます。
私の計測結果は以下の通り
15:20:46.712 : Kp: 227.15
15:20:46.712 : Ki: 17.77
15:20:46.712 : Kd: 725.72
15:20:46.712 : PID Autotune finished! Put the Kp, Ki and Kd constants into Configuration.h
計測した時のグラフが残ってましたので載せておきます。
=========================================
【高さ調整】
実際に可動部分が上から下までどれほど動けるかを計ります。(0.1mm単位まで精密に)
これがX、Y、Zで違っていると座標ごとに移動できる高さが変わってしまうので
精度において重要度の高い調整です。
本来ならばダイヤルゲージを用意して正確に計らなくてはならない作業なのですが、
今の段階ではダイヤルゲージをエフェクターに固定する部品すら用意できない(作れない)ので、
まずは印刷できるレベルまで手の感覚で調整することにします。
まず適当な厚紙を用意します。だいたい0.1mmから0.2mmのものがあればいいと思います。
私は手元に綺麗な厚紙がなかったので、カタログの表紙を代用しました。(これは0.14mmの紙です)
まずRepetier-Hostのホームボタン(家のマーク)を押します。
3つのキャリッジ全部がエンドストップに接触するまで上昇すると思います。
キャリッジが止まったら、以下のGコードを打ち込んでください。
G1 X0 Y60 Z30
このコードを打ち込むとエフェクターがZ軸フレーム方向に
寄っていきつつ下降していくと思います。
しばらく待つと止まります。
移動が遅い場合は、Z30の後ろにT1000などと付けて速度指定をするといいと思います。
エフェクターの移動が終わったら、ノズルをボタン操作で下降させて
紙に触れる位置を見つけ出します。
写真の▲▼に○印を付けましたが、
「Z」と書かれている部分の最も近いところを押すと0.01mm刻みで動きます。
(Kosselは0.1刻みが限界のようです)
「Z」から最も離れた部分を押すと10mm刻みで動きます。
つまりはクリックする位置で移動量を決めることができるのです。
移動量はマウスカーソルをボタンの上に合わせるとヒントがでますので、それで確認してください。
調子に乗って1mm刻みでガンガン下降させるとガラス台に激突しますので、
ある程度紙に近づいたら0.1mm刻みで下降させます。
手で紙を左右にフリフリすればノズルの先が触れている感覚がわかると思います。
そのギリギリの感覚の位置を座標値でメモするのです。
値は写真↓の○印Z枠(高さ)を見て下さい。(Kosselの液晶でも見られますが反応が遅いです)
この値はZ軸フレーム側で移動できる高さを意味しています。
次に同じ方法でX軸フレーム寄りの高さを調べます。
Homeボタンを押してエンドスイッチが反応するまで上昇しきったら、
G1 X-60 Y-35 Z30
を打ち込みます。
X軸フレームに寄っていきつつ下降もしていきます。
移動しきったら同じようにノズルをボタンで下げていって
紙に触れる位置をメモします。さっきと同じようにZ枠(高さ)の値ですよ。
さて、Z軸フレーム側のZ値とX軸フレーム側のZ値を比べて見ます。
違いはどれほどありますか?大きくなってますか?それとも小さい?
もしX軸フレーム側の値が大きいなら同じ値まで下げなくてはいけません。
(どの軸を基準にしてもいいのですが、私はZ軸フレームの値に合わせることにしました)
その調整方法は、キャリッジに付いているネジです。
これです。先日スイッチに触れないので特殊なワッシャーを付けて対応したヤツです。
X軸フレーム側のネジを回してスイッチに触れるまでの高さを調整するわけです。
少しネジを回しては、先ほどの方法で高さを測る。ダメならまたネジ調整、高さを測る
一致するまでこの作業を続けます。
X軸フレームの高さ調整が終わったら、次はY軸フレーム側の調整です。
コマンドを
G1 X60 Y-35 Z30
これに変え同じ作業を繰り返します。
しんどいですね。結構時間かかります。
全てのフレーム側の高さを合わせ終わったら次の工程です。
=========================================
【ノズル移動の歪み調整】
さきほどXYZフレームそれぞれの高さを調べ、統一させたわけですが、
中央はどうなってるんでしょうかね?
今回は紙を使いません。適度に厚みがあり、小さいモノを使います。
私は台座作成で余ったMDFを適当なサイズに切って代用しました。
ホームボタンを押して、位置情報を一度リセットしたあと
G1 Z30
を打ちこんで、エフェクターをまっすぐ下降させていきます。
さっきの作業とまったく同じですね。
MDF板とノズルが触れた位置をメモっておきます。
メモったらMDF板を取り外し、
G1 X0 Y60
と打ち込みます。
中央にあったキャリッジがZ軸フレーム側にスライド移動します。
この状態で先ほど用意したMDF板をノズルの下に横から差し込んでみます。
ノズルにMDFがぶつかったりMDFがゆるゆる入るようであれば、
中心と外周側は高さがおかしいということになります。
MDFがスカスカ入るようならガラスの上を「∨」の形ににノズルが移動していることになります。
キツキツもしくは入らないようなら「Λ」の形ににノズルが移動しています。
ガラスの外周と内周ではノズルの高さが狂っているということですね。
調整はファームウェアでConfiguration.hの
DELTA_SMOOTH_ROD_OFFSETの値を書き換えるのが筋ですが、
DELTA_SMOOTH_ROD_OFFSETは変数としか使って無く、
最終的にDELTA_RADIUSを導き出すだけにしか使っていない関係上、
DELTA_RADIUSそのものに計算結果を入れて、
この値を微調整した方が早いし見やすいです。
数値の弄り方ですが、
Λなら数値を増やし、∨なら減らします。
0.1刻みで値を増減して、いいところまで近づいたら0.01刻みで調整してください。
Arduinoに書き込んではMDF板チェックを何度も繰り返し、中央と外周の高さを調整します。
Arduinoの書き込み回数上限は10万回といわれているので、いくら行っても大丈夫(笑)
このDELTA_RADIUSの値は一度見つけたら、
フレームを組み直しでもしない限り変わりません。
これから先、ヒートベッドやガラスをとり外しても
一つ前の工程で行った「高さ調整」だけでOKなハズです。
ちなみに私のKosselは何度も何度もバラして調整しているのですが、
今のところ103.51で動かしています。
図面から導き出した理論値では100.94だったのですが、
2.57mmもの差がでるとは・・ 工作精度というより部品精度の問題かな?
金属の切削パーツだとどうなんでしょうかね。
後日追記
あとから検証した結果、上記の調整では不十分でした。
テスト印刷程度に耐えればいいというならまだしも
キッチリと精度出すには、MDF板を差し込んで調整というのは甘かったようです。
詳しい調整方法は後日書きますが、
DELTA_RADIUSを弄ったら、中央,X,Y,Z軸寄りの値も同時にとって、
値の変化を事細かくメモするべきです。
なぜなら、キャリッジの真下にエフェクターがこれない以上、
DELTA_RADIUSの値を変えると、中央,X,Y,Zの全ての値も連動して変化するからです。
X,Y,Zの値をキャリッジのネジで揃えれば安心というわけでは無かったのです。
そのことに気がつくのに私は時間が掛かりました。
中央と外周の高さが合致したら、
念のため、X軸フレーム寄りの座標、Y軸フレーム寄りの座標でも確認してみます。
一致しているのが当たり前なはずですが、もし狂っているならば、
前工程も含めてきっちり調整ができていません。
X、Y、Z、中央の高さが一致したら、最終作業です。
=========================================
【高さ情報をファームウェアに書き込む】
X、Y、Z、中央の高さが一致ということは
上下に移動できる量が確定したことを意味します。
先ほどの厚紙でノズルが引っかかる高さを再度計測してください。
例えば、その値が18.10だったとします。
先日テスト用の値として320をMANUAL_Z_HOME_POSに指定して書き込みを行いました。
この320はダミーですので正しい値を入れる必要があります。
320から18.10を引いた値、つまり301.9が正解の値になります。
私のKosselでは302.95でした。この値は作り具合で微妙に変わるモノなので、
他人が導き出したのを使っても意味がありません。
自分で見つけ出した値をMANUAL_Z_HOME_POSに入れて書き込んで下さい。
無事書き込み終わると、Z座標の0がガラスから紙一枚分高い位置になるはずです。
これで、ひとまず調整は終了です。
かなり長丁場になりましたね。
次回は、テストデータ印刷で本体がもつ問題を暴いていきますよ。
ではまた。
今日はRepetier-Host V1.6.1を使用して調整作業を行います。
かなり地味で面倒な作業になりますので
出来れば半日以上余裕ある時にやりたい作業ですよ。
まず調整が終わったらPLAのフィラメントを使います。
オマケで同梱されていることが多いと思いますが、
足りなくなる恐れもあるので、
品質のいいPLAフィラメントを別途用意しておくことをお薦めします。
(ABSは印刷後の歪みが大きいので本体の調整には不向きです。)
今日は使いませんけど・・・
あと、先日発覚した底面のネジが出っ張っている問題で、
簡易的な台座をMDF板で作成して貼り付けました。
調整で本体がガタガタしてたら意味が無いですしね。この段階で仮対策です。
さてKosselの電源を入れてUSBケーブルをパソコンに挿します。
=========================================
【前準備】
ログが見えないと計測情報を
数値化して見ることが出来ないので
消えていたら表示します。
表示方法はRepetier-Hostの上部に
「ログ表示切替」と書いているボタンを押すことで出来ます。
さらに↑写真の○部分を確認して水色のランプが付いていることを確認し、
消えている箇所があったらクリックして有効にします。
左上の「プリンタ接続」のボタンを押してプリンターとの接続を確立します。
無事接続出来れば「プリンタ接続」のマークが赤から緑に変わるはずです。
写真↓では、先日comポートも適切に設定したことで問題なく接続出来てますね。
右側に「オブジェクト配置」「スライサ」「Print Preview」「プリンタ操作」「SDカード」
といったタブがありますが、その中の「プリンタ操作」を選びます。
=========================================
【エンドスイッチのチェック】
エンドスイッチは3Dプリンターが座標を判断するために絶対必要な物です。
このスイッチが押された位置が最大の高さとされます。
この後のあらゆる調整はこのスイッチが有効に働いて初めて行えますので
スイッチの故障が無いか一番最初にチェックします。
まずG-Code枠のところに「M119」と打ちこんで送信。
ログの反応を見ます。
x_max: open
y_max: open
z_min: open
z_max: open
と出たらエンドスイッチは押されていないとKosselが判断しています。
次にX軸のエンドスイッチを指で押さえながら(カチッとするまで押さえる)、
再びG-Code枠のところに「M119」と打ち込んで送信。
ログの反応を見ます。
x_max: TRIGGERED
y_max: open
z_min: open
z_max: open
x_maxがTRIGGEREDになっています。
これはXスイッチが押されていてることをKossellは分かっていますよという表示です。
他のY軸、Z軸にも同じ事を行ってスイッチが正常なことを確認します。
「あれ? ~_maxはエンドスイッチだとしてもz_minはなんだろ?」って思いますが
これはホットエンドに付いているオートレベリング用のスイッチのことです。
ホットエンドを押し上げながらM119の反応を見ると問題が無ければTRIGGEREDが返ってくるはずです。
もしX軸のスイッチを押したのに、x_maxじゃなく、
他が反応するような状況だと、配線の挿し位置を間違っています。他の軸も同様です。
間違いでもなく、反応しないという症状なら、断線や接続の間違いを疑ってみます。
正常に反応するようになったら次のステップに進みます。
=========================================
【XYZ軸用モーターの接続のチェック】
このチェックは判断が遅れると駆動系やカーボンロッドを破損します。
そのため安全対策をしっかり心得てから試したいと思います。
(自信が無い場合は、キャリッジからロッドを外すと安全にチェックできます。)
まず、手でホットエンドの高さを真ん中らへんに移動させます。
カーボンロッドに無理が掛からないようにやさしく移動します。
(何をやっているかというとホットエンドを上方向にも下方向にも
衝突しないように、余裕ある位置に退避させたのです。)
右上の緊急停止を目視で確認します。
次の工程でおかしな挙動をしたときは、直ぐさまこの緊急停止ボタンを押して下さい。
もし自信が無いようなら本体の電源スイッチを直接切ってもいいと思います。
次はホームボタン(家のマーク)を押しますが全てのキャリッジが上に動けば正解。
XYZ軸のうち1つでもおかしな動きをしたときは、間髪いれず緊急停止です。
全てのキャリッジが下に動いたときはモーターの配線全てが左右逆に接続しています。
ちぐはぐに動いたときは、モーター毎に再確認が必要です。
モーターの移動方向が正しければ次のステップに進みます。
=========================================
【ホットエンド/ヒートベッドの動作チェック】
ホットエンドが正確に温まらないと話しになりません。
サーミスタが温度情報を正常に把握できているかをチェックします。
ヒートブロックを触るだけで体温で上昇するので動作確認は簡単ですが、
どうせならABSを使用するときに必要な温度まで上げてみます。
240度まで上げられたらABSでの使用で悩むことはないようです。
(ファームウェアのデフォルト値では275度を上限としているようです)
画面の右下にノズルのアイコンと温度設定枠があります。上昇させたい温度に数字を変えて
(今は240にして)アイコンをクリックすることで温度設定をON/OFFできます。
ホットエンドのヒートブロックは温度がグングン上がっていきます。
余り待つことなく200度を超えていくと思います。
とりあえずテストなので、240位までいけるのを確認したらOFFにして終わらせましょう。
ヒートベッドが付属しているモデルはヒートベッドの動作チェックもしておきます。
ホットエンドのボタンの直ぐ上にヒートベッドのアイコンがあります。
(今は100度にしてためしてみます)アイコンをクリックすることで温度設定をON/OFFできます。
ヒートベッドは時間がかかりますよ。Kosselの構造では余程室温が高くないと
100度まで到達出来ないかもしれません。1度上昇するのに何十秒もかかる状況であれば、
適当なところでやめて温度をメモして終わりにします。
私の場合は室温20度の状況で84度が軽快に上がる最大値でした。1時間くらい粘れば90度くらいは行ったかもしれませんが・・
温度が無事上昇すれば次の工程に進みます。
=========================================
【エクストルーダーの吐出量調整】
エクストルーダーから一旦PTEFのガイドチューブを外します。
エクストルーダーにオマケで付いてきたフィラメントを差込み
指でギアを回してフィラメントをエクストルーダーの出口付近まで持って行き
フィラメントの先をツライチにします。
(もしフィラメントの先が潰れていてツライチにできないときは
フィラメントを多めにだして、ツライチの位置にペンで印を付ける方法でもいいと思います。)
ホットエンドの温度を上昇させます(ホットエンドアイコンをONにする)
175度以上の温度になったら
エクストルーダーにフィラメントを送り出す命令を出しますが、
動作確認しやすいように1cmだけ送り出してみます。
(エクストルーダーはノズルの温度が175度以上にならないと命令を受け付けません)
定規で測ってエクストルーダーが正確にフィラメントを送り出せているかを見定めます。
送り出すどころか、逆に吸い込んだ場合は、配線が逆になっています。
もし送り出す長さが狂っている場合、
・モータードライバーの電圧がおかしい
・エクストルーダーのギアが滑っている
・フィラメントの軸形状にばらつきがある
・エクストルーダーのバネ圧が強すぎる
等が考えられます。
私のエクストルーダーは正確な長さを吐出してくれました。
=========================================
【ホットエンドの温度制御パラメータを再設定する】
ホットエンドが冷めている状態でRepetier-Hostから、「M303 E0 S200 C8」を送信。
<コマンドの意味>
M303 = 自動調整命令
E0 = 温度チェック対象(0:ホットエンド -1:ヒートベッド)
S200 = 目標温度
C8 = 8回測定
ホットエンドが加熱し、ある一定の温度まで上がると、測定が終了します。
終了結果はログに表示されます。
表示されたログ情報を元にConfiguration.hを書き換え、Arduinoに書き込みます。
書き込み方法は先日行った物と同じです。
私の計測結果は以下の通り
13:48:23.167 : Kp: 32.00
13:48:23.167 : Ki: 2.86
13:48:23.167 : Kd: 89.66
13:48:23.167 : PID Autotune finished! Put the Kp, Ki and Kd constants into Configuration.h
=========================================
【ヒートベッドの温度制御パラメータを再設定する】
このモデルはヒートベッドが付属していますので、そのパラメータも設定する必要があります。
ヒートベッドが冷めている状態でRepetier-Hostから、「M303 E-1 S80 C8」を送信。
今回はS80(目標温度を80度)にします。
事前に実験したところ84度までしか到達しませんでしたorz
さらに、ホットエンドのファンがベッドの近くにあると70度くらいまでしか上がりません。
印刷するときは事前にベッドの温度を上昇させてから印刷ボタンを押さないと
いつまでも印刷されないという状況に陥りますね・・
ABSを使う場合は100度くらいまで上がってくれないと困りますね。
今後、何か対策が必要です。
ホットエンドど同じように自動計測が始まりますが、温度上昇が遅いので、暫くかかります。
終了結果はログに表示されます。
表示されたログ情報を元にConfiguration.hを書き換え、Arduinoに書き込みます。
私の計測結果は以下の通り
15:20:46.712 : Kp: 227.15
15:20:46.712 : Ki: 17.77
15:20:46.712 : Kd: 725.72
15:20:46.712 : PID Autotune finished! Put the Kp, Ki and Kd constants into Configuration.h
計測した時のグラフが残ってましたので載せておきます。
=========================================
【高さ調整】
実際に可動部分が上から下までどれほど動けるかを計ります。(0.1mm単位まで精密に)
これがX、Y、Zで違っていると座標ごとに移動できる高さが変わってしまうので
精度において重要度の高い調整です。
本来ならばダイヤルゲージを用意して正確に計らなくてはならない作業なのですが、
今の段階ではダイヤルゲージをエフェクターに固定する部品すら用意できない(作れない)ので、
まずは印刷できるレベルまで手の感覚で調整することにします。
まず適当な厚紙を用意します。だいたい0.1mmから0.2mmのものがあればいいと思います。
私は手元に綺麗な厚紙がなかったので、カタログの表紙を代用しました。(これは0.14mmの紙です)
まずRepetier-Hostのホームボタン(家のマーク)を押します。
3つのキャリッジ全部がエンドストップに接触するまで上昇すると思います。
キャリッジが止まったら、以下のGコードを打ち込んでください。
G1 X0 Y60 Z30
このコードを打ち込むとエフェクターがZ軸フレーム方向に
寄っていきつつ下降していくと思います。
しばらく待つと止まります。
移動が遅い場合は、Z30の後ろにT1000などと付けて速度指定をするといいと思います。
エフェクターの移動が終わったら、ノズルをボタン操作で下降させて
紙に触れる位置を見つけ出します。
写真の▲▼に○印を付けましたが、
「Z」と書かれている部分の最も近いところを押すと0.01mm刻みで動きます。
(Kosselは0.1刻みが限界のようです)
「Z」から最も離れた部分を押すと10mm刻みで動きます。
つまりはクリックする位置で移動量を決めることができるのです。
移動量はマウスカーソルをボタンの上に合わせるとヒントがでますので、それで確認してください。
調子に乗って1mm刻みでガンガン下降させるとガラス台に激突しますので、
ある程度紙に近づいたら0.1mm刻みで下降させます。
手で紙を左右にフリフリすればノズルの先が触れている感覚がわかると思います。
そのギリギリの感覚の位置を座標値でメモするのです。
値は写真↓の○印Z枠(高さ)を見て下さい。(Kosselの液晶でも見られますが反応が遅いです)
この値はZ軸フレーム側で移動できる高さを意味しています。
次に同じ方法でX軸フレーム寄りの高さを調べます。
Homeボタンを押してエンドスイッチが反応するまで上昇しきったら、
G1 X-60 Y-35 Z30
を打ち込みます。
X軸フレームに寄っていきつつ下降もしていきます。
移動しきったら同じようにノズルをボタンで下げていって
紙に触れる位置をメモします。さっきと同じようにZ枠(高さ)の値ですよ。
さて、Z軸フレーム側のZ値とX軸フレーム側のZ値を比べて見ます。
違いはどれほどありますか?大きくなってますか?それとも小さい?
もしX軸フレーム側の値が大きいなら同じ値まで下げなくてはいけません。
(どの軸を基準にしてもいいのですが、私はZ軸フレームの値に合わせることにしました)
その調整方法は、キャリッジに付いているネジです。
これです。先日スイッチに触れないので特殊なワッシャーを付けて対応したヤツです。
X軸フレーム側のネジを回してスイッチに触れるまでの高さを調整するわけです。
少しネジを回しては、先ほどの方法で高さを測る。ダメならまたネジ調整、高さを測る
一致するまでこの作業を続けます。
X軸フレームの高さ調整が終わったら、次はY軸フレーム側の調整です。
コマンドを
G1 X60 Y-35 Z30
これに変え同じ作業を繰り返します。
しんどいですね。結構時間かかります。
全てのフレーム側の高さを合わせ終わったら次の工程です。
=========================================
【ノズル移動の歪み調整】
さきほどXYZフレームそれぞれの高さを調べ、統一させたわけですが、
中央はどうなってるんでしょうかね?
今回は紙を使いません。適度に厚みがあり、小さいモノを使います。
私は台座作成で余ったMDFを適当なサイズに切って代用しました。
ホームボタンを押して、位置情報を一度リセットしたあと
G1 Z30
を打ちこんで、エフェクターをまっすぐ下降させていきます。
さっきの作業とまったく同じですね。
MDF板とノズルが触れた位置をメモっておきます。
メモったらMDF板を取り外し、
G1 X0 Y60
と打ち込みます。
中央にあったキャリッジがZ軸フレーム側にスライド移動します。
この状態で先ほど用意したMDF板をノズルの下に横から差し込んでみます。
ノズルにMDFがぶつかったりMDFがゆるゆる入るようであれば、
中心と外周側は高さがおかしいということになります。
MDFがスカスカ入るようならガラスの上を「∨」の形ににノズルが移動していることになります。
キツキツもしくは入らないようなら「Λ」の形ににノズルが移動しています。
ガラスの外周と内周ではノズルの高さが狂っているということですね。
調整はファームウェアでConfiguration.hの
DELTA_SMOOTH_ROD_OFFSETの値を書き換えるのが筋ですが、
DELTA_SMOOTH_ROD_OFFSETは変数としか使って無く、
最終的にDELTA_RADIUSを導き出すだけにしか使っていない関係上、
DELTA_RADIUSそのものに計算結果を入れて、
この値を微調整した方が早いし見やすいです。
数値の弄り方ですが、
Λなら数値を増やし、∨なら減らします。
0.1刻みで値を増減して、いいところまで近づいたら0.01刻みで調整してください。
Arduinoに書き込んではMDF板チェックを何度も繰り返し、中央と外周の高さを調整します。
Arduinoの書き込み回数上限は10万回といわれているので、いくら行っても大丈夫(笑)
このDELTA_RADIUSの値は一度見つけたら、
フレームを組み直しでもしない限り変わりません。
これから先、ヒートベッドやガラスをとり外しても
一つ前の工程で行った「高さ調整」だけでOKなハズです。
ちなみに私のKosselは何度も何度もバラして調整しているのですが、
今のところ103.51で動かしています。
図面から導き出した理論値では100.94だったのですが、
2.57mmもの差がでるとは・・ 工作精度というより部品精度の問題かな?
金属の切削パーツだとどうなんでしょうかね。
後日追記
あとから検証した結果、上記の調整では不十分でした。
テスト印刷程度に耐えればいいというならまだしも
キッチリと精度出すには、MDF板を差し込んで調整というのは甘かったようです。
詳しい調整方法は後日書きますが、
DELTA_RADIUSを弄ったら、中央,X,Y,Z軸寄りの値も同時にとって、
値の変化を事細かくメモするべきです。
なぜなら、キャリッジの真下にエフェクターがこれない以上、
DELTA_RADIUSの値を変えると、中央,X,Y,Zの全ての値も連動して変化するからです。
X,Y,Zの値をキャリッジのネジで揃えれば安心というわけでは無かったのです。
そのことに気がつくのに私は時間が掛かりました。
中央と外周の高さが合致したら、
念のため、X軸フレーム寄りの座標、Y軸フレーム寄りの座標でも確認してみます。
一致しているのが当たり前なはずですが、もし狂っているならば、
前工程も含めてきっちり調整ができていません。
X、Y、Z、中央の高さが一致したら、最終作業です。
=========================================
【高さ情報をファームウェアに書き込む】
X、Y、Z、中央の高さが一致ということは
上下に移動できる量が確定したことを意味します。
先ほどの厚紙でノズルが引っかかる高さを再度計測してください。
例えば、その値が18.10だったとします。
先日テスト用の値として320をMANUAL_Z_HOME_POSに指定して書き込みを行いました。
この320はダミーですので正しい値を入れる必要があります。
320から18.10を引いた値、つまり301.9が正解の値になります。
私のKosselでは302.95でした。この値は作り具合で微妙に変わるモノなので、
他人が導き出したのを使っても意味がありません。
自分で見つけ出した値をMANUAL_Z_HOME_POSに入れて書き込んで下さい。
無事書き込み終わると、Z座標の0がガラスから紙一枚分高い位置になるはずです。
これで、ひとまず調整は終了です。
かなり長丁場になりましたね。
次回は、テストデータ印刷で本体がもつ問題を暴いていきますよ。
ではまた。
3D-PRT17)テスト用の数値を焼き込む
2016.05.06
今日は精度を出すための調整・・・の初期設定を行いたいと思います。
Kossel K800はArduinoにMarlinというファームウェアを
焼き付けることで動くようになっています。
そのファームウェアにボディの細かい数値を入れ込んで
初めて正確な印刷が出来る様になるのですが、
部品の工作精度が甘いので仕様表の値をそのまま当てはめてもまともに動きません。
しかも0.1mm精度の工作機械に対し定規やノギス、メジャーで計るには無理があります。
そこで実際に機械を動かして調整していくことになるわけですね。
まず動かすために間違い覚悟(定規などで適当に測ったもの)の数値情報を
Arduinoに焼き付けることにします。
Marlinのソースファイルは同梱されていたSDメモリに入っていました。
「kossel mini heated bed.zip」
という圧縮ファイルです。解凍すると
kossel mini heated bed -------ArduinoAddons フォルダ
|
---Marlin フォルダ
|
---.gitignore
|
---README.md
という形で展開されます。肝心のソースファイルはMarlinフォルダに格納されていました。
Marlin.inoというファイルがMarlinフォルダに入っているので実行してみます。
すると、先日インストールしたArduino IDE統合環境が起動し
関連のソースファイルを全部読み上げてくれます。
タブの中の「Configuration.h」をクリックします。
ここに書かれている内容にパラメータ情報がちりばめられています。
ここを変更しArduinoに焼き付けることでファームウェアの設定変更になります。
まずは、以下の数値を書き換えちゃいます。
順番や場所は様々なので、目視で見つけられない場合は検索機能を使うことにします。
・通信速度を設定する
#define BAUDRATE 250000 //Winでは250000で大抵動くようです。LINUXではエラーになるらしい。
・マザーボードの種類
#define MOTHERBOARD 33 //33番はRAMPS1.4(Power outputs: Extruder, Fan, Bed)
・ロッドの長さを書き込む
#define DELTA_DIAGONAL_ROD 217.3 //単位 mm
・エフェクター側のロッド先端からキャリッジ側のロッド先端までの底面の長さ
#define DELTA_RADIUS 100.96 //単位 mm
・印刷可能半径(安全な範囲)
#define DELTA_PRINTABLE_RADIUS 70.0 //単位 mm
・エンドスイッチ反応位置から底面接触までの高さ。//正確な数値は後でいれるので今は多めにいれる。
#define MANUAL_Z_HOME_POS 320 //単位 mm
とりあえずこれで動かすことは出来るはず。
===================================================
先ほど定規等で適当にとは書きましたが、
実は、私はある程度現実味のある数値を
Micromakeが提供しているSTLデータから導きだしています。
エフェクターのデータを眺めていると
面白い事にエフェクターは設計データの時点で
XYZ方向において数字にバラつきがあることが分かります。
XYZ方向全部の長さが違うので、
DELTA_RADIUSについては平均値をとりました。
===================================================
変更が終わったら、メニューバーからスケッチを選び、「マイコンボードに書き込む」を実行します。
コンパイルが始まり、ボードへの書き込み、本体の再起動まで自動で行われます。
「マイコンボードへの書き込みが完了しました」と出るまで何もやることがありません。
(コンパイルエラーが出た場合、全角スペースを使ったりしてませんか?
半角スペースに統一してみると直る場合があります。)
これでKossel K800はテスト用に動くようになりました。
ツールメニューからファイルを選び、その中の「保存」を押します。
あとはArduino IDE統合環境を閉じて終わらせます。
調整の流れとしましては、Repetier-Hostで微量の動作をさせて数値を見つけ出し
その数値をArduino IDE統合環境で焼き、またRepetier-Hostでデータを取るの繰り返しになります。
調整は気の長い勝負になるので、
とりあえず覚悟だけして今日はこれまでにします。
ではまた。
Kossel K800はArduinoにMarlinというファームウェアを
焼き付けることで動くようになっています。
そのファームウェアにボディの細かい数値を入れ込んで
初めて正確な印刷が出来る様になるのですが、
部品の工作精度が甘いので仕様表の値をそのまま当てはめてもまともに動きません。
しかも0.1mm精度の工作機械に対し定規やノギス、メジャーで計るには無理があります。
そこで実際に機械を動かして調整していくことになるわけですね。
まず動かすために間違い覚悟(定規などで適当に測ったもの)の数値情報を
Arduinoに焼き付けることにします。
Marlinのソースファイルは同梱されていたSDメモリに入っていました。
「kossel mini heated bed.zip」
という圧縮ファイルです。解凍すると
kossel mini heated bed -------ArduinoAddons フォルダ
|
---Marlin フォルダ
|
---.gitignore
|
---README.md
という形で展開されます。肝心のソースファイルはMarlinフォルダに格納されていました。
Marlin.inoというファイルがMarlinフォルダに入っているので実行してみます。
すると、先日インストールしたArduino IDE統合環境が起動し
関連のソースファイルを全部読み上げてくれます。
タブの中の「Configuration.h」をクリックします。
ここに書かれている内容にパラメータ情報がちりばめられています。
ここを変更しArduinoに焼き付けることでファームウェアの設定変更になります。
まずは、以下の数値を書き換えちゃいます。
順番や場所は様々なので、目視で見つけられない場合は検索機能を使うことにします。
・通信速度を設定する
#define BAUDRATE 250000 //Winでは250000で大抵動くようです。LINUXではエラーになるらしい。
・マザーボードの種類
#define MOTHERBOARD 33 //33番はRAMPS1.4(Power outputs: Extruder, Fan, Bed)
・ロッドの長さを書き込む
#define DELTA_DIAGONAL_ROD 217.3 //単位 mm
・エフェクター側のロッド先端からキャリッジ側のロッド先端までの底面の長さ
#define DELTA_RADIUS 100.96 //単位 mm
・印刷可能半径(安全な範囲)
#define DELTA_PRINTABLE_RADIUS 70.0 //単位 mm
・エンドスイッチ反応位置から底面接触までの高さ。//正確な数値は後でいれるので今は多めにいれる。
#define MANUAL_Z_HOME_POS 320 //単位 mm
とりあえずこれで動かすことは出来るはず。
===================================================
先ほど定規等で適当にとは書きましたが、
実は、私はある程度現実味のある数値を
Micromakeが提供しているSTLデータから導きだしています。
エフェクターのデータを眺めていると
面白い事にエフェクターは設計データの時点で
XYZ方向において数字にバラつきがあることが分かります。
XYZ方向全部の長さが違うので、
DELTA_RADIUSについては平均値をとりました。
===================================================
変更が終わったら、メニューバーからスケッチを選び、「マイコンボードに書き込む」を実行します。
コンパイルが始まり、ボードへの書き込み、本体の再起動まで自動で行われます。
「マイコンボードへの書き込みが完了しました」と出るまで何もやることがありません。
(コンパイルエラーが出た場合、全角スペースを使ったりしてませんか?
半角スペースに統一してみると直る場合があります。)
これでKossel K800はテスト用に動くようになりました。
ツールメニューからファイルを選び、その中の「保存」を押します。
あとはArduino IDE統合環境を閉じて終わらせます。
調整の流れとしましては、Repetier-Hostで微量の動作をさせて数値を見つけ出し
その数値をArduino IDE統合環境で焼き、またRepetier-Hostでデータを取るの繰り返しになります。
調整は気の長い勝負になるので、
とりあえず覚悟だけして今日はこれまでにします。
ではまた。
3D-PRT16)ArduinoドライバやRepetier-Hostをインストールする。
2016.05.03
本体が概ね出来上がってきたところで、
流れが調整に移っていくわけですが、
その前に準備しなくてはならないことがあります。
それは制御ソフトのインストールです。
パソコンから3Dプリンターを制御できなければ意味がありません。
ウチでは主にWinodwsを使っているので、Windowsの環境を整えて行くことにします。
(ゆくゆくは古いB5ノートあたりにLINUXを入れた専用PCを用意してあげたいですね。)
必要なソフトは
・Arduinoから提供されているツール(ドライバー含む)
・3Dプリンターを制御するアプリ(Repetier-Host)
の2つ。どちらも無償アプリです。
では順を追ってインストールしていきましすよ。
<Arduinoツール(Arduino IDE統合開発環境)>
PCとArduino基板への接続、プログラム開発支援や、
基板への書き込みなどがこのツールを入れることで可能になります。
最新版のツールは
https://www.arduino.cc/en/Main/Software
ここで見つかります。
Windows版はインストーラー版と、そうで無い物があるのですが、
簡単に終わらせたいので「Windows Installer」を選びます。
普通のアプリなら64bitと32bitを選ぶ所ですが、
このツールは気にしなくても良いようですね。
「Windows Installer」の次は
「Support the Arduino Software」というタイトルのページが開かれますが、
ダウンロードとはちょっとイメージが違う内容に不安になります。
要約すると「寄付してね~」という内容が書かれているだけです。
まずダウンロードして使ってみないと寄付も何もないので
寄付を募っていることは記憶の片隅に置いといて
一番最下行にある「JUST DOWNLOAD」を押します。
私の時は「arduino-1.6.8-windows.exe」(84.1MB)がダウンロードされました。
EXEファイルは実行するだけでいいのが楽でいいですね。
ファイルをダブルクリック!
あとは、出てくるウインドウに対し
右下のボタンを適当に押していくだけです。
↑「I Agree」を押す
↑「Next>」を押す
↑「Install」を押す
↑バーが一番右まで行くまで待つ。
↑バーが右まで来たら「Close」ボタンが押せるようになるので、押して完了。
簡単簡単。
画面にショートカットができています。
試しに実行してみます。
なんとすでに日本語環境! 素晴らしい。
ここで立ち上がらない場合はJAVA SE6(もしくはそれ以上のバージョン)が
Windowsにインストールされていないと思われます。
さて次にいきます。
<Repetier-Host>
このRepetier-Hostは3Dプリンターのあらゆる面倒を見てくれる便利ソフトです。
それが無償だなんて嬉しいですね。
本家のサイトは https://www.repetier.com/
ダウンロードサイトは https://www.repetier.com/download-software/
ダウンロードサイトに飛ぶと、またもや英語だらけでお金っぽい数字がいっぱい。
こちらも寄付の説明であふれかえってます。
押すべきボタンは丸印を付けた所です。
次のページへ移動するとユーザーの環境に合わせたダウンロードボタンが表示されます。
ウチではWindows用が必要なので、左上の「Repetier-Host Windows 1.6.1」を押します。
現バージョンの1.6.1は29.7MBですね。ダウンロードに3分くらい掛かりました。
それではダウンロードされたファイルを実行してインストールしてみます。
(ダウンロード出来たということは心配ないとは思いますが、
インストール中もネット接続が必要です。切断をしないように気をつけて下さい)
いきなり言語選択です。しかも自動で日本語が選らばれてますよ。
とても親切ですね。ここで日本語を選べると言うことはこの先の選択肢も
苦労はしなくて済みそうです。
OKを押して次へ行きます。
これも「次へ(N)>」を押して次に進みます。
使用許諾に同意しなければインストール出来ないのでここは
「同意する(A)」のラジオボタンにチェックを入れて、
「次へ(N)>」を押します。
ここではインストール先を指定しますが、
特殊な事情が無い限りそのままでok
「次へ(N)>」を押して次に進みます。
ここではインストールされる物を細かく選択出来るのですが、
知識が乏しいうちはむやみに弄らない方がいいので、
そのまま「次へ(N)>」を押して次に進みます。
プログラムグループの指定も「次へ(N)>」を押して飛ばします。
ここも「次へ(N)>」を押して飛ばします。
さて最終確認がきました。「インストール(I)」を押して実行します。
どうやら全てのデータがインストーラーに入っているわけでは無いようですね。
ここでさらなるダウンロードが始まります。
暫く待つとダウンロードが終わって次の画面が追加で現れます。
Reptier-Serverのインストール画面のようですね。
Reptier-Serverはネットワーク経由で複数の3Dプリンタを制御するためのものらしいです。
私は使う機会があるか分からないですが、とりあえず入れておきます。
ライセンス契約書の同意を求めてきました。
「同意する(A)」を押して先を進めます。
次はインストール先。Reptier-Hostと同じ流れですね。
そのまま「次へ(N)>」
登録するプログラム名もそのままでいいので、
「インストール」を実行します。
インストールが始まって暫くしたら「完了しました」のメッセージが出ました。
「完了(F)」のボタンを押したらRepetier-Hostの残されたウインドウにも
完了を促すメッセージがきましたよ。
そのまま「完了(F)」を押します。
勝手にRepetier-Hostが立ち上がってくると思います。
ここは現時点で最低限必要な設定だけ行って今日は終えたいと思います。
まず日本語になっているのでその点は心配いらないですね。
上のツールバーから「プリンタ設定」のボタン(歯車のマーク)を押します。
するとプリンターの設定画面が現れますので、
Kosselの最低限の情報というか、今分かっているものを入れます。
まずボーレートですが、250000で確定です。
恐らくですがデフォルトで250000になっていると思うので、その時は変更不要です。
COMポートは3DプリンターをUSBで接続したあと、
デバイスマネージャーを開いてみると、使用しているポートが何番なのか分かります。
USBを挿しただけで認識しなかった場合、それは本物ではなく、
Arduinoの互換モデルの可能性があります。
その場合は、ボードがUSBチップを本来の物ではなく別の物で代用しているために、
専用のドライバーソフトを使用しないと認識しません。
ドライバーはCH341チップの物をダウンロードすれば動くようです。
次にエリア設定のタブをクリック。
Printer Type:というコンボボックスがあるのが分かるでしょうか?
数ある3Dプリンターの中でも、大枠の種類というものがあるのですが、
それを指定します。
うちのはKosselなのでデルタ型の3Dプリンターですね。
ですので、「Rostockプリンタ(サーキュラプリントシェイプ)」を選択します。
プリント半径は先日自分の手で物理的に調査し、安全域と決めた70mmを指定します。
プリント高さについてはエフェクターを手で一番上まで動かし、
ノズルの先からガラスまでメジャーでザックリと計り30程度上乗せした数字を
入れておくといいと思います。
後々正確に計測するので、今はそれ程神経質にならずに数字を入れます。
後は、「プリント設定:」の右横にdefaultという文字が見えますが、そこに自分が設定した証として
「Kossel K800」とでも入れておいて「摘要」→「OK」ボタンを押します。
いまここで出来る設定はこれくらいなので、
アプリを終了させます。
閉じるとデスクトップにアイコンが出来ています。
着々と進んでますね。
今日はこれでおしまいです。
ではまた。
流れが調整に移っていくわけですが、
その前に準備しなくてはならないことがあります。
それは制御ソフトのインストールです。
パソコンから3Dプリンターを制御できなければ意味がありません。
ウチでは主にWinodwsを使っているので、Windowsの環境を整えて行くことにします。
(ゆくゆくは古いB5ノートあたりにLINUXを入れた専用PCを用意してあげたいですね。)
必要なソフトは
・Arduinoから提供されているツール(ドライバー含む)
・3Dプリンターを制御するアプリ(Repetier-Host)
の2つ。どちらも無償アプリです。
では順を追ってインストールしていきましすよ。
<Arduinoツール(Arduino IDE統合開発環境)>
PCとArduino基板への接続、プログラム開発支援や、
基板への書き込みなどがこのツールを入れることで可能になります。
最新版のツールは
https://www.arduino.cc/en/Main/Software
ここで見つかります。
Windows版はインストーラー版と、そうで無い物があるのですが、
簡単に終わらせたいので「Windows Installer」を選びます。
普通のアプリなら64bitと32bitを選ぶ所ですが、
このツールは気にしなくても良いようですね。
「Windows Installer」の次は
「Support the Arduino Software」というタイトルのページが開かれますが、
ダウンロードとはちょっとイメージが違う内容に不安になります。
要約すると「寄付してね~」という内容が書かれているだけです。
まずダウンロードして使ってみないと寄付も何もないので
寄付を募っていることは記憶の片隅に置いといて
一番最下行にある「JUST DOWNLOAD」を押します。
私の時は「arduino-1.6.8-windows.exe」(84.1MB)がダウンロードされました。
EXEファイルは実行するだけでいいのが楽でいいですね。
ファイルをダブルクリック!
あとは、出てくるウインドウに対し
右下のボタンを適当に押していくだけです。
↑「I Agree」を押す
↑「Next>」を押す
↑「Install」を押す
↑バーが一番右まで行くまで待つ。
↑バーが右まで来たら「Close」ボタンが押せるようになるので、押して完了。
簡単簡単。
画面にショートカットができています。
試しに実行してみます。
なんとすでに日本語環境! 素晴らしい。
ここで立ち上がらない場合はJAVA SE6(もしくはそれ以上のバージョン)が
Windowsにインストールされていないと思われます。
さて次にいきます。
<Repetier-Host>
このRepetier-Hostは3Dプリンターのあらゆる面倒を見てくれる便利ソフトです。
それが無償だなんて嬉しいですね。
本家のサイトは https://www.repetier.com/
ダウンロードサイトは https://www.repetier.com/download-software/
ダウンロードサイトに飛ぶと、またもや英語だらけでお金っぽい数字がいっぱい。
こちらも寄付の説明であふれかえってます。
押すべきボタンは丸印を付けた所です。
次のページへ移動するとユーザーの環境に合わせたダウンロードボタンが表示されます。
ウチではWindows用が必要なので、左上の「Repetier-Host Windows 1.6.1」を押します。
現バージョンの1.6.1は29.7MBですね。ダウンロードに3分くらい掛かりました。
それではダウンロードされたファイルを実行してインストールしてみます。
(ダウンロード出来たということは心配ないとは思いますが、
インストール中もネット接続が必要です。切断をしないように気をつけて下さい)
いきなり言語選択です。しかも自動で日本語が選らばれてますよ。
とても親切ですね。ここで日本語を選べると言うことはこの先の選択肢も
苦労はしなくて済みそうです。
OKを押して次へ行きます。
これも「次へ(N)>」を押して次に進みます。
使用許諾に同意しなければインストール出来ないのでここは
「同意する(A)」のラジオボタンにチェックを入れて、
「次へ(N)>」を押します。
ここではインストール先を指定しますが、
特殊な事情が無い限りそのままでok
「次へ(N)>」を押して次に進みます。
ここではインストールされる物を細かく選択出来るのですが、
知識が乏しいうちはむやみに弄らない方がいいので、
そのまま「次へ(N)>」を押して次に進みます。
プログラムグループの指定も「次へ(N)>」を押して飛ばします。
ここも「次へ(N)>」を押して飛ばします。
さて最終確認がきました。「インストール(I)」を押して実行します。
どうやら全てのデータがインストーラーに入っているわけでは無いようですね。
ここでさらなるダウンロードが始まります。
暫く待つとダウンロードが終わって次の画面が追加で現れます。
Reptier-Serverのインストール画面のようですね。
Reptier-Serverはネットワーク経由で複数の3Dプリンタを制御するためのものらしいです。
私は使う機会があるか分からないですが、とりあえず入れておきます。
ライセンス契約書の同意を求めてきました。
「同意する(A)」を押して先を進めます。
次はインストール先。Reptier-Hostと同じ流れですね。
そのまま「次へ(N)>」
登録するプログラム名もそのままでいいので、
「インストール」を実行します。
インストールが始まって暫くしたら「完了しました」のメッセージが出ました。
「完了(F)」のボタンを押したらRepetier-Hostの残されたウインドウにも
完了を促すメッセージがきましたよ。
そのまま「完了(F)」を押します。
勝手にRepetier-Hostが立ち上がってくると思います。
ここは現時点で最低限必要な設定だけ行って今日は終えたいと思います。
まず日本語になっているのでその点は心配いらないですね。
上のツールバーから「プリンタ設定」のボタン(歯車のマーク)を押します。
するとプリンターの設定画面が現れますので、
Kosselの最低限の情報というか、今分かっているものを入れます。
まずボーレートですが、250000で確定です。
恐らくですがデフォルトで250000になっていると思うので、その時は変更不要です。
COMポートは3DプリンターをUSBで接続したあと、
デバイスマネージャーを開いてみると、使用しているポートが何番なのか分かります。
USBを挿しただけで認識しなかった場合、それは本物ではなく、
Arduinoの互換モデルの可能性があります。
その場合は、ボードがUSBチップを本来の物ではなく別の物で代用しているために、
専用のドライバーソフトを使用しないと認識しません。
ドライバーはCH341チップの物をダウンロードすれば動くようです。
次にエリア設定のタブをクリック。
Printer Type:というコンボボックスがあるのが分かるでしょうか?
数ある3Dプリンターの中でも、大枠の種類というものがあるのですが、
それを指定します。
うちのはKosselなのでデルタ型の3Dプリンターですね。
ですので、「Rostockプリンタ(サーキュラプリントシェイプ)」を選択します。
プリント半径は先日自分の手で物理的に調査し、安全域と決めた70mmを指定します。
プリント高さについてはエフェクターを手で一番上まで動かし、
ノズルの先からガラスまでメジャーでザックリと計り30程度上乗せした数字を
入れておくといいと思います。
後々正確に計測するので、今はそれ程神経質にならずに数字を入れます。
後は、「プリント設定:」の右横にdefaultという文字が見えますが、そこに自分が設定した証として
「Kossel K800」とでも入れておいて「摘要」→「OK」ボタンを押します。
いまここで出来る設定はこれくらいなので、
アプリを終了させます。
閉じるとデスクトップにアイコンが出来ています。
着々と進んでますね。
今日はこれでおしまいです。
ではまた。
3D-PRT15)ヒートベッド設置と可動域チェック
2016.04.27
今日はヒートベッドとガラス台を設置して、
調整前の前準備を行いたいと思います。
使うネジ等は
<ヒートベッド固定用>
M3x20mm 3本
M3Tナット 3個
M3手回しナットA
M3手回しナットB
まずは、配線ですね。
ここは簡単です。写真の丸印の所に接続するだけです。
極性も配線の色の通りに繋げればいいのでミスの心配もないですね。
少し「?」な所はホットエンドのファンも同じ所に付ける事です。
つまり常時5Vに繋げるので、ファンは回りっぱなしなんですね。
てっきりコントロールできる代物だと思ってました。
ヒートベッドの固定方法についてですが、
使うネジとナットの種類のみマニュアルに記述されていて、
組み合わせ方について書いてませんでした。
この部分で使うパーツは別袋になっていまして、
それにはバネも同梱されていました。
バネについてはもマニュアルには記載がないので、
憶測で組み合わせてみます。
こんな感じでで固定しました。
手回しナットAはビスの頭とでヒートベッドを固定。
手回しナットBはM3T型ナットとでアルミフレームに固定。
バネは何の機能があるのか分かりませんがその中に入れました。
こんな↑感じで固定します。ガラスはマニュアルの写真を見るにクリップで留めるらしいです。
ちょっと美しくないので、これは後々の修正リスト入りです。
ちょっと下面を覗いてみました。配線が酷い(笑)
ヒートベッドの真下に基板があるのって余り良くない気がしますね。
熱暴走なんてことにならないんでしょうか?
モータードライバーの上に申し訳程度のヒートシンクがありますが、
冷却しないと長時間の印刷に耐えられるのか不安になります。
しかし、ヒートベッドを一度固定しましたが、
きちんとセンターに有るのか不安になります。
そこで後々調整なども考慮して写真↓の様な物を作ってみました。
(写真のはプロトタイプなので、印刷リミットは仕様通りに書いてました。)
これを一時的にガラスに貼り付けます。
(もしこんなんでも欲しい人がいましたら ココ らどうぞ。)
中央に両面テープで止めるだけで十分です。
印刷のXYZの軸線をアルミフレームのXYZ軸のシャフトに向けると
大体ですが、ヒートベッドもろともセンターがとれます。
さて、ここで実際の印刷限界を調べてみます。
(とても重要!私は最初にコレをやらずに仕様通り動かしてロッドを痛めてしまいました。)
自分の手で、カーボンロッドに無理はさせない範囲でエフェクターを動かしてみます。
X軸、Y軸、Z軸を確認。さらに、その中間など、様々な方向をチェック。
ここで不都合な真実を知ることになります。
なんと、仕様の直径180mmというのは違って、
思いのほか印刷範囲は狭いです Σ( ̄ロ ̄lll) ガビーン
実際は、平均すると半径75mm、直径150mmが最大値のようです。
平均では無く最小値で考えた場合の安全領域は半径70mmの直径140mmが妥当だと思いました。
なぜこんなにも狭くなってしまったかというと
ロッドエンドがネジの頭やキャリッジに当たるから、なのですが
こんなに仕様と乖離してしまうのは残念でなりません。
写真を取り忘れましたがエフェクター側も同じようになっていました。
コレを解決するにはマグネットボールジョイントしかないんでしょうかねぇ・・
エフェクターを手で動かしていたときに、ふと気がついた事がありました。
オートレベリングに使うスイッチの位置が、押し込みネジとキッチリ中央でぶつかっていないと・・
些細な事なんですが気になったのでスイッチの位置を調整すべく
M2ワッシャーを何枚か挟むことにしました。(M2ワッシャーは同梱してません。)
見事バネ板の中央に当たるようになりました。
今日はここまで。
次は、ソフトのインストールをやってみます。
ではまた。
調整前の前準備を行いたいと思います。
使うネジ等は
<ヒートベッド固定用>
M3x20mm 3本
M3Tナット 3個
M3手回しナットA
M3手回しナットB
まずは、配線ですね。
ここは簡単です。写真の丸印の所に接続するだけです。
極性も配線の色の通りに繋げればいいのでミスの心配もないですね。
少し「?」な所はホットエンドのファンも同じ所に付ける事です。
つまり常時5Vに繋げるので、ファンは回りっぱなしなんですね。
てっきりコントロールできる代物だと思ってました。
ヒートベッドの固定方法についてですが、
使うネジとナットの種類のみマニュアルに記述されていて、
組み合わせ方について書いてませんでした。
この部分で使うパーツは別袋になっていまして、
それにはバネも同梱されていました。
バネについてはもマニュアルには記載がないので、
憶測で組み合わせてみます。
こんな感じでで固定しました。
手回しナットAはビスの頭とでヒートベッドを固定。
手回しナットBはM3T型ナットとでアルミフレームに固定。
バネは何の機能があるのか分かりませんがその中に入れました。
こんな↑感じで固定します。ガラスはマニュアルの写真を見るにクリップで留めるらしいです。
ちょっと美しくないので、これは後々の修正リスト入りです。
ちょっと下面を覗いてみました。配線が酷い(笑)
ヒートベッドの真下に基板があるのって余り良くない気がしますね。
熱暴走なんてことにならないんでしょうか?
モータードライバーの上に申し訳程度のヒートシンクがありますが、
冷却しないと長時間の印刷に耐えられるのか不安になります。
しかし、ヒートベッドを一度固定しましたが、
きちんとセンターに有るのか不安になります。
そこで後々調整なども考慮して写真↓の様な物を作ってみました。
(写真のはプロトタイプなので、印刷リミットは仕様通りに書いてました。)
これを一時的にガラスに貼り付けます。
(もしこんなんでも欲しい人がいましたら ココ らどうぞ。)
中央に両面テープで止めるだけで十分です。
印刷のXYZの軸線をアルミフレームのXYZ軸のシャフトに向けると
大体ですが、ヒートベッドもろともセンターがとれます。
さて、ここで実際の印刷限界を調べてみます。
(とても重要!私は最初にコレをやらずに仕様通り動かしてロッドを痛めてしまいました。)
自分の手で、カーボンロッドに無理はさせない範囲でエフェクターを動かしてみます。
X軸、Y軸、Z軸を確認。さらに、その中間など、様々な方向をチェック。
ここで不都合な真実を知ることになります。
なんと、仕様の直径180mmというのは違って、
思いのほか印刷範囲は狭いです Σ( ̄ロ ̄lll) ガビーン
実際は、平均すると半径75mm、直径150mmが最大値のようです。
平均では無く最小値で考えた場合の安全領域は半径70mmの直径140mmが妥当だと思いました。
なぜこんなにも狭くなってしまったかというと
ロッドエンドがネジの頭やキャリッジに当たるから、なのですが
こんなに仕様と乖離してしまうのは残念でなりません。
写真を取り忘れましたがエフェクター側も同じようになっていました。
コレを解決するにはマグネットボールジョイントしかないんでしょうかねぇ・・
エフェクターを手で動かしていたときに、ふと気がついた事がありました。
オートレベリングに使うスイッチの位置が、押し込みネジとキッチリ中央でぶつかっていないと・・
些細な事なんですが気になったのでスイッチの位置を調整すべく
M2ワッシャーを何枚か挟むことにしました。(M2ワッシャーは同梱してません。)
見事バネ板の中央に当たるようになりました。
今日はここまで。
次は、ソフトのインストールをやってみます。
ではまた。
3D-PRT14.5)Arduino基板の故障・交換編
2016.04.26
接続してはいけないことは事前情報で知ってたので
配線を間違えたわけでは無いのですが、
テスタで各ピンの状況を調べるときに誤って触れてしまって、
5Vのレギュレータからパチっと(笑)
ピンを絶縁テープで覆ってからテストすれば良かったと後悔しましたね。うん。
一瞬だったので、少しイヤな臭いがでる程度で済んだのですが、
レギュレータは5Vじゃなく、7Vを出力する異常事態に・・・
直ぐさまレギュレータを発注。AMS1117で5V1Aタイプです。
日本のショップで買うと異様に高いし、送料も掛かるのですが、
アマゾンさんで中国のショップが出しているものが有ったのでそちらを購入。
15個で425円税/送料込み(笑)
到着には12日間掛かりました。長かったorz
3Dプリンターネタが長いのもこのせいです(笑)
3端子レギュレータを交換し5Vを正常に出力するようになりました。
早速、各配線を接続し動作確認。
液晶も正常に表示されます。
サーミスタは正常。ホットエンドの温度上昇も確認。
ホームボタンを押してモーターの上昇を確認。
その後、XYZ方向のモーター動作確認。正常に動きました。
実は最悪の事態も考慮して、ArduinoMEGA互換機+Ramps1.4+モータードライバの
1セットも注文してました。
これは別なタイプを自作しようかな・・・。
私が買ったArduinoは本物と同じ16MHzで、
MADE IN ITALYと書かれていました。
本家のWinドライバーで認識し、キットに付いてきた物と全く同じです。
互換機を注文してこれが届いたって事は、
キットに付いてきた物も互換機だったのかなぁ・・
配線を間違えたわけでは無いのですが、
テスタで各ピンの状況を調べるときに誤って触れてしまって、
5Vのレギュレータからパチっと(笑)
ピンを絶縁テープで覆ってからテストすれば良かったと後悔しましたね。うん。
一瞬だったので、少しイヤな臭いがでる程度で済んだのですが、
レギュレータは5Vじゃなく、7Vを出力する異常事態に・・・
直ぐさまレギュレータを発注。AMS1117で5V1Aタイプです。
日本のショップで買うと異様に高いし、送料も掛かるのですが、
アマゾンさんで中国のショップが出しているものが有ったのでそちらを購入。
15個で425円税/送料込み(笑)
到着には12日間掛かりました。長かったorz
3Dプリンターネタが長いのもこのせいです(笑)
3端子レギュレータを交換し5Vを正常に出力するようになりました。
早速、各配線を接続し動作確認。
液晶も正常に表示されます。
サーミスタは正常。ホットエンドの温度上昇も確認。
ホームボタンを押してモーターの上昇を確認。
その後、XYZ方向のモーター動作確認。正常に動きました。
実は最悪の事態も考慮して、ArduinoMEGA互換機+Ramps1.4+モータードライバの
1セットも注文してました。
これは別なタイプを自作しようかな・・・。
私が買ったArduinoは本物と同じ16MHzで、
MADE IN ITALYと書かれていました。
本家のWinドライバーで認識し、キットに付いてきた物と全く同じです。
互換機を注文してこれが届いたって事は、
キットに付いてきた物も互換機だったのかなぁ・・