Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. CvetanTokov
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 16
    • Best 1
    • Controversial 0
    • Groups 0

    CvetanTokov

    @CvetanTokov

    1
    Reputation
    3
    Profile views
    16
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    CvetanTokov Unfollow Follow

    Best posts made by CvetanTokov

    • RE: Is it possible to modify my resurrect.g ?

      I manage to do it with by tricky way , i addet a "echno" command in my resurrect-prologue.g that it deletes my ressurect.g , and it worked.

      ; called to resume job after power out.
      
      M98 P"homeall.g"
      G53G0A0B0
      M42P0S0
      M42P1S1
      M42P2S1
      M42P6S0
      
        if state.currentTool != -1
         G53G0Z80
         M42P5S0
         G53G1X{global.ToolzeroXcoord}Y-27.4F5000
         G53G1Z40F1000
         G30S-1
         if move.axes[2].machinePosition > 35  
          G10P1L20 Z{global.ToolZero}; Set tool  axis offsets
          G53G1Z40F1000
          G30S-1
          G10P1L20 Z{global.ToolZero}; Set tool  axis offsets
          G53G1Z80
          M42P5S1
          G53G1  X0 Y0  Z80 F5000 ; go save Z
      	M3S30000
         else
          G53G0Z80
          echo >"restoreToolNumber.g" "set global.currentToolNumber=-1"
          T0P0
          M291 S2 R"Tool Problem" P"Tool broken or missing!Please check!"
          abort  
          M42P6S0
      echo >"resurrect.g" "G53G0Z80" ; replace resurrect.g 
      G1 R1 X0 Y0 A0 B0  ; go directly above the saved position without Z
      undefined
      

      it starts the resurrect.g , which contains the stored position , and store it by G60 S1 , then it starts the resurrect-prologue.g which makes calibration and in the end i use "echo >"resurrect.g" "G53G0Z80" ; replace resurrect.g " to replace resurrect.g , and it worked perfectly.

      posted in General Discussion
      CvetanTokovundefined
      CvetanTokov

    Latest posts made by CvetanTokov

    • RE: 5 Axis CNC cutting where not suppsed.

      Yes i tryed it , the speeds are even, same problem . Now i will try with slow instantaneous speed changes - around 100 to see if there is any change.
      I am not sure about kinematics, i rely on only the CAM software, should i change any kinematics setting on duet ?
      This is the configuration of machine:

      IMG-6139 - Copy.jpg

      posted in CNC
      CvetanTokovundefined
      CvetanTokov
    • 5 Axis CNC cutting where not suppsed.

      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:

      p1.jpg

      There is g code view:
      p4.jpg

      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
      
      
      posted in CNC
      CvetanTokovundefined
      CvetanTokov
    • RE: Is it possible to modify my resurrect.g ?

      I manage to do it with by tricky way , i addet a "echno" command in my resurrect-prologue.g that it deletes my ressurect.g , and it worked.

      ; called to resume job after power out.
      
      M98 P"homeall.g"
      G53G0A0B0
      M42P0S0
      M42P1S1
      M42P2S1
      M42P6S0
      
        if state.currentTool != -1
         G53G0Z80
         M42P5S0
         G53G1X{global.ToolzeroXcoord}Y-27.4F5000
         G53G1Z40F1000
         G30S-1
         if move.axes[2].machinePosition > 35  
          G10P1L20 Z{global.ToolZero}; Set tool  axis offsets
          G53G1Z40F1000
          G30S-1
          G10P1L20 Z{global.ToolZero}; Set tool  axis offsets
          G53G1Z80
          M42P5S1
          G53G1  X0 Y0  Z80 F5000 ; go save Z
      	M3S30000
         else
          G53G0Z80
          echo >"restoreToolNumber.g" "set global.currentToolNumber=-1"
          T0P0
          M291 S2 R"Tool Problem" P"Tool broken or missing!Please check!"
          abort  
          M42P6S0
      echo >"resurrect.g" "G53G0Z80" ; replace resurrect.g 
      G1 R1 X0 Y0 A0 B0  ; go directly above the saved position without Z
      undefined
      

      it starts the resurrect.g , which contains the stored position , and store it by G60 S1 , then it starts the resurrect-prologue.g which makes calibration and in the end i use "echo >"resurrect.g" "G53G0Z80" ; replace resurrect.g " to replace resurrect.g , and it worked perfectly.

      posted in General Discussion
      CvetanTokovundefined
      CvetanTokov
    • RE: Is it possible to modify my resurrect.g ?

      @t3p3tony So maybe first X Y coordinates, then B and A axis , and then move Z to the possition , and the it is able to be at 2 mm above stored Z.

      posted in General Discussion
      CvetanTokovundefined
      CvetanTokov
    • RE: Is it possible to modify my resurrect.g ?

      @t3p3tony Yes without tool changes , and without move Z axis 2 mm above the stored position , with this configuration it works perfect.When i manualy comment lines with tool changes and Z axis move above 2mm , it resurrects perfectly .

      posted in General Discussion
      CvetanTokovundefined
      CvetanTokov
    • RE: Is it possible to modify my resurrect.g ?

      @t3p3tony This is my resurrect-prologue.g :

      ; called to resume job after power out.
      
      M98 P"homeall.g"
      G53G0A0B0
      M42P0S0
      M42P1S1
      M42P2S1
      M42P6S0
      
        if state.currentTool != -1
         G53G0Z80
         M42P5S0
         G53G1X{global.ToolzeroXcoord}Y-27.4F5000
         G53G1Z40F1000
         if move.axes[2].machinePosition > 35  
          G10P1L20 Z{global.ToolZero}; Set tool  axis offsets
          G53G1Z40F1000
          G30S-1
          G10P1L20 Z{global.ToolZero}; Set tool  axis offsets
          G53G1Z80
          M42P5S1
          G53G1  X0 Y0  Z80 F5000 ; go save Z
         else
          G53G0Z80
          echo >"restoreToolNumber.g" "set global.currentToolNumber=-1"
          T0P0
          M291 S2 R"Tool Problem" P"Tool broken or missing!Please check!"
          abort  
          M42P6S0
        
      G1 R1 X0 Y0 A0 B0  ; go directly above the saved position without Z
       
      undefined
      

      The main problems with resurrect.g is line 11 "T1 P6" i have no idea why is "P6" and line 30 -this line move Z axis 2 mm above the stored position , this move is wrong it hits spindle with b axis . Here is my resurrect.g :

      ; File "0:/gcodes/test.txt" resume print after power failure at 2021-10-14 12:36
      G21
      T-1 P0
      G92 X-33.939 Y-0.670 Z8.521 A-6.975 B187.183
      G60 S1
      T1 P0
      M98 P"resurrect-prologue.g"
      M116
      M290 X0.000 Y0.000 Z0.000 A0.000 B0.000 R0
      T-1 P0
      T1 P6 ------------------- this is wrong , i think it is firmware issue , if it is "T1 P0" it will be OK
      ; Workplace coordinates
      G10 L2 P1 X0.00 Y0.00 Z0.79 A0.00 B0.00
      G10 L2 P2 X0.00 Y0.00 Z0.00 A0.00 B0.00
      G10 L2 P3 X0.00 Y0.00 Z0.00 A0.00 B0.00
      G10 L2 P4 X-115.50 Y63.50 Z80.35 A0.00 B0.00
      G10 L2 P5 X0.00 Y0.00 Z0.00 A0.00 B0.00
      G10 L2 P6 X0.00 Y0.00 Z0.00 A0.00 B0.00
      G10 L2 P7 X0.00 Y0.00 Z0.00 A0.00 B0.00
      G10 L2 P8 X0.00 Y0.00 Z0.00 A0.00 B0.00
      G10 L2 P9 X0.00 Y0.00 Z0.00 A0.00 B0.00
      G54
      M106 S0.00
      M116
      G92 E0.00000
      M82
      M486 S-1
      G17
      M23 "0:/gcodes/test.txt"
      M26 S7488
      G0 F6000 Z10.521 ------------------------------------------------ this line is very bad , it always hits the spindle.
      G0 F6000 X-33.939 Y-0.670 A-6.975 B187.183
      G0 F6000 Z8.521
      G1 F5310.0 P0
      G21
      M24
      
      undefined
      

      Here is picture of moving 2 mm above stored :
      IMG-6139.jpg ![0_1634206565299_IMG-6139.jpg](Uploading 100%)

      Here is executing the next line:
      IMG-6140.jpg

      The last position of B axis was 180 degreses, but before it starts it is at 0 degreses , Z goes 2 mm above stored position , and the returns the B axis to 180 degreses. This hits the spindle.
      And one more in Ressurect.g there is no M3 code to start the spindle .

      posted in General Discussion
      CvetanTokovundefined
      CvetanTokov
    • RE: Is it possible to modify my resurrect.g ?

      @t3p3tony And also i forgot , a need to edit to be able to store my last spindle speed . Is it possible?

      posted in General Discussion
      CvetanTokovundefined
      CvetanTokov
    • RE: Is it possible to modify my resurrect.g ?

      @t3p3tony No the problem is in ressurect.g, it make a tool change that drops my tool , i dont need any tool changes, and the bigger problem when it move z axis 2mm above last position the next line restore the position of all axes , and if my B axis is 180 degrees , it rotates and hits the Spindle.

      posted in General Discussion
      CvetanTokovundefined
      CvetanTokov
    • RE: Is it possible to modify my resurrect.g ?

      @dc42 The problem is with the mivement of the z axis + 2 mm befero resume other axis coordinates , the the B axis start to rotate and it hits the spindle, also the problem is with tool changes, It discards all the tools and perform a tool change after that , but the tool is alredy in spindle collet , and it drops down . So i tryed to make it work with ressurect-prologue.g but there is no way.

      posted in General Discussion
      CvetanTokovundefined
      CvetanTokov
    • RE: Is it possible to modify my resurrect.g ?

      @t3p3tony yes , but every time it registers power falure , it creates a new resurrect.g , without the changes.

      posted in General Discussion
      CvetanTokovundefined
      CvetanTokov