'Jumpy' X/Y movement on Maestro



  • Hi all,

    I'm using a Maestro on an old Rigidbot. Been working fine for a while but all of a sudden the movements have stopped being smooth. It is moving in about 1 inch increments, the same on both X & Y so confident its not mechanical.

    Youtube Video here.

    M122 shows timeout out on 3 drivers. A few on driver 3 but 100% on 5 & 6. Is this normal of a symptom of my problem?

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 Maestro version 2.05.1 running on Duet Maestro 1.0
    Board ID: 08DJM-9P6T2-L43S4-7JTD4-3SJ6Q-TBSRQ
    Used output buffers: 3 of 24 (23 max)
    === RTOS ===
    Static ram: 19804
    Dynamic ram: 87372 of which 0 recycled
    Exception stack ram used: 364
    Never used ram: 23532
    Tasks: NETWORK(ready,764) HEAT(blocked,1264) MAIN(running,3896) IDLE(ready,160)
    Owned mutexes:
    === Platform ===
    Last reset 04:40:26 ago, cause: software
    Last software reset at 2020-06-20 17:08, reason: User, spinning module GCodes, available RAM 23572 bytes (slot 3)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0400f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 8
    SD card 0 detected, interface speed: 15.0MBytes/sec
    SD card longest block write time: 104.6ms, max retries 0
    MCU temperature: min 27.9, current 30.6, max 50.8
    Supply voltage: min 0.0, current 23.9, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: ok, read errors 0, write errors 1, ifcount 32, reads 17625, timeouts 0
    Driver 1: ok, read errors 0, write errors 1, ifcount 34, reads 17623, timeouts 0
    Driver 2: ok, read errors 0, write errors 1, ifcount 34, reads 17625, timeouts 0
    Driver 3: ok, read errors 0, write errors 1, ifcount 22, reads 17602, timeouts 27
    Driver 4: ok, read errors 0, write errors 1, ifcount 34, reads 17625, timeouts 0
    Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 17637
    Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 17637
    Date/time: 2020-06-20 21:49:02
    Slowest loop: 104.81ms; fastest: 0.05ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0, FreeDm: 156, MinFreeDm: 108, MaxWait: 3105021ms
    Bed compensation in use: mesh, comp offset 0.000
    === DDARing ===
    Scheduled moves: 71370, completed moves: 71359, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === Heat ===
    Bed heaters = 0, chamberHeaters = -1 -1
    Heater 0 is on, I-accum = 0.0
    Heater 1 is on, I-accum = 0.3
    === GCodes ===
    Segments left: 3
    Stack records: 2 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 2
    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
    lcd is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 106.31ms; fastest: 0.02ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex
    

    Config.g

    ; 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 Thu Mar 26 2020 22:56:52 GMT+0000 (Greenwich Mean Time)
    
    ; General preferences
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"Rigidbot"                                   ; 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 S1                                         ; X physical drive 0 goes backwards
    M569 P1 S1                                         ; Y physical drive 1 goes backwards
    M569 P2 S1                                         ; Z physical drive 2 goes backwards
    M569 P3 S0                                         ; E physical drive 3 goes forwards
    M584 X0 Y1 Z2:4 E3                                   ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
    M92 X200.00 Y200.00 Z1600.00 E135.00               ; set steps per mm
    M566 X900.00 Y1100.00 Z10.00 E200.00                ; set maximum instantaneous speed changes (mm/min)
    M203 X9000.00 Y9000.00 Z400.00 E8000.00         ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z100.00 E5000.00             ; set accelerations (mm/s^2)
    M906 X1800 Y1800 Z1500 E1600 I20                   ; set motor currents (mA) and motor idle factor in per cent
    M84 S50                                            ; Set idle timeout
    
    M671 X-76:302 Y0:0 S8 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
    
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                   ; set axis minima
    M208 X250 Y230 Z250 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
    M558 P1 H2 I0 F120 T12000 A10 S0.01 
    G31 P500 X53 Y0 Z1                             ; set Z probe trigger value, offset and trigger height
    M557 X65:215 Y30:210 S8.5                           ; define mesh grid
    
    ; Heaters
    M307 H0 B0 S1.00                                   ; disable bang-bang mode for the bed heater and set PWM limit
    M305 P0 T100000 B4138 R2200                        ; set thermistor + ADC parameters for heater 0
    M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
    M305 P1 X200                                       ; configure PT100 for heater 1
    M143 H1 S350                                       ; set temperature limit for heater 1 to 350C
    
    ; Fans
    M106 P0 C"Part Fan" S0 I0 F500 H-1 L80 B0.5     ; set fan 0 name, value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 C"Driver Fan" S0 I0 F500 H1 T80 L255 
    M106 P2 C"Hotend Fan" S0 I0 F500 H1 T80 L255 ; set fan 2 name, value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Tools
    M563 P0 S"Extruder" 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
    M929 P"eventlog.txt" S1										; Enable logging
    M501
    
    ; Miscellaneous
    M911 S22 R23 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    
    
    

  • Moderator

    @dm86 said in 'Jumpy' X/Y movement on Maestro:

    Z10.00 E200.00

    I would suggest increasing your Z and E jerk speeds. Try Z100 and E2000



  • Will give it a go, config not changed so odd its just started. Will report back...


  • Moderator

    Stutter like that is usually because of low jerk on Z and having mesh compensation active. Low E jerk may also contribute when using pressure advance and could be triggered by the model/gcode as well.

    What slicer are you using? there was a bug in a recent version of Cura that has since been fixed that caused stuttering. Updating Cura to 4.6.1 fixes it.



  • CURA but I am on 4.6.1.

    I think your correct on the mesh. Upping these values has smoothed it out but not corrected it.

    Just checked my latest mesh and it does look like a mountain range for some reason. Can't get my head around the scale of this though, is the deviation on this significant?

    Using differential IR sensor on glass bed.

    Capture6465413.PNG



  • @dm86 you have driver 4 not defined with M569, but use it in M584 for Z. After correction some of the errors may go away.


  • Moderator

    I suggest you clean the bed really well before redoing the heightmap. It will pick up all the glue gunk.

    You can also add a taper off for the compensation.

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M376_Set_bed_compensation_taper



  • @dm86 you could also check whether the M906 setting for x and y motors 1800 is not too high. It should be about 50 to 80 % of the stepper current, please check documentation.

    The M92 setting of 200 for x and y seem strange to me, do you have 400 step per round stepper (0.9 degree) with 16 teeth pulley? Otherwise 200 could be wrong.



  • This post is deleted!


  • Thanks all,

    Will have another go today and report back.

    @JoergS5 said in 'Jumpy' X/Y movement on Maestro:

    @dm86 you have driver 4 not defined with M569, but use it in M584 for Z. After correction some of the errors may go away.

    Good spot. I don't think it will make a difference but will correct and see. Thanks.

    @JoergS5 said in 'Jumpy' X/Y movement on Maestro:

    @dm86 you could also check whether the M906 setting for x and y motors 1800 is not too high. It should be about 50 to 80 % of the stepper current, please check documentation.

    The M92 setting of 200 for x and y seem strange to me, do you have 400 step per round stepper (0.9 degree) with 16 teeth pulley? Otherwise 200 could be wrong.

    Your right on the currents. I'm not sure how accurate they are though. They are 2A steppers but if I go lower they start to miss steps. I used a Duet2 Wifi on here before and had them quite a bit lower with no issues.

    M92 is correct, that is what I have. Dimension accuracy is spot on.



  • Thanks all.

    Problem solved. Was combo of dodgy bed mesh caused my loose mounting screw on sensor & low Z jerk.

    Simplified the mesh too as being glass its pretty flat, just often on a tilt.

    Capture1231233.PNG



  • @dm86 your tilt could be due to different stepper positions of the Z steppers, when you power on.


  • Moderator



  • @Phaedrux Thanks. I did but had real trouble getting it to work reliably. However that was using a capacitive sensor and was my main reason for changing to IR.

    My X is usually fairly stable anyway. Its my Y that I have issues taking the tilt out of.


Log in to reply