レーザー彫刻機改めレーザーカッター
40Wレーザーが中国からやっと届いたので色々あれこれしてましたが・・・
はまりました・・
組み立ったはいいけれども、どうもGコードの動きが変で苦労してました。
問題
1.マクロで簡単な往復運動をさせて動作確認
→ 原点にもどらない(微妙にずれる)
2.Gコードでプログラムを組んで走らせる
→ 原点には戻るが途中で止まることがある
3.ジョグ動作 特に問題なし
4.Gコードプログラムでたまにガクガクする
問題山積でした。
やったこと。
・Y軸が2レールなので、平行が出ていなくて微妙に引っかかるところがある。
→ 調整。調整。調整。 飽きるくらい調整
・grbl基板を見直したところ3.3Vが弱いのでは?と思い立ち外部に3.3V(1A)電源追加。
・そもそも12V電源が足りてるのか? 8.5A → 12A 変更
ここまでやっても改善しないので、grblの設定を徹底的に見直し。
・モーター電流設定を上下させて確認
・マイクロステップを32から16に下げて確認
・加速度の調整
えらい時間かけて、やっと当たりが出たのはモーター保持電流設定。
このマシンはYが2軸ある(ganged axis)ので、ドライバ設定ファイルで
X, Y, Y2と設定しているのですが、モーター電流設定は別設定ファイルDefaults.hで設定されています。
ここもX,Y,Y2としたところ、Z軸がないよ!とコンパイルエラーが出たのでX,Y,Zの設定のままにしていおいたのですが・・・
どうもそれがダメだったみたいです。
恐らくY2の電流設定がないので2軸目Yのモーター電流設定が変になってたと思われます。(想像)
なので、ドライバ設定ファイルに走行・保持両方の電流値を追加しました。
(Defaults.hの設定は無視される)
こうしました
# define X_TRINAMIC_DRIVER 2209
# define X_STEP_PIN GPIO_NUM_26
# define X_DIRECTION_PIN GPIO_NUM_27
# define X_RSENSE TMC2209_RSENSE_DEFAULT
# define X_DRIVER_ADDRESS 0
# define DEFAULT_X_MICROSTEPS 32
# define DEFAULT_X_CURRENT 1.2
# define DEFAULT_X_HOLD_CURRENT 0.8
# define Y_TRINAMIC_DRIVER 2209
# define Y_STEP_PIN GPIO_NUM_33
# define Y_DIRECTION_PIN GPIO_NUM_32
# define Y_RSENSE TMC2209_RSENSE_DEFAULT
# define Y_DRIVER_ADDRESS 1
# define DEFAULT_Y_MICROSTEPS 32
# define DEFAULT_Y_CURRENT 1.2
# define DEFAULT_Y_HOLD_CURRENT 0.8
// #define Z_TRINAMIC_DRIVER 2209
// #define Z_STEP_PIN GPIO_NUM_2
// #define Z_DIRECTION_PIN GPIO_NUM_14
// #define Z_RSENSE TMC2209_RSENSE_DEFAULT
// #define Z_DRIVER_ADDRESS 2
// #define DEFAULT_Z_MICROSTEPS 16
# define Y2_TRINAMIC_DRIVER 2209
# define Y2_STEP_PIN GPIO_NUM_2
# define Y2_DIRECTION_PIN GPIO_NUM_14
# define Y2_RSENSE TMC2209_RSENSE_DEFAULT
# define Y2_DRIVER_ADDRESS 2
# define DEFAULT_Y2_MICROSTEPS 32
# define DEFAULT_Y2_CURRENT 1.2
# define DEFAULT_Y2_HOLD_CURRENT 0.8
もうちょっとでモーター交換まで考えていたのですが・・・
やっと思った通りに動くようになりました。
黒のアクリル板2mm厚ならば、2パスで切断が可能です。
よって、彫刻機改めカッターにしました。
設定関係は後ほど。