Polling Duet w/ Arduino for Temperatures



  • Hello All!

    I just got my duet finally running, calibrated and even printing! I use mainly PLA and have since installed a custom layer fan that just so happens to be too powerful and is cooling the extruder below the 15 degree fault limit. I have been able to get past it by surrounding the heater block in kapton, and as long as it gets past the first few layers its fine.

    However, I don't want to watch the first layers every single time I print, and I also don't really want to change the layer fan (mostly because I'm stubborn and want them to work). So what I am looking to do is program an Arduino to shut down the fans if the temperature drops more than 7-10 degrees below the set limit for just a few seconds to get it to warm back up. For this I need to poll the Duet for the set temp and current temp, is this possible?

    Also if I could do this with Gcode that would also be fine, but looking through the commands I haven't seen anything. Also because of the fans I have used, they only have one speed and thats max speed, so setting them lower unfortunately isn't and option.

    Thanks for any responses!



  • Why not simply insulate the hotend – you can get silicone socks for the e3d if you are using that, or you can get ceramic insulation and secure it to heater block with kapton (that's how I solved this problem a while back).
    Also I find that if you turn your part cooling fan on and bring the hotend near the bed and PID tune that way, you can get more aggressive PID numbers which will do a better job to keep the hotened at temperature.



  • I think it would be easier to turn down the layer fan speed in your slicer when you want it to run and just have it kick on after so many layers.



  • @kazolar:

    Why not simply insulate the hotend – you can get silicone socks for the e3d if you are using that, or you can get ceramic insulation and secure it to heater block with kapton (that's how I solved this problem a while back).
    Also I find that if you turn your part cooling fan on and bring the hotend near the bed and PID tune that way, you can get more aggressive PID numbers which will do a better job to keep the hotened at temperature.

    I tried the silicone socks from E3D and did not have super great luck with them. Possibly because my old printer was not wonderfully calibrated. I have been thinking about that though. However I am not sure I have ever heard of ceramic insulators for heater blocks, do you have a link by chance? I will definitely try the PID tuning near the plate to see if that works! I feel like my only other option is possibly to go to 24v heater, do you think that would work?

    @number40fan:

    I think it would be easier to turn down the layer fan speed in your slicer when you want it to run and just have it kick on after so many layers.

    Unfortunately I can't change the fan speed in the slicer because the fans I have running are only meant to run at 100% and they cant scale down sadly. At 4.5v they just twitch and don't spin.

    Thanks for the replys tho! Typically I try to take the hardest route, so fresh ideas are welcome!



  • I had this issue as well. I purchased a 40w heater and it solved all the problems.



  • got a pic? parts fan should not be blowing on extruder but below it so i am wondering how it is causing a temp drop?



  • btw, i have my fan set not to come on till layer 3 . Not sure you need all that extra arduino stuff as duet can do that for ya i think



  • Typically you see this when you are right next to the bed and the air blown by the part cooling fan bounces off the bed and cools the hotend – it typically is only a problem on the first few layers as the air is trapped and has no way to go -- Most people ramp up their cooling 20% layer 2, 40% layer 3 60 % layer 4 and so on. I don't quiet know why a DC fan can't be run via PWM -- as virtually any DC fan will run slower by applying less voltage -- which PWM effectively accomplishes.

    24v is definitely the way to go for heaters, they will be able to keep the hotend temperature more stable. I've used 40w heaters, but I haven't seen much of difference between a 30w and 40w 24v heater. Key is PID tunning, and how you do it. If you PID tune to 190C with ideal conditions, and then expect those values to work for you at 230c with the part cooling fan blaring right near the bed, it won't work. You certainly need to nsulate the hotened, kapton tape alone is not enough -- I won't paste links here to amazon, but you can search amazon for ceramic insulation. It comes in a roll, you cut off a piece and wrap it around the heater block and use kapton to keep it secured and tight. Really that is the the most effective way I've found to keep the hotend from getting cooled down by an aggressive part cooling fan. I've switched to silicone socks -- TBH they're not as good, but PID can compensate for loss of heat -- I PID tunned my delta as I described with hotened near the bed -- about 1 mil above with part cooling fans on at 100%. Those values have been working perfectly -- prior to PID tuning -- I actually had a couple of prints get aborted as the firmware complained of temperature issues as the temp was falling as much as 20c below the target. Good luck.



  • @Herrminator117:

    Unfortunately I can't change the fan speed in the slicer because the fans I have running are only meant to run at 100% and they cant scale down sadly. At 4.5v they just twitch and don't spin.

    Thanks for the replys tho! Typically I try to take the hardest route, so fresh ideas are welcome!

    You may not have tried all the tricks to tame your fan for PWM control.
    Without any hardware modifications you should try modifying the fan setup line in config.g as follows and see what happens (assuming you have a relatively current firmware):

    M106 S0 F25000 B0.5

    This sets the PWM frequency to a relatively high 25 kHz and gives a half second boost at full power at every start to make sure the fan starts spinning.
    I have made my fan to behave more civilized by soldering a small capacitor ( 220 nF in my case) across the fan terminals. If you go higher in capacitance I would suggest you add a small (a few ohms) series resistor to protect the switching FET from high currents. With a small capacitor like mine the long and thin wires should give enough series resistance.


  • administrators

    Another thing worth trying is to reduce the fan PWM speed to 100Hz (F100 in the M106 command) or even lower.



  • Back to the initial question: is there a documentation of the protocole used between PanelDue and DuetWifi, on the serial port?

    Thanks,


  • administrators

    Yes, it's gcode, see https://duet3d.com/wiki/G-code. The status info is obtained using the M408 command.



  • Ah, yes, of course, G-Code everywhere 🙂

    And to setup the com, I guess I should use the M575 command, with P1 param?


  • administrators

    Yes.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.