Moves over speed F6000 only moves half the distance?
I am optimizing the speed of my concrete printer and any move faster then F6000 only moves half the distance.
If I jog via the web interface, I can move faster then if I type a gcode command.
What happens is that the axis accelerates as if it would go at the requested speed, like F9000, but when acceleration is finished, there's a jerk and the speed jumps down to half.
When the move is done, the printer claims to be at for example X3800, but its really at X1700
Heres my config.g, maybe theres something there?
; Configuration file for Duet WiFi (firmware version 1.17)
; executed by the firmware on start-up
; generated by RepRapFirmware Configuration Tool on Wed May 17 2017 18:05:05 GMT+0200 (Romance Daylight Time)
; General preferences
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates…
M83 ; ...but relative extruder moves
M555 P5 ; Set firmware compatibility to look like Repetier
M569 P0 S1 R0 ; Drive 0 goes forwards NA
M569 P1 S1 R1 ; Drive 1 goes forwards NA
M569 P2 S1 R1 ; Drive 2 goes forwards NA
M569 P3 S1 R1 ; Drive 3 goes forwards NA
M569 P4 S1 R1 ; Drive 4 goes forwards NA
M569 P5 S0 R1 ; Drive 5 goes forwards X
M569 P6 S1 R1 ; Drive 6 goes forwards Y
M569 P7 S1 R1 ; Drive 7 goes forwards Z
M569 P8 S0 R1 ; Drive 8 goes forwards E
M569 P9 S0 R1 ; Drive 9 goes forwards U
M584 X5 Y6 Z7 E8 U9; Create U axis for rotating nozzle
M208 X-5000 Y-5000 Z-1100 U-999999999 S1 ; Set axis minima
M208 X6630 Y7600 Z6000 U99999999999 S0 ; Set axis maxima
M350 X4 Y4 Z128 U1 E64:64 I1 ; Configure microstepping without interpolation
M92 X235.8301 Y235.8301 Z7710 E400 U13.889 ; Set steps per mm
M566 X1000 Y1000 U2500 Z550 E1500 ; XYZEE-Jerk - Set maximum instantaneous speed changes (mm/min)
M203 X9600 Y9600 U2500 Z1700 E800 ; Set maximum speeds (mm/min)
M201 X150 Y150 U2200 Z250 E850 ; Set accelerations (mm/s^2)
M906 X500 Y400 U2400 Z400 E400 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; E Servo config
M569 P8 S0 T2
;M574 X1 Y1 Z1 U1 E0 S0 ; Define active low and unused microswitches
;M581 E1:Z S1 T2 C0 ; invoke trigger 2 when a rising edge is detected on the E1 or Z endstop input and a file is being printed
M143 S260 ; Set maximum heater temperature to 260C
M305 P0 T100000 B4388 C0 R4700 ; Set thermistor + ADC parameters for heater 0
M305 P1 T100000 B4388 C0 R4700 ; Set thermistor + ADC parameters for heater 1
M305 P2 T100000 B4388 C0 R4700 ; Set thermistor + ADC parameters for heater 2 // TP100: M305 P2 X200
M563 P0 D0 H1 ; tool 0 uses extruder drive 0 and heater 0
G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
G10 P0 R00 S00 ; Set initial tool 0 active and standby temperatures to 0C
M550 P Concrete 6776 ; Set machine name
M552 P10.10.10.10 S1 ; Enable network
;M587 SAtlas Connect P"Atlas Connect" ; Configure access point. You can delete this line once connected
;M586 P0 S1 ; Enable HTTP - Not implemented
M586 P1 S1 ; R21 T1; Enable FTP
;M586 P2 S0 ; Disable Telnet
;M106 P0 S0 I0 F200 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
;M106 P1 S0 I0 F200 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
;M106 P2 S0 I0 F200 H2 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
; Custom settings
M575 P1 B57600 S1 ;Setup PanelDue
;Override fan controls for hotend cooling fans
;M106 P0 S0 I0 F100 H1 T45 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
;M106 P1 S0 I0 F100 H2 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
;T0 ; Select first tool
;M307 H3 A-1 C-1 D-1 ; BLTouch - on heater 3 pin
;M558 P5 X0 Y0 Z1 H3 F200 T5000 ; Homing Z axis, P5 for BLTouch
;G31 X-24.00 Y-7.0 Z1.85 P50 ; Set the probe height - Larger number is closer
;M557 X20:580 Y20:450 S55 ;Define bed probing grid
;G29 S1 ; Load calibration height map
;M280 P3 S1500 I0 ;Make sure the BLTouch probe is up
So if you load this config and run the command
G1 X3500 F9600
you will see it accelerate and then the steady speed move will be too slow.
One thing that strikes me about your config is that you are using external drivers, but you haven't extended the step pulse timing. Try adding a T parameter to each M569 command that relates to an external driver. T2 is a good value to try.
Tried it, no difference
I will take a look with a scope.
So I videoed a scope with testmoves at F6000 and F9600
The probe is connected to STEP and /STEP on the expansion breakout board.
This is a1000mm move at F6000:
This is a1000mm move at F9600:
The firmware is going into double-stepping mode because the step rate is high; but the step interval is too short for your drivers to recognise the two pulses. Look on the datasheet for your stepper drivers to find the maximum step rate; then set the M569 T parameter to at least half the reciprocal of that, expressed in microseconds.
T5 fixed it, thanks.