Super weird gcode bug(?) on Duet3D (Anycubic Kossel plus)
-
Hi!
I'm running firmware 2.05.1 (latest for version 2) on a Anycubic kossel plus. When I print a 160 x 160 mm box (which is pretty large but totally reachable for the nozzle) I get a "bug" where the walls are printed several mm inside (what would be a say 155 x 155 mm box) but the bottom (and later infill and top) layers are printed correctly for 160 x 160 - except the corners are rounded:
Now, that could be a Cura 4.8 problem, but the gcode looks fine in Cura:
and I've also loaded it into Craftware, where it looks fine, too. Somehow the correct gcode for the walls gets translated a bit towards the inside, and I'm pretty confused as to why that happens.This is the gcode:bonkers.gcode
The rounded corners remind me of the way a brim would look, except I have no brim and no skirt!
So .... is this a known issue? Was this fixed in 3? Or is it maybe something with how I've setup the geometry of my printer? Any insight would be appreciated!
-
I bet you are hitting your bed radius limit in that corner causing the curve. I've done that on my SeeMeCNC Rostock Max V3.2
Can you post your config.g so we can see the delta parameters?
You would need a radius of minimum 113.2 to print that square.Also, use the DWC to manually move the nozzle around and see what (x,y) coordinates you get for the three square corners and the round one.
-
Here's the config file.
M665 L268.031:268.031:268.031 R133.912 H290.834 B105.0 X-0.770 Y0.406 Z0.000
Radius seems large enough, but you were correct, it can't actually physically reach that corner!
THANKS!
; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool on Thu Jul 12 2018 20:54:00 GMT-0500 (Central Daylight Time) ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Without calibration M665 L268.031:268.031:268.031 R134.201 H295 B120.0 ; Set delta radius, diagonal rod length, printable radius and homed height M666 X0 Y0 Z0 ; Put your endstop adjustments here, or let auto calibration find them ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration. ; with 6,7,8 params https://duet3d.dozuki.com/Wiki/Calibrating_a_delta_printer#Section_Setting_up_the_bed_g_file M665 L268.031:268.031:268.031 R133.912 H290.834 B105.0 X-0.770 Y0.406 Z0.000 M666 X0.692 Y-1.982 Z1.290 A-0.19 B-0.51 M665 B110 ; bed radius is 11 cm! ; Network M550 PAnyCubic Kossel Plus Duet3D ; Set machine name M540 xxxxxxxxxxxxxxxxx ; MAC Address M552 S1 ; Enable network ;*** Access point is configured manually via M587 M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drives M569 P0 S0 ; Drive 0 goes forwards CH reversed M569 P1 S0 ; Drive 1 goes forwards CH reversed M569 P2 S0 ; Drive 2 goes forwards CH reversed M569 P3 S0 ; Drive 3 goes forwards. CH reversed M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X80 Y80 Z80 E96 ; Set steps per mm M566 X300 Y300 Z300 E300 ; Set maximum instantaneous speed changes (mm/min) M203 X12000 Y12000 Z12000 E12000 ; Set maximum speeds (mm/min) M201 X3000 Y3000 Z3000 E3000 ; Set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 E1000 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 Z-1 S1 ; Set minimum Z ; Endstops M574 X2 Y2 Z2 S1 ; Set active high endstops ; Z-Probe M558 P4 H2 F300 T8000 ; Set Z probe type to switch and the dive height + speeds H (was 1.5) G31 P1000 X0 Y0 Z15.82 ; Set Z probe trigger value, offset and trigger height, was 16.67 before V6 M557 R110 S20 ; Define mesh grid ; Filament sensor M591 D0 P2 C4 S1 ; P2: low signal when filament present), C4: connect to E1 endstop ; Heaters M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C M305 P1 T100000 B4729 C7.06e-8 R4700 ; Set thermistor + ADC parameters for heater 1 # E3D V6 lite M143 H1 S250 ; Set temperature limit for heater 1 to 250C ; PID tune: Heater 1 model: gain 321.9, time constant 165.8, dead time 6.4, max PWM 1.00, calibration voltage 12.9, mode PID, inverted no, frequency default Computed PID parameters for setpoint change: P14.4, I0.441, D64 ; set via config override ; 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 M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on ; Tools M563 P0 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 ; Automatic power saving M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss ; Custom settings are not configured ; Miscellaneous M501 ; Load saved parameters from non-volatile memory T0 ; Select first tool
-
@CHarding said in Super weird gcode bug(?) on Duet3D (Anycubic Kossel plus):
M665 B110 ; bed radius is 11 cm!
B110 is the safe printing radius and it's just slightly too small.
I think this given your X and Y offsets in the M665 allow you to print all but the lower right corner.
-
So would reducing this a bit, so say 105 mm and putting that also into the Cura printer dimensions solve all this?
-
If you want to print a 160mm by 160mm square, you need a safe printing DIAMETER of:
SQRT((160*160)*2)) = 226.27
So, you need a safe printing radius of 113 (and a little more)
Also, you need x=0 and y=0 to be in the center of your build plate.
From your photo, it <looks> like you have enough room.
If you move the print head by hand with the printer off (SLOWLY so you don't damage your drivers) can you move the extruder out to where the corner would be for each of the corners without jamming on anything?If you can, I would increase the safe printing radius and try a print.
I don't know why your outer wall lines are too far inside where they are supposed to be.