Navigation

    Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order
    1. Home
    2. guerty25
    • Profile
    • Following 2
    • Followers 0
    • Topics 4
    • Posts 18
    • Best 2
    • Groups 0

    guerty25

    @guerty25

    2
    Reputation
    3
    Profile views
    18
    Posts
    0
    Followers
    2
    Following
    Joined Last Online

    guerty25 Unfollow Follow

    Best posts made by guerty25

    • 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.

      posted in Tuning and tweaking
      guerty25
      guerty25
    • 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.

      posted in Tuning and tweaking
      guerty25
      guerty25

    Latest posts made by guerty25

    • RE: Uneven Layer Extrusion

      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.

      posted in Tuning and tweaking
      guerty25
      guerty25
    • RE: Uneven Layer Extrusion

      @percar I’m away from my computer but the block is 10% gyroid if I remember correctly.

      posted in Tuning and tweaking
      guerty25
      guerty25
    • RE: Uneven Layer Extrusion

      @Veti I tried x16 with interpolation. It might be a slightly smoother, but I'm seeing very similar results.

      posted in Tuning and tweaking
      guerty25
      guerty25
    • 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.

      posted in Tuning and tweaking
      guerty25
      guerty25
    • RE: Uneven Layer Extrusion

      @Veti

      ; 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
      
      posted in Tuning and tweaking
      guerty25
      guerty25
    • 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.

      IMG_0160.JPEG
      IMG_0159.JPEG

      posted in Tuning and tweaking
      guerty25
      guerty25
    • 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.

      posted in Tuning and tweaking
      guerty25
      guerty25
    • RE: Flex3Drive Motor Stall

      @bot Wouldn't volume multiplied by speed give me mm^4/s? Shouldn't it be area times speed?

      posted in Tuning and tweaking
      guerty25
      guerty25
    • 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.

      posted in Tuning and tweaking
      guerty25
      guerty25
    • 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!

      posted in Tuning and tweaking
      guerty25
      guerty25