Single wall tower test FAILED: vertical sin wave pattern
-
Ok, wow !! I'm submerge with questions and I really appreciate !! I'll try to answer all your informations at once and give you more informations about the printer itself.
Before I go further, please note that 2 weeks ago, I had the same problem. I tested with cooling fan and different speed, in an enclosed box and had the same result, but here is a short resume of what I did and why.
It all started when I tried to reach the best dimensional accuracy I could get from my printer. I started by adjusting the flow, the temps and the speed with different tests. Then I tried to adjust the X, Y, Z dimension accuracy through the M579 command. I struggled to reach my goal and printed different small parts (never that high tho) so I ended up printing that big tower to confirm I had a tuned filament flow(layer width). After I printed that 1 wall tower and discovered the wavy pattern. Here is when I tested with cooling fan and different speed, then I searched on this blog to understand that if I adjust too much through the M579, I would have geometrical problem, which lead me to dismantle the whole printer to find THE physical problem I didn't see when I assembled my printer, then realize my Chinese fisheye and carriage weren't dimensionally accurate. They were the only part I never checked the dimensions, so I though I found the problem. Then I ordered the Duet effector and the Haydn rod and installed them and reset the M579 values to zero, and test print again... ....and same problem!
printer specs:
All extrusions have been machined 0.005 inch. All 3 tower are the same length. All cross section are 300mm (bottom and top). I use aluminium extrusion corner suited for 2040 extrusion on top and 2030 on bottom.Tower parallelism (measurement from both notch of the vertical extrusion(where you screw stuff), measured with a Neoteck 200mm caliper:
XY:
top: 63.28 and 28.72
mid: 63.20 and 28.72
bot: 63.04 and 28.48
YZ:
top: 62.81 and 28.36
mid: 62.90 and 28.40
bot: 62.95 and 28.46
XZ:
top: 62.93 and 28.46
mid: 62.99 and 28.51
bot: 62.81 and 28.34PCB heat bed with a 3mm glass. Direct installation with mini kossel bed printed part, no spring.
Linear bearing
Duet effector + Haydn bars (3x 288.06mm + 3x 288.07mm) which I configured as 1 pair of 288.06mm, 1 pair of 288.07 and 1 pair mixed. I set them to 288.065 in the firmware, which is the average (Haydn himself who told me to do so).wanted Printed part:
50mm x 50mm x 100mm
1 wall thickness at 0.3mm
40mm/s
no cooling fan
260°c head
67°C bed
PETGResult:
Mostly perfect finish
Corner are straight (except where it's wavy, they are a very very little wavy too)
layer adhesion is perfect
Wall thickness between 0.29mm - 0.31mm
X: 50.02mm
Y: 50.08mm
Z: 100.01mmI joined the config file as well as the override file.
config-override.g
config.g -
Also, 2 weeks ago, when I tested with cooling fan or no cooling fan, I did a test with 3 tower side by side with 20mm in between and the wave was on all the towers, but at different height from the one in the middle.
Seem like the pattern is also on the horizontal.
I'll print it again to show you what I mean.
-
@carl Can you post or link to your GCODE?
-
@carl
Here seems that there are two way of interpretation (missing all the real data) . Too heat or geometrical issue.
i lost ages on my delta so I would be sure (for my printer) , that those stuffs are correct.
Try to do what Phaedrux suggest , at least to exclude the heat side.
If you have cooled the part and the result is the same should not be the heat but I can be wrong.
The temp seems a little too hot , is suggested by the vendor?
https://www.simplify3d.com/support/materials-guide/properties-table/
This material should have less deformation against the others but...Ok the deviation between several attempt of auto calibration? (run 5 x G32 in a row and copy past the results of the line reported in the console)
In the bed.g try to set a perimeter that is big enough for calibrate the extreme without crash on the extrusions :
http://www.escher3d.com/pages/wizards/wizardbed.php
10 external points , 6 middle points , 6 calibration factor (not 7 or more , you won't calculate the length of the bars that are already measured by Haydn , the software didn't calculate them properly).
Please try to zero the endstop in your override M666 (let the printer calculate each time)
Please also zero the M665 XYZ ABC correction and leave just the radius and the right height (calculate it with all zeroed stuffs and a single G30 and update the override).
Please control the belt tension!!! Hope you don't have the metal core ones because are not good for small turn and are too rigid.
Motors dampeners flex a little , if you have them and can avoid them is better for rigidity.The pcb support for the metal balls attached on the carriages ? The adapter are all 3 identical? Have you measured with the digit caliper? (deep , parallelism , etc)
Please try also to print cube on the far extreme of the glass. If you have geometrical issue the more long are the movements the worst the effect should be. And you should see it even at the first layer , maybe more squished in some points respect others.
In the center , for almost tiny part the first layer can come good enough but on the extreme if there are problems should be more visible.
Your printer is small so could be a little tricky found the issue.Yep , also the gcode , Alan will help on that side too.
-
Ok, I did some G32 (4 time), here are the consol result
I homed, then send a G32 from DWC.
(mean, deviation)
before (-0.737 , 0.437) after (-0.000 , 0.014)
(-0.001 , 0.019) after (0.000 , 0.015)
(-0.009 , 0.012) after ( -0.000 , 0.012)
I homed again, then send an other G32.
(-0.018 , 0.011) after (-0.000 , 0.009)Then I send a G29 (61 points mesh)
min error -0.052
max error 0.043
mean -0.010
deviation 0.022Also, in config-override:
M665 L(I set manually) R... H... B... X-0.077 Y0.451 Z0.000
M666 X0.355 Y0.115 Z-0.470 A0.00 B0.00 -
Ok, I'm actually printing 3 cube of 1 wall, side by side with 20mm distance in between. The cubes are 25mm x 25mm x 25mm.
While slicing, I had to "uncheck" the spiral mode (a.k.a vase mode), otherwise it would never stop extruding in between the cubes. NOTE: My big tower was printed with "vase mode" activated.
Now, it print the 1 wall cubes, all around, then go back to every corner to dip. Anyway, as for now, the walls seem to be perfect, without distorsion.
I suspect that the "wavy" walls were caused by the "vase mode". What is your though about that ?
-
@carl I reckon it's still thermal related. Could be that your cooling fan isn't strong enough, or wasn't running at full power when you tried that? On my delta I have to run spiral vase prints very slowly so that they cool enough and don't distort (though that's with PLA).
0.3mm single wall is quite thin so it won't take much shrinkage to distort the walls. Quite likely that one side bending in will twist the other sides as well -
@carl
those calibration are pretty good. Its true that the results on a small glass come better than on bigger ones BUT those are still really good.
So 2 cent of deviation is not a number that can produce such distortion. I have the same deviation on 30cm of glass and no distortion , and my system is not that accurate , so the geometrical problem can be excluded. In the past I had similar distortion for geometrical issue , so now for your case I wanted not exclude such waste of time from the variable. What make me think about it is the expansion and contraction of the picture you posted. The heat problems I faced till now have just torsions.For the side of heat... this is what is explained for the vase option...
https://all3dp.com/2/cura-vase-mode-all-you-need-to-know/
Like is stated maybe 40mm/s with a not proper cooling could be problematic.
You can try to print slower and with a stronger cooling.
Apart understand the printer the other tricky variable is understand the material we are using.Wall Line Width:
The width of a single wall is preset in the slicer and corresponds to the nozzle size that you’re using. For a 0.4-mm nozzle, the width of a single line is 0.4 mm. A higher line width will create a much stronger print, and a larger nozzle will produce a higher line width. But swapping out the nozzle isn’t the only way: A 0.4-mm nozzle can also print a wall thickness of up to 0.6 mm if you get the following two settings right.
Temperature:
Vase mode or not, getting your temperature settings dialed in will go a long way. A larger nozzle size will be pushing out much more material, so a 0.6-mm nozzle will need a slightly higher temperature than your 0.4-mm nozzle. And it’s the same story when you’re printing with a higher line width. Try increasing the temperature in steps of five degrees at a time.
Speed:
Vase mode needs to be slow, so that the material has time to cool before the next pass of the printhead. Plus, if the line width is higher, you need to go slower still. A 25–30-mm/s wall printing speed is a good starting point. -
I would chalk this problem up to a combo of the material used, the shape of the object, and the nature of FDM printing. A straight line single wall is very easy to deflect from its position- more so than a curved wall (that one reason why your car is full of curved sheet metal instead of flat panels). The longer the straight wall, the easier it is to deflect. So easy that a little shrinkage of the plastic as it cools will cause the wall to deflect away from the target position. That means the next line will be slightly off to one side of the wall. This will start happening vey quickly as each line of plastic starts shrinking as soon as it is laid down.
The answer? print more than a single wall as others have mentioned, or maybe try a much bigger nozzle/wider line width. You might get better results with a material that shrinks less. Like poor overhang performance, this is one of the inherent limitations of FDM printing. Fortunately, we rarely need to print large, straight, single walls.
-
Ok, thank you everyone. I'll have to make more test with different speed and temperature. But this morning, when I turned ON my printer, a new inexplicable problem appear from thin air.
When 1 start up, in DWC, I see the tool position coordinate, as usual: X0 Y0 Z292
As soon as I HOME the printer, all the coordinate turn n/a.
When I HOME, the effector move up until the endstop are activated, then it lower a bit, raise again until endstops activate and it stay there... it does not go down a bit as usual.
After the HOMING, I can't move the head all around.
Also, If I auto-calibrate, it do it perfectly... then I send M500. Still the tool position are n/a.
if I try to launch a print, it heat the bed and nozzle sequentially, but it does not home. Instead it goes to X0 Y0 Z0 and prime the nozzle and try to extrude...
I never had that problem before... is it related to the new duet effector or the mesh grid I now can generate since I have the duet effector ?
Which file I should check ?
-
At this point please post your config.g, bed.g, homedelta.g, and the results of M122 and M98 P"config.g"
-
Ok, I've wrote down how my printer behave now... I joined the files at the end. (I don't know how to show the content of the file directly like other do).
- I turn ON the printer and the tool coordinate are shown (Z0 Y0 Z292)
- If I HOME, the printer, all the coordinate turn n/a.
When I HOME, the effector move up until the endstop are activated, then it lower a bit, raise again until endstops activate and it stay there... it does not go down a bit as usual.
After the HOMING, I can't move the head all around.
3) If I turn ON the printer and directly load a print and launch it, the tool coordinate turn n/a, the sequence of heating is normal, but it HOME 1 stime, then it go down CRAZY fast to X0 Y0 Z0 and start extruding (extruder crackling)I paused and still can't move the effector around
I canceled and still the sameI can only HOME (or maybe launch a G32, but didn't tried it).
I notice that in the "resurrect.g" there is a file I started yesterday (my last print) that I did not finished. Normally, I pause and cancel a print, but I may have hit the "emergency stop" red button at top right corner by inadvertence.
[4_1629312457066_bed.g](Uploading 100%) [3_1629312457066_config.g](Uploading 100%) [2_1629312457066_homedelta.g](Uploading 100%) [1_1629312457066_M98_M122](Uploading 100%) [0_1629312457066_resurrect.g](Uploading 100%)
-
the files
resurrect.g
homedelta.g
config.g
bed.g8/18/2021, 2:33:49 PM M98 P"config.g"
HTTP is enabled on port 80
FTP is disabled
TELNET is disabled
Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 882C8/18/2021, 2:33:13 PM M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2.2 running on Duet Ethernet 1.02 or later
Board ID: 0JD0M-9P6B2-NJ4S8-6J1FJ-3SJ6L-T84LK
Used output buffers: 3 of 24 (11 max)
=== RTOS ===
Static ram: 23460
Dynamic ram: 68116 of which 0 recycled
Never used RAM 20504, free system stack 200 words
Tasks: NETWORK(ready,186) HEAT(blocked,308) MAIN(running,457) IDLE(ready,20)
Owned mutexes:
=== Platform ===
Last reset 00:00:37 ago, cause: power up
Last software reset at 2021-08-18 14:21, reason: User, GCodes spinning, available RAM 20468, slot 2
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
MCU temperature: min 33.2, current 36.3, max 36.6
Supply voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0, over voltage events: 0, power good: yes
Driver 0: position 55012, standstill, SG min/max not available
Driver 1: position 55012, standstill, SG min/max not available
Driver 2: position 55012, standstill, SG min/max not available
Driver 3: position 0, standstill, SG min/max not available
Driver 4: position 0, standstill, SG min/max not available
Driver 5: position 0
Driver 6: position 0
Driver 7: position 0
Driver 8: position 0
Driver 9: position 0
Driver 10: position 0
Driver 11: position 0
Date/time: 2021-08-18 14:33:12
Cache data hit count 52825024
Slowest loop: 10.77ms; fastest: 0.21ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 4.9ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, 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 = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Segments left: 0
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) 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
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 9.94ms; fastest: 0.02ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
HTTP sessions: 1 of 8
Interface state active, link 100Mbps full duplex -
Can you also post your config-override.g file?
-
@carl said in Single wall tower test FAILED: vertical sin wave pattern:
I notice that in the "resurrect.g" there is a file I started yesterday (my last print) that I did not finished. Normally, I pause and cancel a print, but I may have hit the "emergency stop" red button at top right corner by inadvertence.
That file is created when a print is interrupted in case you wish to resume it later.
-
@carl said in Single wall tower test FAILED: vertical sin wave pattern:
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2.2 running on Duet Ethernet 1.02 or later
Your firmware is little out of date. To update, upload this zip file as is to the system tab in DWC.
https://github.com/Duet3D/RepRapFirmware/releases/download/3.3/Duet2and3Firmware-3.3.zip
That will get your firmware and DWC up to date. -
I think you may need to run a new G32 auto calibration after homing and then use M500 to save that again.
Once I see your config-override.g file we can see how much your delta calibration command differs from what you have in config.g
-
here the config override
config-override.g -
@phaedrux I did it plenty of time and it didn't resolve the new problem I facing now... Is it because it does not take into account the G32 or the M500 anymore for unknown reason ?
-
So others can easily see:
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Jun 28 2021 20:11:23 GMT-0400 (heure d’été de l’Est) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"MiniKossel" ; set printer name M665 R133.565 L288.065 B95 H292 ; Set delta radius, diagonal rod length, printable radius and homed height M666 X0 Y0 Z0 A0 B0 ; X,Y,Z endstop adjustments and X,Y Bed tilt(% per 100mm), or let auto calibration find them ; Network M540 PBE:EF:DE:AD:FE:ED ; set custom MAC address M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes backwards M569 P1 S0 ; physical drive 1 goes backwards M569 P2 S0 ; physical drive 2 goes backwards M569 P3 S0 ; physical drive 3 goes backwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z100.00 E358 ; set steps per mm E0386.02 M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z18000.00 E12000.00 ; set maximum speeds (mm/min) M201 X2400.00 Y2400.00 Z2400.00 E2400.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E500 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 Z0 S1 ; set minimum Z ; Endstops M574 X2 S1 P"xstop" ; configure active-high endstop for high end on X via pin xstop M574 Y2 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop M574 Z2 S1 P"zstop" ; configure active-high endstop for high end on Z via pin zstop ; Z-Probe M558 P8 R0.4 C"zprobe.in+zprobe.mod" H5 F1200 T2400 ; disable Z probe but set dive height, probe speed and travel speed G31 P100 X0 Y0 Z-0.1 ; set Z probe trigger value, offset and trigger height M557 R85 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"e0temp" Y"thermistor" T100000 B3950 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0.01 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S0.5 H-1 ; set fan 1 value. Thermostatic control is turned off ; Tools M563 P0 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 are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 T0 ; select first tool ; Scale Cartesian Axes M579 X0.000 Y0.000 Z0.000 ;END_OF_CODE
; homedelta.g ; called to home all towers on a delta printer ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Jun 28 2021 20:11:23 GMT-0400 (heure d’été de l’Est) G91 ; relative positioning ;*** Slow homing has been configured. Change F180 to F1800 below when your configuration is working G1 H1 X309 Y309 Z309 F1800 ; move all towers to the high end stopping at the endstops (first pass) G1 H2 X-5 Y-5 Z-5 F1800 ; go down a few mm ;*** Slow homing has been configured. Change F180 to F360 below when your configuration is working G1 H1 X10 Y10 Z10 F180 ; move all towers up once more (second pass) G1 Z-5 F2400 ; move down a few mm so that the nozzle can be centred G90 ; absolute positioning G1 X0 Y0 F2400 ; move X+Y to the centre
; bed.g ; called to perform automatic delta calibration via G32 ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Jun 28 2021 20:11:21 GMT-0400 (heure d’été de l’Est) M561 ; clear any bed transform ; Probe the bed at 6 peripheral and 3 halfway points, and perform 6-factor auto compensation ; Before running this, you should have set up your Z-probe trigger height to suit your build, in the G31 command in config.g. G30 P0 X0 Y84.2 H0 Z-99999 G30 P1 X66.01 Y38.11 H0 Z-99999 G30 P2 X66.01 Y-38.11 H0 Z-99999 G30 P3 X0 Y-84.2 H0 Z-99999 G30 P4 X-73.61 Y-42.5 H0 Z-99999 G30 P5 X-73.61 Y42.5 H0 Z-99999 G30 P6 X0 Y41.05 H0 Z-99999 G30 P7 X29.84 Y-17.23 H0 Z-99999 G30 P8 X-36.81 Y-21.25 H0 Z-99999 G30 P9 X0 Y0 H0 Z-99999 S6 ; Use S-1 for measurements only, without calculations. Use S4 for endstop heights and Z-height only. Use S6 for full 6 factors ; If your Z probe has significantly different trigger heights depending on XY position, adjust the H parameters in the G30 commands accordingly. The value of each H parameter should be (trigger height at that XY position) - (trigger height at centre of bed)
; config-override.g file generated in response to M500 at 2021-08-18 13:21 ; This is a system-generated file - do not edit ; Delta parameters M665 L288.065:288.065:288.065 R127.891 H292.667 B85.0 X-0.006 Y0.463 Z0.000 M666 X0.319 Y0.127 Z-0.446 A0.00 B0.00 ; Heater model parameters M307 H0 R0.256 C213.522:213.522 D3.59 S1.00 V12.1 B0 M307 H1 R3.286 C260.834:260.834 D9.98 S1.00 V12.1 B0 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00 M486 S-1