Two identical printers - different print speeds



  • This is not a concern or a problem - just a bit of a curiosity.

    I have two (nearly) identical printers, both have been upgraded to Duet2 Wifi boards. Raise3D N2, and an N2+. The plus just has a taller Z stage.

    I ran a batch of parts on each printer - the same GCODE file. I had a first-layer issue on the N2+ and needed to clean the plate, so it started the build about 6 minutes after the N2.

    It was a 24 hour build. By the end of the build the N2+ was about 5 minutes ahead of the N2. I would have expected them to run at exactly the same speed.

    The explanation that comes to mind is a small difference in clock speeds on the two boards. Would that explain a 10 minute difference in build times between the two machines? What else might it be? Both machines were fully up to temp before starting the prints, so heating times do not apply.



  • Please Post both config.g



  • @zemlin and please post both M122 after the print. This will show you statistics.



  • @PCR said in Two identical printers - different print speeds:

    Please Post both config.g

    N2

    ; Configuration file for Duet WiFi (firmware version 2.03)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Mon May 11 2020 07:37:21 GMT-0400 (Eastern Daylight Time)
    
    ; General preferences
    M501						   ; process config-override.g
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"N2"                                         ; set printer name
    
    ; Network
    M552 S1                                            ; enable network
    M586 P0 S1                                         ; enable HTTP
    M586 P1 S0                                         ; disable FTP
    M586 P2 S0                                         ; disable Telnet
    
    ; Drives
    M569 P0 S0                                         ; physical drive 0 goes backwards
    M569 P1 S0                                         ; physical drive 1 goes backwards
    M569 P2 S1                                         ; physical drive 2 goes forwards
    M569 P3 S1                                         ; physical drive 3 goes forwards
    M569 P4 S0                                         ; physical drive 4 goes backwards
    M584 X0 Y1 Z2 E3:4                                 ; set drive mapping
    M350 X16 Y16 Z16 E16:16 I1                         ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z800.00 E415.00:415.00           ; set steps per mm
    M566 X400.00 Y400.00 Z100.00 E400.00:400.00        ; set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z1200 E1200:1200                ; set maximum speeds (mm/min)
    M201 X2000 Y2000 Z250 E25000:25000                 ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800:800 I30                   ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                            ; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y-13 Z0 S1                                 ; set axis minima
    M208 X305 Y305 Z305 S0                             ; set axis maxima
    
    ; Endstops
    M574 X1 Y1 S0                                      ; set active low and disabled endstops
    M574 Z1 S2                                         ; set endstops controlled by probe
    
    ; Z-Probe
    M307 H3 A-1 C-1 D-1                                ; disable heater on PWM channel for BLTouch
    M558 P9 H2 F60 T6000                              ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X12.5 Y51.05 Z3.5                         ; set Z probe trigger value, offset and trigger height
    M557 X25:275 Y50:300 S50                           ; define mesh grid
    
    ; Heaters
    M307 H0 B1                                         ; bang-bang mode for the bed heater
    M305 P0 X200                                       ; configure PT100 for heater 0
    M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
    M305 P1 X152                                       ; configure thermocouple for heater 1
    M143 H1 S310                                       ; set temperature limit for heater 1 to 310C
    M305 P2 X153                                       ; configure thermocouple for heater 2
    M143 H2 S310                                       ; set temperature limit for heater 2 to 310C
    
    ; Fans
    M106 P0 S0 I0 F500 H-1                             ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S0 I0 F500 H1:2 T40                        ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S0 I0 L0.4 X1.0 B1 F30 H100 T40:65         ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Tools
    M563 P0 D0 H1 F0                                   ; define tool 0
    G10 P0 X0 Y0 Z0                                    ; set tool 0 axis offsets
    G10 P0 R0 S0                                       ; set initial tool 0 active and standby temperatures to 0C
    M563 P1 D1 H2 F0                                   ; define tool 1
    G10 P1 X0 Y0 Z0                                    ; set tool 1 axis offsets
    G10 P1 R0 S0                                       ; set initial tool 1 active and standby temperatures to 0C
    
    ; Custom settings
    M591 D0 P1 C4 S1	         		   ; filament runout sensor EXT 0, Low=Filament Present, endstop 1
    
    ; Miscellaneous
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    M501
    
    

    N2+

    ; Configuration file for Duet WiFi (firmware version 2.03)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Mon May 11 2020 07:37:21 GMT-0400 (Eastern Daylight Time)
    
    ; General preferences
    M501						   ; process config-override.g
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"N2+"                                        ; set printer name
    
    ; Network
    M552 S1                                            ; enable network
    M586 P0 S1                                         ; enable HTTP
    M586 P1 S0                                         ; disable FTP
    M586 P2 S0                                         ; disable Telnet
    
    ; Drives
    M569 P0 S0                                         ; physical drive 0 goes backwards
    M569 P1 S0                                         ; physical drive 1 goes backwards
    M569 P2 S1                                         ; physical drive 2 goes forwards
    M569 P3 S1                                         ; physical drive 3 goes forwards
    M569 P4 S0                                         ; physical drive 4 goes backwards
    M584 X0 Y1 Z2 E3:4                                 ; set drive mapping
    M350 X16 Y16 Z16 E16:16 I1                         ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z800.00 E415.00:415.00           ; set steps per mm
    M566 X400.00 Y400.00 Z100.00 E400.00:400.00 P1     ; set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z1200 E1200:1200                ; set maximum speeds (mm/min)
    M201 X2000 Y2000 Z250 E25000:25000                 ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800:800 I30                   ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                            ; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y-13 Z0 S1                                 ; set axis minima
    M208 X305 Y305 Z608 S0                             ; set axis maxima
    
    ; Endstops
    M574 X1 Y1 S0                                      ; set active low and disabled endstops
    M574 Z1 S2                                         ; set endstops controlled by probe
    
    ; Z-Probe
    M307 H3 A-1 C-1 D-1                                ; disable heater on PWM channel for BLTouch
    M558 P9 H2 F60 T6000                               ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X12.5 Y51.05 Z3.5                         ; set Z probe trigger value, offset and trigger height
    M557 X25:275 Y50:300 S50                           ; define mesh grid
    
    ; Heaters
    M307 H0 B1                                         ; bang-bang mode for the bed heater
    M305 P0 X200                                       ; configure PT100 for heater 0
    M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
    M305 P1 X152                                       ; configure thermocouple for heater 1
    M143 H1 S310                                       ; set temperature limit for heater 1 to 310C
    ; M305 P2 X153                                     ; configure thermocouple for heater 2
    ; M143 H2 S310                                     ; set temperature limit for heater 2 to 310C
    
    ; Fans
    M106 P0 S0 I0 F500 H-1                             ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S0 I0 F500 H1:2 T40                        ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S0 I0 L0.4 X1.0 B1 F30 H100 T40:65         ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Tools
    M563 P0 D0 H1 F0                                   ; define tool 0
    G10 P0 X0 Y0 Z0                                    ; set tool 0 axis offsets
    G10 P0 R0 S0                                       ; set initial tool 0 active and standby temperatures to 0C
    ; M563 P1 D1 H2 F0                                 ; define tool 1
    ; G10 P1 X0 Y0 Z0                                  ; set tool 1 axis offsets
    ; G10 P1 R0 S0                                     ; set initial tool 1 active and standby temperatures to 0C
    
    ; Custom settings
    M591 D0 P1 C4 S1	         		   ; filament runout sensor EXT 0, Low=Filament Present, endstop 1
    
    ; Miscellaneous
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    M501
    
    

    I don't need to run these jobs again, and don't care enough to burn up two spools of material to get stats. I do have bed meshing enabled, so that might account for something.



  • @zemlin said in Two identical printers - different print speeds:

    I don't need to run these jobs again, and don't care enough to burn up two spools of material to get stats. I d

    if you print something two times again, you can do it.

    Bed Meshing is a possible explanation, if the beds differ (which they probably do), so more Z movements necessary to one of them. If you have the heightmaps of the two printers, you can comprare which one is more uneven.

    A higher voltage could result in faster steppers also. But voltage is reported in M122 also.



  • @JoergS5

    Thanks for your thoughts. It will be a while before I can do a meaningful test on these, as I am in the process of updating one of the machines to RRF3 - so no longer identical.



  • If you run both of them in simulation mode, do they think they did it in the same time? If they think it is the same time, one of the quartz oscillators is way out of spec. Otherwise, the bed level suggestion is significant. Try simulating on both printers with leveling on and off. Unfortunately, even simulating that long a print takes a while, but doesn't use anything up.



  • @zemlin said in Two identical printers - different print speeds:

    N2
    M566 X400.00 Y400.00 Z100.00 E400.00:400.00 ; set maximum instantaneous speed changes (mm/min)
    N2+
    M566 X400.00 Y400.00 Z100.00 E400.00:400.00 P1 ; set maximum instantaneous speed changes (mm/min)

    I found the following from M566 Gcode-Duet3D. N2 uses the default policy 0 and N2+ uses policy 1. This could account for some small differences in speed.

    The default jerk policy is 0, which replicates the behaviour of earlier versions of RRF (jerk is only applied between two printing moves, or between two travel moves, and only if they both involve XY movement or neither does). Changing the jerk policy to 1 allows jerk to be applied between any pair of moves.


  • Moderator

    @3dML Yup that would do it.



  • @3dML Good catch. I added that P1 trying to debug another issue and forgot it was there.


Log in to reply