3D-PRT25)テスト印刷&ソフトウェア調整
2016.09.19
デルタ型3Dプリンターについて、
今できるハード的調整はやりつくしました。
疑わしいところはまだありますが、
これ以上はキャリッジやエフェクターの交換になりますので、
部品調達を行ってますが、それまで間が開きますので
一度区切りをつけます。
ということでテスト印刷をしたくなってきました。
どれくらい精度が上がっているのか気になりますよネ

調整用にいろいろ変更してますからね、
元に戻すのもちょっと面倒ですよ。

ノズルに交換して、さて動作確認。
って、アレアレアレ? ( ˘•ω•˘ ).。oஇ
液晶に「MINTEMP ERROR」
が出て先に進まない・・・・・。
また故障かよぉーーー

ヒートブロックを巻いてたカプトンテープを剥し、
綺麗に束ねていた配線とチューブをほどく・・
そして、サーミスタを交換。
正常に動作を確認。
そしてまた綺麗に纏める。メンドクサイ・・・
サーミスタが壊れやすいとは聞いていましたが、
まさか本当に壊れるとは思ってもいませんでした。
予備のサーミスタを買っておいてよかったよ
こまったときの予備はやはり必要だね!・・( ・ㅂ・)و ̑̑ グッ !

これで印刷できるわー。
では90mmX90mmの評価用モデルを印刷してみます。

http://www.thingiverse.com/thing:13441
XYZ-Circle_Cal_-_90mm.stl
印刷を実行!・・・・・・・  ん? ( ˘•ω•˘ ).。oஇ

ん?吐出されるフィラメントの量が異様に少ない
またもやトラブル発生です。オオスギダヨ!
ノズル詰まってるのかな?と疑ってみましたが、
原因はすぐ判明、モータードライバをA4988からDRV8825にしたことで
エクストルーダーのステップ量が変わってしまっていたこと。

XYZ_MICROSTEPSを32にするだけで
エクストルーダーも大丈夫だべ?とタカをくくっていたら
MarlinのConfiguration.hに
DEFAULT_AXIS_STEPS_PER_UNIT   {XYZ_STEPS, XYZ_STEPS, XYZ_STEPS, 150}
って書いてあることに気が付きます。エクストルーダーだけ数字が直書きじゃないですかー orz
XYZ_STEPって本当に軸だけの設定だったのね・・・
150を倍の300にして直接修正っと。これで解決。

気を取り直して再印刷です。
吐出量も安定して印刷が始まりました・・・が、またもやトラブル発生。 ( ˘•ω•˘ ).。oஇ
途中でエクストルーダーが止まったり動いたり不安定だ。
このような症状は、ドライバーの熱暴走ですなぁ・・・。
電圧の調整を行って・・
今は0.4Vまで下げてます。


はぁ、もう大丈夫だろう。
挫けず印刷っと。

そのときの動画はこちら(長いので最初だけ)


おおお、なんか精密感が増してる気がする。
印刷終了後、前に出力したものと比べてみます。
どちらも0.2mm積層でCuraEngineでスライスしました。
設定はデフォルトのまま。特に弄ってません。



左が古い物、右が今回印刷した物
明らかにきれいに印刷されてますね。
角もキレイにまとまってますし、反ってもいません。
塗りつぶしの処理も粗がなく見事に整列していますね。

ついでにタワー部分も拡大してます。



前作のタワーは、積層がはっきりしていて、まさにシマシマ。
調整後のは、同じ0.2mm積層にもかかわらず、
正確に積みあがっている感がしっかりしています。

ロッドの遊びが少なく、求める座標へ的確に動いているのがこれでよくわかりますね。
所々にブツブツができてますが、これはスライサーの調整でなんとかなるでしょう。

造形物の美しさは十分満足いくところまで来ました。
あとは、設計通りの再現性ですが、これは組み立て直後に行った、
角度チェックをもう一度やってみましょう。



スキマあるやん! ガッカリダヨ!  (´・ω・`)ショボーン
きっちり90度になり切れてない・・・
およそ0.5mmほどかな。
あれだけ、ハード周りを弄ったのに、結局最初の問題は解決できてないのか・・・ orz

だが、メゲナイよ!
最終手段のソフト調整で何とかするさね。
数学的なことは苦手なのであまり手を出したくなかったのですが、
そうも言ってられなくなってきました。

デルタ系のプリンターで高精度目指すのなら、三角形の寸法を測る必要があります。
そこで先人が作ったSTLを利用してデータを取得してみたいと思います。
それがこちら。
http://www.thingiverse.com/thing:745523
早速印刷してみます。
STLの作者が同梱している角度チェッカーが少々見にくいので、
そこだけ自分で作りました。
http://randol-news.net/download/checker.pdf
で、照らし合わせてみたのがコレ
 


写真でみると正確に出ているようにも見えますが、
肉眼でじっくり見ると、Y軸の角度が120.5に、
つまり0.5度ほど傾いているように見えます。
こちらをソフト的に修正してみましょう。

MarlinのConfiguration.hを開いて、

#define DELTA_TOWER1_X -SIN_60*DELTA_RADIUS
#define DELTA_TOWER1_Y -COS_60*DELTA_RADIUS
#define DELTA_TOWER2_X SIN_60*DELTA_RADIUS
#define DELTA_TOWER2_Y -COS_60*DELTA_RADIUS
#define DELTA_TOWER3_X 0.0
#define DELTA_TOWER3_Y DELTA_RADIUS


この部分を修正します。
その前に、どのように修正するかを考えます。
DELTA_TOWER1はX軸、DELTA_TOWER2はY軸、DELTA_TOWER3はZ軸を意味します。
私の場合はY軸が傾いてるので、SIN_60、COS_60と書いてあるところを
変更する必要があるわけです。
SIN_60、COS_60とは定数です。
数学の教科書の末尾に表になっていたのを覚えてますか?あれの値のことなんですよ。
同じConfiguration.hの中にそれを定義しているところがあります。

#define SIN_60 0.8660254037844386
#define COS_60 0.5


この部分がそうです。ここに60度以外の値を追加します。
今後のことも考え、周辺の角度も多めに追加しておきます。

#define SIN_58 0.8480480961564259
#define COS_58 0.5299192642332049
#define SIN_59 0.8571673007021122
#define COS_59 0.5150380749100542
#define SIN_59_5 0.8616291604415257
#define COS_59_5 0.5075383629607041
#define SIN_60 0.8660254037844386
#define COS_60 0.5
#define SIN_60_5 0.8703556959398996
#define COS_60_5 0.4924235601034671
#define SIN_61 0.8746197071393958
#define COS_61 0.4848096202463370
#define SIN_62 0.8829475928589269
#define COS_62 0.4694715627858907


ちょっと多すぎたかな?(笑)
でも、これだけ角度の設定があれば困らないでしょ?(笑)
STLを作成した方の説明を読むと、
180° - 軸の角度 = 修正角度
で導くらしい。180°というのはZ軸からの角度を意味しているらしい。
昔勉強した気がしたけど、脳が固くなって働かないので、素直にそのまま信じます。
つまりは、180 - 120.5 = 59.5
なので、私が用意した定数 SIN_59_5、COS_59_5を使います。

#define DELTA_TOWER1_X -SIN_60*DELTA_RADIUS
#define DELTA_TOWER1_Y -COS_60*DELTA_RADIUS
#define DELTA_TOWER2_X SIN_59_5*DELTA_RADIUS
#define DELTA_TOWER2_Y -COS_59_5*DELTA_RADIUS
#define DELTA_TOWER3_X 0.0
#define DELTA_TOWER3_Y DELTA_RADIUS


こんな感じかな。
ファームを焼いてテスト印刷。
角度が合っていれば次の工程に行きます。
私の場合は何故か一致せず、
59.5では求める120°から逆に離れていき121°になってしまいました。
ならば設定する値を逆の60.5にして印刷してみると、
なぜか角度が合致。
私の英語翻訳が間違っているのでしょうかね?ちょっと不安になります。


角度があったところで長さをチェックします。


X方向の長さ 59.66mm
Y方向の長さ 59.87mm
Z方向の長さ 60.34mm

60mmが設計上の値です。結構誤差ありますね。
寸法が狂うのはロッドの長さが狂っているというのが定番ですが、事はそう簡単ではありません。
ロッド長の精度に自信がある上に、ロッドごとエフェクターを回転させてテストさせたときに
全く同じ歪みを確認したこと。さらに、ロッドも前とはちがって交換した物です。
ロッド長に問題があったとしたら、全てが同じ結果になるわけがありません。

結局はキャリッジが原因ということです。まぁ、予想はついてましたけどね。
(現在、金属成形のキャリッジを注文中です。)
具体的に言いますと、3つのキャリッジの厚みがそれぞれ違う。
というか正確な四角を保って無く、歪んでいる。
3Dプリントで作られたパーツなので仕方ないのですが・・・・
(これから買う方は押出成形を最低条件にした方がいいでしょうね)
特にX軸のロッドを固定する左右の穴が目視レベルで傾いている。

この問題はX,Y,Z軸に接続されているロッドの長さにも影響を与え、
X軸に至っては、最悪なことに2本繋がっているロッドの片方だけ
極端にズレていると想像できます。
これはキャリッジの交換以外には完全に直しきれないなと諦めつつも、
ロッド長が狂っていたと仮定して処置を一応してみます。

ロッドは、X、Y、Z、それぞれ2本ずつ、計6本ありますが、
それらがすべて同じ長さであることが大前提となっています。
その為Marlinはロッド長をX,Y,Z軸、個別に設定できるようにはなっていないので、
ここを改造する必要があります。

まず、marlinのConfigration.hの
#define DELTA_DIAGONAL_ROD 217.3
を探します。217.3っていうのは現在定義されてるロッド長です。

そして、以下のように3行追加します。

#define DELTA_DIAGONAL_ROD 217.3  //元のロッド長
#define DELTA_DIAGONAL_ROD_X 217.3
#define DELTA_DIAGONAL_ROD_Y 217.3
#define DELTA_DIAGONAL_ROD_Z 217.3


元のロッド長の行全部をコメントアウトしてもしなくてもどちらでも構いません。


次に、Marlin_main.cppの中の

delta[X_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2
- sq(DELTA_TOWER1_X-cartesian[X_AXIS])
- sq(DELTA_TOWER1_Y-cartesian[Y_AXIS])
) + cartesian[Z_AXIS];
delta[Y_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2
- sq(DELTA_TOWER2_X-cartesian[X_AXIS])
- sq(DELTA_TOWER2_Y-cartesian[Y_AXIS])
) + cartesian[Z_AXIS];
delta[Z_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2
- sq(DELTA_TOWER3_X-cartesian[X_AXIS])
- sq(DELTA_TOWER3_Y-cartesian[Y_AXIS])
) + cartesian[Z_AXIS];


この記述を探します。
結構後半ですので、検索機能を利用したほうがいいですね。
見つけたら以下のように変更します。
古い記述は消すのではなく、バグったときに戻しやすくするために
コメントアウトしておくといいですね。

delta[X_AXIS] = sqrt(DELTA_DIAGONAL_ROD_X2
- sq(DELTA_TOWER1_X-cartesian[X_AXIS])
- sq(DELTA_TOWER1_Y-cartesian[Y_AXIS])
) + cartesian[Z_AXIS];
delta[Y_AXIS] = sqrt(DELTA_DIAGONAL_ROD_Y2
- sq(DELTA_TOWER2_X-cartesian[X_AXIS])
- sq(DELTA_TOWER2_Y-cartesian[Y_AXIS])
) + cartesian[Z_AXIS];
delta[Z_AXIS] = sqrt(DELTA_DIAGONAL_ROD_Z2
- sq(DELTA_TOWER3_X-cartesian[X_AXIS])
- sq(DELTA_TOWER3_Y-cartesian[Y_AXIS])
) + cartesian[Z_AXIS];


これで軸ごとに長さを設定することができます。
さて、それぞれのロッド長がそれぞれどれくらい狂っているか
調べる必要があります。
それは、Excelに式をいれて値を導きましょう。

rod_adjustment.xlsx

雑に作ったので見た目は不細工ですが、結果がでればいいので十分です。
ここで導いた値をさっきの用意した定数に入れ込みます。
私は少数第4位まで設定しました。

#define DELTA_DIAGONAL_ROD_X 216.6834
#define DELTA_DIAGONAL_ROD_Y 217.0645
#define DELTA_DIAGONAL_ROD_Z 217.9148


これでファームウェアを焼き付けて、同じようにテスト印刷。


Z軸の長さ 59.93mm
X軸の長さ 60.04mm
Y軸の長さ 59.99mm
かなり補正されましたね。

最後にhttp://www.thingiverse.com/thing:13441
XYZ-Circle_Cal_-_90mm.stl
これを印刷してみます。

結果の写真を取り忘れてしまいましたが、
完全に隙間を取り切ることは出来ず。
しかし、目視で隙間を0.2mmほどまで詰めることが出来ました。

あと一息です。
3D-PRT24)調整結果報告
2016.08.15
時間の合間にエンドストップとベッドの微調整していたので、
画像をとる暇が無かったのですが、
今まで行った大々的な調整の結果を書いておきます。

X0 Y0 Z0位置について、
調整前の振れ幅は-0.3~+0.3位のズレが起きていたのですが
最大値のズレ幅で-0.02~+0.02の範囲に収まることができました。
正直これだけでも十分な成果ですが、
10回計測した平均値は、-0.005~+0.005くらいです。
これら誤差はエンドストップの検知ズレ、
デジタルゲージの誤差、
ダイヤルゲージを固定している部品の弾性や収縮、
ロッドエンドの遊び、
ベルトの室温による収縮、
フレームの強度不足による振動
モーターの停止ズレ等ではないかと想像します。
ちょっと考えるだけで、これだけの不安要素がありながら
最大で-0.02~+0.02で収まれば十分なんじゃないかなと。

んで、肝心の座標数値ですが、



前回 ======================================

Radius 103.5

中央  1.34
Z   1.34
Y   1.34
X   1.34
R   1.10
F   1.16
L   1.40


最少と最大の差 0.3mm




今回 ======================================

Radius 103.05

中央  0
Z    0
Y    0.003
X    0.001
R   -0.035
F   -0.052
L    0.007


最少と最大の差 0.059mm




大幅に改善しましたよ。
ヒートベッドとガラスが、円周の縁、3か所だけをネジで固定し、
中央は宙ぶらりんな状態で、中央の値に近づけるのは大変だったのですが、
Radiusも微調整することでなんとかここまで来ました。
特に、R、F、Lの値をXYZに近づけるのは難儀でしたね。
多少台座に使っているスペーサーを削ったりして調整しました。
RとFがもう少し改善できれば完璧なんですが、
この部分だけ0.03程度押し上げると、Yが狂ってしまうし、
Yが狂うと、ZとXも影響を受けてしまう。
結局今よりもバランスが悪くなってしまうんですよね・・
まずはこのレベルで妥協です。
0.3mm厚の厚紙を使って指先の感覚で調整していた時に比べれば
格段の精度アップだと思います。

最終的には、歪まないほど厚みがある金属板を
ヒートベッド&ガラス板の下に引くことが一番と痛感しました。
最近売られている高級志向のデルタはみんな厚めの金属板使ってますね、
水平精度高いんだろうなぁ・・・
次回大掛かりな改修をやるとき、実践してみることにします。

長なく調整を行ってきましたが、一番痛感していることは、
デジタル表示のダイヤルゲージを買っておけば良かったなーということ。
針を読むのに時間がかかりすぎて、効率が悪いです。
デジタルだと見る角度が正面じゃなくても見れますから。
お金に余裕のある方はデジタルも検討することをお勧めします。
でもまぁ、デジタルだと小数第二位未満の数字は表示されないものがほとんどですが・・
一長一短ですね。


とりあえずは、印刷したい物が増えてきているので、
やれるべきことを全部やって、印刷可能状態に持っていきたいと思います。
ではまた。
3D-PRT23)歪み調整3
2016.07.26
最近疲れてます。やること多すぎです。体調悪いですorz

ダイヤルゲージでベッドの高さがはじき出されたら、
その値に合わせて適当な物をを挟んだりして
ベッドの高さを細かく調整すれば
Z0の座標では水平を維持できる。と言う話があります。
これはもっともな話で、とても簡単ではっきりと効果がでる方法だと思います。

しかし、しっかりフレームを作っていれば
ベッドは水平を保っているはずなのです。
それが出来ていないと言うことは、
柱やボトムフレームの組み立てに歪みがあるという事です。
作り方に問題が無いとしたら、部品そのものが歪んでいるのかもしれません。

その歪みの根本が分からないまま物を挟んで水平を出すと、
柱はベッドに対して垂直を維持できてないハズなので
高さのあるものを造形したときに問題が出てくる可能性があります。

そこで私は、フレームの歪みを出来るだけ少なくする努力をしてから
物を挟んで水平を出すことに決めました。
その方がやり遂げた感が強くて楽しいですしね。

では、折角ダイヤルゲージがあるのですから、

X・Y・Z・L・R・F + 中央
の7箇所について高さを調べてみたいと思います。
Radius 103.5 高さ305で計測
中央 1.34
Z   1.34
Y   1.34
X   1.34
R   1.10
F   1.16
L   1.40

ZYXが一致するのはキャリッジのネジを回して調整したため当然です。
しかし、RFLとの差がでていて、Lにおいては極端に違っているというのが更におかしい。
こんな事ってあり得るんですね・・
考え方を変えてみると、RFの2つが他の4カ所と違っている様にも見えます。
当初の四角形を印刷したときに1つの角が90度にならない問題は
少なからずここに原因がありそうです。
ベッドをネジ止めで固定しているのですが、
その圧力でネジの無いところにしわ寄せが来ている、そんなこともあるかもしれません。

う~ん

ダイヤルゲージを疑うわけでは無いのですが、
念には念をということで、数字が正しいのかを確認するために
何度か同じ測定をしてみましょう。

( ゚д゚) ・・・
 
(つд⊂)ゴシゴシ
 
(;゚д゚) ・・・
 
(つд⊂)ゴシゴシゴシ
  _, ._
(;゚ Д゚) …!?

中央の値が毎回違う・・・・
ホームに戻し、エンドスイッチから下に降ろすだけの簡単なお仕事。
なのに、毎回高さが違うというのはなんで?(乾笑)
厚紙で隙間をチェックするだけでは全くわかりませんでした。
かれこれ10回以上は計測しましたが、振れ幅は-0.3~+0.3位のズレが起きます。
高さが安定しないと言うことは、
調整の根底が崩れてしまうので、造形の歪み問題は二の次になります。
困りましたね。

さて、まず何から手を付けていきましょうかね。









暫く考えて・・・

ダイヤルゲージの精度は0.1mmレベルで狂うことはまずあり得ないと思います。
製品マニュアルを見ると、全測定範囲指示誤差が16μmと書かれているので
mmに直すと0.016mm、0を基準に考えると±0.008mmというところでしょうか。
この値を信用するならば、やはり本体側に問題がある可能性が高いです。

何度か計測して分かってきましたが、
デコピンをするように(もちろん軽くですよ)エフェクターを弾いたあと、
測定すると値は大幅に狂います。
ということはどこかに遊びがあって、それが悪さをしている気がしてきました。
ちょっと対策に苦労しそうですね。

測定結果が毎回変わる理由を素人ながらに考えると、
可動部分が濃厚だと思います。

XYZの軸フレーム - リニアスライダー - エンドストップ 
      - プーリー - ベルト - キャリッジ - ロッドエンド

これらのどれかだと推測。
基本パーツの殆どですね ヽ(∀゚ )人( ゚∀)ノ ヒャッハー

仕方ありません、根本から見直しましょう。
まず軸フレームからです。

=======================================================

当初の問題が出たときにその原因と解決方法を考えていたのですが、
そのうちの一つに軸フレームが正確な角度になっていない為じゃないかと思いつきました。
図で言うとこの角度です。







そもそもコーナーパーツとアルミフレームとの間には隙間が設けられています。
↓画像を拡大して見て下さい。

コーナーパーツの精度のばらつきを吸収するためだとは思いますが、
隙間があるということは、歪んで取り付けられてしまう事も当然あり得るわけです。
私のKosselは3Dプリンターで印刷された物なので、この隙間が正確にあるかも妖しいです。
まずこの不安要素を取り払います。

高精度な計測器が無いので、差し金でチェック。
まずはアルミフレームの捻りからチェック。
柱に差し金の内角をあて、対するアルミフレームの中央位置と比べて見る。
ずれていたら角度が合っていない。

↓こんな感じに角度を調べてみます。


結果、X,Y,Z軸全てが狂っていました。特にX軸については1センチ近く中央からそれていました。
それぞれを正常な位置に角度調整しようと試みますが、固定するネジを締めると狂った角度に固定されます。
これはコーナーパーツの穴が歪んでいるんでしょうね・・
強制的に角度調整するために、隙間に薄く細い金属を差し込んで対処することにします。
私は、ホチキスの針を差し込むことにしました。



これでバッチリ。調整に時間が掛かりましたが、
ネジを締めても狂い無くキッチリ合いました。
ついでに、トップコーナーの高さも木を使って均等にしておきます。



=======================================================
次はリニアスライダーにメスを入れます。
リニアスライダーはアルミフレームに固定されていますが、
M4ナットがキツキツで入るために、
斜めに固定されるなんてことは疑ってもみませんでした。
ですが実際測ってみると結構狂っているのでした。
こんな状況↓ですね。



ちょっと見にくいですがわかりますでしょうか?
両端では1mm近く傾いている軸もありました。
これを正確に取り付けることにします。

リニアスライダーは幅12mm。アルミフレームは20mm、その差は8mmです。
ということはアルミフレームの外枠から4mmの位置に
リニアスライダーを固定する必要があります。しかも平行に。



ノギスで4mmを測りながらねじ止めするのは困難です。
私は4mm角の角材をホムセンで買ってきて高さを均等にしました。



角材を利用すればリニアスライダーとアルミフレームは正確な並行関係になるはずです。
3軸とも正確に修正して次にいきます。

=======================================================

さて、次ですが、
ベルトやプーリーも気になっていることがありまして、原因追求と改善を考えていました。
その、気になっていることとは異音と振動です。
ホームからZ0に移動する時など、縦に大きく移動したときに起きる現象なんですが、
ベルトがブルルンと微振動する瞬間があるんです。音もビィィィィッィンと高周波っぽい音がしますし、
何かに干渉しているのは明確です。

0.1mm刻みで、ホームポジションから最底面へ動かしてみたところ、
ベルトがプーリーの縁に乗り上がる瞬間があることが分かりました。
わかりやすく極端な例で図を描きます。



ベルトが赤線のように変形というか歪んでいるんです。
キャリッジが中央にいるときはそれほどプーリーやギア位置に緊張はないのですが、
上、または下に寄った時は、キャリッジの厚みでぐいぐいベルトを押しまくるので、
ベルトがプーリーの縁に乗り、ベルトに緊張状態が起きるのです。
これも脱調の一種なんでしょうか。

三角コーナーを作成するときにトップとボトムを比べて同じ位置に調整した事がありましたが、
結局はキャリッジも交えて調整しないと意味なかったわけです。
ガッカリダヨ!

まずキャリッジ部分のベルトの位置を定規等でで測ります。



この幅が上位置でも下位置でも同じなるようにプーリーとギアを調整していきます。
まずボトムコーナー内のモーターギアですが
こちらは簡単。六角レンチで芋ねじを緩め、



ギアの位置をベルトが定規の位置になるように動かし固定します。

次にトップコーナーのプーリーを調整。
プーリーは製作途中の時点で
幅に余裕を持たせるつもりで、結構端に寄せていたのですが、
それが仇となりました
今回の調整ではその余裕を取り払います。





最終的に↑写真のように組み上げました。
最後にキャリッジを手で動かして、ベルトが歪まないか確認して終了。

この調整を行った後は、変な高周波音や振動はなくなり、妙な座標ずれも軽減しました。

=======================================================

次はエンドストップに手を入れます。
毎度ホームポジションからZ0までの高さが違うということは、
エンドストップの反応にばらつきがある可能性が非常に高いです。

そこで何かミスがあるのは無いかとか、改善のための工夫はないかと考えてみます。

使用しているエンドストップは板バネタイプで、
その板をキャリッジのネジで押し込むことで反応しています。
その板バネはテコ原理でスイッチを押すという仕組みをとっており。
板バネの弾力具合によって押すタイミングが変わってしまう気がしてなりません。

なぜ板バネを押す仕様にしてるのかを考えた時に、
「スイッチへの激突を緩和するため」
が頭を横切りました。ほかには思いつきません。
ネット情報を集めてみたのですが、
余程の速度でホームに移動させないと上記のことは起きないという話です。
それじゃ板を極力活用しない形で遊びを減らして取り付けしてみました。

簡単に言うとスイッチをひっくり返して取り付けました。
しかもバネを取り払い、直に押すようにしました。
画像はとても見にくいですがこんな感じです↓


加工前


加工後

エンドストップの赤い部分が実際に押すスイッチなのですが、
この部分だけでも結構遊びがあるんですよね。
板バネがなくても、それほど心配ないのかなと・・。
ま、試してみないとわかりませんけどね。

バネがなくなることで、エンドストップと留め具との間に在った
M2ワッシャーを噛ませる必要もなくなり、直に取り付けることが可能になりました。
さらにファームウェアで、ホームポジションへ戻るときの速度を少し遅くしてみました。

何度かホーム移動を実験させましたが、
あくまで目視での評価ですが、
スイッチの反応が遅れ、遊びを飛び越えてエンドストップに激突!
なんてことはないように見えます。

一応、光学エンドストップも購入済みなのです。(3個で150円くらいでした。)
この方法で問題が発覚した場合には、後々、光学エンドストップに変えたいと思います。

=======================================================

次はベルトですね。
ベルトはいろいろ試行錯誤しているときに、
ロッド固定ネジで傷つけてしまっている箇所がいくつかあります。
ついでなので、ベルトも交換してしまいます。

切れ目に近いくらいの損傷なので、今のところは精度に影響なかったとしても、
後々破断に繋がっては危険極まりないので、その意味でも交換です。

=======================================================

キャリッジは今のところ手を入れられる部分がありません。
気になる事はあるんですが、今の段階ではどうにもならないので、
いったんスルーします。

=======================================================

最後にロッドエンドです。
ある程度Kosselの構造が分かってきた上でじっくり観察すると、
中華感漂う作りで実にチープです。

隙間が多すぎてカタカタ動くものもあれば、きっちり隙間なく滑らかに動くのもあります。
一番の原因はこれのような気がしてきました。

気になったら吉日。新しいロッドエンド+カーボンロッドを注文します。
大体1週間くらいで届きましたが、
届いたものはカーボンロッドにロッドエンドが接着されてた形で、4本/6本が使えない状況でした。(固定してあるのに、長さが均等じゃないし・・・)
その時のチェック動画がこれ。



この動画を販売元に送りましたところ、
あっさり「新しいの送るアルヨ!」と返事が・・
「ちゃんと精査してね!、ついでにカーボンロッドとロッドエンドを接着しないでね!」
と言ってみました、
待つことさらに1週間。
送られてきましたよ。新しいのが。
でもね、歪みや遊びが無いのは18個/24個 (゜ロ゜;)

結局、最初に送られてきた接着されてあるロッドを
ヒートガンで温め、使えるロッドエンドを取り外し、
新しく送られてきたものと合算で24個/24個を作りました。

最終的には国産のロッドエンドに変えなきゃいけないでしょうね。
中華パーツみたいに気軽に買えるような金額ではないでしょうが・・・

=======================================================

ついでにモータードライバーもA4988からDRV8825に交換します。
(本音は静音化で話題沸騰のTMC2100が欲しかったのですがちょっと高いですね。)
DRV8825にすることでどれだけ差が出るかわかりませんが、
ステップ数を従来の物より1/2にできるので
少しは座標移動の誤差が緩和されるかななんて甘い期待を・・・(;´・ω・)

ま、希望通りの性能アップを発揮してくれなかったとしても、
熱耐性はA4988よりあるという話ですので、損にはなりません。
ま1個130円くらいの部品ですし・・・

DRV8825とA4988は、電圧ボリュームの位置が逆になっています。
迂闊に同じ向きにつけてしまうと壊してしまうので注意。
背面に足の役割が書かれていますので、方向をしっかり把握してから差し替えます。

DRV8825の計算式は

電流I=電圧V/(5x抵抗Ω)

で導かれます。
届いたDRV8825は0.1Ωの抵抗を積んでいました。
座標軸用を1A、エクストルーダー用を1.2Aにしたいので、
設定電圧は0.5Vと0.6Vということになります。
それらをいつものようにテスタで調べながら調整っと。

あと、ファームウェアの変更も忘れてはいけません。
ステップ数がA4988では1/16だったのですが、DRV8825は1/32になります。
より精細になるわけですね。

XYZ_MICROSTEPS 16 ⇒ XYZ_MICROSTEPS 32

=======================================================

さて、ここまでやってどうでしょうかね・・・
実験結果は、次回に。
3D-PRT22)歪み調整2
2016.06.17
最近多忙につきKosselに触れられない日々が続いております。

前回は大まかな歪みを補正する事に成功しましたが、
まだ完全ではありませんでした。
さてさて、どう解決するかです。

まず原因がどこにあるのかを限定しなくてはいけません。
そこでまず行ったのが、エフェクターをロッドごと左回転に1つシフトする方法です。



X軸のキャリッジに接続していたロッドをY軸のキャリッジに、
Z軸のキャリッジに接続していたロッドをX軸のキャリッジに、
Y軸のキャリッジに接続していたロッドをZ軸のキャリッジに接続します。

この状態でテスト印刷してみます。
これで何が分かるかというと、

1.エフェクター+ホットエンド+ロッド
2.フレーム+リニアスライダー+キャリッジ+ベッド+エンドストップ+ベルト関連
3.ソフト系+電気系(モーター等)


原因が沢山あってそれらが複合で起きている場合を除き、
この3種類で1番に原因があるかどうかを判別することができます。
なぜか?、それはエフェクターやロッドが原因であれば、
歪みの位置は微量たりとも変化するはずだからです。

で、やってみた結果を言いますと、
印刷物の歪み具合は全く変わっていません。
ということは原因は2番か3番と言うことになります。

次にベッド(ヒートベッド+ガラス)を左に120度回転させて固定します。



これを行いまた印刷してみます。
フィラメントの消費はこの際無視しましょう(笑)
さて、結果はどうでしょうか・・
なにも変わりません(笑)

ということは
2番についてはフレーム、リニアスライダー、キャリッジ、エンドストップ、ベルト関連
この5つに絞れたわけです。

エンドストップについては、以前から気になっていたのですが、
1個板バネの反発が不安定な物がありました。指で押しても反応が鈍い気がします。
そこで、以前にマウスの修理で使ったマイクロスイッチが大量に余ってるのですが、
Kosselのエンドストップと偶然にも全く同じだったので3個全部交換してみました。
結果・・・・    なにも変わらずです。
ただ、ホームからZ0に移動したときの高さについては少し精度が上がった気がします。
(このホームからZ0までの高さ問題については後日書きます。)

これでフレーム、リニアスライダー、キャリッジ、ベルト関連に絞れてきました。
(この際3番のソフト系と電子系は後からじっくり考えることにします。)

ここら辺から印刷だけで原因を追及するのが難しくなっていきます。
そこでダイヤルゲージを調達することに決めました。

0.01mmの精度があればいいので「SK 小型ダイヤルゲージ DI-0542」を購入しました。

キャンペーンなのか特売なのか分かりませんが、
アマゾンさんで偶然にも1302円で買えたのでラッキーです。
これをホットエンドの代わりに装着して今後確認していきますよ。

おっと、装着するためにはアタッチメントが必要ですね。
今のKossel君は部品を作るだけの精度が甘いので、
自作するには精度に影響の無い形を考えます。
ということでホットエンドを固定しているパーツと差し替える形で設計しました。



ダイヤルゲージが動かないように固定できればいいのですから、
この部分だけの作成であれば、多少歪んでいても問題ありません。
印刷して、穴周りはドリルでキレイに再整形。

できた物をエフェクターに装着してみました。


アタッチメントがぐらつかないように、ワッシャーとネジでガッチリ固定します。
ダイヤルゲージの軸受けには傾かないように金属のリングを装着。
うん、完璧。

ではダイヤルゲージを装着します。



ジャキーーン!
ファンを固定する部分が、ゲージの影になってしまいますが、
斜めからのぞき込めばさほど問題はありません。

数値はプラスもあればマイナスもあり得ます。
ゲージは1cmまで深さを測れるので、
3mm押し込んだ状態を0とするようにファームウェアの高さを調整しました。

ではいざチェックらゴー。

( ´゚д゚`)えぇーーー
なんじゃこらーー

