Circles not being circles

  • I've run into strange problems on my newly upgraded Kossel XL. Namely, arc movements come out very segmented. The files themselves are round, the gcode seems to follow the file (and it's all perfectly round when printed on another printer), but what comes out of the nozzle ends up like what you see in the picture. I've tried replacing extruder motors with 0.9 steppers, that alleviated the problem somewhat. But unfortunately 0.9 degree doesn't seem feasible with my switching extruders since I need to retract and unretract the filament very quickly.

    Would appreciate any suggestions how to fix that. I'm running RRF 2.02RC4, here's the relevant bit from config.g

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards (E0)
    M569 P4 S0 ; Drive 4 goes backwards (E1)
    M92 X160 Y160 Z160 E415:415 ; Set steps per mm, 641 for RepRapMini 415 for Bondtech 1.8 degrees
    M566 X900 Y900 Z900 E900:900 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z18000 E3600:3600 ; Set maximum speeds (mm/min)
    M201 X3000 Y3000 Z3000 E2000:2000 ; Set accelerations (mm/s^2)
    M906 X1500 Y1500 Z1500 E1500:1500 I30 ; Set motor currents (mA) and motor idle factor in per cent
    ;M572 D0 S0.1 ; Pressure advance drive 0 (Disabled)
    ;M572 D1 S0.1 ; Pressure advance drive 1 (Disabled)


  • The STL files are the same for the parts printed with both printer? To me the segments look too large. That can be made finer when converting the file to an STL file.

    Also which slicer are you using?

  • @timcurtis67 Yep, the stl files are the same. It's sliced with S3D, but the same problem persists with slic3r and Cura, with different models (like a circle with >200 segments). And Gcode files don't show the segmentation in the preview. So I think it has something to do with my settings or hardware.

  • Moderator

    Try increasing your XYZE jerk.

  • @phaedrux said in Circles not being circles:

    Try increasing your XYZE jerk.

    M566 X900 Y900 Z900 E900:900

    Aren't they high enough? I use the same settings and I don't have cornered circles.

  • @phaedrux Tried to, even at 4000 mm/min it's still the segmented movement pattern.

  • Moderator

    I'm leaning towards mechanical issue. Is something loose or worn?

  • @phaedrux I assumed that as well at first since it manifested itself right after a hardware upgrade. As far as I was able to tell - no, all the linear rails move smoothly, I replaced the steppers with new ones and tightened all of the motor pulleys.

    I've got no problems with sharp corners or straight lines, regardless of the orientation, which led me to assume it's a firmware/config problem - could have messed something up adjusting the machine for new dimensions and better rigidity.

  • administrators

    Is it printing the circles smoothly, or jerkily? What speed are you printing them at?

  • @dc42 Jerkily. On the 1st layer I can see that instead of moving in smooth arks the print head makes jerky linear motions, with each corner ending up with a blob. The speed ranges from 20mm/s on the first layer to around 90 mm/s on subsequent ones.

  • administrators

    Please post the GCode file you are trying to print on a file sharing site and post a link to it here.

    Note, when printing GCode files generated by S3D it's normal to see jerky movements when the skirt is printed. This is because of a bug in S3D that generates short non-printing moves between printing moves. Fortunately it seems to do this only when generating the skirt.

  • @dc42 Here's the file that was being printed in the picture above. Unfortunately the behavior also persists when slicing with slic3r and Cura.

  • administrators

    I'm printing your gcode file on my Kossel XL now. It's printing smoothly, but I can see that the model has been exported to STL with a large segment size, about 5mm.

    What I suspect is happening is that it's not printing smoothly because of your acceleration or jerk settings. Because you are using a Bowden extruder with no pressure advance, this is causing over- and under-extrusion at different places in each segment.

    So the first thing to do is to check your speed, acceleration, jerk and pressure advance settings. To verify them, send the following commands without parameters through the GCode Console:

    M572 D0

    Check that the values reported match the values you have set in config.g.

    Fof reference, here is my config.g file.

    ; Configuration file for dc42 Kossel
    ; Communication and general
    M111 S0                             	; Debug off
    M550 PKossel		        	; Machine name (can be anything you like)
    M552 S1
    M555 P2                             	; Set output to look like Marlin
    M575 P1 B57600 S1                   	; Set auxiliary serial port baud rate and require checksum (for PanelDue)
    M586 P2 S1				; enable Telnet
    ; Axis and motor configuration
    M569 P0 S0 F5				; Drive 0 goes forwards
    M569 P1 S0 F5				; Drive 1 goes forwards
    M569 P2 S0 F5				; Drive 2 goes forwards
    M569 P3 S1				; Drive 3 goes backwards
    M574 X2 Y2 Z2 S1			; set endstop configuration (all endstops at high end, active high)
    M665 L360.290 R180.357 H469.976 B150.0 X0.164 Y-0.131 Z0.000
    M666 X0.431 Y-1.602 Z1.172 A-0.25 B0.91
    M92 X200 Y200 Z200			; Set axis steps/mm
    M906 X1000 Y1000 Z1000 E800		; Set motor currents (mA)
    M201 X2000 Y2000 Z2000 E1000:120	; Accelerations (mm/s^2)
    M203 X15000 Y15000 Z15000 E3600:3600	; Maximum speeds (mm/min)
    ;M593 F44.4
    M593 F0					; disable dynamic acceleration
    M566 X600 Y600 Z600 E600:40		; Maximum instant speed changes
    G21                                 	; Work in millimetres
    G90                                 	; Send absolute coordinates...
    M83                                 	; ...but relative extruder moves
    ; Fans
    M106 P1 H1 T45 S1			; hot end fan
    M106 P2 H100:101 T45:55 L0.3		; electronics cooling fan
    ; Thermistors and heaters
    M305 P0 T100000 B3950 R4700
    M305 P1 X200				; Use RTD to monitor Heater 1 temperature
    ; Heating models
    M307 H0 A232.3 C1182.1, D2.4 B0		; heater 0 model, use PID
    M307 H1 A337.1 C137.6, D5.1 B0		; heater 1 model, use PID
    ; Enable logging after setting the heater models to avoid logging the usual warnings of overpowered heaters
    M929 S1 P"eventlog.txt"
    ; Tool definitions
    M563 P0 D0 H1                       	; Define tool 0
    G10 P0 S0 R0                        	; Set tool 0 operating and standby temperatures
    ;M563 P1 D1 H1
    ;G10 P1 S0 R0                        	; Set tool 0 operating and standby temperatures
    M92 E418.5:2400                		; Set extruder steps per mm
    ; Z probe and compensation definition
    M558 P8 H6 F1000 T10000 R0.2 S0.02 A5	; Z probe is delta effector, Z probe dive height 3mm, probing speed 1000mm/min, travel speed 12000mm/min, max 5 taps, tolerance 0.02mm
    ;M558 P8 H6 F1000 T10000 R0.4 S0.02 A1	; Z probe is delta effector, Z probe dive height 3mm, probing speed 1000mm/min, travel speed 12000mm/min, max 5 taps, tolerance 0.02mm
    G31 X0 Y0 Z-0.10 P100			; Set the zprobe offsets and threshold (put your own values here)
    M557 R140 P11				; Define grid
    ;*** If you are using axis compensation, put the figures in the following command
    M556 S78 X0 Y0 Z0                   	; Axis compensation here
    M912 P0 S-19				; CPU temperature correction
    M911 S20 R22 P"G91 G1 Z2 F10000 M83 G1 E-5 F3600"	; power fail settings
    ; Filament
    M207 S5 R0 F3600 Z0.2			; firmware retraction parameters
    M572 D0 S0.2				; pressure advance
    M591 D0 P5 C3 S-1.0 R30			; Duet3D laser filament sensor
    M592 D0 A0.015 B0.0012 L0.2		; nonlinear extrusion
    M915 X Y Z H400 S3 R1			; set stall detection parameters
    M501					; run config-override.g
    T0					; select first print head

  • @dc42 Thanks a lot for the help - I replaced the config file with the one you provided and switched to a Zesty Nimble to eliminate extruder issues, but the problem still persists.

    Which I guess means it's probably something to do with my kinematic hardware, so at least now I get a vague idea where to look.

Log in to reply