Max speed cap?
TypQxQ last edited by
I use a Duet 6HC + 3HC on 3.01RC7. Wanted to see how the printer I build would handle high travel speeds.
I have as of yet only the XY installed. I can't seem to get a speed higher than 283mm/s as reported by the DWC.
CoreXY with 0,9* steppers. Travel move: "G1 X450 Y450 F20000", Acc 5000.
Even tried halving the microsteps to 8 but no change.
It should be able to do higher speed.
2020-04-14 23:20:43 m203 Max speeds (mm/sec): X: 400.0, Y: 400.0, Z: 3.0, E: 20.0:20.0, min. speed 0.50 2020-04-14 23:19:28 m122 b1 Diagnostics for board 1: Board EXP3HC firmware 3.01-RC7 (2020-04-14b1) Never used RAM 163.1Kb, max stack 537b HEAT 1088 CanAsync 1392 CanRecv 1428 TMC 164 AIN 532 MAIN 2216 Last reset 00:06:00 ago, cause: software Driver 0: standstill, reads 23600, writes 24 timeouts 0, SG min/max 0/206 Driver 1: standstill, reads 23615, writes 11 timeouts 0, SG min/max 0/0 Driver 2: standstill, reads 23605, writes 24 timeouts 0, SG min/max 0/117 Moves scheduled 18, completed 18, hiccups 0 VIN: 30.9V, V12: 12.1V MCU temperature: min 39.8C, current 40.0C, max 40.0C Ticks since heat task active 161, ADC conversions started 360154, completed 360154, timed out 0 Last sensors broadcast 00000001 found 1 163 ticks ago Free CAN buffers: 36 NVM user row de9a9239 aeecffb1 ffffffff ffffffff 2020-04-14 23:19:10 M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.01-RC7 running on Duet 3 MB6HC v0.6 or 1.0 Board ID: 08DJM-956L2-G43S4-6JKDD-3SJ6L-TB62G Used output buffers: 1 of 40 (11 max) === RTOS === Static ram: 154580 Dynamic ram: 161660 of which 120 recycled Exception stack ram used: 388 Never used ram: 76468 Tasks: NETWORK(ready,2076) HEAT(blocked,1260) CanReceiv(suspended,3384) CanSender(suspended,1432) CanClock(blocked,1432) TMC(blocked,216) MAIN(running,4740) IDLE(ready,80) Owned mutexes: === Platform === Last reset 00:05:41 ago, cause: software Last software reset at 2020-04-14 23:13, reason: User, spinning module LinuxInterface, available RAM 76680 bytes (slot 1) Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task 0x4e49414d Error status: 0 Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest block write time: 0.0ms, max retries 0 MCU temperature: min 37.7, current 38.0, max 38.2 Supply voltage: min 24.0, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.0, max 12.1, under voltage events: 0 Driver 0: standstill, reads 42974, writes 14 timeouts 0, SG min/max 0/0 Driver 1: standstill, reads 42977, writes 11 timeouts 0, SG min/max 0/0 Driver 2: standstill, reads 42977, writes 11 timeouts 0, SG min/max 0/0 Driver 3: standstill, reads 42975, writes 14 timeouts 0, SG min/max 0/0 Driver 4: standstill, reads 42975, writes 14 timeouts 0, SG min/max 0/0 Driver 5: standstill, reads 42979, writes 11 timeouts 0, SG min/max 0/0 Date/time: 2020-04-14 23:19:09 Slowest loop: 3.68ms; fastest: 0.14ms === Move === Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 32500ms Bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves: 19, completed moves: 19, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === Heat === Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 === GCodes === Segments left: 0 Movement lock held by null HTTP* is ready with "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon* is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 0.82ms; fastest: 0.01ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 0 of 8 - Ethernet - State: disabled Error counts: 0 0 0 0 0 Socket states: 0 0 0 0 0 0 0 0 === CAN === Messages sent 1435, longest wait 1ms for type 6021 === Linux interface === State: 0, failed transfers: 0 Last transfer: 17ms ago RX/TX seq numbers: 41102/10993 SPI underruns 0, overruns 0 Number of disconnects: 0 Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v22.214.171.124 Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 32.42
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Tue Mar 17 2020 22:56:04 GMT+0100 (centraleuropeisk normaltid) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"qTC" ; set printer name M667 S1 ; select CoreXY mode ; Drives M569 P1.0 S1 F4 ; physical drive 1.0 goes forwards M569 P1.2 S0 F4 ; physical drive 1.2 goes forwards M569 P0.0 S1 ; physical drive 0.0 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M569 P0.4 S1 ; physical drive 0.4 goes forwards M584 X1.0 Y1.2 Z0.0 E0.3:0.4 ; set drive mapping M350 X8 Y8 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X160.00 Y160.00 Z4000.00 E420.00:420.00 S16 ; set steps per mm as defined for 16 microsteps M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M203 X24000.00 Y24000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 X5000.00 Y5000.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2) M906 X1300 Y1300 Z800 E800:800 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 X600 Y500 Z200 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!1.io0.in" ; Endstop for X is on io0 on expansion 1 M574 Y1 S1 P"^1.io1.in" ; Endstop for Y is on io1 on expansion 1 M574 Z0 ; Z has no endstop right now. ; Emergency Button M950 J1 C"0.io0.in" ; Use the input pin on io0 on the main board M581 P1 T0 S0 ; Use above to trigger Emergency Reset. PowerCycle afterwards. ; Z-Probe M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed M557 X15:215 Y15:195 S20 ; define mesh grid ; Heaters M308 S0 P"1.temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin 1.temp0 M950 H0 C"1.out0" T0 ; create bed heater output on 1.out0 and map it to sensor 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M308 S1 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp0 M950 H1 C"out0" T1 ; create nozzle heater output on out0 and map it to sensor 1 M143 H1 S280 ; set temperature limit for heater 1 to 280C M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"out3" Q500 ; create fan 0 on pin out3 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out4" Q500 ; create fan 1 on pin out4 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. 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 ; Custom settings are not defined ; Miscellaneous M501 ; load saved parameters from non-volatile memory
bot last edited by bot
Hmm, 283 mm/s is oddly close to the
productquotient of your max speed from M203 and the square root of 2.
Have you tried the travel move in multiple directions? IE, engaging both motors at once, one motor at a time, etc.?
If you use the EMF calculator found here what does it say your max attainable speed should be based on your motor specs? https://www.reprapfirmware.org/
You can also use this one to find your max accel https://wilriker.github.io/maximum-acceleration-calculator/
TypQxQ last edited by
Yes, that was it actually ...