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

Below 4°

Scheduled Pinned Locked Moved
General Discussion
4
19
759
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.
  • undefined
    falco22
    last edited by 20 Dec 2021, 18:09

    Hello everyone. I am developing a multiple gel dispenser and one of the heads must cool to 4 degrees. It is designed and working properly with a peltier cell, but when I send to print the machine does not wait until the head reached 4 degrees. I read that for temperatures below 40 degrees the machine does not wait (because evidently it is prepared for temperatures above the ambient temperature, not below). Is there any way to modify it so that it does wait? Thanks

    undefined 1 Reply Last reply 20 Dec 2021, 18:43 Reply Quote 0
    • undefined
      dc42 administrators @falco22
      last edited by 20 Dec 2021, 18:43

      @falco22 please post your config.g file so that I can better understand what we may be able to do.

      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

      1 Reply Last reply Reply Quote 0
      • undefined
        falco22
        last edited by 20 Dec 2021, 18:49

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • undefined
          falco22
          last edited by 20 Dec 2021, 18:51

          config.txt

          undefined 1 Reply Last reply 20 Dec 2021, 18:54 Reply Quote 0
          • undefined
            dc42 administrators @falco22
            last edited by 20 Dec 2021, 18:54

            @falco22 I don't know the STM board, however my expectation is that when using a cooling device instead of a heater, you will need to use the M307 I1 parameter to indicate that increasing PWM on the port reduces the temperature.

            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

            1 Reply Last reply Reply Quote 0
            • undefined
              falco22
              last edited by 20 Dec 2021, 19:07

              Yes, I am using M307 I1. And it works fine. I manually set the peltier to cool and it goes perfectly down to 4 degrees. The problem is when I send a print file from the CURA with a setting of 4 degrees, the print starts without waiting for the temperature to go down to 4 degrees.

              undefined 1 Reply Last reply 20 Dec 2021, 21:12 Reply Quote 0
              • undefined
                Phaedrux Moderator
                last edited by 20 Dec 2021, 20:07

                Can you share a sample gcode from cura?

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • undefined
                  falco22
                  last edited by 20 Dec 2021, 20:15

                  CFFFP_bio2.gcode

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    falco22
                    last edited by 20 Dec 2021, 20:22

                    I want to use the M116 but:

                    Note: The M116 will not wait for temperatures below 40c because in many cases they will never be reached due to ambient temperatures. So if you want to wait for the hotend or bed to cool, use 41c or higher.

                    undefined 1 Reply Last reply 20 Dec 2021, 20:46 Reply Quote 0
                    • undefined
                      deckingman @falco22
                      last edited by 20 Dec 2021, 20:46

                      @falco22 I think you could do it with conditional gcode - it certainly works for heating so I don't see any reason why it wouldn't work for cooling.

                      Something like this should work after you set the demand temperature

                      while sensors.analog[1].lastReading > 4
                      M291 P"Waiting for dispenser to cool" S1 T4
                      echo "Dispenser temp", sensors.analog[1].lastReading
                      G4 S4

                      Ian
                      https://somei3deas.wordpress.com/
                      https://www.youtube.com/@deckingman

                      undefined 2 Replies Last reply 21 Dec 2021, 18:01 Reply Quote 2
                      • undefined
                        dc42 administrators @falco22
                        last edited by 20 Dec 2021, 21:12

                        @falco22 I see the I1 parameter now, on heater 1 (I was looking at heater 0).

                        A solution may be for RRF to change its behaviour when the I1 parameter is given. Normally, RRF assumes that temperatures below 40C are not of interest, and ambient temperature may be as high as 40C, so do not wait for cooling below 40C. With the I1 parameter, RRF could assume that temperatures above e.g. 10C are not pf interest, so do not wait for the temperature to become greater than 10C after the cooler is turned off. Would this be sufficient? Is 10C a suitable value, or should it be lower e.g. 5C or 0C ?

                        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

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          falco22
                          last edited by 21 Dec 2021, 17:33

                          Well, the ideal would be between 0 and 4 degrees.

                          undefined 1 Reply Last reply 21 Dec 2021, 17:46 Reply Quote 0
                          • undefined
                            dc42 administrators @falco22
                            last edited by 21 Dec 2021, 17:46

                            @falco22 ideal for you perhaps! We need to look for a solution that works for other users with cooling devices too.

                            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

                            undefined 1 Reply Last reply 21 Dec 2021, 17:54 Reply Quote 0
                            • undefined
                              falco22 @dc42
                              last edited by 21 Dec 2021, 17:54

                              @dc42 Of course it is ideal for me. But I have seen that many people are developing bioprinting solutions, and to work with certain cells the minimum recommended temperature is 4 degrees.

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                falco22 @deckingman
                                last edited by 21 Dec 2021, 18:01

                                @deckingman said in Below 4°:

                                conditional gcode
                                Can you explain a little more? how to apply it and where? thank you very much.

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  falco22 @deckingman
                                  last edited by 21 Dec 2021, 18:08

                                  @deckingman Forget it, it worked perfect!

                                  undefined 1 Reply Last reply 21 Dec 2021, 19:40 Reply Quote 0
                                  • undefined
                                    deckingman @falco22
                                    last edited by 21 Dec 2021, 19:40

                                    @falco22 said in Below 4°:

                                    @deckingman Forget it, it worked perfect!

                                    I'm pleased that it did - I thought it might. I use that while loop myself instead of M116 although I can't take any credit, as it was someone else on these forums who advised me how to do it.

                                    In my case, I wanted a solution which would check if the hot end was at or above a threshold temperature. The problem with M116 is that if the hot end is already above that threshold, then it will wait for it to cool until it reaches the set point, which is not what I wanted to happen. Using a "while loop" gives much more flexibility IMO.

                                    Ian
                                    https://somei3deas.wordpress.com/
                                    https://www.youtube.com/@deckingman

                                    undefined 1 Reply Last reply 24 Dec 2021, 11:02 Reply Quote 1
                                    • undefined
                                      falco22 @deckingman
                                      last edited by 24 Dec 2021, 11:02

                                      @deckingman I find a problem with that solution. It only works for 4 degrees. Is there any way to formulate the equation to fit any temperature between room temperature and 0C? Thank you.

                                      undefined 1 Reply Last reply 24 Dec 2021, 15:21 Reply Quote 0
                                      • undefined
                                        deckingman @falco22
                                        last edited by 24 Dec 2021, 15:21

                                        @falco22 said in Below 4°:

                                        @deckingman I find a problem with that solution. It only works for 4 degrees. Is there any way to formulate the equation to fit any temperature between room temperature and 0C? Thank you.

                                        I'm not an expert on conditional gcode so someone else might have a better answer. But do you mean if the temperature is within a range from (say) 20 to 0? In which case you could use something like

                                        while {sensors.analog[1].lastReading >0} & {sensors.analog[1].lastReading <20}

                                        or do you mean a fixed temperature but one that you can define? In which case you could use a global variable that you define elsewhere - e.g. in a separate macro or config.g.

                                        so something like

                                        global dispenserTemp = nn (where "nn" is the temperature value)

                                        then the expression would become something like

                                        while sensors.analog[1].lastReading > {global.dispenserTemp}.

                                        But as I said, I'm not expert and may have got something wrong. Suggest you check out the documentation https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands#main

                                        Ian
                                        https://somei3deas.wordpress.com/
                                        https://www.youtube.com/@deckingman

                                        1 Reply Last reply Reply Quote 0
                                        9 out of 19
                                        • First post
                                          9/19
                                          Last post
                                        Unless otherwise noted, all forum content is licensed under CC-BY-SA