新たな問題発覚です。
(どんな問題かは文中に書いてますが・・・)
詳しいことは次回に。
3D-PRT21)歪み調整1
2016.06.11
先日のテスト印刷からかなり日が経ってしまいましたね。
その間、仕事が忙しかったというのもあるのですが、
何もしていなかったわけではありません。
なにぶん3Dプリンターは初めてのチャレンジなので、
調整の方法を模索しながら弄り倒していました。

前回のテスト印刷で分かった一番の問題点は
四角形の一角が、正しい90度になっていないという事でした。



差し金で計ると2mmはスキマが出てしまってます。
しかも真っ直ぐではなく、少しカーブを描いているようにも見えますね



よくよく見ると他の角も0.5mmくらいはスキマがでているんじゃないかな?
と思えるくらいに歪みがあります。

1角が極端に歪むというのがクセ者で
ソフト的な物よりもハード的な側面を醸し出しています。
どの部品がどのように狂えば、印刷物がどのように出力されるのかが
全く分からないので1つ1つ試しては印刷を繰り返して
経験値を貯めていくしかありません。
PLAのフィラメント1巻を全てテスト印刷に使ってもいい覚悟で進めていきますよ。

まず、根本的な部分の作りを再確認してみます。

1.ロッド長さ
2.ネジの緩み
3.ベルトの緩み
4.モータードライバーの電圧
5.ガラス+ヒートベッドの傾き


