2017年9月9日土曜日

小型工作機CNC2418 その32(v1.1f Upgradeで妙な振動)

v1.1fにUpgradeして
ここでアクリルを切削している時でした。
50mm角の輪郭を切削していると
X軸方向に移動しながらの時に
いやーな振動というかビビリ音がするのです。
XZ軸モジュールに亀裂が入ってるのではないかと心配です。
全てのボルトを締め直しましたが同じです。

どこから音がしているのかつかむため
ビビリテストコードを作りました。
スピンドルをS300で回して
X軸方向100mmを3回往復するだけです。

左端に寄せてゼロリセットして実行します。
左端~中央付近までを移動するとビビリ音がでます。
*****
F300
M3 S300
G1 X100
G1 X0
G1 X100
G1 X0
G1 X100
G1 X0
M5
*****
では、動画というか音に注目です。
ビビリ音とスピンドルの音です。
最初は、GRBL 1.1f 2017-08-01版そのまんまです。
(2017-07-17版も同じです)
ビビリと言っているのは
1秒テンポくらいでウネル様に
ビャ~ッブ、ビャ~ッブ、・・・・・・
という音です。カタカナ音表現は難し~い。
音は、台形ネジ部かリニアブッシュの所から出ています。
次は、この動画と音を
GRBL 0.9jです。
ビビリ音ありません。
スピンドルの回転音が断然静かなのも驚きです!
何だこの違いは!
ほぼ同じ位置で撮影しているのに音が違い過ぎます。
この時に危惧していたように
やはりスピンドルにも影響が出ていました。
この違いは、PWM周波数なのです。
0.9j:7.8KHz
1.1f:0.98KHz
の差なのです。
これは、Woodpecker独自の問題ではなく
ステッピングモーター駆動パルスとも関係しているのかも?

実は、後者の動画は
GRBL v1.1f 2017-08-01版で
PWM周波数だけ v0.9j デフォルトの7.8KHzに
変えたものなのです。

ここの対策はソースを変更したマティー仕様で良かったということです。

ちょっと実験です。
v1.1fでは、オプションとして
更に高くPWM周波数を設定できるのでやってみます。
元の#defineの前に"// "を追記(cpu_map.hを編集します。2018.4.8追記)
"62.5KHz"の#defineの前の"// "を削除します。
黄色部の所です。
*****
    #define SPINDLE_TCCRB_INIT_MASK   (1<<CS20)               // Disable prescaler -> 62.5kHz
  // #define SPINDLE_TCCRB_INIT_MASK   (1<<CS21)               // 1/8 prescaler -> 7.8kHz (Used in v0.9)
  // #define SPINDLE_TCCRB_INIT_MASK   ((1<<CS21) | (1<<CS20)) // 1/32 prescaler -> 1.96kHz
  // #define SPINDLE_TCCRB_INIT_MASK      (1<<CS22)               // 1/64 prescaler -> 0.98kHz (J-tech laser)
*****

PWM周波数 62.5KHzでの
動画と音です。
7.8KHzと大きくは違わないですがね~
逆に少しうるさくなったかも?
動画から音だけを抽出してWAVに変換して
SOUND ENGINE Free ver. 4.51 というソフトで
音を解析してみます。
画面全体はこんな感じ。
青いのが音の波形で
黒四角がスペクトラム・アナライザです。
3つのPWM周波数での
騒音の波形とスペアナを並べて見ます。
波形の破線の間隔は20msecです。

0.98KHz:
・125Hz付近に大きな山
 波形で約10msec周期のウネリ
・全体的にレベル高い
・30Hz付近も低周波振動







7.8KHz:
・全体的にレベル低い(特に2KHz以下)
・125Hz付近レベル変動
・4KHz付近ピークは、キーンという音。
 まあ心地よい音ではあります。







62.5KHz:
・7.8KHzよりレベルが高い
・125Hz付近レベル変動やや大
・250Hzの山、500、1K、2Kと
 高調波が出てる感じ
 7.8Kより煩い原因でしょう。







