Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    how to setup a hotend for directly printing metal and ceramic.

    Scheduled Pinned Locked Moved Unsolved
    Hardware dev
    6
    59
    2.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • lynnmtundefined
      lynnmt @lynnmt
      last edited by lynnmt

      @lynnmt
      is this an unstable package release?

      also,
      will the instructions here be sufficient for making this firmware update or are there other sources to consider?

      https://docs.duet3d.com/User_manual/Machine_configuration/DSF_RPi#software-installation

      when I run the commands suggested for upgrading to unstable releases, here:
      sudo rm -f /etc/apt/sources.list.d/duet3d.list
      sudo bash -c "echo 'deb https://pkg.duet3d.com/ unstable armv7' > /etc/apt/sources.list.d/duet3d-unstable.list"

      my command prompt on SBC returns

      bash - "permision denied"

      1 Reply Last reply Reply Quote 0
      • lynnmtundefined
        lynnmt @dc42
        last edited by

        @dc42
        I have successfully upgraded to RRF 3.5.0-rc.3.
        Autotuning of my heater still fails with the warning

        running M303 H1 Y20 P0.27 S750 returns:

        "Autotune failed due to bad curve fit (R=53.131 K=0.801:0.000 D=1.25)

        If i then take the provided model parameters, and plug them into M307 as:
        M307 H1 R53.131 K0.801 D1.25
        this command returns

        Error M307 : Bad model parameters.

        The autotune makes a very nice curve, see picture here:
        66bc7655-cc32-4f60-a35d-120b175ef507-image.png

        Not sure what to make of this.

        dc42undefined 1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators @lynnmt
          last edited by dc42

          @lynnmt do you have a temperature limit set for that heater? Use M143 H1 to check. If so then it may be set too low. If the heater has been assigned to a tool then it will have a default temperature limit. I found that I needed to increase the temperature limit to 1750C (M143 H1 S1750) for those parameters to be accepted.

          Please post your config.g file.

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          lynnmtundefined 1 Reply Last reply Reply Quote 0
          • lynnmtundefined
            lynnmt @dc42
            last edited by

            @dc42

            config.g

            ; Configuration file for Duet 3 MB 6HC (firmware version 3.3)
            ; executed by the firmware on start-up
            ;
            ; generated by RepRapFirmware Configuration Tool v3.4.1 on Fri Feb 23 2024 23:32:11 GMT-0600 (Central Standard Time)
            
            ; General preferences
            G90                                          ; send absolute coordinates...
            M83                                          ; ...but relative extruder moves
            M550 P"Duet 3"                               ; set printer name
            M918 P1 E4 F2000000                          ; configure direct-connect display
            
            ; Drives
            M569 P0.0 S0                                 ; physical drive 0.0 goes backwards
            M569 P0.1 S1                                 ; physical drive 0.1 goes forwards
            M569 P0.2 S1                                 ; physical drive 0.2 goes forwards
            M569 P0.3 S0                                 ; physical drive 0.3 goes backwards
            M584 X0.0 Y0.1 Z0.2 E0.3                     ; set drive mapping
            M350 X16 Y16 Z16 E16 I1                      ; configure microstepping with interpolation
            M92 X80.00 Y80.00 Z400.00 E93.00             ; set steps per mm
            M566 X1200.00 Y1200.00 Z24.00 E300.00        ; set maximum instantaneous speed changes (mm/min)
            M203 X9000.00 Y9000.00 Z180.00 E6000.00      ; set maximum speeds (mm/min)
            M201 X500.00 Y500.00 Z100.00 E5000.00        ; set accelerations (mm/s^2)
            M906 X800 Y800 Z800 E1000 I50                ; set motor currents (mA) and motor idle factor in per cent
            M84 S30                                      ; Set idle timeout
            
            ; Axis Limits
            M208 X0 Y0 Z0 S1                             ; set axis minima
            M208 X235 Y235 Z250 S0                       ; set axis maxima
            
            ; Endstops
            M574 X1 S1 P"io1.in"                         ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io1.in
            M574 Y1 S1 P"io2.in"                         ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io2.in
            M574 Z1 S2                                   ; configure Z-probe endstop for low end on Z
            
            ; Z-Probe
            M950 S0 C"io5.out"                           ; create servo pin 0 for BLTouch
            M558 P9 C"io5.in" H5 F120 T6000              ; set Z probe type to bltouch and the dive height + speeds
            G31 P500 X0 Y0 Z3                            ; set Z probe trigger value, offset and trigger height
            M557 X60:215 Y30:195 S20                     ; define mesh grid
            
            ; Heaters
            M308 S0 P"temp0" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin temp0
            M950 H0 C"out0" T0                           ; create bed heater output on out0 and map it to sensor 0
            M307 H0 B1 S1.00                             ; enable bang-bang mode for the bed heater and set PWM limit
            M140 H0                                      ; map heated bed to heater 0
            M143 H0 S150                                 ; set temperature limit for heater 0 to 150C
            M308 S1 P"spi.cs0" Y"thermocouple-max31856"  ; configure sensor 1 as thermocouple via CS pin spi.cs1
            M950 H1 C"out1" T1                           ; create nozzle heater output on out1 and map it to sensor 1
            M307 H1 B0 S0.10                             ; disable bang-bang mode for heater  and set PWM limit
            M143 H1 S900                                ; set temperature limit for heater 1 to 900C
            
            ; Fans
            M950 F0 C"out7" Q500                         ; create fan 0 on pin out7 and set its frequency
            M106 P0 S0 H-1                               ; set fan 0 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
            M501                                         ; load saved parameters from non-volatile memory
            T0                                           ; select first tool
            

            I have set the temperature limit to 900 C.
            why would there be a minimum limit for the model parameters to be accepted?
            my heater cannot be allowed to operate above about 1300 C in air for an extended period, or its resistance will drift.
            I set a lower limit, because the thermocouple has a large offset temperature and I dont know it exactly. so I set a conservative limit, as I wanted to avoid destroying my heater.

            soare0undefined 1 Reply Last reply Reply Quote 0
            • soare0undefined
              soare0 @lynnmt
              last edited by soare0

              @lynnmt I think it is only for the model to work. Normally, it should be a real ”limit” here, and for the heaters wich I not did autotune (or failed, probably because of the same problem as yours now, and for wich I set the model parameters manually), I get some warnings like: ”your temperature may reach XXX degrees”, but this did not happened... yet.

              M143 H4 S100                                        ; set temperature limit for heater 1 to 100C
              

              And the model:

              M307 H4 R0.217 K0.124:0.000 D19.84 E1.35 S1.00 B1
              

              So the software warns me at start-up that based on my M307, and ... do not know what else, the heater will reach 176C. I could not care less, as it works, just an annoying message more.

              1 Reply Last reply Reply Quote 0
              • lynnmtundefined
                lynnmt
                last edited by lynnmt

                So after taking @dc42 suggestion and raising the temperature limit to 1750C,
                the Autotune (at 700 C target temperature and 0.27 pwm limit with Y20) worked and returned parameters:

                Heater 1: heating rate 44.460, cooling rate 0.824, dead time 1.70, max PWM 0.27, mode PID, calibrated at 23.6V
                Predicted max temperature rise 1918°C
                PID parameters: heating P2.4 I0.233 D2.8, steady P2.4 I0.499 D2.8

                This seems to be reliable enough given my janky current setup to transfer to the working printhead.

                We also characterized the offset temperature from the glowplug tip to the thermocouple y measuring the tip temperature with an identical type K thermocouple.

                here is the result
                38f93781-ccbd-4f0f-889b-89bd0fe312a5-image.png

                thanks for the guidance. I think this is enough for a start. 🙂

                OwenDundefined 1 Reply Last reply Reply Quote 0
                • OwenDundefined
                  OwenD @lynnmt
                  last edited by

                  @lynnmt

                  Unrelated to the tuning, but I wonder if adopting a setup similar to hot wire tig welding would be beneficial in this application ?
                  Essentially the wire has a current applied by an external DC power source (sometimes AC), with the bed being the ground.
                  When a connection occurs during feeding, the wire is "pre heated" allowing for faster melting & higher deposition rates.
                  The current used isn't enough that the wire can create an arc on its own.

                  lynnmtundefined 1 Reply Last reply Reply Quote 0
                  • lynnmtundefined
                    lynnmt @OwenD
                    last edited by

                    @OwenD
                    others have already done this.
                    https://hackaday.io/project/169412-wire-3d-printer
                    https://www.digitalalloys.com/

                    it requires large currents and does not work with glasses or ceramics.
                    neat process, but will not work for my application unfortunately.

                    OwenDundefined 1 Reply Last reply Reply Quote 0
                    • OwenDundefined
                      OwenD @lynnmt
                      last edited by

                      @lynnmt
                      Those examples are using the current to melt the wire (akin to MIG welding), so they are nothing like TIG hot wire.
                      In hot wire TIG, the current through the wire is much lower and used only to aid melting the wire by getting it hot.
                      The main heat source is external. In TIG it's a high current arc carried via a tungsten electrode, but a heating cartridge would equally work.
                      Naturally it wouldn't work with non conductive materials.
                      Anyway, just a thought.

                      1 Reply Last reply Reply Quote 0
                      • lynnmtundefined
                        lynnmt
                        last edited by lynnmt

                        @dc42
                        ce4f4153-cf7e-4614-b575-4b1e12c581a6-image.png

                        So one of our project members, Shields experiments provided us a thermocouple isolator interposer for the duet thermocouple board.
                        this allows us to use a thermocouple directly on the tip of the heater with no insulation and no stainless steel ring.

                        Unfortunately, this also means that our model parameters are once again out of range...

                        can you point me to the place in the firmware where I can adjust the model parameter range?
                        I have no fear of finding and modifying it to make this work. 🙂

                        dc42undefined 1 Reply Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators @lynnmt
                          last edited by

                          @lynnmt the validation of model parameters is in function FopDt::SetParameters in file FOPDT.cpp.

                          However, I decided to remove the check on maximum temperature increase when validating parameters, which should resolve the problem for you. You will still see a warning if the estimated maximum temperature is high. I have also provided a more detailed error message when validation of model parameters fails. You can find the latest 3.5.0-rc.3+4 firmware binaries with these changes included at https://www.dropbox.com/scl/fo/yzchzlyxmxlzywjawqflu/h?rlkey=tl7dfs75yozhfgpze0jnkn32n&dl=0.

                          Duet WiFi hardware designer and firmware engineer
                          Please do not ask me for Duet support via PM or email, use the forum
                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                          lynnmtundefined 1 Reply Last reply Reply Quote 1
                          • lynnmtundefined
                            lynnmt @dc42
                            last edited by

                            @dc42

                            thanks!
                            is this linked repository available to be directly upgraded to from a networked SBC?
                            Or should I copy in the firmware folder manually to the SBC and install it from a local directory by including in the sources list for APT?

                            I have so far been unable to find this particular firmware using APT search.

                            do you have a preferred way to do this?

                            all the best,
                            Michael Lynn

                            T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
                            • T3P3Tonyundefined
                              T3P3Tony administrators @lynnmt
                              last edited by

                              @lynnmt the drop box firmware builds are experimental and not available over apt. please do the following:

                              1. ensure you upgraded to the latest unstable release via apt (3.5rc3)
                              2. use DWC up upgrade to the firmware files shared in dropbox (pick the /bin file or files for the boards in your system, do to system-> Upload system files) DWC will warn you then you should only so this if asked to do so.

                              www.duet3d.com

                              lynnmtundefined 1 Reply Last reply Reply Quote 0
                              • lynnmtundefined
                                lynnmt @T3P3Tony
                                last edited by

                                @T3P3Tony
                                the altered firmware from DC42 seems to be working perfectly.
                                thanks!

                                I will report back when we run our first tests of printing 510 phosphor bronze from mcmaster.
                                https://www.mcmaster.com/9668K92/

                                1 Reply Last reply Reply Quote 1
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA