Hi @jason_f3d I spoke with you on the Flex3D Discord channel. I was the one that had play in the gears and had to scale the printable G5 parts down to 93%. Since then I also ordered a shorter flex shaft as I was still getting very slight unevenness.
Posts made by guerty25
-
RE: Uneven Layer Extrusion
-
RE: Uneven Layer Extrusion
@percar I’m away from my computer but the block is 10% gyroid if I remember correctly.
-
RE: Uneven Layer Extrusion
@Veti I tried x16 with interpolation. It might be a slightly smoother, but I'm seeing very similar results.
-
RE: Uneven Layer Extrusion
@Veti I'll try dropping the interpolation part, but I was under the impression that the firmware would just ignore that anyway. I'm in the middle of a long print so I'll give it a shot when it's done.
-
RE: Uneven Layer Extrusion
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.1 on Sat Jan 09 2021 13:10:44 GMT-0600 (Central Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Delta" ; set printer name M665 R179.874 L360.2 B150 H463.472 X-0.032 Y-0.155 Z0.0 ; Set delta radius, diagonal rod length, printable radius and homed height M666 X-0.42 Y-0.21 Z0.63 ; put your endstop adjustments here, or let auto calibration find them M572 D0 S0.00 ; pressure advance M593 F24 ; dynamic acceleration adjustment M592 D0 A0.006 B0.0 ; Nonlinear extrusion ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet M575 P1 B57600 S0 ; Serial Comms for PiZeroCam on PanelDue port ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S0 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 E8 I0 ; configure microstepping M350 X32 Y32 Z32 I1 ; configure microstepping M92 X400.00 Y400.00 Z400.00 E2100 ; set steps per mm M566 X1050.00 Y1050.00 Z1050.00 E125 ; set maximum instantaneous speed changes (mm/min) M201 X5000.00 Y5000.00 Z5000.00 E360 ; set accelerations (mm/s^2) M203 X21000.00 Y21000.00 Z21000.00 E6000 ; set maximum speeds (mm/min) M906 X800 Y800 Z800 E700 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Endstops M574 X2 S1 P"!xstop" ; configure active-low endstop for high end on X via pin xstop M574 Y2 S1 P"!ystop" ; configure active-low endstop for high end on Y via pin ystop M574 Z2 S1 P"!zstop" ; configure active-low endstop for high end on Z via pin zstop ; Z-Probe M558 C"zprobe.in+zprobe.mod" P8 R0.4 H5 F120 T3000 ; G31 P100 X0 Y0 Z-0.120 ; set Z probe trigger value, offset and trigger height M557 R85 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; 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"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as PT100 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 S300 ; set temperature limit for heater 1 to 300C M307 H0 R0.588 C811.5 D11.06 S1.00 V24.1 ; Bed heater temp cal M307 H1 R1.813 C291.5 D6.17 S1.00 V24.0 ; Hotend temp cal M912 P0 S-7.5 ; MCU Temp cal ; Fans M950 F0 C"fan0" Q25000 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 C"Print Fan" B0.5 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan0 and set its frequency M106 P1 S255 C"LED" H-1 ; set fan 1 value. Thermostatic control is turned off M308 S2 Y"drivers" A"DRIVERS" ; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper M950 F2 C"fan2" Q25000 ; create fan 2 on pin fan2 and set its frequency M106 P2 H2:3 L0.15 X1 B0.3 T40:70 C"MCU Fan" ; set fan 2 value ; 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 T0 ; select tool 0 M307 H1 R1.806 C231.135:231.135 D6.00 S1.00 V24.0 B0; Hotend tuning ; Override M501
; config-override.g file generated in response to M500 at 2021-03-03 19:17 ; This is a system-generated file - do not edit ; Delta parameters M665 L360.200:360.200:360.200 R180.108 H464.023 B150.0 X-0.712 Y-0.786 Z0.000 M666 X-0.159 Y-1.094 Z1.253 A0.00 B0.00 ; Heater model parameters M307 H0 R0.617 C571.627:571.627 D9.48 S1.00 V24.0 B0 M307 H1 R1.814 C221.218:221.218 D4.86 S1.00 V24.0 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
-
Uneven Layer Extrusion
Hi all, I have a KosselXL I built using a Duet Wifi with .9 xyz steppers and 1.8 stepper on my Flex3Drive G5 remote extruder. I've dialed in nonlinear extrusion and some pressure advance (remote extrusion needs real low jerk). I've been trying to dial this in for a while now. It seems to happen at any speed. This picture was taken at a 0.2 layer height with AtomicFilament PLA. Temps were 195 hotend and 65 bed. Any help would be greatly appreciated.
-
RE: Flex3Drive Motor Stall
@bot yep my math is flawed. If anyone else stumbles on this and is also bad at geometry here is a calculator.
In the end then I guess it doesn't really matter that my motor stalls at the higher speeds. 800mm/min is pushing the volumetric limits of the volcano, so I'll get underextrusion anyway. I did set the max volumetric speed in PrusaSlicer to 23 mm^3/s and it still stalled but that might have been acceleration or some other factor that I'll have to dig in to.
-
RE: Flex3Drive Motor Stall
@bot Wouldn't volume multiplied by speed give me mm^4/s? Shouldn't it be area times speed?
-
RE: Flex3Drive Motor Stall
@bot I think I'm calculating this correctly. Here's my math:
800mm/min / 60s = 13.333 mm/s (1.75mm / 2)^2 * pi = .875 mm2 13.333 * .875 = 11.667 mm3/s
This definitely could be (and probably is) flawed.
-
Flex3Drive Motor Stall
Hi all,
I recently built a delta printer (following dc42's guide with some modification). I added a Flex3Drive G5 remote extruder (40:1 gear ratio). Their recommended settings are as follows:
M350 E8 I0; microstepping M566 X1500 Y1500 Z1500 E6 ; jerk M201 X2000 Y2000 Z2000 E120; accel M203 X18000 Y18000 Z18000 E2400; max speed M906 X1500 Y1500 Z1500 E400 I60; current
I'm also using an E3D volcano for my hotend. E3D claims the max volumetric speed is 25 mm3/s.
I've found that my extruder stepper motor stalls at anything over 800mm/min. My steps/mm is set at 2450 mm/min with 8x microstepping (306.25 real steps) so I am being severely limited by my extruder motor. I ordered a new NEMA 17 pancake motor from StepperOnline (17HS08-1004S) to see if that makes a difference. My existing motor is a Usongshine US-17HS4401S. Is there any other steps I could take to alleviate this limitation?
Thanks!
-
RE: Pause during bed heat wait Hard Fault
@dc42 Still occurs in 2.05.1
Steps to reproduce:.
- Create .gcode with M190 SXX
- Start job
- Pause job
Result:
=== Platform ===
Last reset 00:01:18 ago, cause: software
Last software reset at 2020-08-01 09:33, reason: Hard fault, spinning module GCodes, available RAM 11628 bytes (slot 1)
Software reset code 0x4033 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x0041f803 BFAR 0x487b76ca SP 0x200046dc Task 0x4e49414d
Stack: 0041b6ab 00400576 61000000 00000000 00000000 00000000 00000000 40240000 00000001 00000000 004531f5 0044e1a3 0044e0eb 00000306 0044c3c5 0044c3c4 41000000 200134e8 00419b5f 00000001 00000000 2000a0ac 2000ba90 -
RE: Pause during bed heat wait Hard Fault
M591 D0 P2 C3 S1 ; Filament Sensor (Extruder0)
I still got the hard fault after commenting this out and manually performing the same steps through the console and UI.
-
Pause during bed heat wait Hard Fault
Duet Web Control 2.0.4
Board: Duet WiFi 1.02 or later
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 2.05 (2019-12-13b1)
Duet WiFi Server Version: 1.23I may have discovered a bug while attempting to install a filament sensor. I'm using a simple mechanical switch that didn't quite close its contacts after I had loaded some new filament. When I tried to start a job, my printer kept restarting. I checked the error code and it gave me a hard fault from spinning module GCodes. I commented out the filament sensor in config.g and tried again with no issues. I then tried to reproduce the fault without the sensor so I did a M190 S60, started a job, and then paused the print from the DWC. This too caused the same hard fault.
M122:
=== Platform ===
Last reset 00:00:11 ago, cause: software
Last software reset at 2020-07-31 17:24, reason: Hard fault, spinning module GCodes, available RAM 11588 bytes (slot 1)
Software reset code 0x4033 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x0441f803 BFAR 0x487b72ca SP 0x200048cc Task 0x4e49414d
Stack: 0041b6ab 00400576 61000000 20009ee8 20003258 20004af4 20008a10 00000010 00000073 200049bc 00000000 00000000 0044cd25 00000000 00000000 00000000 e000ed04 a5a5a5a5 ffffffed 00000055 65646f63 6f632f73 2000ba90
Error status: 0 -
RE: Very High Pressure Advance Direct Drive
I ended up trying the Marlin calculator found in this section because I couldn't figure out how to get a cube with the seam in the front. I ended up getting a K value of 0.13 which still seems high but much better than 0.28. Thanks for everyone's help.
-
RE: Very High Pressure Advance Direct Drive
Here is the result. I'm hoping it is the script that is off. I get good prints that do not look like this. As I was trying to get this picture ready I kept getting that gap on the first few layers so I modified the script to print from center to the start here thinking that the nozzle wasn't primed enough. You can see my first layer is laid down well, but subsequent layers look terrible at the start. I'm not sure what is up with that. Maybe this script is the wrong path to take.
-
RE: Very High Pressure Advance Direct Drive
Here is the modified script:
#!/usr/local/bin/python # extrusion parameters (mm) extrusion_width = 0.48 # typical: nozzleDiameter * 1.2 (f.e. a 0.4mm nozzle should be set to 0.48mm extrusion width in slicers) layer_height = 0.2 # max: 50% of your extrusion_width filament_diameter = 1.75 # manufacturers typically sell 1.73-1.74mm filament diameter (always lower than 1.75 to prevent cloggs) tested with many brands # print speeds (mm/s) travel_speed = 300 first_layer_speed = 10 speed = 60 cooling_fan_speed = 128 # from 0 to 255 # calibration object dimensions (mm) layers = 80 object_width = 100 # pressure advance gradient (s) layer_multiple = 3 pressure_advance_step = 0.01 # center of print bed (mm) # needed to position this print in the middle of your print bed # If you are not sure about this: Take a look into your slicer. Normally you will see the origin (center) visualized as xyz-axis # f.e. I have a 285x220mm bed, my printers origin is at X0, Y0 (front left corner), so the offset value you would need for X are 285/2.0 = 142.5 offset_x = 100 offset_y = 100 layer0_z = layer_height # put your typical start.gcode here, if you use a custom start gcode via your slicing software # Python tipp: to type in a continuous command over multiple lines you can use a backslash '\' # general tipp: to output a 'new line' after your gcode command use '\n' which is the representation of the new line byte sequence # in short: use '\n\' after each line of your regular start.gcode command try: print('; START.gcode\n\ G90\n\ M82\n\ M106 S0\n\ M140 S60\n\ M190 S60\n\ M104 S240 T0\n\ M109 S240 T0\n\ G28 ; home all axes\n\ T0 ; set active extruder to 0\n\ M913 Y50 ; lower Y stepper torque to 50% ;if stall detection fails for protection of mechanics\n\ G1 X300 Y5 F1600;\n\ M913 Y100 ; raise Y stepper torque back to 100%\n\ G1 Z0.15 F400;\n\ G91 ; relative\n\ ; wipe nozzle on beds edge \n\ G1 X-20 E10 F800;\n\ G1 X-15 Y10 E13 F1600;\n\ G1 X-35 E15;\n\ G92 E0; zero extruded length\n\ G90 ; absolute\n\ ; process _R_Multimaterial-1\n\ ; layer 1, Z = 0.220\n\ T0\n\ G92 E0.0000 ; reset extruded length \n\ ') except: print(' !!! your start.gcode is faulty, check correct format') exit() print('\nM83 ; relative extrusion for this python script\n') from math import sqrt curr_x = offset_x curr_y = offset_y curr_z = layer0_z def extrusion_volume_to_length(volume): return volume / (filament_diameter * filament_diameter * 3.14159 * 0.25) def extrusion_for_length(length): return extrusion_volume_to_length(length * extrusion_width * layer_height) def up(): global curr_z curr_z += layer_height print("G1 Z%.3f" % curr_z) def line(x,y,speed): length = sqrt(x**2 + y**2) global curr_x, curr_y curr_x += x curr_y += y if speed > 0: print("G1 X%.3f Y%.3f E%.4f F%.0f" % (curr_x, curr_y, extrusion_for_length(length), speed * 60)) else: print("G1 X%.3f Y%.3f F%.0f" % (curr_x, curr_y, travel_speed * 60)) def goto(x,y): global curr_x, curr_y curr_x = x + offset_x curr_y = y + offset_y print("G1 X%.3f Y%.3f" %(curr_x, curr_y)) # unused - maybe convert to a full bottom layer def first_layer(): print_square(first_layer_speed) goto(-object_width/2, ) def print_square(square_speed): # start front center of cube goto(0, - (object_width/2)) # line to front left corner line(-object_width/2, 0, square_speed) # line to back left corner line(0, object_width, square_speed) # line to back right corner line(object_width, 0, square_speed) # line to front right corner line(0, -object_width, square_speed) # line to start corner - extrusion width line(-object_width/2 + extrusion_width, 0, square_speed) def main(): pressure_advance = 0 print("; layer %d, pressure advance: %.3f" %(0, pressure_advance)) print("M572 D0 S%.3f" % pressure_advance) # prime nozzle print("G1 X%.3f Y%.3f Z%.3f E1.0 F%.0f" % (curr_x, curr_y, curr_z, travel_speed * 60)) print_square(first_layer_speed) up() for l in range(layers - 1): if l != 0 and l % layer_multiple == 0 : pressure_advance += pressure_advance_step print("; layer %d, pressure advance: %.3f" %(l, pressure_advance)) print("M291 P\"Current K: %.3f\"" % pressure_advance) print("M572 D0 S%.3f" % pressure_advance) print_square(speed) up() print('; END.gcode\n\ G91 ; relative\n\ G1 Z10 F450 ; bed clearance\n\ G90 ; absolute\n\ M106 S0 ; turn off part cooling fan\n\ M104 S0 ; turn off extruder\n\ M140 S0 ; turn off bed\n\ M84 ; disable motors\n') if __name__ == '__main__': main()
The main thing I'm worried about is the end of the square. I print up to the start of the square minus the extrusion width and then raise the head the layer height. This has resulted in a bump in my print but that might be because of not enough PA.
-
RE: Very High Pressure Advance Direct Drive
Thanks for your help! I use Cura for slicing and I couldn't seem to figure out how to get it to put the seam in a good spot. It always seemed to end up in the corner. I took the script I had been using for pressure advance and made it something closer to what is listed in the wiki you linked. I would like to share it and make sure that it is actually accomplishing what I intend. What is the best way to upload the Python script?
-
Very High Pressure Advance Direct Drive
Hi all,
I recently upgraded my Monoprice Ultimate a couple months ago with a DuetWifi. I love it so far. I recently have come across pressure advance and nonlinear extrusion. I followed the forum threads to calibrate both, starting with nonlinear extrusion. Nonlinear extrusion calibration came out as:
I then calibrated my pressure advance using the pressure_advance2.py script. It came up with my K value being somewhere around 0.275, which seems extremely high for a direct drive. There is some distance between the extruder drive and the hotend (~80mm), but I couldn't imagine that counting for such a significant difference between my calibration value and the value listed in the Pressure Advance wiki. I have printed a new gantry block for my printer to replace the old heavy steel one to reduce weight. When I saw my K value so high I reprinted a new block to make sure that wasn't the cause. I can't seem to figure out why that value would be so high. Any help is greatly appreciated!