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 件のコメント:

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

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

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

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

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

      削除