*当サイトのリンクにはAmazonアソシエイトやアフィリエイトリンクが含まれております。

中華 CNC3020 にZ軸のAuto Zero を設定する。

ここに書く事が、物作りか、個人ブログか悩みましたが、
今後もしかしたらCNCのプログラムもやるかも知れないので、後々を考えてここに書く事にしました。

今回は中華CNCにタッチプレートプローブをセットしてZ軸にオートZEROをセットします。

広告

CNC3020 に タッチプレートプローブ をセットしてZ軸の原点をオート設定

Z軸のゼロ設定をするのに目視&シックネスゲージだと非常に手間。

なので先人の知恵を借りてタッチプレートプローブをセット。

SainSmart CNC ルーター Z軸ツール Z軸ゼロチェック

CNCコントローラー側にはセット出来そうな端子があったので、BNCコネクタを購入。
もっと分かりやいコネクタにしてくれれば良いのに。

てか、超シンプルだし自分で作れば良かったような気がしないでもない。

そしてmach3側の設定。

mach3にVBscript

色々script見てて一番良さそうなコードを参考にさて頂きました。

参考サイトは↓
Mach3 CNC Controllerの原点補正をするマクロ

Z auto Zero ボタンにscriptを設置です。

'Width  の値を変更する

ove   = 10.00             ' Total lenght of Probe to move before Stop or no Contact Made.
Width  = 14.00             ' Plate Width X(30.00) Y(40.00) Z(20.00)
Axis   = "Z"               ' "X" "Y" "Z"
Sn     = "-"               ' "" or "-"
Offset = 2.00              '

If Axis = "X" Then
  noBtn  = 1008              'ofs zero X(1008) Y(1009) Z(1010)
  noDro  = 0                 'set ofs X(0) Y(1) Z(2)
  noPos  = 2000              'pos X(2000) Y(2001) Z(2002)
  Width  = Width + GetOemDRO(822) / 2
End If
If Axis = "Y" Then
  noBtn  = 1009              'ofs zero X(1008) Y(1009) Z(1010)
  noDro  = 1                 'set ofs X(0) Y(1) Z(2)
  noPos  = 2001              'pos X(2000) Y(2001) Z(2002)
  Width  = Width + GetOemDRO(822) / 2
End If
If Axis = "Z" Then
  noBtn  = 1010              'ofs zero X(1008) Y(1009) Z(1010)
  noDro  = 2                 'set ofs X(0) Y(1) Z(2)
  noPos  = 2002              'pos X(2000) Y(2001) Z(2002)
End If

CurrentFeed = GetOemDRO(818)
DoSpinStop()

StopMove = 0
If GetOemLed (825)=0 Then
  MoveTo = GetDro(noDro)
  If Sn = "-" Then
    MoveTo = MoveTo - Move
  Else
    MoveTo = MoveTo + Move
  End If
  Code "G4 P2.5"
  Code "G31 " & Axis & MoveTo & "F25"
  While IsMoving()
    Sleep(200)
  Wend
  Probepos = GetVar(noPos)
  If Probepos = MoveTo Then
    responce = MsgBox ("**ERROR** ", 0, "Probe **ERROR**" )
    Code "G0 " & Axis & "0"
    StopMove = 1
  End If
  If StopMove = 0 Then
    DoOEMButton (noBtn)
    Code "G4 P1"
    If Sn = "-" Then
      Call SetDro (noDro, Width)
    Else
      Call SetDro (noDro, -Width)
    End If
    Code "G4 P1"
    Code "F25"
    If Sn = "-" Then
      Code "G91G1 " & Axis & Offset
    Else
      Code "G91G1 " & Axis & "-" & Offset
    End If
    Code "G90"
    Code "(" & Axis & " zeroed)"
  End If
  Code "F" & CurrentFeed
Else
  responce = MsgBox ("**ERROR** ", 0, "Check Ground Probe" )
End If
Exit Sub

もしもサイトが無くなった時の為に自分用メモです。
Width の値を変更。
これの場合は14mm

XとかYも原点合わせ出来るから、後でXとYのボタンも作ろうから。

稼働

こんな感じでZ軸のゼロ設定が簡単になりました。

ではでは


おすすめのコンテンツ

広告
カテゴリーCNC

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.