Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. thomas.weiss
    • Profile
    • Following 0
    • Followers 0
    • Topics 5
    • Posts 14
    • Best 3
    • Controversial 0
    • Groups 0

    thomas.weiss

    @thomas.weiss

    5
    Reputation
    7
    Profile views
    14
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    thomas.weiss Unfollow Follow

    Best posts made by thomas.weiss

    • RE: Motors "hissing" in idle after 3.4.0rc2

      @thomas-weiss For anyone reading. Seems like the duet3 mini 5+ not defaulting to stealthchop anymore was the problem.

      Adding a D3 to each M569 setting up the motors resolved the hissing sound.

      If I missed anything that I should be doing, please let me know. 🙂

      posted in Firmware installation
      thomas.weissundefined
      thomas.weiss
    • RE: Echo output to file - expected expression

      @jay_s_uk I see - you are right. Echo to file was added in 3.4, an update should solve this. Thank you!

      Sadly, we'll need our prototype for a presentation in the upcoming days and I don't want to risk that a firmware update changes or breaks any functionality that we already implemented.

      Might have to go without this function for now.

      posted in Gcode meta commands
      thomas.weissundefined
      thomas.weiss
    • RE: M915 not triggering under any circumstances

      Since I can't edit my last post anymore...

      For the M915 I tried H-paramter from 1 - 400 and S parameters from -50 to 50.

      With the following setup I got the only warning overall but I wasn't able to reproduce it at all anymore.

      Warning: Driver(s) 3 stalled at Z height 0.00
      

      Herer is my current config.g

      ; Configuration file for Duet 3 Mini 5+ (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.5 on Wed Nov 03 2021 10:22:11 GMT+0100 (Mitteleuropäische Normalzeit)
      
      ; Enable eventlogging
      M929 P"eventlog.txt" S1
      
      ; General preferences
      G90                              ; send absolute coordinates...
      M83                              ; ...but relative extruder moves
      M550 P"pt1"                		 ; set printer name
      
      ; Network
      M552 P0.0.0.0 S1                 ; enable network and acquire dynamic address via DHCP
      M586 P0 S1                       ; enable HTTP
      M586 P1 S1                       ; enable FTP
      M586 P2 S0                       ; disable Telnet
      
      M575 P1 B57600 S0				 ; disable checksum requirement on the panel due UART
      
      ; Drives
      M569 P0.1 S1 D3 V100             ; physical drive 0.1 goes forwards
      M569 P0.0 S0 D3 V100             ; physical drive 0.2 goes forwards
      M569 P0.3 S0 D3 V100             ; physical drive 0.3 goes backwards
      M569 P0.2 S1 D3 V100             ; physical drive 0.4 goes backwards
      
      M584 X0.3 Y0.0:0.2 Z0.1          ; set drive mapping
      M350 X16 Y16 Z16 I1              ; configure microstepping with interpolation
      
      M92 X666.67   Y666.67  Z1000.00     ; set steps per mm
      M566 X1000.00 Y1000.00 Z800.00   ; set maximum instantaneous speed changes (mm/min)
      M203 X4000.00 Y4000.00 Z4000.00  ; set maximum speeds (mm/min)
      M201 X400.00  Y400.00  Z400.00     ; set accelerations (mm/s^2)
      M906 X1500    Y1500    Z1100           ; set motor currents (mA) and motor idle factor in per cent
      
      ; Stall detection
      M915 X S1 R1 F1 H10;
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                 ; set axis minima
      M208 X150 Y100 Z55 S0            ; set axis maxima
      
      ; Endstops
      M574 X1 P"^io4.in"           ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !^io0.in
      M574 Y1 P"^io2.in+^io3.in"   ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin !^io1.in
      M574 Z1 P"^io1.in"           ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin !^io2.in
      
      ; Z-Probe
      M558 P0 H5 F120 T6000            ; disable Z probe but set dive height, probe speed and travel speed
      M557 X15:215 Y15:180 S20         ; define mesh grid
      
      ; Heaters
      M140 H-1                         ; disable heated bed (overrides default heater mapping)
      M950 C"out0" P0 ; setup laser to virtual outputpin 0
      
      ; Tools
      M563 P0 S"spindle"         ; define tool 0
      M453 ; switch to cnc mode
      
      T0                               ; select first tool
      

      And here is my homeall.g

      ; homez.g
      ; called to home the Z axis
      ;
      
      G54
      T-1 ; deselect tool
      
      G91;
      M17;
      G4 P100;
      G1 H2 X10 F4000;
      G4 P100;
      
      ; HOME Z
      G91              ; relative positioning
      G1 H1 Z-90 F2000 ; move Z down until the endstop is triggered
      G1 H2 Z3 F2000 ; move Z up a little
      G1 H1 Z-5 F200 ; move Z down until the endstop is triggered
      G92 Z0           ; set Z position to axis minimum (you may want to adjust this)
      G90
      G0 Z55 ; raise Z axis
      
      G91
      ; HOME X
      G1 H1 X-305 F2000 ; move quickly to X axis endstop and stop there (first pass)
      G1 H2 X5 F3000    ; go back a few mm
      G1 H1 X-305 F500  ; move slowly to X axis endstop once more (second pass)
      
      
      
      ; HOME Y
      G1 H1 Y-185 F2000 ; move quickly to Y axis endstop and stop there (first pass)
      G1 H2 Y5 F3000    ; go back a few mm
      G1 H1 Y-185 F500  ; move slowly to Y axis endstop once more (second pass)
      G90               ; absolute positioning
      
      G1 X80 Y50 Z30 F3000 ; Go to machine center
      
      

      The gcode I am running from SD for testing looks like this:

      G90
      G64
      M3 S12000
      
      G01 X20 Y50 Z0 F4000
      G01 X100 Y50 Z0 F4000
      ; Many more of these moves ...
      G01 X20 Y50 Z0 F4000
      G01 X100 Y50 Z0 F4000
      
      M5
      M0
      

      While the machine is moving, I am blocking the X axis with my hands, which makes an interesting sound when losing steps. After this, it just keeps going shifted by a few millimeter, no logs, no pausing, no execution of rehome.g (tried multiple R-parameters).

      What am I missing?

      posted in CNC
      thomas.weissundefined
      thomas.weiss

    Latest posts made by thomas.weiss

    • Speed limit stuck at 4000 mm / min?

      Hey,

      I built a small CNC with a 150x130 mm working area based on the Duet 3 Mini 5+ about a year ago. Back then, i limited the maximum speeds to 4000 mm/min using the M203 command in the config.g file.

      For a different application, I would like to increase it to 6000 mm / min. I changed the config (M203) to allow the higher speeds. For some reason though, a GCODE file with F4000 looks the same as F6000 while being processed by the machine. I can't spot a difference.

      I am using Nema17 motors with 200 steps/rev and a maximum current of 2500 mA. Is there anything else in some other file or setting that could still be limiting the maximum speed?

      This should be the relevant part from the config file.

      M569 P0.0 S1 D3                  ; physical drive 0.0 goes forwards
      M569 P0.1 S1 D3                  ; physical drive 0.1 goes forwards
      M569 P0.2 S0 D3                  ; physical drive 0.2 goes backwards
      M569 P0.3 S0 D3                  ; physical drive 0.3 goes backwards
      M584 X0.1 Y0.2:0.3 Z0.0          ; set drive mapping
      M350 X16 Y16 Z16 I1              ; configure microstepping with interpolation
      M92 X656.168 Y656.168 Z1007.874  ; set steps per mm
      M566 X1000.00 Y1000.00 Z800.00   ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z4000.00  ; set maximum speeds (mm/min)
      M201 X200.00 Y200.00 Z200.00     ; set accelerations (mm/s^2)
      M906 X2000 Y2000 Z1100           ; set motor currents (mA) and motor idle factor in per cent
      

      Any idea what it is that is still limiting the motor speeds? - They aren't losing steps.

      Thank you so much! 🙂

      Here is the full config if needed:

      ; Configuration file for Duet 3 Mini 5+ (firmware version 3.3)
      ; executed by the firmware on start-up
      ; generated by RepRapFirmware Configuration Tool v3.3.5 on Wed Nov 03 2021 10:22:11 GMT+0100 (Mitteleuropäische Normalzeit) 
      
      ; General preferences
      
      G90                              ; send absolute coordinates...
      M83                              ; ...but relative extruder moves
      M550 P"cnc"                      ; set printer name
      M551 P"reprap"			 ; Password - if set to reprad, webcontrol won't ask for it. Mainly used for FTP then
      
      ; Network
      M552 P0.0.0.0 S1                 ; enable network and acquire dynamic address via DHCP
      M586 P0 S1                       ; enable HTTP
      M586 P1 S1                       ; enable FTP
      M586 P2 S0                       ; disable Telnet
      M575 P1 B57600 S0		 ; disable check-sums for UART communication
      
      ; Drives					
      M569 P0.0 S1 D3                  ; physical drive 0.0 goes forwards
      M569 P0.1 S1 D3                  ; physical drive 0.1 goes forwards
      M569 P0.2 S0 D3                  ; physical drive 0.2 goes backwards
      M569 P0.3 S0 D3                  ; physical drive 0.3 goes backwards
      M584 X0.1 Y0.2:0.3 Z0.0          ; set drive mapping
      M350 X16 Y16 Z16 I1              ; configure microstepping with interpolation
      M92 X656.168 Y656.168 Z1007.874  ; set steps per mm
      M566 X1000.00 Y1000.00 Z800.00   ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z3000.00  ; set maximum speeds (mm/min)
      M201 X200.00 Y200.00 Z200.00     ; set accelerations (mm/s^2)
      M906 X2000 Y2000 Z1100           ; set motor currents (mA) and motor idle factor in per cent
      
      ; Axis Limits
      M208 X0 Y0 Z-55 S1               ; set axis minima
      M208 X150 Y130 Z20 S0            ; set axis maxima
      
      ; Endstops
      M574 X2 P"!^io5.in" S1           ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !^io0.in
      M574 Y1 P"!^io2.in+!^io3.in" S1  ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin !^io1.in
      M574 Z2 P"!^io1.in" S1           ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin !^io2.in
      
      ; Spindle
      M950 R0 C"nil+io4.out" L20000
      M563 P0 S"spindle" R0; define tool 0
      
      ; Z-Probe
      M558 P0 H5 F120 T6000            ; disable Z probe but set dive height, probe speed and travel speed
      M557 X15:215 Y15:180 S20         ; define mesh grid
      
      ; Misc
      M140 H-1                         ; disable heated bed (overrides default heater mapping) 
      G10 X0 Y0 Z0 P0
      M453 ; switch to cnc mode
      T0                               ; select first tool
      
      posted in Tuning and tweaking
      thomas.weissundefined
      thomas.weiss
    • RE: Motors "hissing" in idle after 3.4.0rc2

      @thomas-weiss For anyone reading. Seems like the duet3 mini 5+ not defaulting to stealthchop anymore was the problem.

      Adding a D3 to each M569 setting up the motors resolved the hissing sound.

      If I missed anything that I should be doing, please let me know. 🙂

      posted in Firmware installation
      thomas.weissundefined
      thomas.weiss
    • Motors "hissing" in idle after 3.4.0rc2

      Hey,

      we've been running a small CNC on firmware 3.3 for a couple of weeks without any major problems. Today I updated the Duet 3 mini 5+ to 3.4.0rc2.

      From a functionality point of view, everything works fine, but while idle, the motors make an extremely loud "hissing" sound (a bit like "gas leaking"). This sound was also there while on 3.3, but it was barely noticeable even with an ear within a couple of centimeters from the motors. Now it's clearly audible all across the room.

      The only thing I found in the changelogs that could be related to this is this entry:

      [Duet 3 Mini] [Duet Maestro] The stepper drivers no longer default to stealthchop mode, because of the risk of excessive motor current if the correct tuning move is not executed
      

      If this is causing the sounds, what would I need to change exactly to get back to the old behaviour? Add a 3 to each M569?

      Here is our motor data:
      alt text

      Did anything change with 3.4 that could lead to this? We didn't do any changes to the config etc.

      Still - here is our config:

      ; Configuration file for Duet 3 Mini 5+ (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.5 on Wed Nov 03 2021 10:22:11 GMT+0100 (Mitteleuropäische Normalzeit) 
      
      ; General preferences
      
      M929 P"eventlog.txt" S1
      
      G90                              ; send absolute coordinates...
      M83                              ; ...but relative extruder moves
      M550 P"CNC"                  ; set printer name
      
      ; Network
      M552 P0.0.0.0 S1                 ; enable network and acquire dynamic address via DHCP
      M586 P0 S1                       ; enable HTTP
      M586 P1 S1                       ; enable FTP
      M586 P2 S0                       ; disable Telnet
      
      M575 P1 B57600 S0				 ; disable check-sums for UART communication
      
      ; Drives						 ; X:1 Y:2/3 Z:0
      M569 P0.0 S1                     ; physical drive 0.0 goes forwards
      M569 P0.1 S1                     ; physical drive 0.1 goes forwards
      M569 P0.2 S0                     ; physical drive 0.2 goes backwards
      M569 P0.3 S0                     ; physical drive 0.3 goes backwards
      
      M584 X0.1 Y0.2:0.3 Z0.0              ; set drive mapping
      M350 X16 Y16 Z16 I1              ; configure microstepping with interpolation
      
      M92 X656.168 Y656.168 Z1007.874  ; set steps per mm
      M566 X1000.00 Y1000.00 Z800.00   ; set maximum instantaneous speed changes (mm/min)
      M203 X3000.00 Y3000.00 Z3000.00  ; set maximum speeds (mm/min)
      M201 X200.00 Y200.00 Z200.00     ; set accelerations (mm/s^2)
      M906 X950 Y900 Z900              ; Lower motor currents
      
      ; Axis Limits
      M208 X0 Y0 Z-55 S1                 ; set axis minima
      M208 X150 Y130 Z20 S0            ; set axis maxima
      
      ; Endstops
      M574 X2 P"!^io5.in" S1       ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !^io0.in
      M574 Y1 P"!^io2.in+!^io3.in" S1   ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin !^io1.in
      M574 Z2 P"!^io1.in" S1        ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin !^io2.in
      
      ; Spindle
      M950 R0 C"nil+io4.out" L20000
      M563 P0 S"spindle" R0; define tool 0
      
      ; Laser
      M950 P9 C"out6"
      M42 P9 S0 ;Turn off laser
      
      ; Z-Probe
      M558 P0 H5 F120 T6000            ; disable Z probe but set dive height, probe speed and travel speed
      M557 X15:215 Y15:180 S20         ; define mesh grid
      
      ; Misc
      M140 H-1                         ; disable heated bed (overrides default heater mapping) 
      G10 X0 Y0 Z0 P0
      M453 ; switch to cnc mode
      T0                               ; select first tool
      
      posted in Firmware installation
      thomas.weissundefined
      thomas.weiss
    • RE: Echo output to file - expected expression

      @jay_s_uk I see - you are right. Echo to file was added in 3.4, an update should solve this. Thank you!

      Sadly, we'll need our prototype for a presentation in the upcoming days and I don't want to risk that a firmware update changes or breaks any functionality that we already implemented.

      Might have to go without this function for now.

      posted in Gcode meta commands
      thomas.weissundefined
      thomas.weiss
    • Echo output to file - expected expression

      Hey,

      I am trying to programmaticlly store a command in a macro file (from a macro file), but I'm having problems with both ways of achieving this:
      The goal is to write a G10 L20 Z{variable} into a macro file.

      Option A - M28

      var z_offset = move.axes[2].machinePosition * -1
      echo "G10 L20 Z"{var.z_offset}
      M30 "0:/macros/Experimental/apply_z_offset" ; First delete the old file
      M28 "0:/macros/Experimental/apply_z_offset" ; Create a new one
      G10 L20 Z{var.z_offset}
      M29
      

      The first echo outputs exactly what I want to be written into the apply_z_offset file: "G10 L20 Z5.000"
      The file itself now holds this line - it doesn't write the variables content:

      G10 L20 Z{var.z_offset}
      

      Option B - echo>
      I've seen people having similar problems that got solved by writing to the file via echo ><filename> <expression>

      var z_offset = move.axes[2].machinePosition * -1
      echo >"0:/macros/Experimental/apply_z_offset" "G10 L20 Z"^{var.z_offset}
      

      This gives me a "Error: meta command: expected an expression"

      I tried the echo to file alone in different variations, but I am still getting the same error:

      • echo >"0:/testfile.g" "Hello World"
      • echo >"0:/testfile.g" {"Hello World"}
      • echo >"0:/testfile.g" 1
      • echo >"0:/testfile.g" {move.axes[2].machinePosition}

      What am I doing wrong here? Any ideas?

      Firmware: RepRapFirmware for Duet 3 Mini 5+ 3.3RC2 (2021-05-11)
      
      posted in Gcode meta commands
      thomas.weissundefined
      thomas.weiss
    • RE: M915 not triggering under any circumstances

      @dc42 Thats pretty interesting. Through changing the delay and also lowering the V parameter, I am slowly starting to get stalls detected (interestingly, it's now audibly skipping steps by itself in some situations where it wasn't before).

      So ... as soon as my driver switches over to spreadcycle, I can't detect any more stalls (by design). This means, that I would need to lower the M569 Vnnn until M569 P0.3 gives me a mm/s value that's higher than my fastest milling speed so it'll stay in stealthchop.

      I tried lowering the V parameter before, which made the whole machine incredibly loud and shaky.

      So technically: I need to decide if I want stall detection on a loud, shaky, slow machine (stealthchop) or use spreadcycle but lose the ability for stall detection?

      Alright. I just did some testing. Setting M569 to V20-V50 makes it trigger stalls, but the motors seem to be incredibly weak and loud even at 2200 mA current. They are basically just stalling themselves in an aircut without doing any actual milling.

      posted in CNC
      thomas.weissundefined
      thomas.weiss
    • RE: M915 not triggering under any circumstances

      @dc42

      23.2.2022, 13:08:12	M569 P0.3
          Drive 3 runs in reverse, active low enable, timing fast, mode stealthChop, ccr 0x00053, toff 3, tblank 0, tpwmthrs 100 (11.2 mm/sec), pwmScaleSum 22, pwmScaleAuto 3, pwmOfsAuto 41, pwmGradAuto 12, pos 168
      23.2.2022, 13:08:11	M569 P0.2
          Drive 2 runs forwards, active low enable, timing fast, mode stealthChop, ccr 0x00053, toff 3, tblank 0, tpwmthrs 100 (11.2 mm/sec), pwmScaleSum 46, pwmScaleAuto 0, pwmOfsAuto 100, pwmGradAuto 27, pos 168
      23.2.2022, 13:08:10	M569 P0.1
          Drive 1 runs forwards, active low enable, timing fast, mode stealthChop, ccr 0x00053, toff 3, tblank 0, tpwmthrs 100 (7.5 mm/sec), pwmScaleSum 35, pwmScaleAuto 1, pwmOfsAuto 91, pwmGradAuto 30, pos 24
      23.2.2022, 13:08:04	M569 P0.0
          Drive 0 runs in reverse, active low enable, timing fast, mode stealthChop, ccr 0x00053, toff 3, tblank 0, tpwmthrs 100 (11.2 mm/sec), pwmScaleSum 43, pwmScaleAuto 1, pwmOfsAuto 90, pwmGradAuto 24, pos 680
      

      Those are P0.0 to 0.3. So it's 11.2mm/s for X and Y and 7.5 mm/s for Z.

      What are those speeds exactly?

      (I'll switch the delay to 150 then - thanks!)

      posted in CNC
      thomas.weissundefined
      thomas.weiss
    • RE: M915 not triggering under any circumstances

      Since I can't edit my last post anymore...

      For the M915 I tried H-paramter from 1 - 400 and S parameters from -50 to 50.

      With the following setup I got the only warning overall but I wasn't able to reproduce it at all anymore.

      Warning: Driver(s) 3 stalled at Z height 0.00
      

      Herer is my current config.g

      ; Configuration file for Duet 3 Mini 5+ (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.5 on Wed Nov 03 2021 10:22:11 GMT+0100 (Mitteleuropäische Normalzeit)
      
      ; Enable eventlogging
      M929 P"eventlog.txt" S1
      
      ; General preferences
      G90                              ; send absolute coordinates...
      M83                              ; ...but relative extruder moves
      M550 P"pt1"                		 ; set printer name
      
      ; Network
      M552 P0.0.0.0 S1                 ; enable network and acquire dynamic address via DHCP
      M586 P0 S1                       ; enable HTTP
      M586 P1 S1                       ; enable FTP
      M586 P2 S0                       ; disable Telnet
      
      M575 P1 B57600 S0				 ; disable checksum requirement on the panel due UART
      
      ; Drives
      M569 P0.1 S1 D3 V100             ; physical drive 0.1 goes forwards
      M569 P0.0 S0 D3 V100             ; physical drive 0.2 goes forwards
      M569 P0.3 S0 D3 V100             ; physical drive 0.3 goes backwards
      M569 P0.2 S1 D3 V100             ; physical drive 0.4 goes backwards
      
      M584 X0.3 Y0.0:0.2 Z0.1          ; set drive mapping
      M350 X16 Y16 Z16 I1              ; configure microstepping with interpolation
      
      M92 X666.67   Y666.67  Z1000.00     ; set steps per mm
      M566 X1000.00 Y1000.00 Z800.00   ; set maximum instantaneous speed changes (mm/min)
      M203 X4000.00 Y4000.00 Z4000.00  ; set maximum speeds (mm/min)
      M201 X400.00  Y400.00  Z400.00     ; set accelerations (mm/s^2)
      M906 X1500    Y1500    Z1100           ; set motor currents (mA) and motor idle factor in per cent
      
      ; Stall detection
      M915 X S1 R1 F1 H10;
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                 ; set axis minima
      M208 X150 Y100 Z55 S0            ; set axis maxima
      
      ; Endstops
      M574 X1 P"^io4.in"           ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !^io0.in
      M574 Y1 P"^io2.in+^io3.in"   ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin !^io1.in
      M574 Z1 P"^io1.in"           ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin !^io2.in
      
      ; Z-Probe
      M558 P0 H5 F120 T6000            ; disable Z probe but set dive height, probe speed and travel speed
      M557 X15:215 Y15:180 S20         ; define mesh grid
      
      ; Heaters
      M140 H-1                         ; disable heated bed (overrides default heater mapping)
      M950 C"out0" P0 ; setup laser to virtual outputpin 0
      
      ; Tools
      M563 P0 S"spindle"         ; define tool 0
      M453 ; switch to cnc mode
      
      T0                               ; select first tool
      

      And here is my homeall.g

      ; homez.g
      ; called to home the Z axis
      ;
      
      G54
      T-1 ; deselect tool
      
      G91;
      M17;
      G4 P100;
      G1 H2 X10 F4000;
      G4 P100;
      
      ; HOME Z
      G91              ; relative positioning
      G1 H1 Z-90 F2000 ; move Z down until the endstop is triggered
      G1 H2 Z3 F2000 ; move Z up a little
      G1 H1 Z-5 F200 ; move Z down until the endstop is triggered
      G92 Z0           ; set Z position to axis minimum (you may want to adjust this)
      G90
      G0 Z55 ; raise Z axis
      
      G91
      ; HOME X
      G1 H1 X-305 F2000 ; move quickly to X axis endstop and stop there (first pass)
      G1 H2 X5 F3000    ; go back a few mm
      G1 H1 X-305 F500  ; move slowly to X axis endstop once more (second pass)
      
      
      
      ; HOME Y
      G1 H1 Y-185 F2000 ; move quickly to Y axis endstop and stop there (first pass)
      G1 H2 Y5 F3000    ; go back a few mm
      G1 H1 Y-185 F500  ; move slowly to Y axis endstop once more (second pass)
      G90               ; absolute positioning
      
      G1 X80 Y50 Z30 F3000 ; Go to machine center
      
      

      The gcode I am running from SD for testing looks like this:

      G90
      G64
      M3 S12000
      
      G01 X20 Y50 Z0 F4000
      G01 X100 Y50 Z0 F4000
      ; Many more of these moves ...
      G01 X20 Y50 Z0 F4000
      G01 X100 Y50 Z0 F4000
      
      M5
      M0
      

      While the machine is moving, I am blocking the X axis with my hands, which makes an interesting sound when losing steps. After this, it just keeps going shifted by a few millimeter, no logs, no pausing, no execution of rehome.g (tried multiple R-parameters).

      What am I missing?

      posted in CNC
      thomas.weissundefined
      thomas.weiss
    • RE: M915 not triggering under any circumstances

      @dc42 Alright. Enabling motors with a M17, waiting for 100ms , then moving by 10mm with F4000. I included this right at the start of my homing files.

      M17;
      G4 P100;
      G1 H2 X10 F4000;
      

      I changed the V10 into a V100. Now the motor movements sound good again, but still - absolutely no hint of a stall detection triggering when I tun a job and press my hand against the carriage until it loses sterps.

      Can I somehow see if the stealthchop tuning move was "detected" and that it's actually trying to listen for stalls?

      Little update - this seemed to help a tiny bit. I also made a testfile that moves left and right with F4000. I managed to get a warning for driver 3 stalling, but haven't been able to get another one with the next hour of trying. This warning just randomly popped up.

      posted in CNC
      thomas.weissundefined
      thomas.weiss
    • RE: M915 not triggering under any circumstances

      @dc42 So I did more research and found one of your replies from Dec. 2020 where you explain the stealth chop tuning move:

      It reads:

      • Execute a tiny move (1 or 2 microsteps) away from the homing direction.
      • Pause for 100ms using G4.
      • Execute a small move away from the homing direction, e.g. 10mm.
      • Execute the homing move.

      Trying to adapt this, I edited my homex.g file to like this:

      ; HOME X
      G91
      G1 H2 X0.05       ;(StealthChop tuning) Tiny move away from homing direction
      G4 100            ;(StealthChop tuning) Wait 100 ms
      G1 H2 X10         ;(StealthChop tuning) Smaller move away from homing direction
      G1 H1 X-305 F2000 ;Move quickly to X axis endstop and stop there (first pass)
      G1 H2 X5 F3000    ;Go back a few mm
      G1 H1 X-305 F500  ;Move slowly to X axis endstop once more (second pass)
      

      Apart from the usual configuration, my config.g includes these commands:

      M569 P0.1 S1 D3 V10              ; physical drive 0.1 goes forwards
      M569 P0.0 S0 D3 V10              ; physical drive 0.2 goes forwards
      M569 P0.3 S0 D3 V10              ; physical drive 0.3 goes backwards
      M569 P0.2 S1 D3 V10              ; physical drive 0.4 goes backwards
      M584 X0.3 Y0.0:0.2 Z0.1          ; set drive mapping
      M350 X16 Y16 Z16 I1              ; configure microstepping with interpolation
      
      M92 X666.67 Y666.67 Z1000.00     ; set steps per mm
      M566 X1000.00 Y1000.00 Z800.00   ; set maximum instantaneous speed changes (mm/min)
      M203 X3000.00 Y3000.00 Z3000.00  ; set maximum speeds (mm/min)
      M201 X300.00 Y300.00 Z200.00     ; set accelerations (mm/s^2)
      M906 X1500 Y1500 Z1100           ; set motor currents (mA) and motor idle factor in per cent
      
      M915 X S1 R2 F0 H200;            ; Enable stall detection
      

      With this setup (M569 with V10), the machine sounds totally different / vibrating while moving. It also kind of stalls itself (without M915 reacting) at currents that worked perfectly fine before (with M569 at V100 for example). I expect that this means, that it's in stealthchop now and doesn't switch to spreadcycle which in return wouldn't allow stall detection, right?

      My expected outcome would be standard homing with hardware switches, start a job from the SD card, make the X motor lose steps manually, have M915 trigger a pause (R2).

      What am I missing? It's like stall detection doesn't exist.

      posted in CNC
      thomas.weissundefined
      thomas.weiss