Robo3D Autolevel不良動作の理解

以前とても悩んだ、Robo3DのAutolevelingでの不具合動作があったのだが、原因が不明のまま解消していた。そして今回それが再発したのだった。

Robo3Dに搭載されているReprapの制御ファームウェアはMarlinなのだが、自動ゼロ点調整で9か所測定して補正をかけてということなのだが、計測する都度においてプレートまで下がらずに途中で打ち切ってしまい、前列から後列に向けてのプロットごとに徐々に高くなっていくような動作になってしまっていたのだった。

reprapでは構造上二つののZ軸モーターをパラレル運転して吐出口(x軸構造)のフレームを持ちあげるのだが、Robo3Dでは、このフレームを支えている部分(Z軸)に宙づりになっている検知センサーが双方ついていて、ノズルがテーブルに当たりそれ以下に下がらなくなった場合には、この宙づりセンサーが上からフレームに挟まれて検知するという構造になっている。

一般的なモデルでは、ノズルブロックにオートレベル測定時のみにセンサーを下げるメカを搭載していて検知するということになっているようだ。

さて、このRobo3Dの場合には、左右のZ軸のセンサーが同様に浮いているということが必要であって、そのことはマニュアルで両Z軸を回してノズルを左右に振った位置でそれぞれのZ軸が同程度にセンサーを最下部で押し付けるようにして、結果として同等に浮いている状態を作り出す必要があったのだった。これが中途半端になっていると上がる過程下がる過程であっても不用意にセンサーが検知することになりAutolevelingが失敗する原因となっていたのだった。

下の写真がセンサ(マイクロスイッチ)支えている部品が、X軸のフレーム部品から懸垂していて、さらに長めのナットの部分で上下に稼働するになっていて、ノズルとプレートが当たった場合にはフレームが止まり、センサーだけが下がることでセンスする。

次の動画を見てもらえれば、通常の動作はわかるかと思います。

DSC_0463 DSC_0464

スムーズに左右のセンサーが下りるようにするには、確実に懸垂されている状態にしないといけないわけですね。左右のバランスがずれていると懸垂が浅いほうが上下動の途中で検知してしまうことになります。

 

Robo3D 動作停止現象の対策

3Dプリンターが三台体制になり、Robo3Dについても軽量Extruderドライバに入れ替えて大型出力を高速に出せるようにと改修してきたのだが、突然停止するという現象が起きていた。

現象からみるとヒートベッドを110度といった高温に上げる際に、起きているように見えていてセンサー側の固定不良(落下)などについては前回マフラーなどに使う高温パテを使ってセンサーを背面に固定するように変更していたので、その問題ではないことが判明。

次に思いつくのはヒーターを駆動しているFETの故障だが、主にこのヒーター制御を行うFET(P55NF06)の放熱不足が原因で、これが劣化していて故障しかかっているのではないかと思われ、RAMPSカードのヒートベッド用のFETを外してトランジスタアナライザーにかけて特性確認をしたところカーブトレーサーの結果からはFETとしてゲート電圧で制御しきれていない状況が確認できた。

p55nf06l

bad

 

予想通りの特性

 

 

good予備品は、少し電流が多く制御できるL品だったが、これがゲートで制御されているという形ですね。

一応放熱器を手配しておき早期に取り付けるようにしたうえで、このFETを交換することで解決をみた。

[解決] X-ONE プリンターX軸振動問題

小型ローコストモデルとして導入したQIDITECH社のX-ONEプリンターだったが、保温カバーなどの部品を作成して整備が完了した後に問題が発生した。

X軸の動作が振動を繰り返して動かなくなったのだ、問題の切り分けでモーターの付け替えなどを行い負荷の軽いモーターでは動くような状況でもあったのでモータードライバーが逝ってしまわれたかと思われたが、あいにくとこのX-ONEプリンターでは制御基板が新規開発となっていてモータードライバーがユニットではなくて直接実装となっていて交換不能なのである。

現象をビデオにとりQIDITECH社のサポートとやり取りしたところX軸のケーブル不良だと思われるということだった。切り分け段階でケーブルの導通検査はしなかったので小さいモーターで動いた条件が切れかかりのケーブルが使える状況だったのかもしれなかったのだが・・・

週末作業がいったん切れたので持ち越しとなり、ケーブル送付をしたので確認してほしいといわれたものの、ケーブルの確認をしてと断線がなければ、その報告をすることにした。