せっかく作ったので横バージョンも。
”特大”表示にしたので横にはみ出ます。
ざっと見ても
騒音レベルは、7.8KHz < 62.5KHz << 0.98KHz ですね。












ひょっとしてマーティーの組立が悪く
125Hz付近に共振点があるのかもです。

少なくともマーティーのCNC2418では
v0.9j デフォルトの7.8KHzにした方が
スピンドルにもレーザーにも良いという事は明白であります。

改めて書くと
GRBL v1.1f 2017-08-01版で
次の様に cpu_map.h でPWM周波数を変更しています。
これで v0.9jの時のPWM周波数に戻ります。
詳しくは、こちらで

元の#defineの前に"// "を追記
(Used in v0.9)の#defineの前の"// "を削除します。
黄色部の所です。
*****
  // #define SPINDLE_TCCRB_INIT_MASK   (1<<CS20)               // Disable prescaler -> 62.5kHz
   #define SPINDLE_TCCRB_INIT_MASK   (1<<CS21)               // 1/8 prescaler -> 7.8kHz (Used in v0.9)
  // #define SPINDLE_TCCRB_INIT_MASK   ((1<<CS21) | (1<<CS20)) // 1/32 prescaler -> 1.96kHz
  // #define SPINDLE_TCCRB_INIT_MASK      (1<<CS22)               // 1/64 prescaler -> 0.98kHz (J-tech laser)
*****

それにしても
何故、v1.1でPWM周波数を変えたんでしょうね?

5 件のコメント:

昔青年 さんのコメント...

GRBLバージョンアップとあわせて、諸々の調整をする中で、コントロール基板を壊したようです。
DC24Vのみ供給した状態で、スピンドルモーターが、ステッピングモータの様に、かくかくと回転します。
コントロール基板のみ購入したものか?
しばらくFusion360の勉強をしながら基板の到着を待つことになります。

マーティーの工房日誌 さんのコメント...

かくかくでも回転しているんですよね?
ということは、何らかのパルスが出ているということなので
チップは壊れていないような気もします。
これだけの情報での推測なのであまり期待できませんが。
一度、$$で全ての設定を見直してはいかがでしょうか?
マーティーのWoodpeckerでは、Arduino IDEでGRBLを書き換えた時に、原因はわかりませんが、一度だけ、設定がぐちゃぐちゃになったことがあります。
特に$0~$6辺りが怪しい気もしますが
もう調べられているのでしたらm(_ _)m

昔青年 さんのコメント...

マーティーさん
アドバイスありがとうございます。
朝から、再度見直しております。
GRBLのバージョンアップは、うまくいっているようです。
Arduino UNOボードで試してみましたが、OKでした。
続いて、CNCコントロール基板でおこなってもOK
ただし、本来デフォルトの値であるはずの$100等の値が、CNC2418用の設定のまま書き換えられておりません。
UNOで書き込んだ時には、データは1.1fデフォルト値でした。
ちなみにキャンドルからのデータ書き換えは、可能です。
スピンドル、X,Y,Z軸とも「かくかく」動作です。
スピンドルは、基板へのUSB接続を切っても同じ動作をしております。キャンドルからのスピード調整には無反応。X,Y,Z軸は、かくかくしながらもコマンドは受け付けております。

マーティーの工房日誌 さんのコメント...

そういえば、昔青年さんのは、ラズパイでしたね。
う~ん、他のがOKということは、ハードですかね~?
ライズパイには、Arduinoエミュレータが乗ってるのかな?
もはやマーティーにはお手上げですm(_ _)m

昔青年 さんのコメント...

マーティーさん
新しい基板購入手続きとりました。(マーティーさんに比べてチョー安易です)
基板は、マーティーさんのご苦労されたモドキ基板ではなく、CNCメーカーにあわせたものです)
基板の置き換えでOKになれば助かるのですが。