3Dプリンターが途中で止まっちゃう、また電源が壊れたか?Raspberry Piで電流電圧をモニタリングして原因調査
カテゴリー:【1台目】3Dプリンター「3Dグレコ」でイロイロDIY(記事数:73)

↑B


2017.09.20

3Dプリンターが途中で止まっちゃう、また電源が壊れたか?Raspberry Piで電流電圧をモニタリングして原因調査

3Dプリンターが印刷開始から30分とか1時間で何の前触れも無く動作停止してしまう不具合に悩まされています。フィラメントを100g使うようなものを印刷して残り10%ぐらいで止まったりと3回連続発生、合計フィラメント300gぐらいロスったよ、600円ぐらいの損失orz。

以前も途中で停止するようになって新しい中華な格安電源に交換しました↓その後半年ぐらい快調に動いていたのですが。

印刷途中で止まるのは同じなのですが、液晶表示が乱れたりしないので別の原因かもしれませんがよく分からない。そこで印刷中の電流、電圧をモニタリングして急な電圧降下などがおきていないか調べることにしました。使ったのはRaspberry PiとI2Cで電流、電圧を呼び出せるユニット。こんな感じ↓


↓以前紹介しています。
スクリプトは以前のやつをちょっと修正して無限ループで電流と電圧を表示して、ファイルに記録するようにしました。
--------------------------------------------------------
import time
import commands
#電圧を読み出す関数
def GetV():
check = commands.getoutput("i2cget -y 1 0x41 0x02 w")
return (int(check[4:6],16)*256+int(check[2:4],16))*1.25/1000
#電流を読み出す関数
def GetA():
check = commands.getoutput("i2cget -y 1 0x41 0x04 w")
if int(check[4:6],16)<128:
return (int(check[4:6],16)*256+int(check[2:4],16))
else:
return (int(check[4:6],16)*256+int(check[2:4],16)-256*256)

#測定ユニットを初期化
check = commands.getoutput("i2cset -y 1 0x41 0x05 0x0a 0x00 i")
time.sleep(1)

#1秒おきに2時間記録するように設定
num=0
f=open('data.txt',"w")
while (num<7200):
print str(GetV())+" V, "+str(GetA())+" mA "
f.write(str(GetV())+" , "+str(GetA())+'\n')
num +=1
time.sleep(1)
exit
-----------------------------------------------------------

↓測定中。

↓グラフにしてみた。

電圧は負荷無しで11.95V、負荷があると11.87Vまで下がるがまあ問題ないはず。電流は待機時200mA、ヘッドの加熱開始すると2500mA、温度が上がりきったあとは1秒単位で200mAまで下がって温度調整しているっぽい。ヘッドの移動が開始すると3700mAぐらいまで上昇。ヘッドの移動開始した後もヘッドの温度調整のために定期的に1秒単位で1500mAぐらいまで電流が落ちている。どうやらヘッド加熱に2000mA、ヘッドの移動に1000mAぐらい使っているらしい。

そしてグラフの一番右で200mAまで落ちているところで印刷が突然停止しています。う〜ん、電圧も電流も予兆無し。何でだろう。1秒おきの測定では検出出来ないぐらいの瞬間電圧降下が起きている?

理由不明だけどとりあえず電源交換してみるか、金かかるなぁ。もっと高い電源にした方が良いのかね。

Category:【1台目】3Dプリンター「3Dグレコ」でイロイロDIY



■ ■ ■ コメント ■ ■ ■

いいっすね!=136
001 [09.20 11:42]Sweet@NetHine:安物とか信頼性の低い物を買ってトラブル背負い込む事が多くないですか?<管理人氏 ブログのネタとしては面白おかしく拝見させて頂いておりますが… (23)
002 [09.20 12:34]ふぇちゅいん(管理人) TW★64:愚者なので失敗からしか学べないんですよ〜 (23)
003 [09.20 18:52]とおりすがり@InfoWeb:INA226 って、電圧低下のアラーム出せませんでした? 瞬停を見つけるのに1秒おきの測定なんて、たぶん無意味です。管理人さんはオシロは持っていませんでしたっけ? (10)
004 [09.20 19:26]@InfoWeb:PCのATX電源を改造して使用する記事を楽しみにしております。 (15)
005 [09.20 21:29]yori@Asahi-Net:https://www.amazon.co.jp/dp/B071ZDFJWD/r....この辺りのオシロを買って、波形見てみた方が良いよ。 (14)
006 [09.20 23:09]ぽな@Biglobe:この事象は経験無いんですが、サーマルシャットダウンとか無いですかね。コントローラをうちわで扇ぐとかいかが。 (12)

名前 ↑B

コメント(※改行は省略されます)

※3回以上の連続書き込み不可
この記事のアクセス数:


デルタ型3Dプリンター「3Dグレコ」でうまく印刷するためのTIPS

(1)印刷するためのコード「.gcode」ファイルはフリーソフトCuraで落ちているデータ「.stl」から作れる。
(2)Curaの設定でスタートアップコードにステージの高さをキャリブレーションするためのG29コードを追加する。
(3)ヒートベッドが搭載されていないのでABSは印刷しにくい、PLAの方が綺麗にゆがみなく出力可能。
(3)ABS樹脂でもPLA樹脂でも、ステージには「消え色ピット」をまんべんなく塗り、乾かして使用する。ゴミが溜まってきたらステージを取り外し、水につけると綺麗に取り除ける。マスキングテープをはり、その上に「消え色ピット」を塗るとステージを外して掃除する手間が省ける。
(4)ヘッドが変な動きをしたらモーターとベルトをつなぐイモネジがゆるんでいる可能性があるので締める。
(5)Initial Heightを0.2mmにするとしっかりステージに印刷するオブジェクトが固定される。
(6)印刷前にgcodeファイルをRepetier-Hostなどで確認すると良い、ポイントはきちんとステージに設置しているか、Brimは十分かなど。
ありとあらゆるノウハウがあるのでこのページに書かれている事を最初から最後まで熟読すると良い。



本カテゴリーで直近コメントが書かれた記事


→カテゴリー:【1台目】3Dプリンター「3Dグレコ」でイロイロDIY(記事数:73)
本カテゴリーの最近の記事(コメント数)