img_7641これが問題のケーブルでモーター側にPHコネクターの6極と、基板側にXHコネクターの4極となっていて、どちらも組み込みの里の在庫品だったので基板側コネクタと嵌合させて導通試験をしたところ確かに4線のうち一本が断線していた。

四芯のシールド線の在庫もあったので、同じ長さのケーブルを用意してXHとPHの圧着端子をつけた。この作業には、SN-01Bの圧着工具がどちらにも対応できた。

img_7642

シールドは不要なので熱収縮チューブで末端処理して交換した。メーカーからの交換パーツが来るまでの代用品です。

モーターの動作が確認できて振動問題はなくなったのだが、ドライバーの出力調整は必要だったのでマニュアルモードでX軸の動作をさせつつレベル調整を行い動作修復を達成した。

 

3Dプリンターでのケーブル配線は移動に伴い撓みと伸長が発生するので線材の材質やコネクターの圧着状態なども問題となるようだ。ドライバー故障以外の故障モードを学ぶことが出来たのは収穫だった。

予備品のプリンターについても考えたが、実際はモーターの出力を抑えた設計をした場合にはモータードライバーがユニットになっていなくても問題ないのかもしれない。

ちなみに上位モデルのコントローラではモジュールとなっているので、このエントリーモデルはコストダウンと性能追及を両面から図っているようにみえる。Amazonジャパンにも在庫して出荷する体制をとっているのも彼らの戦略のようだ。

img_7646さっそくXperia Z3 Compactのドックパーツを作成したところきれいに出来上がった。アルミフレームのケースに替えたので幅が標準のものでは合わなくなったのである。

動作確認の報告をQIDITECH社には伝えて、見立てが正しかったことと、こちらで作ったケーブルも写真で見てもらった次第だ。

長年携帯技術サポートの仕事をしてきたので、不具合対応をしていて最後動作してしまうとサポート側に返事が来なくなる体験をしていてサポート側としては最後までうまくいったのかどうか知りたいということを感じていたので報告を惜しまないのです。

[Bug Fix] 中華Arduino Unoのバグはパターン間違い

ChinaUno3 ChinaUno4 2016-08-14結局問題は、パターンが間違っていたということだった。赤丸の箇所がアースにつながっているのが正しいのだが・・

 

 

 

 

力技で、ワイヤリングをしてみた。あと、同じ基板が、まだあったようだ。トホホ

 

 

 

 

切れていたのは、電源判定の分圧回路のアース側だった。

 

image結果は正しく読めるようになりました。

アクリルLED時計の開発環境の構築 (3)

今回のアクリルLED時計キットに取り付けるべきリレーは、以下のフットプリントに合致するものでなければならないのだが、合わせて部品高さは10mmに押さえる必要があります。

footprintところが、これに該当するリレーは悉く11mm以上の高さとなっているようです。

現状のままつけてしまうと、1mmの蓋のガタが生じてしまうわけです。

リレーのパターンしか付いていない状況はこうした設計のミスがあるようです。

対応策としては

  1. ケースを作り直す
  2. 背の低いリレーを開発する
  3. リレーがあたる部分のアクリル板のみ削る
  4. なんとか押し込む

以上のものから現実的な案の4を考えた末に、LED表示器のケース足を切ることで高さ方向にゆとりを変形を許容しながらも出来そうだということで一旦半田付けした両面実装を崩してこんな形にしてみました。

下から見た写真ですが、正面の左側のLED二組の足をカットして高さを斜めにして稼いでいます。

IMG_6610

LEDの外形足を切ってしまいました。

IMG_6611

このリレーがあたります。

3Dプリント失敗(ABS)のケースでの学び

imageしばらく続いている池の噴水(小便小僧)への揚水ポンプ関連です。15mmの接栓に6mmのホースを接続する必要があり異径ジョイントを作成しているのですが、チューブ構造が悪さをしているのか5mm径で内径2.5mmのものを出力すると右のようになってしまいました。

5mmの外径がやせてしまうようで、さらにあるサイズを起点に積層が乱れるようです。ABS材で高温処理していることも要因のひとつと思われますが中空のものを作成する際には課題のようです。先端が5mmで根元が6mmのサイズでテーパーを指示したのですが、途中でこの状況に陥るようです。左側は6mmの円柱で出力したもので、こちらは問題がないようです。とはいえ少し出力が痩せる傾向にあります。6-7のテーパーを指定しないと、この条件では内径6mmのホースを固定するのには合致しないかも知れませんね。

