Y axis Problems
-
So I have encountered a problem while attempting to print cylinders with my printer. I looked back at previous prints and found it there as well. I noticed while printing any layer of a circle the printer will print a straight line at the 6 o'clock position (larger X delta and smaller Y delta or the Home position is lower left of this "clock"). At the 12 o'clock position there are no problems and the printer completes the circle without issues (similar X delta and Y delta) . This is the same for any other section of the circle, no issues keeping a consistent arc. Regardless of the forms I print there is always problems at the 6 o'clock position and the rest of the print is totally fine.
Things I have tried which resulted in the same straight line/problem:
Moving the starting location of the cylinder on the print bed
Rotating the object at 90 and 45 degree intervals
Printing clockwise and counter-clockwise
Trying different shapes
Adding in Travel moves past the 6 o'clock position between layer changes
Adding a dwell/wait before it begins a new layer
Checking the gcode line by line and confirming it is telling the printer to move in a circle
Making my own gcode with Rhino Grasshopper
Confirming this problem with Prusa Slicer
Watched the Y motors and witnessed them moving off course of the programed circle
Confirmed nothing is in the y axis shuttle tracksSomething that worked for some reason
Printing a small cube just off from the 6 o'clock position of the cylinder. However the problem continued once the cube finished printing as the cylinder was taller.This is a ceramic printer. Below are images, the config file, and the gcode for the first layer of pictured cylinder.
Possible Causes I can think of but not sure how to test
The parallel Y motors??
The extruder offset parameters could be causing this?Any ideas or theories will be helpful and welcome. Thank you for your eyes in advance!
; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Apr 17 2021 12:45:26 GMT-0700 (Mountain Standard Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Duet 3" ; set printer name; Drives
M569 P0.0 S0 ; physical drive 0.0 goes backwards
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.2 S0 ; physical drive 0.2 goes backwards
M569 P0.3 S0 ; physical drive 0.3 goes forwards
M569 P0.4 S0 ; physical drive 0.4 goes backwards
M569 P0.5 S0 ; physical drive 0.5 goes backwards
M584 X0.0 Y0.1:0.5 Z0.2 E0.3:0.4 ; set drive mapping
M350 X16 Y16 Z16 E32:16 I1 ; configure microstepping with interpolation
M92 X53.33 Y53.33 Z394.78 E3055.77:472.37 ; set steps per mm
M566 X900.00 Y900.00 Z120.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z250.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z80.00 E250.00:250.00 ; set accelerations (mm/s^2)
M906 X2800 Y2800 Z2800 E3600:1300 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 X330 Y330 Z350 S0 ; set axis maxima; Endstops
M574 X1 S1 P"!io0. in" ; configure active-high endstop for low end on X via pin !io0. in
M574 Y1 S1 P"!io1. in" ; configure active-high endstop for low end on Y via pin !io1. in
M574 Z1 S1 P"!io2. in" ; configure active-high endstop for low end on Z via pin !io2. in; 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
; Fans
M950 F0 C"out4" Q500 ; create fan 0 on pin out4 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"!out7" Q500 ; create fan 1 on pin out7 and set its frequency
M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off; Tools
M563 P0 D0:1 F-1 ; define tool 0
G10 P0 X-10 Y-10 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
M568 P0 S1 ; enable mixing for tool 0
M567 P0 E0.1:0.6 ; set mixing ratios for tool 0; Custom settings are not defined
; 3.5mm Start GCODE START
M107
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle
; Filament gcode
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0
G1 Z3.000 F7800.000
G1 E-1.00000 F2400.00000
G92 E0
; End GCODE STAR
G4 S1
G92 E0
G1 F1200 X106.7 Y125 Z0.75 E0
G1 F1800 E2
G92 E0
G1 F1200 X108.07 Y122.77 Z0.75 E2.62
G1 F1200 X109.55 Y120.61 Z0.75 E5.24
G1 F1200 X111.14 Y118.53 Z0.75 E7.85
G1 F1200 X112.84 Y116.54 Z0.75 E10.47
G1 F1200 X114.64 Y114.64 Z0.75 E13.09
G1 F1200 X116.54 Y112.84 Z0.75 E15.71
G1 F1200 X118.53 Y111.14 Z0.75 E18.32
G1 F1200 X120.61 Y109.55 Z0.75 E20.94
G1 F1200 X122.77 Y108.07 Z0.75 E23.56
G1 F1200 X125 Y106.7 Z0.75 E26.18
G1 F1200 X127.3 Y105.45 Z0.75 E28.79
G1 F1200 X129.66 Y104.32 Z0.75 E31.41
G1 F1200 X132.08 Y103.32 Z0.75 E34.03
G1 F1200 X134.55 Y102.45 Z0.75 E36.65
G1 F1200 X137.06 Y101.7 Z0.75 E39.27
G1 F1200 X139.6 Y101.09 Z0.75 E41.88
G1 F1200 X142.18 Y100.62 Z0.75 E44.5
G1 F1200 X144.77 Y100.27 Z0.75 E47.12
G1 F1200 X147.38 Y100.07 Z0.75 E49.74
G1 F1200 X150 Y100 Z0.75 E52.35
G1 F1200 X152.62 Y100.07 Z0.75 E54.97
G1 F1200 X155.23 Y100.27 Z0.75 E57.59
G1 F1200 X157.82 Y100.62 Z0.75 E60.21
G1 F1200 X160.4 Y101.09 Z0.75 E62.82
G1 F1200 X162.94 Y101.7 Z0.75 E65.44
G1 F1200 X165.45 Y102.45 Z0.75 E68.06
G1 F1200 X167.92 Y103.32 Z0.75 E70.68
G1 F1200 X170.34 Y104.32 Z0.75 E73.3
G1 F1200 X172.7 Y105.45 Z0.75 E75.91
G1 F1200 X175 Y106.7 Z0.75 E78.53
G1 F1200 X177.23 Y108.07 Z0.75 E81.15
G1 F1200 X179.39 Y109.55 Z0.75 E83.77
G1 F1200 X181.47 Y111.14 Z0.75 E86.38
G1 F1200 X183.46 Y112.84 Z0.75 E89
G1 F1200 X185.36 Y114.64 Z0.75 E91.62
G1 F1200 X187.16 Y116.54 Z0.75 E94.24
G1 F1200 X188.86 Y118.53 Z0.75 E96.85
G1 F1200 X190.45 Y120.61 Z0.75 E99.47
G1 F1200 X191.93 Y122.77 Z0.75 E102.09
G1 F1200 X193.3 Y125 Z0.75 E104.71
G1 F1200 X194.55 Y127.3 Z0.75 E107.33
G1 F1200 X195.68 Y129.66 Z0.75 E109.94
G1 F1200 X196.68 Y132.08 Z0.75 E112.56
G1 F1200 X197.55 Y134.55 Z0.75 E115.18
G1 F1200 X198.3 Y137.06 Z0.75 E117.8
G1 F1200 X198.91 Y139.6 Z0.75 E120.41
G1 F1200 X199.38 Y142.18 Z0.75 E123.03
G1 F1200 X199.73 Y144.77 Z0.75 E125.65
G1 F1200 X199.93 Y147.38 Z0.75 E128.27
G1 F1200 X200 Y150 Z0.75 E130.88
G1 F1200 X199.93 Y152.62 Z0.75 E133.5
G1 F1200 X199.73 Y155.23 Z0.75 E136.12
G1 F1200 X199.38 Y157.82 Z0.75 E138.74
G1 F1200 X198.91 Y160.4 Z0.75 E141.36
G1 F1200 X198.3 Y162.94 Z0.75 E143.97
G1 F1200 X197.55 Y165.45 Z0.75 E146.59
G1 F1200 X196.68 Y167.92 Z0.75 E149.21
G1 F1200 X195.68 Y170.34 Z0.75 E151.83
G1 F1200 X194.55 Y172.7 Z0.75 E154.44
G1 F1200 X193.3 Y175 Z0.75 E157.06
G1 F1200 X191.93 Y177.23 Z0.75 E159.68
G1 F1200 X190.45 Y179.39 Z0.75 E162.3
G1 F1200 X188.86 Y181.47 Z0.75 E164.91
G1 F1200 X187.16 Y183.46 Z0.75 E167.53
G1 F1200 X185.36 Y185.36 Z0.75 E170.15
G1 F1200 X183.46 Y187.16 Z0.75 E172.77
G1 F1200 X181.47 Y188.86 Z0.75 E175.39
G1 F1200 X179.39 Y190.45 Z0.75 E178
G1 F1200 X177.23 Y191.93 Z0.75 E180.62
G1 F1200 X175 Y193.3 Z0.75 E183.24
G1 F1200 X172.7 Y194.55 Z0.75 E185.86
G1 F1200 X170.34 Y195.68 Z0.75 E188.47
G1 F1200 X167.92 Y196.68 Z0.75 E191.09
G1 F1200 X165.45 Y197.55 Z0.75 E193.71
G1 F1200 X162.94 Y198.3 Z0.75 E196.33
G1 F1200 X160.4 Y198.91 Z0.75 E198.94
G1 F1200 X157.82 Y199.38 Z0.75 E201.56
G1 F1200 X155.23 Y199.73 Z0.75 E204.18
G1 F1200 X152.62 Y199.93 Z0.75 E206.8
G1 F1200 X150 Y200 Z0.75 E209.42
G1 F1200 X147.38 Y199.93 Z0.75 E212.03
G1 F1200 X144.77 Y199.73 Z0.75 E214.65
G1 F1200 X142.18 Y199.38 Z0.75 E217.27
G1 F1200 X139.6 Y198.91 Z0.75 E219.89
G1 F1200 X137.06 Y198.3 Z0.75 E222.5
G1 F1200 X134.55 Y197.55 Z0.75 E225.12
G1 F1200 X132.08 Y196.68 Z0.75 E227.74
G1 F1200 X129.66 Y195.68 Z0.75 E230.36
G1 F1200 X127.3 Y194.55 Z0.75 E232.97
G1 F1200 X125 Y193.3 Z0.75 E235.59
G1 F1200 X122.77 Y191.93 Z0.75 E238.21
G1 F1200 X120.61 Y190.45 Z0.75 E240.83
G1 F1200 X118.53 Y188.86 Z0.75 E243.45
G1 F1200 X116.54 Y187.16 Z0.75 E246.06
G1 F1200 X114.64 Y185.36 Z0.75 E248.68
G1 F1200 X112.84 Y183.46 Z0.75 E251.3
G1 F1200 X111.14 Y181.47 Z0.75 E253.92
G1 F1200 X109.55 Y179.39 Z0.75 E256.53
G1 F1200 X108.07 Y177.23 Z0.75 E259.15
G1 F1200 X106.7 Y175 Z0.75 E261.77
G1 F1200 X105.45 Y172.7 Z0.75 E264.39
G1 F1200 X104.32 Y170.34 Z0.75 E267
G1 F1200 X103.32 Y167.92 Z0.75 E269.62
G1 F1200 X102.45 Y165.45 Z0.75 E272.24
G1 F1200 X101.7 Y162.94 Z0.75 E274.86
G1 F1200 X101.09 Y160.4 Z0.75 E277.48
G1 F1200 X100.62 Y157.82 Z0.75 E280.09
G1 F1200 X100.27 Y155.23 Z0.75 E282.71
G1 F1200 X100.07 Y152.62 Z0.75 E285.33
G1 F1200 X100 Y150 Z0.75 E287.95
G1 F1200 X100.07 Y147.38 Z0.75 E290.56
G1 F1200 X100.27 Y144.77 Z0.75 E293.18
G1 F1200 X100.62 Y142.18 Z0.75 E295.8
G1 F1200 X101.09 Y139.6 Z0.75 E298.42
G1 F1200 X101.7 Y137.06 Z0.75 E301.03
G1 F1200 X102.45 Y134.55 Z0.75 E303.65
G1 F1200 X103.32 Y132.08 Z0.75 E306.27
G1 F1200 X104.32 Y129.66 Z0.75 E308.89
G1 F1200 X105.45 Y127.3 Z0.75 E311.51
G1 F1200 X106.7 Y125 Z0.75 E314.12
G1 F1800 Z2.75 E312.12; Start GCODE END
G92 E0
; Filament-specific end gcode
;END gcode for filament
M104 S0 ; turn off temperature
G28 XY ; home X axis; End GCODE END
-
Can you share the results of M122 and M98 P"config.g"?
It would seem to be mechanical. Perhaps binding? Backlash?
-
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (SBC mode)
Board ID: 08DJM-956BA-NA3TJ-6JKD6-3S46N-TB86S
Used output buffers: 1 of 40 (12 max)
=== RTOS ===
Static ram: 150904
Dynamic ram: 61012 of which 0 recycled
Never used RAM 142276, free system stack 219 words
Tasks: SBC(ready,4.9%,358) HEAT(delaying,0.0%,405) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,333) TMC(notifyWait,7.1%,93) MAIN(running,87.9%,1272) IDLE(ready,0.0%,29), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:11:51 ago, cause: power up
Last software reset at 2021-09-06 17:27, reason: User, GCodes spinning, available RAM 142060, slot 1
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
Step timer max interval 132
MCU temperature: min 22.2, current 29.4, max 29.5
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.1, current 12.2, max 12.2, under voltage events: 0
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Driver 0: position 0, standstill, reads 53258, writes 14 timeouts 0, SG min/max 0/0
Driver 1: position 0, standstill, reads 53258, writes 14 timeouts 0, SG min/max 0/0
Driver 2: position 0, standstill, reads 53258, writes 14 timeouts 0, SG min/max 0/0
Driver 3: position 0, standstill, reads 53258, writes 14 timeouts 0, SG min/max 0/0
Driver 4: position 0, standstill, reads 53258, writes 14 timeouts 0, SG min/max 0/0
Driver 5: position 0, standstill, reads 53258, writes 14 timeouts 0, SG min/max 0/0
Date/time: 2021-09-12 17:02:46
Slowest loop: 0.45ms; fastest: 0.03ms
=== Storage ===
Free file entries: 10
SD card 0 not detected, interface speed: 37.5MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 125, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters = -1 -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 doing "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
Aux2 is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== CAN ===
Messages queued 3560, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 49 (min 49), ts 3560/0/0
Tx timeouts 0,0,3559,0,0,0 last cancelled message type 30 dest 127=== SBC interface ===
State: 4, failed transfers: 1, checksum errors: 0
Last transfer: 1ms ago
RX/TX seq numbers: 24583/24583
SPI underruns 0, overruns 0
Disconnects: 0, timeouts: 0, IAP RAM available 0x2c83c
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v3.3.0
Code buffer space: 4096
Configured SPI speed: 8000000Hz
Full transfers per second: 0.32, max wait times: 8.5ms/0.0ms
Codes per second: 0.00
Maximum length of RX/TX data transfers: 2916/844M98 P"config.g"
Tool 0 offsets: X-10.000 Y-10.000 Z0.000
Tool 0 offsets: X-10.000 Y-10.000 Z0.000 -
@modest-orange It looks like some backlash in the machine. Can you post pictures or give a description of the mechanism? It looks like there's a fixed bed and the gantry moves in Y while the extruder moves in X and Z. The gantry is going to be pretty heavy- what type of motor(s) is/are driving it? Are you using external drivers or the drivers on the duet board?
-
@mrehorstdmd backlash issue would turn up on the other side, unless there's an issue with preloading I guess
-
@mrehorstdmd I am using parts from the Open Builds store; V-slot belt driven with 3GT-2M timing belts. https://openbuildspartstore.com/nema-23-belt-pinion-actuator-bundle/
I have two motors on the Y gantry running opposing each other (they both travel in the same direction when the printer gives a move command). You are correct the gantry is moving X and Z direction and is considerably heavy when loaded with clay. However the error is still there when the clay extruder is removed.
I am using the drivers on the Duet3 6HC board to drive all the motors. Here's the line from the config.g for the motor mapping;
; Drives
M569 P0.0 S0 ; physical drive 0.0 goes backwards
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.2 S0 ; physical drive 0.2 goes backwards
M569 P0.3 S0 ; physical drive 0.3 goes forwards
M569 P0.4 S0 ; physical drive 0.4 goes backwards
M569 P0.5 S0 ; physical drive 0.5 goes backwards
M584 X0.0 Y0.1:0.5 Z0.2 E0.3:0.4 ; set drive mappingI had to disassemble the printer to remove some horizontal play on the Z axis (which holds the weight from the clay extruder). It did clean up some of the prints but didn't solve the issue.
Going to have to look up what backlash and preloading are as I have heard those terms but don't know them.
Thank you again for your assistance!
-
@modest-orange With a circular path, at either end of the Y movement you're stopping the gantry. Maybe the top bar of the gantry, where the massive clay extruder mounts, is twisting due to momentum of the extruder/clay. Try pushing on the extruder clay cylinder while blocking gantry movement and see if it causes the nozzle to move.
-
@mrehorstdmd There is some deflection at the nozzle when I press on the extruder body/nozzle. However it take a little more force that you would think. I believe the rig itself is appropriately rigid for the weight, I think. I would assume if there was enough play to initiate this problem, it would also show at the 12 o'clock position as well.
I'm traveling this weekend but will try attaching a marker to the printer, with the extruder body removed, and see if the lines it creates also show this problem.
-
@mrehorstdmd
20211002_093145_Trim(1).mp4The video shows the motor turning "incorrectly" at the 6 o'clock position but not at 12. This occurs with both Y motors.
-
@modest-orange can you post some pictures of the printer that show the whole thing, not just closeups?
-
-
Been doing some more testing with tool offsets and bed size when I came across this instance.
The error is dependent on which direction the tool is moving. I had swapped the direction of every other circle in this print, clockwise and counter-clockwise. Earlier I referred to the error occurring at the 12 o'clock position because it was easier to refer to. While the printer moves counter-clockwise the error actually occurs closer to 11 o'clock Moving clockwise the error occurs closer to 1 o'clock.
This makes me think it has something to do with the motors and how power is being sent to them. Possibly. I may try to reroute the motors to different drivers and see how it does then.
-
@modest-orange have you tried adjusting the V roller tension/play? I have seen similar problems on an openbuild cnc due to the spindle tilting under load at the X axis roller. The long lever of the Z axis probably increases the effect.
-
@modest-orange said in Y axis Problems:
Any ideas or theories will be helpful and welcome.
A crazy idea from my side is that the energy chains are producing resistance at some point (joint bulky, cable length too short) and the movement jumps.
-
@pakue There was some play on the Z axis that I resolved by tightening up the tension of the rollers. I however don't believe this to be the problem as when the printer is not under any tension the motors will still move with the stutter. I'll try removing the belt and see if they still stutter under zero load.
@JoergS5 This could be possible. However I don't know exactly how to rectify that. Today I release all the cables from the cable chains and held them loosely separated during a print to now effect. As far as cables being too short I am currently using 7 foot cables on everything. Both Y motors have some extra wire that is bundled near the board normally.
I also woke up this morning thinking the cable chain was bumping but confirmed that to not be the case.
Thank you for all your suggestions and input!
-
SOLVED
I took the belt off of the Y motors to check to see what happens under no load. The 4 set screws for the Y motor gears were all loose. The error was caused by play in the belt gear (timing pully). After adding some locktite and assembling everything back together, I am printing circles again and any other shape without issues.Thank you for everyone who took the time to help me solve this one!
-
@modest-orange thanks for letting us know what it was.