Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order
    1. Home
    2. ibash
    • Profile
    • Following 0
    • Followers 0
    • Topics 11
    • Posts 31
    • Best 6
    • Controversial 0
    • Groups 0

    ibash

    @ibash

    11
    Reputation
    3
    Profile views
    31
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    ibash Unfollow Follow

    Best posts made by ibash

    • Make emergency stop fool proof

      Hi,

      I just butter-fingered the emergency stop button on mobile, because it's right under the menu button (hamburger icon) in the top left.

      The emergency stop button should not be something that can accidentally be pressed. It should especially not be something that's vulnerable to muscle memory.

      I'd recommend:

      1. Moving the button to the bottom of the sidebar, so it's not under the hamburger icon on mobile.
      2. Adding an alert on mobile to confirm emergency stop. This is an extra press, but the 0.5s to confirm would've been appreciated.
      3. Or when the menu is open, add a hamburger icon to the menu so that it can be toggled (similar to menus on other pages)

      Not fun to ruin a long print 50% of the way through.

      posted in Duet Web Control wishlist
      ibash
      ibash
    • RE: Running gcode after a print, but not part of a print (async)

      Works perfectly, thanks again! For reference:

      enable_filters_for_time.g

      echo "enable filters for time"
      if !exists(global.disable_filter_at)
        global disable_filter_at = 0
      ;
      if !exists(global.is_filter_enabled)
        global is_filter_enabled = false
      ;
      
      set global.disable_filter_at = {state.upTime + 10}
      set global.is_filter_enabled = true
      
      ; Turn on filter fans
      M98 P"filters/enable.g"
      

      auto_disable.g

      if exists(global.disable_filter_at) && exists(global.is_filter_enabled) && global.is_filter_enabled
      
        if state.upTime >= global.disable_filter_at
          set global.is_filter_enabled = false
          M98 P"filters/disable.g"
      ;
      

      daemon.g

      M98 P"filters/auto_disable.g"
      
      posted in Gcode meta commands
      ibash
      ibash
    • RE: Opinions on "FYSETC" ... politely, please.

      @sputnikoc3d said in Opinions on "FYSETC" ... politely, please.:

      Why should we be polite when discussing them ?

      The op is Canadian!

      posted in General Discussion
      ibash
      ibash
    • RE: Spurious heater faults

      I think the problem is that it is using the wrong thermistor value, as per the graph the keenovo thermistor vs bed thermistor are way different when they should be the same. This is my mistake.

      Thank you Phaedrux!

      posted in Using Duet Controllers
      ibash
      ibash
    • RE: Duet 3 StealthChop 2 Tuning for Nema23

      So for folks trying to understand how tpwmthrs is calculated, and especially how to convert it to mm/s...

      1. 12,000,000 / (256 * tpwmthrs) = steps / second
      2. You need steps per mm from M92... be careful with units...
      3. Then multiply mm/step * step/second

      Using evan38109's config as an example:

      M350 X32 Y32 Z32 E32 I1                      ; configure microstepping with interpolation
      M92 X{400 / (18 * 2) * 32} Y{400 / (18 * 2) * 32} Z6400.00 E1674.00  ; set steps per mm
      

      They're using 32 microstep units, and M92 gives microsteps per mm.

      1. 400 / (18 * 2) * 32 = 355.55 microsteps / mm
      2. 355.55 / 32 = 11.11 steps / mm

      So for 40 tpwmthrs...

      (1 mm / 11.11 steps) * (12,000,000 / (256 * 40)) = 105.5mm/s


      1. The 12,000,000 comes from the clock frequency, tpwmthrs is in units of clock period
      2. Check out the datasheet: https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2160A-datasheet_Rev1.06.pdf
      posted in Tuning and tweaking
      ibash
      ibash
    • RE: Using 0.9 deg LDO motors in StealthChop mode on a Delta

      @ignacmc

      The specific values depend on your machine, but the things to know are:

      1. The H/V/T values set the speed at which stealthchop is enabled / disabled. When the printer is moving below the speed limit, stealthchop is enabled. The lower the number for H/V/T, the higher the speed limit for stealthchop (it's inverted).
      2. I explained how that value is calculated here. But instead you can try setting the value with M569 ... and then send M569 P0 in the console with no parameters to see what the speed is set at.
      3. The recommendation is typically to set a speed for stealthchop, and then limit the machine to not go over that speed. (So that it always stays in stealthchop).
      4. You need a tuning step where you energize the steppers and pause. This needs to go before the first movement (so for me, this is in homex.g).

      Here's my stealthchop config:

      In my config.g:

      ; Trinamic Drive Tuning
      ; Tune tpwmthrs (V) so stealthchop runs at appropriate speeds
      ; and tune thigh (H) to avoid shifting into fullstep mode
      ; Tune stealthchop to 250mm/s, set coolstep to the same, and then limit the max speed to 120mm/s
      ; tpwmthrs = 12000000 / (<speed in mm/s> * 200 * 16)
      ; This keeps everything slow and quiet.
      
      M569 P0 D3 V15 H15 ; Enable stealthchop on X
      M569 P1 D3 V15 H15 ; Enable stealthchop on Y
      M915 X Y T15       ; Coolstep only starts after stealthchop (effectively never)
      
      ; Limit speed / acceleration
      M201 X1200 Y1200  ; Max Acceleration (mm/min)
      M203 X7200 Y7200  ; Max Speed (mm/min)
      M566 X600 Y600    ; Max "jerk" speed (mm/min)
      

      Tuning at the top of my homex.g

      G1 H2 X-0.005       ; 1 microstep movement to energize steppers
      G4 P150             ; pause for 150ms to allow the driver to establish motor parameters
      G1 H2 Z0.000625     ; 1 microstep movement to energize steppers
      G4 P150             ; pause for 150ms to allow the driver to establish motor parameters
      

      Again, your specific values for H/V/T depend on your machine. In my config I set it to 15, which corresponds to enabling stealthchop up to 250mm/s. But then I limit overall speed to 120mm/s because at higher speeds stealthchop will skip steps.

      So, I'd recommend setting the number low (something like 10) so stealthchop is always enabled and then limiting the speed, acceleration, and jerk of your machine.

      Last but not least, when troubleshooting it's useful to restart the machine between config changes (or use M999) sometimes setting config values can get a bit funky.

      posted in Tuning and tweaking
      ibash
      ibash

    Latest posts made by ibash

    • RE: Opinions on "FYSETC" ... politely, please.

      @sputnikoc3d said in Opinions on "FYSETC" ... politely, please.:

      Why should we be polite when discussing them ?

      The op is Canadian!

      posted in General Discussion
      ibash
      ibash
    • heater faults

      ba2e53de-23cf-44d9-ba97-36513463e4b0-image.png

      posted in General Discussion
      ibash
      ibash
    • RE: Spurious heater faults again

      @owend

      🤷 from a user point of view it's a bug. It says the temperature is rising too slowly when in fact it's rising just fine. This is the #1 issue affecting reliability for me.

      posted in Using Duet Controllers
      ibash
      ibash
    • Spurious heater faults again

      Re: Spurious heater faults

      Back once again to report heater faults. This time I think the issue is that my room temperature is too cold, even though my printer is enclosed, it's not perfectly sealed. 🤷

      I don't need help troubleshooting, just wanted to report that the duet firmware is still buggy here.

      posted in Using Duet Controllers
      ibash
      ibash
    • RE: Spurious heater faults

      @phaedrux

      Yep I do copy/paste the line into config.g. It looks like the values are applied correctly too:

      In my config.g:
      Screen Shot 2022-04-30 at 9.49.50 PM.png

      M307 H0:
      Screen Shot 2022-04-30 at 9.49.45 PM.png

      posted in Using Duet Controllers
      ibash
      ibash
    • RE: Spurious heater faults

      Hmm, got another heater fault today despite having changed the thermistor value and retuning.

      Screen Shot 2022-04-30 at 5.24.03 PM.png

      posted in Using Duet Controllers
      ibash
      ibash
    • RE: Spurious heater faults

      I think the problem is that it is using the wrong thermistor value, as per the graph the keenovo thermistor vs bed thermistor are way different when they should be the same. This is my mistake.

      Thank you Phaedrux!

      posted in Using Duet Controllers
      ibash
      ibash
    • RE: Spurious heater faults

      Thanks!

      Screen Shot 202z2-04-29 at 12.01.15 AM.png

      Still running the tuner, can post results when done. Just realized that my config.g has "B4240" for the bed thermistor, when I think it should be B3950. Could that be the cause?

      posted in Using Duet Controllers
      ibash
      ibash
    • RE: Spurious heater faults

      cc @Phaedrux maybe?

      posted in Using Duet Controllers
      ibash
      ibash
    • RE: Spurious heater faults

      @owend

      1. Heat is rising too slowly
      2. It's an aluminum bed, it's a railcore so fairly large 300x300. The printer is enclosed.
      3. Keenovo heater.
      4. See below
      5. M303 H0 S100

      Config.g:

      ;General Setup - RailCore RRF on a SBC for Duet3
      M929 S2 ; Enable Logging
      G21     ; Work in millimetres
      G90     ; Send absolute coordinates...
      M83     ; ...but relative extruder moves
      
      ; Stepper configuration
      M569 P0 S1 D3 ; Drive 0 X / Rear
      M569 P1 S0 D3 ; Drive 1 Y / Front
      M569 P2 S1 ; Drive 2 Z Front Left
      M569 P3 S1 ; Drive 3 Z Rear Left
      M569 P4 S1 ; Drive 4 Z Right
      M569 P5 S1 ; Drive 5 Extruder
       
      ;Axis configuration
      M669 K1              ; corexy mode
      M584 X0 Y1 Z2:3:4 E5 ; Map X to drive 0 Y to drive 1, Z to drives 2, 3, 4, and E to drive 5
      
      ;Leadscrew locations
      M671 X-15:-15:336  Y20:277:150 S7.5
      
      M350 X16 Y16 Z16 E16 I1          ; set 16x microstepping for axes with interpolation
      M906 X1400 Y1400 Z1200 E800 I80 ; Set motor currents (mA)
      ;M906 X1200 Y1200 Z1200 E800 I80  ; Set motor currents (mA)
      M201 X2500 Y2500 Z100 E1500      ; Accelerations (mm/s^2)
      M203 X24000 Y24000 Z900 E3600    ; Maximum speeds (mm/min)
      M566 X800 Y800 Z100 E1500        ; Maximum jerk speeds mm/minute
      M208 X288 Y305 Z338              ; set axis maxima and high homing switch positions (adjust to suit your machine)
      M208 X-10 Y0 Z0 S1               ; set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)
      M92 X200 Y200 Z1600 E837         ; steps/mm
       
      ; End Stops
      M574 X1 S1 P"io1.in" ; Map the X endstop to io1.in
      M574 Y1 S1 P"io2.in" ; May the Y endstop to io2.in
       
      ; Thermistors
      M308 S0 P"temp0" Y"thermistor" A"bed_heat" T100000 B4240 H0 L0              ; Bed thermistor - connected to temp0
      M308 S1 P"temp1" Y"thermistor" A"e0_heat" T100000 B4725 C7.06e-8 H0 L0      ; duet3 e3d thermistor - connected to e0_heat
      ;M308 S1 P"temp1" Y"thermistor" A"e0_heat" T500000 B4723 C1.196220e-7 H0 L0 ; _RRF3_ slice thermistor
      M308 S2 P"temp2" Y"thermistor" A"keenovo" T100000 B3950 H0 L0               ; Keenovo thermistor - connected to temp2
      
      ;Define Heaters
      M950 H0 C"out0" T0 ; Bed heater is on out0
      M950 H1 C"out1" T1 ; Hotend heater is on out1
      
      ;Define Bed
      M140 H0
      
      M307 H0 R0.246 K0.112:0.000 D30.62 E1.35 S1.00 B0        ; Bed, with enclosure tuned at 100c
      ; M307 H0 B0 R0.238 C1055.6 D38.24 S1.00 V24.0             ; Bed, with enclosure tuned at 60c
      ; M307 H0 R0.225 K0.135:0.000 D45.28 E1.35 S1.00 B0        ; Bed, no enclosure tuned at 60c
      M307 H1 R2.489 K0.564:0.000 D6.51 E1.35 S1.00 B0 V24.0     ; Hotend with 5015 fan, with enclosure
      ; M307 H1 R2.370 K0.536:0.000 D7.36 E1.35 S1.00 B0 V24.0   ; Hotend with 5015 fan, no enclosure 
      M570 S360                                                ; Hotend may be a little slow to heat up so allow it 180 seconds
      M143 S295                                                ; Set max hotend temperature
      
      ; Mesh bed level grid
      M557 X102.5:227.5 Y92.65:207.65 P2:2
      
      ; Fans
      M950 F0 C"out4"     ; Layer fan on "out4" connector
      M106 P0 S0          ; Layer Fan
      M950 F1 C"out5"     ; Hotend fan on "out5" connector
      M106 P1 S255 H1 T50 ; enable thermostatic mode for hotend fan
      ; M106 P1 S0
      
      ; Filter fans
      M950 F2 C"out9"
      M106 P2 S0
      M950 F3 C"out8"
      M106 P3 S0
      
      
      ; Tool definitions
      M563 P0 D0 H1 F0 ; Define tool 0
      G10 P0 S0 R0     ; Set tool 0 operating and standby temperatures
      
      ; BLTouch
      ; larger probe offset = nozzle closer to the bed
      M558 P9 C"io7.in" H5 R1 F120 T6000 A5 S0.02 B1 ; define the bltouch input on io7.in
      M950 S0 C"io7.out"                             ; define the bltouch servo on io7.out
      ;G31 X2 Y38.15 Z1.38 P25                        ; set the offsets for the bltouch
      G31 X2 Y38.15 Z1.15 P25                        ; set the offsets for the bltouch
      
      ; Calibrate MCU Temperature
      M912 P0 S-8.7
      
      ; Stealthchop
      M98 P"stealthchop/config.g"
      
      T0 ; select first hot end
      
      posted in Using Duet Controllers
      ibash
      ibash