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

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

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

広告

CNC3020 に タッチプレートプローブ をセットして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

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください