2021年9月30日木曜日

FLASH_EEPROM_EMULATIONって何?

 Anet ET4用のmarlin2.0には、次の記述があり、インストール前に確認が必要と考えました。

  • Onboard EEPROM I2C (4Kb/512B)
    • Adapted and working, but not usable. Onboard EEPROM IC is too small to store marlin config, so, expect EEPROM errors if used. Use FLASH_EEPROM_EMULATION instead or solder another 24CXX EEPROM IC (24C32 or above recommended).

なにやはボード上のEEPROMのもっと容量の大きいものに帰る必要がありそうです。

しかしハードウェアの知識に乏しい自分にとってはハードルが高そう(というか半田付け?)なので、もう一つの選択肢「FLASH_EEPROM_EMULATION」について確認する必要がありそうです。

いろいろとググっているとこんなやりとりを見つけました(というかどこかにドキュメントはないのか?)。

https://forum.fysetc.com/d/71-cheetah-v1-1-tmc-and-marlin-2-0/4

英語だと頭に入ってこなかったのですが、chromeの自動翻訳で断片がつかめてきました(翻訳ありがとう:Google先生)

FLASH_EEPROM_EMULATIONとは、marlin2.0の設定を保存するためにSDカードを利用する方法らしいです。設定が保存できないといろいろと不具合が出る感じです。

ただし、マシンの電源を入れる前にSDカードをスロットに差し込んでおく必要がありそうです。

有効にするには、configration.hのなかで、この部分に

#define FLASH_EEPROM_EMULATION

を記述する必要がありそうです


しかし本当にそれでうまくいくかは不明・・やってみるか?


2021年9月29日水曜日

Anet ET4 PRO 用marlon2.0のコンパイル

 前々回の記事で、Anet ET4 PRO用のファームについて、メーカが出しているものは怪しいため、GitHub上のコードを直接コンパイルしたほうがいいとしましたが、

GitHub Marlin2.0コード(Anet用)

https://github.com/davidtgbe/Marlin

そのコンパイル方法が今ひとつわからないというか、取っ付き方が今ひとつ要領を得ない感じでした。

しかしGitHubを見ていると、親切にドキュメント化されていることがわかりました。

英語では斜め読みがむずかしいので、Google Chromeで翻訳したほうがいいかもしれません。

要約すると、

 ・EEPROMの内容は、あらかじめバックアップをとっておいたほうがいい

 ・フラッシュの方法には、ブートローダを入れる方法とそうでない方法があり、ブートローダを入れないと毎回フラッシャーでファームを更新する必要がある

 ・ソースコード中にあるEasyConfig.hファイルをつかうと構成が便利

とあり、おおかた構成方法がわかりました(原則機種指定のみ。BL-Touchへ変更する場合もEasyConfig.hで構成可能)

  ・EasyConfig.hの#define ET_MODEL で機種を指定する

 (自分は、ET_MODEL_ET4_PROですね)

  ・configuration.hの#define ET_EASY_CONFIG 行のコメントアウトを外す

くらいです。


あとはどうやってコンパイルするかです。しかもMacだし。

というこでぐぐってみると非常に親切な動画がYouTubeにありました。


ちょっとバージョンが古く画面が少しづつ違う感じはありますが、だいたいわかります。