まずについて確認してみました。
結論からすると、6本あるロッドのうち1本が異常でした。
ちょっと力をいれると、ロッドエンドがカーボンロッドから
スコスコ抜けます。
印刷範囲を限定する前に仕様通りの直径180mmで
動作実験しことがあるのですが、
そのときにロッドを痛めたんだと思います。
キッチリと長さが整えばもう外す必要もないので、
結局は瞬間接着剤でくっつけました(^^;

次にですが、
キャリッジやエフェクター周りのネジに遊びがあるかもしれないので、
そこら辺を重点に調査。
そこで発覚したのがキャリッジのロッド固定ネジの空回りでした。
キッチリ締めようと増し締めしたのはいいのですが、
空回りして止まりません。変だなと思って一度バラして確認したのですが、
どうやらキャリッジ内に埋め込んだナットまでネジが到達していない模様
結局15mmのネジではダメで、17mm位無いとナットまで噛まないことが発覚。
近場のホームセンターに17mmは売ってなかったので
20mmを切断して使用することにしました。
これでガッチリ締め直すことができました。

のベルトの緩みですが、
これは3本ともしっかりテンションが掛かっていました。
ベルトを指で弾くと、ビ~~~ンと高周波っぽい反発力があります。
ここは問題ないようですね。逆に強すぎるのかなぁ~?

のモータードライバーの電圧ですが、
再度計り直してみても1Vから変わってませんでした。
念のため予備のモータードライバーがあるので交換してみましたが改善なしです。
以前に電圧が高すぎて熱暴走、結果脱調したので電圧を下げたことがあるですが、
最終的に直らなかったら少しずつ上げるという事も試さなくてはいけませんね。

最後にですが、
今まで気になってながらも見ないふりしていた事があるので、
逃げずに再確認してみました。
それは、ヒートベッドとガラスを支えている金具(ネジ)です。
長さの精度もさることながら、たった3本で円を支えていることです。
図で説明すると以下の通り。



赤マルのところがヒートベッドを固定するネジというか金具が付いています。
今までX、Y、Zの位置で厚紙によるスキマチェックをしてきましたが、
図のL、R、Fの位置でも高さを測ってみます。
すると!
X、Y、Zは高さが統一されているにもかかわらず、
LはXYZとほぼ同じで、Rはかなり低く、Fは少し低いというデータがとれました。
なるほど、印刷物の角が90度にならないのはRの位置です。
なんとなく原因が見えてきましたね。
XYZと中央の高さを整えるだけで水平がとれている物と思い込んでいました。
素人丸出しですね。
ノギスで高さを測ってみたところ、ヒートベッドの傾きを数値で確認できました。

まず水平にするにはいろんな方法があるかと思いますが、
一番いい方法は大きい一枚板を三角フレームと同型に切り、
アルミ3辺にネジ止めして固定。その上にベッドとガラスを置く事だと思いますが、
サーミスタの配線を通す穴を開けなくてはいけなかったり、
ハンダ付けしている部分を踏まない様にカットする必要があったりと
意外に敷居が高いです。

そうなると次なるベストは、3Dプリンタで台座を印刷するのがいいとなるのですが、
今は歪み問題で正確に印刷することが出来ないので、
結局は元の方法と同じで、ネジなどを用いてヒートベッドを支持するのが
簡易且つ正確なのでは無いかと思いました。
ただ、付属してきたネジやナットははノギスで計ると精度にバラツキがあり
高さを均一にすることが出来ないことが分かります。
そこで国産ネジとナットを用いることになるのですが、
今回私はスペーサーを使ってみたいと思います。
とりあえずホームセンターでM3-15mmのがあったので2セット購入



開封してノギスで計ってみると、全て15mmキッカリ! 
0.01の世界でも誤差がありません。素晴らしい精度ですね。
これにナットやワッシャーを通して台座代わりにしますよ。
イメージ的にはこんな感じ。



スペーサー - M3ワッシャ - M4ワッシャ - M5ワッシャ ---- M4ワッシャ - M3ワッシャ
M5ワッシャーを入れないと、アルミフレームに対して垂直に固定することが出来ないので
結構重要です。
スペーサーとフレームの間にワッシャが3枚も挟んでいるので厚みの精度が狂うのでは?
と疑問に思いましたが、ノギスで計るとキッチリ精度が出ていたので心配ありませんでした。

それではフレームに付けて見ます。


こんなイメージで付けます。
この上からスペーサーを付けてガッチリ緩まないように固定します。
下はネジなんだから、スペーサーを付けようとしても空回りするんじゃない?
と思う人は当然いるかと思いますが、
ネジ頭のスキマに平たい棒を刺しこんでネジが摩擦で回りにくい環境を作ってあげると
ワッシャーが間に入っているおかげか、案外キツく締めることが出来るのです。
このような方法で6カ所取り付けしますよ。
完成したときの写真がこれです。



これで水平になったのか?と思いきや、
まだ詰めが甘かったのでした。
↓赤○の部分を見てみます。



↓見にくいので拡大してみます。



遊び部分に青く色を付けてみました。
アルミフレームをコーナーパーツに固定する際、精度の甘さを吸収するためだと思いますが、
ある程度遊びがあるので、上の図の青い部分のスキマが
各辺によって微妙に違ってしまう問題があります。



↑の図ではスキマを完全に埋めるためにアルミフレームを上に寄せた状態です。
上寄せと下寄せで最大0.6mm程の差がでます。
このスキマを各辺全て統一させる作業も水平を作るには重要なことでした。

さて、すこし疲れてきました。
ここまでやれば、ベッドの高さは水平になるよね?
そう願いながら、またテスト印刷して角度を調べてみます。

結果
4角のうち3角はほぼ隙間無しになった気がします。
極端に歪んでた1角も2mmから0.5mmまでスキマが小さくなりました。
改善はされたものの完治はしてないですね。まだ他に原因があるようです。
困ったorz
また何か対策を講じなくてはいけませんね。

ま、こんな状況でも印刷はしてみたくなる物です。
定番のルークを印刷してみましたよ。



結構キレイに印刷される物ですね。
直径が小さいのでそれほど影響が無いのでしょうか


左が0.2mm積層、右が0.1mmです。段違いで0.1mmはキレイです。



螺旋階段も0.1mmは角が立っています。
これは0.05mm印刷が可能なマエストロはどれほど綺麗な印刷になるんでしょうか・・
少し欲しくなりました・・(笑)

- CafeNote -