見出し画像

PIDとは

先日購入した Tronxy X5SA Pro でハマってます。

最新のファームウェアをサポートに貰ったら動かなくなってしまった。
別に困ってなかったのにいらんことした。これが不幸の始まり。
サポートに連絡したけど、エラーメールが返ってきた。server disk full だって!なんじゃそりゃ。
スマホで写真撮って問い合わせるから意外とある話なのかもしれない。
ちなみにX5SAのファームウェアは chits というものだそうです。

次に、Facebookのユーザーグループで marlin2のファームウェアを提供してる人を発見!ダメもとでこれを入れてみたら、あっさり動いた!見よう見まねで自動レベリングもできた。
ん、しかし・・・いつまでも開始しない。よく見るとベッドの温度が5℃ぐらい足りない。Facebookで尋ねたところPIDがうんたらかんたら・・・。あぁ、ひょっとしてこれがPIDの調整不良というやつか。
(たまたま似たような記事を見て心に引っかかってた)

PIDってのは温度を一定に保つための電気回路のことで、古くからあるフィードバック制御の一つだそうです。

そして、ふと思い出す。
そういや30年ぐらい前に大学の実験でやったなぁ。
今思えば、制御工学とかニューラルネットワークとか専攻したのにまったく身についてない。
(恥ずかしながら電気工学部を5年かけてギリギリで卒業した)

しかし、最近はそれっぽいことにとても興味がある。
今までなんと無駄に過ごしてきたことか・・・。今となってはやろうにも環境がないし頭弱いし、固いし~。相談相手もいないし。
こうして独学でやってるけども何かと辛いよ。おっさんだから。
人生をやり直したいと本気で思いました。

愚痴はさておき、下の画像はWikiのPIDに関する情報の転載です。こうしてアニメーションでみるとわかりやすいね。


https://upload.wikimedia.org/wikipedia/commons/3/33/PID_Compensation_Animated.gif

画像1

とにかく、この3つの変数をほどよく定義しないといけないということだそうです。
Kってのは、K-FactorのKかな。

次にやったのが、marlin2のPID AUTOチューニング機能の実行です。
Repetier-Host っていうアプリを入れて、USBで繋いで M303 のコマンド実行!(はしょってるけど、すんごい苦労した。3mのUSBケーブルを注文するところから始まってます)


19:56:24.431 : PID Autotune start 20:00:43.873 : bias: 108 d: 108 min: 59.79 max: 60.19 Ku: 698.88 Tu: 11.22 20:00:43.873 : No overshoot 20:00:43.873 : Kp: 139.78 Ki: 24.91 Kd: 522.95 20:00:55.258 : bias: 104 d: 104 min: 59.80 max: 60.17 Ku: 717.86 Tu: 11.39 20:00:55.258 : No overshoot 20:00:55.258 : Kp: 143.57 Ki: 25.22 Kd: 544.85 20:01:07.611 : bias: 95 d: 95 min: 59.83 max: 60.19 Ku: 682.50 Tu: 12.35 20:01:07.611 : No overshoot 20:01:07.611 : Kp: 136.50 Ki: 22.11 Kd: 561.79 20:01:18.027 : bias: 94 d: 94 min: 59.80 max: 60.02 Ku: 1095.71 Tu: 10.42 20:01:18.027 : No overshoot 20:01:18.027 : Kp: 219.14 Ki: 42.05 Kd: 761.30 20:01:28.457 : bias: 93 d: 93 min: 59.79 max: 60.05 Ku: 930.08 Tu: 10.42 20:01:28.460 : No overshoot 20:01:28.462 : Kp: 186.02 Ki: 35.69 Kd: 646.28 20:01:40.162 : bias: 87 d: 87 min: 59.87 max: 60.17 Ku: 729.20 Tu: 11.71 20:01:40.162 : No overshoot 20:01:40.162 : Kp: 145.84 Ki: 24.92 Kd: 569.07 20:01:40.162 : PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h 20:01:40.178 : #define DEFAULT_bedKp 145.84 20:01:40.178 : #define DEFAULT_bedKi 24.92 20:01:40.178 : #define DEFAULT_bedKd 569.07

どうやら、最後の3行をソースコードに入れてコンパイルせーよってことらしい。おれはセットアップできてないので、gcodeで登録しました。

M304 P145.84 I24.92 D569.07

いざ!・・・と思ったら失敗でした。なぜなら保存してなかったから。
ちなみに保存は M500 です。
こういう初歩的なミスをひとつづつ繰り返しなんとか動きました。

いやぁ、よかった。動いた動いた。しかしこれでよかったのだろうか。
Chitsを頑張って戻したほうがよかったのかも。
ちなみにChitsのオートレベリングは、計測後に差異を4*4の表で出してくれます。こっちのほうがわかりやすい。

Ender3は日本のサイトに情報がいろいろあったんだけど、X5SAはほとんどないんです。使ってる人を探し出して仲良くならないといけませぬ。もしくは英語が堪能になればFacebookでいろいろと教えてもらえるのでそっちのほうがよいのでしょうね。
Facebookだと世界中のマニアックな人たちが頻繁に更新しているので困ったときにすぐに助けてくれます。あとは言語の壁だけだな。


この記事が気に入ったらサポートをしてみませんか?