どもです。3Dプリンタ ダヴィンチ 1.0を使っているのですがこのプリンタのフィラメントはカートリッジ式でインクジェットプリンタのインクようにICチップが埋め込まれており指定された長さを使用すると内容量に関係なくフィラメントを交換しなければなりません。
なので外付けで社外品のフィラメントリールを使ってもカートリッジ内のフィラメントを使用したことになるので実質社外品は使えないようになっています。
専用品は600g 240m で3200円にたいして社外品はリール1kgで2600円など社外品のほうが安いです。(もっと安いのもあります)
そこでなんとかできないものかと調べたら海外のサイトにフィラメントのICチップ内のデータ書き換え方法が掲載されていたのでやってみました。
XYZware 2.1.5.5 ファームウェア 1.3.1で動作確認しました
http://voltivo.com/blog/da-vinci-reset-eeprom
ここから先は自己責任でお願いします。社外品を使用して壊れる可能性もあります。質問等の受付はできません。
まずArduino UNOを用意し以下のサイトから xyz_dv_eprom.ino というスケッチをダウンロードします。
(右上のDownload ZIPをクリックしダウンロードします)
https://github.com/voltivo/davinci_filament_reset_arduino
ダウンロードしたらArduino IDEでスケッチを開き、350行あたりの以下のところを必要に応じて書き換えます。
/
* These are the values to be written to the EEPROM Make sure only one is uncommented. By default its set for the starter ABS cartdridge with 120m of filament Verified with firmware 1.1.I */
// Value to write to the EEPROM for remaining filament lenght
// Default Starter Cartdridge is 120m
//char x[] = {0xc0,0xd4,0x01,0x00}; //120m
char x[] = {0x80,0xa9,0x03,0x00}; //240m ←フィラメントの長さの指定 ここでは240を選択
//char x[] = {0x80,0x1a,0x06,0x00}; //400m
// extruder temp, default is 210 C for ABS char et[] = {0xd2,0x00}; // 210 C ←エクスローダの温度 高い温度を使用しなければならない樹脂の場合かえる。ABSの場合必要ない。
//char et[] = {0xe6,0x00};
// 230 C //char et[] = {0xf5,0x00};
// 245 C //char et[] = {0xfa,0x00};
// 250 C
フィラメントの長さがデフォルトで120mになってるのでcharの前に // を付けてコメントとし240mのところの // を消します。
はじめ欲張って400mにしたのですがプリンタでは「未詳のフィラメント」となり印刷できませんでした。なので240mにしときましょう。
終わったらArduinoにアップロードします
書き込み完了するとLEDが高速で点滅しはじめるのでその状態でフィラメントカートリッジの端子部分に画像のように接続します。
画像では斜めにかけた部分が右上になるようにしてあります。 Arduino デジタルピン7から信号が出ているのでGND、5Vを接続したあと信号ピンを真ん中に接続するとLEDの点滅がすぐに点灯になるのでそしたら書き込み完了です。一瞬でリセットが完了します。
3Dプリンタにリセットしたカートリッジを接続してフィラメント量を
確認してみました。
240mになってますね。
最初は120mがMAXだったのですが書き換わってます。
あとは写真のように社外品が使えるように改造して使うだけです。
フィラメントを通すだけなのでどうにでもできます。
少々面倒ですがこれで気兼ねなくプリントできます。
【2016/1/7追記】
ソフトをアップデートしてもカートリッジをリセットできるとの情報があったので試したところ
現在最新のXYZware 2.1.5.5 ファームウェア 1.3.1で動作確認できました。
アップデートするとリセットしても使えないとの情報があったのですができるようです。