[Solved] RoBo3Dプリンターヒートベッド温度が上がらなくなりました。(その2)

image

右下にあるのが、交換用のレギュレータ。 左上に写っているのが、千住金属の期待の星LEOです。低温半田で取り外すのに便利ですし、価格的にもCHIPQUIKよりはお手ごろで助かります。モノタロウで全品10%オフのセール日に注文しています。

ヒートベッドがドライブできなくなったRAMPS基板を変えて予備品にしたところExtruderのモータードライバが駆動不足で振動していたためにドライバ設定のポテンショメーターをランタイムに調整したところ今度はATMEGA2560がご臨終したようでモータードライバーの駆動電流に比してATMEGA搭載のRegulator 1117が不足しているのか、これが臨終したもよう。SMDのレギュレータなので低温半田LEOを使って外しました。1117の臨終は二個目です。

 

 

image

元気に復活しました。今日は、弾性樹脂を使って取り回しやすい異径ジョイントを試作しています。

15mm->6mm
8mm->6mm

RoBo3Dプリンターヒートベッド温度が上がらなくなりました。(その1)

今週も必要なパーツ作成を予定していましたが、プリントフィラメントを切り替えてスタートをしていたのですが一向に進みませんでした。確認をしたところヒートベッドの温度が上がらないのです。RAMPSボードの不具合と思われますので、早速確認をしましたところ・・・問題が見えてきました。RAMPSの交換含めて調査報告を後ほどいたします。

image

ヒートベッド用のヒータ出力のターミナルが炭化していました。

 

 

 

 

 

 

フラッシュを焚くとより鮮明に・・・状況が深刻なのが解かります。

image

ターミナルでの接触から熱をもったように思えます。ヒートベッドが移動してこの配線がターミナルにストレスを与えるので接触がゆるくなり熱を持つにいたったと思われます。樹脂が溶解しています。

image

基板のパターン側にも熱からくる損傷があるかもしれません。

image

拡大すると端子のベースあたりが焼損しているような印象にみえます。

アクリルLED時計の開発環境の構築 (2)

imageアクリル時計との接続は、P3.0\P3.1へのUSBシリアル変換での接続。CH340Gの中華USB変換が最近の里でのはやりだ。

内蔵RC発振のSTC15F204EAだがシリアルの伝送速度への対応は誤差も少なくて素晴らしい。11.0592MHzを設定しているようだ。

 

2016-05-31 (1)こちらは、本家のSTC-ISP(Windows版)で、Windows10でも動作している。書き込み速度は115200bpsでハンドリングしていたので4kBほどのサイズはあっというまです。

書き込みをしてる過程で、静電気故障と思われる症状でUSBシリアル基板と書き込み対象のSTC15F204EAがお亡くなりになったようだ。どちらもチップの買い置きはあるので再生はするものの取り扱いには注意したほうが良いのは改めていうまでもない。

アクリルLED時計の開発環境の構築

imageimage長らく扱っている、アクリルLED時計ですが、基板の版も新しくなりハード制御を学ぶ教材として使うのにも良さそうです。時計からアラーム出力ということで、リレーが搭載可能というスベースが追加されています。

利用したい方には、ソフト開発の挑戦が待っています・・・・

容量サイズの制限もあり、学生さんが腕試しをするのにも良さそうです。

8051系のSTC15F204EA 4kBのチップです。

Ubuntuの上で、開発ツールがオープンソース環境で構築できるのは素晴らしいですね。

SDCC 8051サポートもあるコンパイラでSTC15F204EAも対応

書き込み系ツール stcgalはpythonで書かれたSTC社のサポートツールのオープンソース版で、BSL経由でシリアル書き込みが可能となっていますが、まだUbuntuでの確認はとれていません。Windows版はSTC社のツールstc-ispが使えましたのでこちらで書き込み確認は出来ました。Linuxだけで完了させたいところです。

SDCCは、すでにapt-getでインストール出来る時代になっていてこれでアクリル時計のgithubプロジェクトをコンパイルして書き込み動作確認までとれました。リレー拡張部分へのUI設定の追加が必要です。今はメインループでブザーのようにon/offを繰り返すコードになっていたのでまずは、修正しました。