Klipperで終了音を鳴らす

 
Klipperだと終了音が出ない。M300コマンドがわかんね、と回答が来る。「Unknown command:"M300"

調べると、下記サイトがヒットする。

KlippeでGcodeMusic復活|tomy_cn|note

 

上記だとピン番号が ar31となっている。

Anycubic I3 Megaだと、PC6にしたら音が鳴った。

ひとまずこれで終了お知らせ音が出るようになった。

Klipperやめよかな、、、

前のエントリで、Klipper導入したが、若干使いにくい。

 

メリット

〇リンギング、ゴーストが出ない(非常に小さい)

 

デメリット

×Marlinと比べて、サポートされているGcodeコマンドが少ない。

  いろいろコマンドNotFoundと出ている。

×プリンタ本体の画面が使えないので不便。

×ヒートベッド高温維持ができない、30分で自動通電OFFされる。

 

差がわからなかった

△スピードアップ

  速度上げると造形物がスカスカになる。結局Marlinと同じ速度に落ち着いた。

  ジャーク、加減速もKlipper任せにしているが、Cura設定と手間は同じか?

△PCおいてある部屋にあるので、リモート操作はOctopiと変わらない。

 

狙った高速化についてはあまり差がみられない。ただ悪化もしてない。

使い勝手が変わってるので戻そうかなーと悩んでる。

Anycubic i3 mega-s+Raspberry Pi 3BでKlipperを導入

タイトルの通り、Klipperを導入したときの覚書メモ。

まだインストールしながら設定しているときのメモのため、結果動くかどうかはまだ未定。

動いたので、メモレベルであるが参考になるはず。


参考1.

【3Dプリンタ】Ender-3 ProにKlipperファームウェアを導入した – OctoPi+Klipper編 | あること・ないこと日記

参考2.

Klipper をAnycubic MEGA Proに導入メモ|tomy_cn|note

 

参考1のあることないこと日記さんの奴が詳しいので、それに沿って導入していく。
そちらはEnder3で自分の環境と違うので、tomyさんのやつAnycubic mega pro導入のほうも参考にしていく。

 

自分の環境

・Anycubic i3 mega-s

Raspberry Pi 3B

 

Klipper導入前状況として、

モータードライバはTMC2208に変更済み、ファームはカスタムMarlinに変更済み。Octopi導入済み。

RaspberryPi導入の手引きは上記参考URLを参照ください。

 

1.TeraTermをインストール

「Tera Term」定番のターミナルエミュレーター - 窓の杜

Google検索して、窓の杜リンクがあったのでそちらにした。公式でもよいけど、慣れてるほうからインストールとした。

 

2.TeraTermを設定
接続対象のアドレス「octopi.local」だとなぜかつながらなかったので、IPアドレスを入力した。192.168.x.xという奴。

3.Klipper入手

$ git clone https://github.com/KevinOConnor/klipper

フォルダが作られてgithubから入手してくる。自動で。

 

注)ドハマりポイント

ここで普通にクリッパーインストールしたら、

avr-gcc command not found

 

と出て進めなかった。

 

4.まず、avr-gccを入手

コマンド

$ sudo apt-get install avr-gcc

$ sudo apt-get install gcc-avr

 

似たようなコマンドを打つ。最後だけちょっと違う。

avr-gccをapt-getしても、やっぱりNot foundとなった。どうやらgcc-avrとするのが正しいらしい。わかんないので両方実施。

 

5.Klipperインストール

$ ./klipper/scripts/install-octopi.sh

コマンドを打ったらインストールされるはず

 

6.Klipper設定

$make menuconfig

ここからプリンタによって設定が違う。各自所有している3Dプリンタに合わせた設定にする。

Klipper をAnycubic MEGA Proに導入メモ|tomy_cn|note

こちらですね。

i3 mega-sだとデフォルトでよいらしい。

Qを押して、「セーブして終了しますか?」にYesを選択。

 

7. make

公式のドキュメントでもやれって言ってるからmakeする

$ make

つらつらーっと出てきて完了するらしい。

 

※ドハマりポイントで、avr-gccをインストールしてなかったときは、ここでコマンドが見つかりませんcommand not foundと出て進まなかった。

 

 

8.ポート番号を調べる

呪文を書いて調べる。ラズベリーパイとプリンタをUSBでつないだ状態、プリンタ電源ONにする。

