Hello ,
i had build 5 axis cnc mill machine ,
i had problem with 5 axis simultaneous machining , it seems that one of rotational axes doesnt go with
desired feed rate and it is faster , so i left with cutted part every time in same possition.
In this picture you can see the cutted edge:
There is g code view:
The machine is build with external drivers , it is configureted and calibrated , i tried to implement bed compensation , but i didnt manage, and after this it start to make this cuttings, before it was perfect.
I tryed many diferent jerk policy and speeds but nothing helps.
I this it doesnt read go code good , and go beyond the points it supposed go be.
Any suggestions?
Here is my config.g file:
; Configuration file for Duet
; executed by the firmware on start-up
; WorkBee Firmware Version 1.1
M98 P"config-network.g"
M575 P1 S1 B57600
; OUTPUTS:
M950 P0 C"FAN0"Q250;G LED
M950 P1 C"FAN1"Q500;B LED
M950 P2 C"FAN2"Q500;R :ED
M950 P3 C"^!spi.cs4"; VACUUM RELAY
M950 P4 C"^!exp.31"; nonair VALVE 4
M950 P5 C"^!exp.50"; gnd
M950 P6 C"^!exp.4"; cooling VALVE 2
M950 P7 C"^!exp.9"; collet VALVE 1
M950 P8 C"^!exp.14";TOOL AIR CLEANER VALVE 3
M950 P9 C"^!spi.cs1"; DOOR UP VALVE 5
M950 P10 C"^!spi.cs2"; DOOR DOWN VALVE 6
M950 P11 C"^!spi.cs3"; VACUM VALVE
M950 P12 C"!exp.38";EMERGENCY VACUUM
m42p12s1
; INPUTS:
;M950 J1 C"!^exp.24";EMERGENCY
M950 J2 C"!^exp.29";AIR
M950 J3 C"!^exp.19";DOOR
;M950 P8 C"!exp.heater7";spindle
m42P5S1
; Configuration files
M98 P"config-drives.g"
M98 P"config-axes.g"
M98 P"config-axes-calibration.g"
M98 P"config-axes-endstops.g"
M98 P"config-probe.g"
M98 P"config-spindle.g"
M98 P"config-laser.g"
; Other Settings
M453 ; Put the machine into CNC Modes
G90 ; Set absolute coordinates
M558 P8 C"^zprobe.in" F100 T100 H5 ;zProbe
; Heaters
M140 H-1
;M307 H0 A-1 C-1 D-1
;M307 H1 A-1 C-1 D-1 ; Set temperature limit for heater 0 to 120C
;M307 H2 A-1 C-1 D-1
;M307 H3 A-1 C-1 D-1
;M307 H4 A-1 C-1 D-1
;M307 H5 A-1 C-1 D-1
;M307 H6 A-1 C-1 D-1
;M307 H7 A-1 C-1 D-1
m42P7S1
M42P6S1
; Fans
;M106 P0 S0 I-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
;M106 P1 S0 I-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
;M106 P2 S0 I-1
;M106 P3 I-1
;M106 P4 I-1
;M106 P5 I-1
;M106 P6 I-1
;M106 P7 I-1
M950 R0 C"^bedheat+exp.8" L60000
; Tools
M563 P1 R0 S"Tool 1"
M563 P2 R0 S"Tool 2"
M563 P3 R0 S"Tool 3"
M563 P4 R0 S"Tool 4"
M563 P5 R0 S"Tool 5"
M563 P6 R0 S"Tool 6"
M563 P7 R0 S"Tool 7"
M563 P8 R0 S"Tool 8"
M563 P9 R0 S"Tool 9"
M563 P10 R0 S"Tool 10"
; Automatic power saving
M911 S21 R23 P"M913 X0 Y0 A0 B0 G91 Z3 F1000" ; POWER LOSS
; Custom settings are not configured
M564 S1 H1 ; Disable jog commands when not homed
;variables:
if {!exists(currentToolNumber)}
global currentToolNumber = -1
if {!exists(ZToolZero)}
global ZToolZero =-1
if {!exists(ToolZPos)}
global ToolZPos =-1
if {!exists(ToolSens)}
global ToolSens =-1
if {!exists(T1XPos)}
global T1XPos =-1
if {!exists(T1YPos)}
global T1YPos =-1
if {!exists(T2XPos)}
global T2XPos =-1
if {!exists(T2YPos)}
global T2YPos =-1
if {!exists(T3XPos)}
global T3XPos =-1
if {!exists(T3YPos)}
global T3YPos =-1
if {!exists(T4XPos)}
global T4XPos =-1
if {!exists(T4YPos)}
global T4YPos =-1
if {!exists(T5XPos)}
global T5XPos =-1
if {!exists(T5YPos)}
global T5YPos =-1
if {!exists(T6XPos)}
global T6XPos =-1
if {!exists(T6YPos)}
global T6YPos =-1
if {!exists(T7XPos)}
global T7XPos =-1
if {!exists(T7YPos)}
global T7YPos =-1
if {!exists(T8XPos)}
global T8XPos =-1
if {!exists(T8YPos)}
global T8YPos =-1
if {!exists(T9XPos)}
global T9XPos =-1
if {!exists(T9YPos)}
global T9YPos =-1
if {!exists(T10XPos)}
global T10XPos =-1
if {!exists(T10YPos)}
global T10YPos =-1
if {!exists(TZUPPos)}
global TZUPPos = -1
if {!exists(TZTESTMINPos)}
global TZTESTMINPos = -1
if {!exists(XZero)}
global XZero = -1
if {!exists(YZero)}
global YZero = -1
if {!exists(ZZero)}
global ZZero = -1
if {!exists(AZero)}
global AZero = -1
if {!exists(BZero)}
global BZero = -1
if {!exists(ToolZero)}
global ToolZero = -1
if {!exists(ToolzeroXcoord)}
global ToolzeroXcoord = -1
if {!exists(ToolzeroXcoord)}
global ToolzeroYcoord = -1
if {!exists(pE)}
global pE = -1
if {!exists(checktool)}
global checktool = -1
; User Configuration files
M98 P"config-user-settings.g"
M98 P"XZero.g"
M98 P"YZero.g"
M98 P"ZZero.g"
M98 P"AZero.g"
M98 P"BZero.g"
;M98 P"ZToolZero.g"
;M98 p"ToolTestOffset.g"
M98 P"config-axes-limits.g"
;M98 P"ToolTestXCord.g"
;M98 P"ToolTestYCord.g"
M98 P"toolPOSITIONS.g"
M98 P"restoreToolNumber.g"
M98 P"checktool.g"
;triggers
G4P5000
M581 T0 P1 S1
M581 T2 P2 S1
M581 T5 P3 S0
M582 T2
;global currentToolNumber=-1
;M98 P"restoreToolNumber.g"
if global.currentToolNumber != -1
T{global.currentToolNumber} P0
M556 S65X0.32Y0 Z0 P1;axis skew
G54
M501 ; Load Stored Parameters
m42P0S1
m42P1S0
m42P2S1
Here is my driver configurations:
; Drive configuration executed by config.g
M569 P5 S1 T10:5.0:6.0:11 ; Physical drive 0 goes forwards
M569 P6 S0 T10:5.0:6.0:11 ; Physical drive 1 goes forwards
M569 P7 S0 T10:5.0:6.0:11 ; Physical drive 2 goes forwards
M569 P8 S0 T10:5.0:6.0:11 ; Physical drive 3 goes forwards
M569 P9 S0 T10:5.0:6.0:11 ; Physical drive 4 goes forwards
and speeds and steps configuration:
; Axes configuration executed by config.g
M584 X5 Y6 Z7 A8 B9
;M584 A8 B9 R0 S0
;M350 X1Y1Z1A1B1 I0 ; Configure microstepping with interpolation
M92 X320 Y320 Z320 A111.1111 B55.5555 ; Set steps per mm
M566 X250 Y250 Z250 A900 B900 P0 ; Set maximum instantaneous speed changes (mm/min)
M203 X6000 Y6000 Z5000 A5000 B8000; Set maximum speeds (mm/min)
M201 X250 Y250 Z250 A700 B700; Set accelerations (mm/s^2)
M203 X2000 Y2000 Z2000 A7500 B7500 I0.1
;M906 X2100 Y2100 Z2000 A2500 B2000 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout