Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. dlc60
    3. Topics
    • Profile
    • Following 0
    • Followers 0
    • Topics 8
    • Posts 45
    • Best 3
    • Controversial 0
    • Groups 0

    Topics created by dlc60

    • dlc60undefined

      Suddenly, information windows at the bottom of the DWC page

      Duet Web Control
      • • • dlc60
      3
      0
      Votes
      3
      Posts
      164
      Views

      dlc60undefined

      @chrishamm said in Suddenly, information windows at the bottom of the DWC page:

      @dlc60 It's Simplify3D that keeps sending status requests to the Duet via HTTP, which creates a lot of extra messages on DWC, too. I suggest you don't use the Simplify3D Machine Interface, it shouldn't be needed if you have DWC open anyway.

      That was humbling. I should have known that. I am not used to the new S3D's interface and didn't realize what that connection actually meant.

      Thanks for the heads up.

      be well,

    • dlc60undefined

      SOLVED Problems with BLTouch bed leveling - part 2

      General Discussion
      • • • dlc60
      8
      0
      Votes
      8
      Posts
      350
      Views

      dlc60undefined

      SOLVED

      @Phaedrux said in Problems with BLTouch bed leveling - part 2:

      Your homing files are not correct for using a probe to home Z. They are set as if you have an endstop for Z.

      G1 H1 moves are for endstops. To use the probe, you must use G30.

      See here for examples: https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuration_cartesian#homing-z

      You don't need to use M500 at all. You've set the trigger height directly in config.g. But for that trigger height to be used correctly, you need to use G30 to home the Z axis.

      This did the trick. I had to craft a special homeall.g To put the nozzle in the middle of the bed, that was where my "base" Z = 0 was done. Also because the would be off the bed when X and Y homed, I could not leave it there. But it all came together and my map provides a "flat" bed.
      It is kind of amazing since I have been fighting "potato chip" bed syndrome on my TronXY that has SIX tramming screws! I am not talking about throwing this printer out the window any more.

      G91 ; relative mode G1 H2 Z5 F200 ; raise head 5mm G1 H1 X-350 Y-350 F1800 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 X-350 ; home X axis G1 H1 Y-350 ; home Y axis G1 X5 Y5 F6000 ; go back a few mm G1 H1 X-350 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y-350 ; then move slowly to Y axis endstop G90 ; back to absolute mode G1 X175 Y175 F2000 ; put head over the centre of the bed, or wherever you want to probe G30 ; lower head, stop when probe triggered and set Z to trigger height

      Thanks for all the pointers!
      Be well,
      DLC

    • dlc60undefined

      Duet Maestro with latest firmware and web control is sluggish.

      Duet Web Control
      • • • dlc60
      10
      0
      Votes
      10
      Posts
      366
      Views

      dlc60undefined

      @droftarts said in Duet Maestro with latest firmware and web control is sluggish.:

      @dlc60 said in Duet Maestro with latest firmware and web control is sluggish.:

      I cleared the cache and cookies on my browser and all is well now.

      That kind of surprises me, but hey, it's a computer, so...

      That surprises me, too! But thanks, I’m glad you found a solution to resolve it. I’ll try and remember this if it is reported again. I suspect that a cached file was corrupted, or not updated with a newer version.

      I actually had to do this the other day too, but for a different website that wasn’t behaving correctly. Deleting ‘downloaded content’ (or something like that) was enough to restore functionality, rather than deleting cookies, which has the annoying habit of logging you out of websites.

      Ian

      Every few days I have to kill the web control page and reload when the web page gets too laggy. It starts out fine, then gradually gets more and more laggy. This is with Web contro/Firmware 3.51.

      My machine with web control 3.2.1 and firmware 3.1.1 does not do this.

      be well,
      DLC

    • dlc60undefined

      config.g file created with RRF tool M350 Array too long error

      Config Tool
      • • • dlc60
      4
      0
      Votes
      4
      Posts
      417
      Views

      dlc60undefined

      @Phaedrux said in config.g file created with RRF tool M350 Array too long error:

      Can you share your config.json file as well?

      Sure, here you go.

      be well

      configtool.json

    • dlc60undefined

      unable to get BLTouch mesh compensation to work properly.

      General Discussion
      • • • dlc60
      11
      0
      Votes
      11
      Posts
      374
      Views

      dlc60undefined

      @stuartofmt said in unable to get BLTouch mesh compensation to work properly.:

      @dlc60

      This macro may be overkill, but may help. It will calculate the probe points for you. I use it for quick calibrations (small number of probe points) t0 get the bed more-or-less level then a more comprehensive calibration.

      To use you would likely need to have global zprobe_index = 0 at the start (I use a couple of different zprobes hence the variable)

      ; Creates a mesh calibration ; Assumes the bed limits (actual area reachable by the nozzle) ; have been set with M208 ; Assumes the probe offset has been set with G31 ; ;--- Prerequisites -------------- ; global.zprobe_index MUST be defined. The probe number to use. ; ; --- CHANGE THESE SETTINGS TO YOUR REQUIREMENTS --- ; ; Heat Bed and Nozzle ? var set_temp = false ; ; Set bed and nozzle temp -- Note that this is not too critical var bed_temp = 50.0 ; set at an reasonable temp (e.g. 50 should be good enough for PLA and PETG var nozzle_temp = 150.0 ; set high enough to allow for some expansion but not enough to ooze ; ; Set margin to limit area of bed to be probed should be >= 1.0 var X_margin = 1.0 var Y_margin = 1.0 ; ; Set the number of probe points in X and Y axis var P_X_points = 0 var P_Y_points = 0 ; ; ------------------------------------------ ; --- SHOULD NOT CHANGE BELOW THIS POINT --- ;------------------------------------------- ; ;Ensure a tool is selected ; if state.currentTool < 0 ; no tool selected var msg = "Cannot run if no tool is selected" M117 {var.msg} abort {var.msg} M291 R"How Many Probe points" P"Select a number" K{"9","16","64","100","Cancel"} S4 if input = 0 set var.P_X_points = 3 set var.P_Y_points = 3 elif input = 1 set var.P_X_points = 4 set var.P_Y_points = 4 elif input = 2 set var.P_X_points = 8 set var.P_Y_points = 8 elif input = 3 set var.P_X_points = 10 set var.P_Y_points = 10 else abort "Selection cancelled" M291 R"Hot or Cold Calibration" P"Turn on Heaters" K{"YES","NO","Cancel"} S4 if input = 0 set var.set_temp = true elif input = 1 set var.set_temp = false else abort "Selection cancelled" ; ;initialize local variables var X_grid_min = 0.0 var X_grid_max = 0.0 var Y_grid_min = 0.0 var Y_grid_max = 0.0 ; Get the limits for accessible parts of the bed i.e. where nozzle can reach var X_min = move.axes[0].min var X_max = move.axes[0].max var Y_min = move.axes[1].min var Y_max = move.axes[1].max ; Set the probe offset var X_offset = sensors.probes[{global.zprobe_index}].offsets[0] var Y_offset = sensors.probes[{global.zprobe_index}].offsets[1] ; ; ------------ MACRO STARTS HERE----------------- ; G90 ; use absolute coordinates M83 ; extruder relative mode ; if var.set_temp echo "Wait for Calibration Temperatures to be reached" M104 S{var.nozzle_temp} M140 S{var.bed_temp} ; set bed temp a compromise between PLA and PETG M116 ; wait for temperatures to be reached ;G1 E-4 F3600 ; retract filament quickly so no ooze M290 R0 S0 ;remove any babysteps M561 ; reset any bed compensation ; ; Calculate X max and min probe points if var.X_offset >= 0.0 ; right hand probe point is limited set var.X_grid_min = {var.X_min + var.X_margin + var.X_offset} set var.X_grid_max = {var.X_max - var.X_margin} else set var.X_grid_min = {var.X_min + min(var.X_margin, -var.X_offset)} set var.X_grid_max = {var.X_max - var.X_margin + var.X_offset} ; X offset is negative so we add echo "X offset " ^ var.X_offset ^ " (" ^ var.X_grid_min ^ ":" ^ var.X_grid_max ^ ")" ; ; Calculate Y max and min probe points if var.Y_offset >= 0.0 set var.Y_grid_min = {var.Y_min + var.Y_margin + var.Y_offset} set var.Y_grid_max = {var.Y_max - var.Y_margin} else set var.Y_grid_min = {var.Y_min + min(var.Y_margin, -var.Y_offset)} set var.Y_grid_max = {var.Y_max - var.Y_margin + var.Y_offset} ; Y offset is negative so we add echo "Y offset " ^ var.Y_offset ^ " (" ^ var.Y_grid_min ^ ":" ^ var.Y_grid_max ^ ")" ; ; Set the grid probe points M557 X{var.X_grid_min,var.X_grid_max} Y{var.Y_grid_min,var.Y_grid_max} P{var.P_X_points,var.P_Y_points} M557 ;report the settings ; echo "Performing Mesh Calibration" G28 ; must be homed first G30 K{global.zprobe_index} ; Perform a single probe to establish Z=0 (should already be at center because of home) G29 K{global.zprobe_index} S0 ; perform mesh calibration save and load G0 Z50 F3000 ; lower bed echo "Calibration Complete" if var.set_temp G1 E4 F300 ; put filament back ; Turn off heaters M568 S0 R0 A0 ; Reset temps and turn off hotend M140 S0 R0 ; Reset bed temps M140 S-273 ; Turn of bed heater ob

      I created a simpler macro that does most of what you do here, Kind of a combination of yours and Rob's.
      Mine handles homing, bed and nozzle heating, and compensation. As Rob mentioned, the G92 Z0 is not very useful for me since I have a Z end stop that I set to 0.05 mm at the center of the bed. That is my reference point. Then I get a G30 S-1 at that point to find the offset there, set my config.g G31 probe offsets. This is my starting point. Then I fire off the compensation macro.

      This has proven itself to work reasonably well. Certainly better than trying to manually tram the bed to any great precision. Metal plates and biosilicate glass have proven to be not very flat.

      Thank you everyone!

      be well,
      DLC

    • dlc60undefined

      Duet Maestro web control not responding when print from console

      Duet Web Control
      • • • dlc60
      2
      0
      Votes
      2
      Posts
      129
      Views

      droftartsundefined

      @dlc60 By 'print directly from the console on the printer', do you mean you are using a PanelDue or 12864 display? Neither should disconnect the web interface, so something is not quite right. Please post the Maestro firmware version (M115) and PanelDue (if that's what you're using) firmware version, and the DWC version.

      If you're using a 12864, what menu system are you using?

      Ian

    • dlc60undefined

      Simplify3D send gcode directly to Duet 2 Maestro?

      Duet Web Control
      • • • dlc60
      41
      0
      Votes
      41
      Posts
      1.7k
      Views

      dlc60undefined

      @arhi said in Simplify3D send gcode directly to Duet 2 Maestro?:

      @dlc60 said in Simplify3D send gcode directly to Duet 2 Maestro?:

      Wait, scripting in the RRF? I didn't see that.

      check out for e.g. https://duet3d.dozuki.com/Wiki/Macros#Section_Tool_change

      There are normally three specified tool change macros (any of which can contain no commands if desired) that execute in this order:

      Actions to do with the old tool before it is released - macro name: tfreeN.g where N is the tool number; Actions to do with the new tool before it is selected - macro name: tpreN.g where N is the tool number; Actions to do with the new tool after it is selected - macro name: tpostN.g where N is the tool number.

      So you can have a macro to execute before tool is release, before is selected and after it is selected, same thing for every tool, called automatically, you just make files tfree0.g tfree1.g tfree2.g tpre0.g tpre1.g ... put stuff in ... and enjoy 😄 .. so when S3D sends T1 the RRF will execute tfreeX (where X is whatever was before T1) etc etc..

      and in this macro files you can use dynamic g-code with loops and conditionals and...
      https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands

      That is really useful. I can put the g-code scripts that I use for dual filament prints into these macros and not need to bother with what slicer I am using. Awesome! The scripts that I wrote for S3D and dual filament deliver the goods. CURA scripting is terrible and the outcome seems totally random. I have to try now. 😁

      Thanks,
      DLC

    • dlc60undefined

      CoreXY intermittant 45 deg. layer shift on larger prints

      General Discussion
      • • • dlc60
      16
      0
      Votes
      16
      Posts
      661
      Views

      mendenmhundefined

      @dlc60 50C is stone cold for the surface temperature of the motor. They can easily run 60-80C for the surface, without noticeably changing the lifespan (80C keeps the windings below 120C, probably, which is their full industrial-lifetime rating in low-temperature motors, typically). I tend to run a surface temp of around 60C under normal, fast-ish printing. During my print run making face shields, I upped my motor current to 80-90% of spec, so I could run faster. Surface temp was then about 70C. If the motors eventually die, tough luck, but they are designed for this.
      I have a personal philosophy about tools: they are meant to be used. i don't abuse them, but I use them in a way that gets work done, and if it wears them out, they are doing what they should.