・コンパイルツールは、MSの「Visual Studio Code」のMac版を使う。
 このページですね(https://code.visualstudio.com/download

・アプリケーションフォルダにVisual Studio Code(現行版は2)を入れて起動する

・ExtentionタブからPlatformIO IDEをインストールする
・再起動してExtention タブからAuto Build Marlinをインストールする

・OpenFolderタブからフmarlin2のフォルダ(platformio.iniが入っているフォルダ)を指定する
・Auto build marlinタブをクリックし「show the ABM」 panelをクリック
・buldボタンをクリック
・成功したら、built〜とかかれている箇所をクリックするとコンパイル結果(ファーム用ファイル)が表示される。

ただ、カスタムマシン名を構成しましたが、PIO HOMEで表示されるのはET4という初期設定の名前だけ。はたしてこれでいいのだろうか。

ET4でBL-Touchを導入する方法

 ET4の現在のレベルセンサーは、非接触方式なので感度調整が微妙です。

そのため、最近ではBL-Touchという接触式のセンサーが使われることが多いようです。

ET4でのBL-Touchの導入には、抵抗のコンデンサーをはずす必要がありますが、表面実装のようですので、取り外しも比較的簡単そうです。

ただ、導入にはmarlinファームウェアの実装が必要なようです。換装するにしてもファーム更新後ですね・・

https://github.com/davidtgbe/Marlin/blob/bugfix-2.0.x/docs/Tutorials/bltouch-en.md

2021年9月28日火曜日

Anet ET4のmarlin2.0のファームの提供元

Anet ET4のmarlin2.0のファームウェアですが、YouTubeで1年前に紹介されているものはやや情報が古く、AnetのフォーラムはAnetのページからFacebookに移行しており、ファームのありかが分からなくなっています。

そこで最新の情報をさぐっていると AnetのWebページでは以下のページでMrlin2 + のアップグレード方法がUpされていました。

https://shop.anet3d.com/blogs/anet-et4-et5-3d-printer-faq/et4-open-source-marlin-firmware?fbclid=IwAR11VROo5yTNiaQzJ4-DK7TbzC5FU4b86TBpR4Z0vws0d74psSwUqVXLc_Q

しかし、ここでリンクされているファームウェアはすべてET5X用のファームにリンクされており、正しい情報が提供されているかよくわかりませんでした。

そこでAnetのFacebookページに投稿すると、なにやらGitHubをみろという情報が。

さらにいろいろとググっていると、このリンクがソースコードの提供元のようでした。

https://github.com/davidtgbe/Marlin

これをみるとハードウェアに合わせてconfigをいじる必要があるようで、やはり同じファームにはなりそうにありません。

どうやらメーカの提供情報もあまり信頼にたるものではなさそうなので、このページを頼りに自分でコンパイルするしかなさそうです。

いやはや道はながい。

2021年9月22日水曜日

Labists ET4のレベル調整説明が全然違いすぎて怒り心頭

Labists ET4のオートレベリング調整動画が酷すぎたのでクレームを入れて見たものの、では何が正解かがわからず手動調整のみをやってきました。

コントロールボードをAnet ET4 Pro用の静音マザーに変えてから、Anet関連の情報を取得するようになりましたが、Anet ET4 Pro用の水平調整動画がありました。 見てみると、Labists ET4の説明が本当にバカすぎて話にならないレベルだったことを再認識しました。 

Amazonを見るともうこのプリンターは売っていないですね。Amazonにコメント拒否られましたが、予想どおり販売中止になってようです。 サポートももうないでしょう。

Labists ET4を持っている人は早めにAnet ET4 Proのコントロールボードに乗り換えることをおすすめします(とは言ってもAnet自身も取り扱いは縮小傾向にありますが、marlin2への移行方法なども紹介されており、全然良心的です)

そのうち影も形もなくなりそうな気もしますが、とりあえず、水平だしの動画リンクを載せておきますわ。

いやはや、とんだハズレものでした。

しかし、この手順でも各作業の目的や関連性が解説されていないので、やや疑問に思う点もなくはない。

まず最初の設定で何がなされるのかが不明となっている。
ホームの設定なのか、センサーの設定なのか、なんなのかだ。

これでホームの設定ができるのであれば、マニュアル操作でのホームポジションのクリアランス調整は不要なはずだ。
センサーの設定であれば、センサーの調整は非常に微妙で数度まわすだけで、センサーの感度が違ってくる。また、右方向と左方向でも数度の違いがあり、どこが最適なのかは実際のセンサーでのセンシング結果を見ないと判断できないが、単にドライバーで回しているだけでセンサーの調整が完了しているとは思えない。

つぎに手動設定であるが、四角を合わせたあと、ホームポジションでのクリアランス調整を行なっている。
しかしここでクリアランス調整をした場合、四角の調整結果が変わってしまうのではないかという懸念がある。
四角のクリアランスを変えないまま、センターだけの調整になるのであれば問題はないが、そうであれば、そのように解説してほしい。

想像するに最初の設定調整はホームの調整ではなく、あくまでもセンサーの設定に限られると思われる。というのもセンサー導入の3DプリンターのZリミットは設けられておらず、ベッドセンサーが代替するためである。

であれば、動画の操作だけでは足りず、センサーを設定したのちに、ホームボタンを押してセンサーがただしく所定のクリアランスで動作するかを確認し、センサーの感度を微調整をするという過程が盛り込まれるべきだろう。

つぎに四角の位置を調整後のホームポジションでのクリアランス調整だが、設定作業ですでにセンターのホームが確定しているとすると、四角での傾き調整後若干のホームボジションでの違いが出たとしてもおのずと是正されるはずだ。
逆に、ホームポジションの再設定後に四角の再調整をするというのが、あるべき作業ではないか。

ただ、この作業がセンサー感度の微調整ができない結果として、ノズル位置の微調整を行なっているということであれば分からなくはない。ただその場合はセンターの調整を行ってから、四角の調整となるだろう。また四角の調整を行ったのち、2〜3回繰り返して設定するというのが妥当だろう。

最後にオートレベル調整だが、ベッドの微妙な凹凸を調整するのであれば、計測ポイントが少なすぎる気がする。

ということで、大元のAnetの動画でも疑問な点があるが、Labistsのいい加減なレベル調整動画は、見ただけでダメなやつだということがわかる。
それを検証できない組織というのはどういう組織・思考をしているのか疑問を持たざるを得ない。

ということで、3Dプリンターも設計・運用に携わる人にも影響するということで、メジャーな機器をおすすめするが、その場合でも情報が玉石金剛であるので、情報の選択が不可欠となる。

なんだかんだで、結局は自分で解決していかなくてはいけない。結局ソフトウェアを含めて、細部まで把握して調整しなくてはいけないというのが現状なんだろう。

2021年9月21日火曜日

とりあえずAnet ET4 PROのファームウェアをmarlinにすることにした

 Anetの静音ボードに交換したばかりのLabists ET4ですが


firmwareについては、今後のH/Wアップグレードに向けて、いろいろと融通の聞くmarlinにしてみようかと考えています。

たぶんAnetのファームウェアのままでは、軸やエクストルーダのステップ数を変えることができなさそうですが、改造としてはZ軸のスクリュー方式をVoron Switchwire方式に変更したり、エクストルーダをM4にしたりすると、1単位に動かすステッピングモータの回転数(ステップ数)が違ってくると思いますが、

そのような改造をするときに、VoronのKlipperファームにしたり、Rasberry Piを導入したりといったことをせずに、移行できそうだからです(といってやると決めたわけではない)。

とはいいつつ、VoronのSwitchwire方式の導入は、フレームを調達しさえすれば、電源やマザー・モータはそのままで、簡単にできそうなきもしないでもないので、ちょっと考えているところです(とはいうものの、X,Zを交換してしまえば、Y軸もとなるだろうし、ホットエンドをそのまま移植できるかはちょっと不明)。

ということで、marlin化してみたいものの、今度はAnetのコントロールボードのファーム変更が、USBコネクタを買うという人や、そうでもないという感じの情報や、抵抗を外すといった情報など、いろいろあるので、ちょっと整理が必要な感じです。

あとはそんなことをしなくても、X軸だけリニアレール化するという案もあったり、いやいや結局、Klipperファーム(Razberry Pi導入)などもしないと高速化は無理では?という感じもあったりで、何をやると効果的なのか、というところももう少し検討したほうがよいような気もします

はてさて、どうしようかしらん。

PS.パターンカットが必要なのは、BT-Touchへの変更だったかも。Ender3の話だったかしらん・・

VORONとは何か

 最近YouTubeを見ているとVORONプロジェクトの設計したVRON 2.4等の3Dプリンターの動画が目立つようになってきました。

 Voronプロジェクトは、「真の家庭用マイクロ製造機」の設計を目的として、AppleのエンジニアであるMaksimZolinによって2015年に設立されました。

 Voronプロジェクトは、オープンソースの3Dプリンターとなり、製品は提供されていません(パーカーとTシャツくらいです)。

Voronプロジェクトの提供する設計は、Voron0.1、Voronトライデント(旧Voron1)、Voron2.4, VORON スイッチワイヤーなどがあます。動画では、CoreXYデザインのVoron2.4の動画が目立ちます。

Voron Designの特徴

まず、エンクロージャーを含めた設計となっておりABS等の印刷のむずかしいものへ対応している点があげられます。

つぎに、動作には汎用の3Dプリンターコントロールボードを使いつつも、Klipperファームウェアを使用します。Klipperは、計算量の多いすべてのタスクにRaspberry Piを使用し、前処理されたオーダのリストをコントローラーボードに送信します。

これにより、使用するコントロールボードに関係なく、入力シェーピング(リンギングを低減するため)などのより複雑な機能を追加できます。

汎用のボードは次のものが選べるようです。

SKR 1.3
SKR 1.4
SKR mini e3 V1.2
SKR mini e3 V2.0
FLY FLYF407ZG
Fysetcスパイダー

あと組み立てに必要なKitは、Voronプロジェクトから購入するのではなく、Aliexpressなどで別の会社から提供されます。印刷物の部品は別売りのケースが多いようです。


なお、Klipperには次の特徴があります。

Klipperは、複数のマイクロコントローラーを備えたプリンターをサポートします。たとえば、1つのマイクロコントローラーを使用して押出機を制御し、別のマイクロコントローラーを使用してプリンターのヒーターを制御し、3番目のマイクロコントローラーを使用してプリンターの残りの部分を制御できます

Klipperは、押出機内の圧力の影響を説明するメカニズムである「SmoothPressureAdvance」をサポートしています。これにより、押出機の「にじみ」が減少し、印刷コーナーの品質が向上します。Klipperの実装では、押出機の速度が瞬時に変化することはなく、全体的な安定性と堅牢性が向上します。 

Klipperは、振動が印刷品質に与える影響を軽減するための「入力シェーピング」をサポートしています。これにより、プリントの「リンギング」(「ゴースト」、「エコー」、または「リッピング」とも呼ばれます)を低減または排除できます。

Klipperは、ほとんどのコードに非常に高水準の言語(Python)を使用しています。キネマティクスアルゴリズム、Gコード解析、加熱およびサーミスタアルゴリズムなどは、すべてPythonで記述されています。これにより、新しい機能の開発が容易になります。 

カスタムプログラム可能なマクロ。新しいGコードコマンドは、プリンター構成ファイルで定義できます(コードを変更する必要はありません)。これらのコマンドはプログラム可能であり、プリンターの状態に応じて異なるアクションを生成できます。 

組み込みのAPIサーバー。Klipperは、標準のGコードインターフェイスに加えて、豊富なJSONベースのアプリケーションインターフェイスをサポートしています。これにより、プログラマーはプリンターを詳細に制御して外部アプリケーションを構築できます。

2021年9月12日日曜日

3Dプリンターをリニアレールに改造する

 3Dプリンターはリニアレールが導入されるようになりましたが、既存のプリンターをリニアレールに改造できそうです。

Ender3やEnder5に対するリニアレール改造の解説が次の動画にありました。


Linear rails guide and test on Ender 3 and Ender 5



注意点としては、組み立ての際にリニアレールと取り付けるネジの他、取り付けのための(印刷)部品が必要なのはもとより、組み立ての再にアルミフレームとレールとの並行を維ためアライメントツールを用意(印刷する必要があるようです。

また取り付け後は、エンドストップセンサーが確実に押されるかを確認する必要があるようです。Y軸をリニアにした場合は、Zアライメントの調整が必要になりますが、プリンターのメニューに機能がない場合は、初期Gコードでアライメント調整をしてあげる必要がありそうです。

あとリニアレール改造ではありませんが、VORON M4ヘッドに改造する際は回転レシオの変更が必要で、この場合もGコードで対応できそうです。