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でデータを取るの繰り返しになります。

調整は気の長い勝負になるので、
とりあえず覚悟だけして今日はこれまでにします。
ではまた。
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-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ワッシャーは同梱してません。)



見事バネ板の中央に当たるようになりました。



今日はここまで。
次は、ソフトのインストールをやってみます。
ではまた。

- CafeNote -