ダンマリ停止
- カテゴリ: 3Dプリンタ
- 投稿日時: 2017/09/24(日) 23:04:51
自作3Dプリンタ、ひとまず実用に供しておりますがいくつか問題があります。その中で一番困っているのがダンマリ停止。
一番最初のテストプリントからそうでしたが、開始時は順調なのにしばらくするとエラー表示もなくだまって停止していることがままあります。前の Prusa Mendel ではこんなこと一度もありませんでした。
発生タイミングは完全にランダム。いつ起きるか全くわかりません。同じGコードを流してもダメなこともあればうまく行くこともあります。停止している状態も、ステッピングモータが励磁したままのこともあればそうでないこともあり。
小物なら出力し直せばいいんですが、9時間かかるものを出力していてあと1時間ってところで止まっちゃうと結構寂しい。フィラメントも無駄に消費してしまうしそもそも時間がもったいないので、そろそろ本腰入れて対策したいところ。
Pronterface にはプリンタとの通信をモニタする機能があります。PCから送信したコマンド、PCが受け取ったデータがコンソールに表示されます。
これを有効にして観察したところ、停止時にはプリンタからの返事が返ってきていないことがわかりました。Pronterface 側としては、完了の返事がないので次のGコードを送れないと。
怪しいのは通信周りすなわち USB ということになりそうです。
Prusa Mendel を今の自作機に改造する際、電気周りでいじったところといえば、各部配線を短く切り整理してアルミフレームに沿わせて固定したくらい。あとは床置きだった基板をフレームに固定したことでしょうか。
クロストークは考えにくいです。入力は各エンドストップとサーミスタのみで、高周波ノイズが乗ったとしても大した影響はないでしょう。ステッピングモータはオープンループ制御なので出力しっぱなしのいわゆる「だろう」運転。エンコーダなどの戻り値はありません。
まずはお手軽にUSBケーブルを別のものに交換。結果変わらず。
通信速度を変更してみようとしましたがイマイチやり方がわからず棚上げ。何気に面倒です。
じゃ USB 使わずにプリントすればいいじゃない。
ということで SD カードスロットを装備することを目指すことにしました。ちょっと飛躍しすぎかなwww
GEN6 はかなり初期の制御基板なので、イマドキは当たり前に利用されている機器が使えません。ヒーテッドベッドしかり、冷却ファンしかり。LCDとロータリーエンコーダ、SDカードが一体となったスタンドアロンコントローラももちろんダメです。
とはいえ、コネクタが用意されていないだけであって、ちょっとはんだ付けすれば色々なことができます。RepRap Wiki の記事を参考にしてヒーテッドベッドと冷却ファンはすでに取り付け済み。ヒーテッドベッドの24V化と合わせてドーターボードを製作しております。詳細はこのあたりをどうぞ。
SD プリントについて調べると、同じく RepRap Wiki の記事が見つかりました。SD RAMPS というものを使うのが一般的なようです。
あまり深く考えずにこれを購入。1.9ドル。安っす。
部品が届くまでの間に準備をしておきます。
ただ、見つけた資料だと CS は I2C の4番、つまり PCINT16/SCL に接続するようになっているのですが、既に冷却Fanに使ってしまっています。
ここは MCU の足から直接引き出すことに。GEN6 の回路図を見て空いていた PCINT21/TDI (24番ピン) にハンダづけ。プルアップ抵抗は他の入出力と同様に 1.8Kとしました。
改造のため基板を本体から取り外したので、ついでにおまじないを。
基板固定のための四隅の穴とスペーサの間に絶縁ワッシャをかまします。
穴はスルーホールなので内壁にも導通がありますが、テープで絶縁しておきます。
これで本体フレームと基板の GND は浮きます。改造前の Mendel Prusa と同じ状態。
更に自作の USB アングルコネクタのガワ部分をはんだ付けしてシールドの強化を図ります。
続いて MarlinFW を書き換えて SD カードを有効に。SD RAMPS が無いとエラーになるみたいですが、ワーニング程度みたいなので使用に支障はないと踏みました。
まず pins_GEN6.h を書き換え。
#define SDSS -1
を
#define SDSS 21
にします。
更に Configuration.h 書き換え。
//#define SDSUPPORT
のコメントを外して
#define SDSUPPORT
有効に。
いざコンパイル。
フラッシュメモリの容量が足りないとな。
GEN6 の MCU は ATMEGA644PA です。フラッシュメモリは 64KB しか載ってません。
ブートローダ領域を削ったとしても、稼げるのはせいぜい 2KB。ダメだこりゃ。
GEN6 が廃れた理由がこれなんでしょうね。やっとわかりました。
Marlin 本体をシェイプアップしようかとも思いましたが、とてもとても素人の手出しできるところではありません。
さて困った。困ったけどプリンタは稼働させねばなりません。職場の同僚の依頼品の出力があるのです。
全てを元の状態に戻して出力開始。今回の制作物は2ピース構造で、それぞれ9時間と4時間かかるもの。
あれ、完走しました。GND 周りをいじったのが効いたのかな。よくわかりませんね。
まあ2回うまくいっただけなので、引き続き様子見です。
ちなみに今回つくったブツが何かは、またいずれ。
Tweet
コメント
この記事へのコメントはありません