Hiccups everywhere
-
So, after reading often that i have a high number of hiccups and after searching, not finding anything directly wrong with my setup, i wanted to ask directly if anyone knows what´s wrong.
This is two consecutive M122´s, 11 minutes apart.
8:02:33 PMM122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet WiFi 1.02 or later Board ID: 08DGM-917NK-F23T0-6J9DJ-3S86S-TWBWD Used output buffers: 3 of 24 (16 max) === RTOS === Static ram: 25680 Dynamic ram: 94004 of which 0 recycled Exception stack ram used: 468 Never used ram: 10920 Tasks: NETWORK(ready,652) HEAT(blocked,812) MAIN(running,3820) IDLE(ready,160) Owned mutexes: === Platform === Last reset 01:24:49 ago, cause: software Last software reset at 2020-05-03 18:37, reason: User, spinning module GCodes, available RAM 10948 bytes (slot 3) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Error status: 16 Free file entries: 8 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms, max retries 0 MCU temperature: min 40.6, current 44.2, max 44.5 Supply voltage: min 24.2, current 24.5, max 24.7, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max 0/1023 Driver 1: standstill, SG min/max 0/1023 Driver 2: standstill, SG min/max 0/246 Driver 3: standstill, SG min/max 0/1023 Driver 4: standstill, SG min/max 0/1023 Date/time: 2020-05-03 20:02:31 Cache data hit count 4294967295 Slowest loop: 192.45ms; fastest: 0.08ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 498151, FreeDm: 169, MinFreeDm: 142, MaxWait: 2004ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 12843, completed moves: 12843, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.3 Heater 2 is on, I-accum = 0.0 === GCodes === Segments left: 0 Stack records: 1 allocated, 1 in use Movement lock held by file http is idle in state(s) 0 telnet is idle in state(s) 0 file is doing "G4 P2000" in state(s) 0 12 serial is idle in state(s) 0 aux is idle in state(s) 0 daemon is idle in state(s) 0 queue is idle in state(s) 0 autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 290.50ms; fastest: 0.08ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 - WiFi - Network state is running WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 1 WiFi firmware version 1.23 WiFi MAC address b4:e6:2d:52:f6:45 WiFi Vcc 3.35, reset reason Turned on by main processor WiFi flash size 4194304, free heap 24312 WiFi IP address 192.168.0.93 WiFi signal strength -57dBm, reconnections 0, sleep mode modem Socket states: 0 0 0 0 0 0 0 0
7:51:54 PMM122 Cache data hit count 4294967295 Slowest loop: 187.41ms; fastest: 0.07ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 1123867, FreeDm: 163, MinFreeDm: 110, MaxWait: 2461902ms Bed compensation in use: none, comp offset 0.000 *Shortened due to 10k character limit*
As you can see, in the 11 minutes print time that went by, it managed to amass 498000 hiccups.
How can this be?Here´s my config.g
; Configuration file for Duet WiFi (firmware version 1.21) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2 on Sun Feb 03 2019 22:30:32 GMT+0100 (Central European Standard Time) ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Network M550 P"ARPEG" ; Set machine name M552 S1 ; Enable network M587 S"KDG-4F519" P"ApbjYbr9nQu7" ; Configure access point. 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 S1 ; Drive 0 goes forwards (X1) M569 P1 S1 ; Drive 1 goes forwards (X2) M569 P2 S0 ; Drive 2 goes backwards (Z) M569 P3 S1 ; Drive 3 goes forwards extruder M569 P4 S1 ; Drive 4 goes backwards extruder 2 M569 P5 S0 T8:8:8:8 ; Drive 5 minimum step pulse timing 3 microseconds (JMC servo minimum 2.5 microseconds) M584 X0:1 Y5 Z2 E3:4 ; Apply custom drive mapping M350 Y1 Z16 ;E16:16I0 ; Configure microstepping without interpolation M350 X16:16 I1 E16:16 I1 ; Configure microstepping with interpolation M92 X88.89 Y360.00 Z800.00 E411:430 ; Set steps per mm, mk8 extruder 94.3 M566 X500.00 Y500.00 Z200.00 E1500.00:1500.00 ; Set maximum instantaneous speed changes (mm/min) M203 X24000.00 Y24000.00 Z2000.00 E4200.00:4200.00 ; Set maximum speeds (mm/min) ;M201 X2500.00 Y2500.00 Z700.00 E2000.00:2000.00 ; Set accelerations (mm/s^2) M201 X10000.00 Y10000.00 Z700.00 E2000.00:2000.00 ; Set accelerations (mm/s^2) M906 X1600.00 Y800.00 Z1100.00 E1100.00:1100.00 I30 ; Set motor currents (mA) and motor idle factor in per cent M593 F24 ; Dynamic Acceleration Adjustment at 24.5 Hertz M572 D0 S0.02 D1 S0.22 ; Pressure advance M84 S30 ; Set idle timeout ;M207 S0.2 F1800 Z0.8 ; Axis Limits M208 X5 Y5 Z0 S1 ; Set axis minima M208 X215 Y255 Z280 S0 ; Set axis maxima ; Endstops M574 X1 Y1 Z1 S1 ; Set active high endstops ; Z-Probe M558 P0 H5 F120 T6000 ; Disable Z probe but set dive height, probe speed and travel speed M557 X20:170 Y20:195 S20 ; Define mesh grid ; Heaters M307 H6 A-1 C-1 D-1 ; Disables heater 6 output as heater output and configures it as General I/O port M307 H7 A-1 C-1 D-1 ; Disables heater 7 output as heater output and configures it as General I/O port M570 H0 P10 T40 ; Lets the chamber deviate a max of 40C for max 10sec from its set temp (to not raise a fault when opening oven door) ;M140 H-1 ; Tell the firmware there is no bed heater M307 H0 B0 A188.1 C188.1 D3.5 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit (G=188.1, tc=275.7, td=-1.6) M305 P0 T100000 B4138 R4700 S"Chamber" ; Set thermistor + ADC parameters for heater 0 M143 H0 S240 ; Set temperature limit for heater 0 to 240C M305 P1 X200 S"Model" ; Configure thermocouple for heater 1 M143 H1 S430 ; Set temperature limit for heater 1 to 430C ;M305 P2 T100000 B4138 R4700 S"Support" ; Configure Thermistor + ADC parameters for heater 2 ;M143 H2 S320 ; Set temperature limit for heater 2 to 290°C M305 P2 X201 S"Support" ; Configure thermocouple for heater 2 M143 H2 S430 ; Set temperature limit for heater 2 to 430C M307 H1 A225.2 C128.7 D4.1 V24.5 S1.0 B0 ; Set PID parameters for Extruder Heater 1 model: gain 952.0, time constant 389.2, dead time 5.2, max PWM 0.30, calibration voltage 24.3, mode PID, inverted no, frequency default M307 H2 A225.2 C128.7 D4.1 V24.5 S1.0 B0 ; set preliminary PID for support extruder ; 12V Hotend autotune 390° while 212° chamber Heater 1 model: gain 495.4, time constant 164.7, dead time 2.9, max PWM 0.50, calibration voltage 23.1, ; 24V CTC Heater 1 model: gain 225.2, time constant 128.7, dead time 3.4, max PWM 1.00, calibration voltage 24.5 ;M307 H2 A468.7 C131.8 D4.3 V24.5 S0.3 B0 ; Heater 2 model: gain 468.7, time constant 131.8, dead time 4.3, max PWM 0.30, calibration voltage 24.5, (12v heizpatrone im alu block) ; Fans M106 P0 S0.3 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 ; Tools M563 P0 S"Model" D0 H1 ; 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 S"Support" D1 H2 ; Define tool 1 G10 P1 X24.6 Y1.22 Z-1.3 ; Set tool 1 axis offsets G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C ; Automatic saving after power loss is not enabled ; Custom settings are not configured ; Miscellaneous T0 ; Select first tool
Is 360 steps/mm on the Y really that bad?
Thanks for looking -
What is your Y axis? Why are you using 1x microstepping?
These are external drivers?Also, you're on 2.03. Have you tested with 2.05.1?
-
That hiccup count does look very high.
I did some work on supporting higher step rates in RRF 3.01 and I plan to do more in RRF 3.02. I'm not sure how the maximum step rate RRF 2.05.1 compares with RRF 2.03 that you are running.
-
@Phaedrux said in Hiccups everywhere:
What is your Y axis? Why are you using 1x microstepping?
These are external drivers? Also, you're on 2.03. Have you tested with 2.05.1?
Yes, it´s an external servo drive that i drive with the expansion board, it has the "microstepping" onboard.
Does that mess with the duet?The speeds aren´t extraordinarily high, usually 60mm/s printspeeds and 120mm/s travels.
Only thing that is extraordinary is that i am using two X steppers using two stepper drivers on the board, but only in x16 with interpolation? -
@NitroFreak said in Hiccups everywhere:
M569 P5 S0 T8:8:8:8 ; Drive 5 minimum step pulse timing 3 microseconds (JMC servo minimum 2.5 microseconds)
I didn't notice that line in your config.g before. Slow step timings like that will reduce the maximum step rate. I suggest you reduce microstepping on those external drivers, and hence the steps/mm on the Y axis.
Do you really need 8 microseconds step timing, when the comment says 2.5 is the minimum?
-
@dc42 said in Hiccups everywhere:
@NitroFreak said in Hiccups everywhere:
M569 P5 S0 T8:8:8:8 ; Drive 5 minimum step pulse timing 3 microseconds (JMC servo minimum 2.5 microseconds)
I didn't notice that line in your config.g before. Slow step timings like that will reduce the maximum step rate. I suggest you reduce microstepping on those external drivers, and hence the steps/mm on the Y axis.
Do you really need 8 microseconds step timing, when the comment says 2.5 is the minimum?
You´re right, i didn´t think about that. I had to increase that because from a certain threshold the servo used to miss steps after a direction change i believe, even when the manual said minimum 2.5. the result looked like this. It´s supposed to be a straight cylinder. I may need to try just increasing the setup timing, i just increased them all until it worked
-
@dc42
I am pleased to report that it works, i dropped the steps/mm from 360 to 144 and the timings from T8:8:8:8 to T4:4:8:8 and it works much better now. I kept the 8 millisecond direction setup and hold time because i feel this is what caused the even layer shift at high speeds.Thanks again!