cd ~/klipper/
ls /dev/serial/by-id/*

 

ポート番号というか、ポートIDが出る。

自分の環境だと下記が出た。

/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0

9.ファームウエア書き込み

調べたポート番号を使って、ファームウエアを書き込む。
cd ~/klipper/
sudo service klipper stop
make flash FLASH_DEVICE=/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0

 

通信もできて、書き込みもできた様子。

ベリファイもできてるから大丈夫だと思う。

ファーム書きこみ

10.Klipper各種設定を変更

Githubから自分のプリンタの設定ファイルを入手。

>プリンタの設定ファイルをテキストエディタなどで開き、[MCU]の「serial:」以降の部分を手順8.で調べたシリアルポートの名前に変更する。

設定内容を書き換え、WinSCPでアップロードする

 

えーと、つながらない。。。


Connectingのまま。ポートとボーレートの組み合わせが存在しないって。

また調べよう。

 

翌日

再度 make menuconfig から再開

make でファームウエアを作り、書き込み

そのあとラズパイ再起動しつつ、プリンタ本体も電源再投入したところ無事つながるようになりました。

温度が上がることまで確認して今日はもうおやすみなさい。

 

また翌日

Octopiのポート設定は下記

シリアルポート /tmp/printer

ボーレート 250000

さらに翌日。

原点復帰するも、モーターが逆側(原点センサのないほう)へ動いてしまう。

モータードライバを交換して反転してるので、Printer.cfgファイルを変える必要があるらしい。

Klipperのエディタから編集してみる。お試しで。

変更点XYZ軸全部反転。

[stepper_x]

dir_pin: !PF1となっていたのをdir_pin:PF1とする(!を取る)

[stepper_y]

dir_pin: !PF7 → PF7

[stepper_z]

dir_pin: PL1 → !PL1

[stepper_z1]   Z軸はモーターが2個ある

dir_pin: PC3 → !PC3

 

おそらく、エクストルーダも何か変更が必要。

動作見て、反転は必要そうなので、反転させる。

[extruder]

dir_pin: PA6 → !PA6

 

また翌日。

Anycubic i3 mega-sだとTitanエクストルーダを使っており、ギアでトルク3倍に増幅されている。もとにしている設定ファイルprinter.cfgは、無印のmega用のため、エクストルーダの動作がおかしくなるはず。

モーター1回転で〇〇mmフィラメント押し出すよ(1パルスで△mm出るよ)というのを設定すればよいはず。

 

で、公式サイトに丁寧に説明があった。

Rotation distance - Klipper documentation

ブラウザの翻訳機能を駆使して確認。

 

エクストルーダの「rotation_distance」というのは、ステップモータ1回転でフィラメントが押し出される量を設定します。

ほら当たった。

プリンタのメカを確認せいとか書いてあるけど、すっ飛ばして。設定手順。

公式サイトのではなく、自分のやり方は下記。

  1. ホットエンドを180度に昇温する。
  2. 温度上がる間に、エクストルーダからボーデンチューブを抜く。(ホットエンド側は触らない)
  3. フィラメントを差し込んで、ボーデンチューブが入る継手からちょびっと顔出すようにしておく
  4. ホットエンド温度が上がったら、Octopiターミナルから下記コマンドを入れる
    G91
    G1 E50 F60
    コマンドの意味は、G91=相対座標に変える
    G1=動け
    E50=50mm分
    F60=速度60mm/min(もしかしたら60cm/min. 60inch/s?)
  5. エクストルーダが動くことを確認し、止まるまで待つ
  6. 出てきたフィラメント長さを測定。この時は104mmだった
  7. 計算する
    現在の設定値rotation_distance=7.710
    指令は50mm(G1 E50)
    出てきた量 104mm
    倍率ドン、104/50=2.08倍
    新しい設定値=旧設定値7.710×2.08≒16.037
  8. OctopiのOpenEditorから、エディタを開く
  9. 該当箇所 [extruder]のrotation_distanceの数字を書き換える(16.037)
  10. Save & Close
  11. Klipper Restart
  12. またコマンドを打って、正しく出るか確認する
    G91
    G1 E50 F60
  13. 長さを測って、正しければ完了、だめなら7.計算を再実行
    明らかにおかしいぞ、という場合は分母と分子がひっくり返ってたりするのでご注意ください。

なにか簡単なモデルを出力してみて、動作がイケてるか確認する。

自分は上記で狙った通り動作できました。

今日はここまで。

 

 

 

 

 

 

 

 

 

 

フリスクケースでスライドスイッチ

検索エンジンで飛んできた方こんにちは。初めまして。

フリスクケースを使った電子工作その1.
スライドさせるとスイッチONさせたい、

  • 必要なもの
    • フリスクケース
    • マジックペン(目安線をつける)
    • ★銅箔テープ@ダイソー(これが一番のネック!)
    • やすり
    • 小さめの彫刻刀(平先)もしくは小さいマイナスドライバ
  • やりかた

フリスクケースをカシャカシャして、動作範囲を決めます。
マジックペンでどのくらい動くか、あたりを付けます。

下のページを参考に、銅箔テープを切り貼りして、配線をはんだ付けします。
http://www.asahi-net.or.jp/~gt3n-tnk/noodle3.html
以上!

一番重要な銅箔テープはなんとダイソーの園芸コーナーに売っています。
名目は虫よけグッズです。
ナメクジなどは銅イオンを嫌がるそうで、植木鉢にぐるっと貼っておくと逃げていくそうです。
量は少ないですが、個人が電子工作で使う分としては十分ありそうです。

参考ページ
参考にしたのとなんか違うけど、考え方は同じ
http://d.hatena.ne.jp/kamimura_industries/20100112/1263304357

備忘録
昇圧回路とフリスクケース
http://hiranoaki.blog.fc2.com/blog-entry-33.html
今後、昇圧回路を使って、電池1個で12Vを出せるように考えたいなと思い、記録。

Bootloader

PICでBootloaderをテスト中。
ネットに落ちてるHEXファイルを書き込んで、USB接続で認識するところまでは確認済み。
ただ、コンフィグレーションビットを合わせる必要があるので、MLAのブートローダを参考に書き換え中。



むずい。。。


いろんな記述と英語に押し流されています。

コンフィグレーションビットのメモ

動作するコンフィグレーションビットの設定をメモする。
秋月のPICプログラマ上で書いたので、MPLABX&ソースファイルに反映させる前にメモで残す。
備忘録。

参考は下記
http://picmidi.seesaa.net/article/148742699.html

  • CFG1
変数名 設定値 備考
IESO Disable
FSCMEN Disable
FOSC HS_(USB=HS:__:PLL) セラロック20MHzなので
USBDIV USB-CLK=96MHzPLL/2 PLL使用
CPUDIV OSC1/1_or_96MHz/2 PLL使用のため
PLLDIV Divied5(20MHz) セラロック20MHzなので
  • CFG2
変数名 設定値 備考
VERGEN Disable
BORV 2.0V 使わないのでなんでもOK
BOREN Disable 使わない
PWRTEN Enable パワーオンタイマ使用
WDTPS 1:32768
WDTEN Disable ウォッチドグタイマは使わない
  • CFG3
変数名 設定値 備考
MCLRE Enable(RE3=MCLR) ポート1番はIOとして使用
LPT1OSC TMR1-HiPower
PBADEN PORTB<4:0>=I/O
CCP2MX CCP2=RC1
  • CFG4
変数名 設定値 備考
DEBUG Disable
XINST Disable
LVP Disable RB5=I/O
STVR Enable

セラロック交換

最初は適当に決めたコンフィグレーションビットですが、いろいろ調べていくと、明らかに設定が間違っていることが分かりました。

まずなにより、外付けのセラロックをつけているのに内蔵の発振器を使っていた。しょんぼり。

内蔵発振器だとUSB接続できないらしい。周波数が違うため通信のタイミングが取れないそうだ。

よくよく調べてみると、今ついているセラロックは10MHz、USB通信できるのは20MHzらしい。(ほかにもできる周波数のものはあるようだが、10MHzでは通信できない)


というわけでセラロックの交換を実施。
地道にはんだ吸収線で吸い取り、付け替え。
できたけど、やっぱり動かない。

コンフィグレーションビットが違うのかな。
参考

http://picmidi.seesaa.net/article/148742699.html
http://www.picfun.com/pic20.html

http://physicom.digick.jp/?p=966
http://homepage3.nifty.com/mitt/pic/pic2550_01.html