berdair control issue, Cura or RRF ?
-
I have a berdair set up on my duet3, and have set the frequency to Q500.
for the printing I am currently doing i need minimal partcooling, mainly on bridges and support interfaces.
i have set 0% - 5% cooling in cura.
3 times during this print the berdair went crazy with 30% 60% and 100% fan
inspecting the gcode generated by cura i think i have found the issue.
2 of the lines pointed below.I know rrf will take fan control parameter S as either 0.0 - 1.0 or 1 - 255
Cura is generating decimal places on all values above 0
it looks like RRF cannot distinguish values lower than 1 from values above 1 generated by cura so when it sees 0.3 and 0.6 it set my berdair to 30% and 60%is there anyway to avoid this issue, any parameter to tell RRF which scale that we are using ?
-
That's an interesting problem. I suppose it's pretty rare to use such low percentages. Will have DC42 take a look.
One way to avoid it would be to just set cura to 1-5% and avoid the 0 range entirely. Would 1% cooling cause you issues?
It also seems odd for Cura to use decimal values for the 1-255 range in the first place.
What Cura version is it?
-
@phaedrux I think if you tell Cura to limit the cooling to a max of 5%, then this equals 255*0.05 = 12.75 as the highest numerical value passed to RRF. I think thats expected (at least I did).
But that RRF flaps between thinking its a 0-1.0 and a 0-255 range is indeed problematic. Maybe we need a new setting to configure what the valid range should be, and to disable this "smart range detection".
-
@resam
this flap between scales has ruined a print for me 9 hours in with a not exactly cheap polycarb carbon fibre materialIm not a programmer but am trying to see if i can do a cura post processing plugin to repace any m106 commands less than S1.1 with S0 now
-
@mikedc you can also experiment with the M106 X parameter to set a max fan speed. https://duet3d.dozuki.com/Wiki/M106
-
im already looking at this, and the min parameter
i would have to change this max parameter any time i want very low airflow -
@phaedrux
the cura version im using is 4.10.0I have also posted this issue on the cura github, but i doubt they will do much about it.
there was a 3rd line in the code too where it set it to 1.0 which rrf saw as 100%
-
I tried your suggestion, but set it to 1.1 not 1.0 as that would be 100%
also under experimental i set the bridge fan to 5%
look what happened
im using very low percentage as the berdair does push a lot of air for each 1% increment
-
Is that S0.9 line from the first 4 layers where Cura would be scaling up the fan percentage as set by the Regular Fan Speed at Layer setting?
-
yes i think it is, i will play with a couple more models with some small layer areas which will triger minimum layer times and the fan speeds a bit more
-
@mikedc
As an interim fix, could you connect an appropriate (adequate current) adjustable buck regulator module in the DC supply to the Berd-air PWM switch?That should allow you to reduce the motor "100%" voltage, so requiring higher PWM drive for a given airflow, and allow higher min/max settings in the slicer, hopefully keeping it above 1%..
-
Ok, I got an answer that works for me
Im not a programmer but have been able to hack together a cura post processing plugin that seems to work fine for me.
I will attach it for anyone else should they experience the same issues.
Just drop it in the same folder as your cura post processing plugin scripts.
usual location
C:\Program Files\Ultimaker Cura 4.[xx.x] \plugins\PostProcessingPlugin\scriptsas a bonus it also makes my berdair more controllable, as it doesnt start turning until the S value is at least 26 and reaches max speed at 245'ish.
I can enter the berdairs start S value and Max S value and it now recalculates this as being the 0 - 100% fan range ansd also drops the decimal places by roundingim also replacing any M107 with M106 S0