Requested speed is not reached



  • Hi there,

    i try to optimize my print quality and print speed. So in S3D i include a script which changes acceleration and jerk for specific features like outline and infill...

    here is the script:

    {REPLACE "; feature inner perimeter" "; inner perimeter\nM201 X3000 Y3000\nM205 X20 Y20"}
    {REPLACE "; feature outer perimeter" "; outer perimeter\nM201 X500 Y500\nM205 X7 Y7"}
    {REPLACE "; feature solid layer" "; solid layer\nM201 X1500 Y1500\nM205 X10 Y10"}
    {REPLACE "; feature infill" "; infill\nM201 X18000 Y18000\nM205 X30 Y30"}
    {REPLACE "; feature support" "; support\nM201 X1500 Y1500\nM205 X20 Y20"}

    the slow down parts work perfectly but i want to speed up the infill part. You can see i set up very high values for infill (bold line)

    But in duet web control the requested speed (60mm/s) is not reached. It only prints at 30mm/s. I also tried a print without the script and the speed for infill is also only 30mm/s. So how to speed it up? The speed in S3D is also 60mm/s for infill....

    thank you



  • @puddingbaer91 It sounds like you have M203 maximum speed (feedrate) set low (probably to 1800mm/minute) somewhere - most likely in config.g but check the gcode file to see if there are any M203 commands generated by the slicer. Also be aware that any print move will take place at the lowest speed of either X, Y or E so if your extruder speed is set too low, that will also limit the speed.



  • @puddingbaer91 said in Requested speed is not reached:

    M205 X7 Y7

    also duet uses mm/min not mm/sec


  • administrators

    @veti said in Requested speed is not reached:

    @puddingbaer91 said in Requested speed is not reached:

    M205 X7 Y7

    also duet uses mm/min not mm/sec

    Actually in M205 it's mm/sec for compatibility with Marlin. It's mm/min in M566.



  • here are the speed settings from my config.g

    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80.46 Y80.46 Z400 E336 ; Set steps per mm
    M566 X1200 Y1200 Z24 E300 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z2400 E2700 ; Set maximum speeds (mm/min)
    M201 X3000 Y3000 Z100 E3000 ; Set accelerations (mm/s^2)
    M906 X1200 Y1200 Z1200 E1200 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    in the gcode file there is no M203 command.
    May it have to do with pressure advance enabled?



  • Can you post the Gcode file in question so we can see what it's trying to do?

    What print speed have you set in the slicer?


  • administrators

    @puddingbaer91 said in Requested speed is not reached:

    May it have to do with pressure advance enabled?

    When you use pressure advance, the acceleration used for moves with extrusion may be constrained by the extruder jerk setting, because extruder acceleration requires extruder jerk as well. Your extruder jerk setting is 300mm/min which is 5mm/sec. If your pressure advance is set to (for example) 0.2sec then the maximum extruder acceleration allowed is 5/0.2 = 25mm/sec^2.



  • my pressure advance value is: M572 D0 S1.624 so my extruder acceleration is about 3mm/sec^2 right? So to speed up the print i have to higher the extruder jerk?

    thank you



  • @puddingbaer91 said in Requested speed is not reached:

    higher the extruder jerk?

    Try M556 M566 E3000



  • thank you i will try tomorrow



  • @puddingbaer91 said in Requested speed is not reached:

    .........................my pressure advance value is: M572 D0 S1.624 .........................

    S1.624! Seriously?



  • @deckingman said in Requested speed is not reached:

    S1.624! Seriously?

    for when you have a bowden length of 5km ☺

    joking aside. what is your bowden length. values that high are actually starting to become counter productive. as you are seeing it slows down your print speed.



  • @dc42 said in Requested speed is not reached:

    Actually in M205 it's mm/sec for compatibility with Marlin. It's mm/min in M566.

    my bad. mm/sec for marlin and mm/min for duet is what sticks in my mind.
    for the duet i always think of M566 for the jerk.


  • administrators

    @phaedrux said in Requested speed is not reached:

    @puddingbaer91 said in Requested speed is not reached:

    higher the extruder jerk?

    Try M556 E3000

    I presume you meant M566 E3000.



  • bowden length is about 700mm and i have done the calibration to find the value. With this value i get good results



  • @puddingbaer91 I would suggest that with a pressure advance value of 1.624, the extruder probably spends as much time going backwards as it does going forwards, which s why you'll never be able to print at much more than 30mm/sec.



  • @puddingbaer91 They is something wrong with you machine or calibration procedure. My bowden is too about ~70cm and I only need 0.1 pressure advance.



  • @deckingman said in Requested speed is not reached:

    @puddingbaer91 said in Requested speed is not reached:

    .........................my pressure advance value is: M572 D0 S1.624 .........................

    S1.624! Seriously?

    hey deckingman instead of only talking: how could i reduce the value? I have done the calibration posted here in duet forum and ended with this. So please tell me how to reduce 😉



  • You need to post more details of you printer and maybe some photos of it and the calibration process.



  • okay here we go:

    originally it was a TronXY X5S (coreXY) but i converted it to ultimaker machanics (cross slider) only thing that is original are some extrusions. Print area is about 330x330x350mm. The z-axis is driven by one motor coupled with a belt. Extruder is a geared ultimaker clone with double wheels. Also had a bondtech extruder but with this i also need these high values.

    config.g: (config.g override contains only PID settings)

    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Wed Oct 24 2018 17:07:50 GMT+0200 (Mitteleuropäische Sommerzeit)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    M667 S0 ; Select Cartesian mode (Select CoreXY mode with S1)

    ; Network
    M550 PTronMakerXY ; Set machine name
    M552 S1 ; Enable network
    M587 S"Fox 7390" P"" I192.168.1.69 J192.168.1.1 K255.255.255.0 ; Configure access point and IP addresses. You can delete this line once connected
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S0 ; Drive 0 goes backwards DD S1
    M569 P1 S1 ; Drive 1 goes backwards DD S1
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes backwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80.46 Y80.46 Z400 E336 ; Set steps per mm (for pencake motor with bondtech: 830)
    M566 X1200 Y1200 Z24 E3000 ; Set maximum instantaneous speed changes (mm/min) M566 X1200 Y1200 Z24 E300 gut: M566 X480 Y480 Z24 E300
    M203 X18000 Y18000 Z2400 E2700 ; Set maximum speeds (mm/min)
    M201 X3000 Y3000 Z100 E3000 ; Set accelerations (mm/s^2) M201 X3000 Y3000 Z100 E3000 gut: M201 X800 Y800 Z100 E3000
    M906 X1200 Y1200 Z1200 E1200 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X330 Y330 Z370 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y1 S0 ; Set active low endstops

    ; Z-Probe
    M574 Z1 S2 ; Set endstops controlled by probe
    M307 H3 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch
    M558 P9 H5 F120 T6000 ; Set Z probe type to bltouch and the dive height + speeds
    G31 P25 X0 Y-24 Z0.75 ; Set Z probe trigger value, offset and trigger height // Verringern von Z entfernt Bett von der Duese!
    M557 X30:315 Y30:310 S59 ; Define mesh grid

    ; Heaters
    M305 P0 T100000 B4138 C0 R4700 X2 ; Set thermistor + ADC parameters for heater 0 and remap it to channel 2
    M143 H0 S80 ; Set temperature limit for heater 0 to 80C
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S250 ; Set temperature limit for heater 1 to 250C

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 S"Extruder" ; Define tool 0
    G10 P0 X5 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    ; Automatic power saving
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss

    ; Custom settings are not configured
    ;M671 X20:295:20:295:170:170 Y10:305:305:10:10:305 P8 ; adjusting screws at rear left (-15,190), front middle (100,-10) and rear right (215,190), thread pitch 8mm
    ;M572 D0 S0.268 ; Set pressure control for direct drive with bondtech
    M572 D0 S1.624 ; Set pressure control for bowden with sanjiu
    ;M307 H1 A459.4 C167.2 D4.1 ; PID for Extruder
    ;M307 H0 A101.4 C1123.0 D10.0 B0 ; PID for Bed
    ;M592 D0 A0.015 B0.0012 L0.2 ; Nonlinear adjustment
    M591 D1 P1 C4 S1 ; Enable E1 Endstop for filament run out detection
    M581 E1 S0 T1 ; invoke trigger 1 when a falling edge is detected on the E1 endstop input
    ;M929 P"eventlog.txt" S1 ; start logging to file eventlog.txt
    ;M200 D1.75 ; set all extruder filament diameters to 1.75mm
    ;M207 S1.0 F2400 ; set firmware retraction 1mm with 40mm/s

    For calibration i used this: https://forum.duet3d.com/topic/6698/pressure-advance-calibration with these settings:

    #!/usr/local/bin/python

    extrusion parameters (mm)

    extrusion_width = 0.48
    layer_height = 0.2
    filament_diameter = 1.75

    print speeds (mm/s)

    travel_speed = 120
    first_layer_speed = 20
    slow_speed = 5
    fast_speed = 60

    calibration object dimensions (mm)

    layers = 100
    object_width = 90
    num_patterns = 4
    pattern_width = 5

    pressure advance gradient (s)

    pressure_advance_min = 0.0
    pressure_advance_max = 0.4

    center of print bed (mm)

    offset_x = 165
    offset_y = 165

    after getting not good results i changed pa value min to 0.4 and pa value max to 0.8 and reprinted the test and so on..
    here is a picture with pa value from 0 to 0.4:
    https://photos.app.goo.gl/98dehNVkQ2d4naaP9

    these test are with values around 1.6:
    https://photos.app.goo.gl/h2qjDT6DFwfBaw3y5
    the right one is the final where all segments (slow and fast speed) have nearly the same wall thickness

    here are some pictures from the printer:
    https://photos.app.goo.gl/NM5Zr6jgCv3cpNrV7


    thank you very much


Log in to reply