FAN 0 & FAN 1 allways ON
-
Hello,
FAN 0 and FAN 1, which are the extruder cooler and case cooler fans, are allways on. No matter how I change the gcode, they allways are engaged. Kinda annoying.
Can someone take a look???
generated by RepRapFirmware Configuration Tool v3.3.10 on Mon Feb 21 2022 20:39:43 GMT+0200 (Eastern European Standard Time)
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Print Machine" ; set printer name; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S1 ; physical drive 0 goes forwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S1 ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E3 ; 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 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z600.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800 I30 ; 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 X245 Y245 Z240 S0 ; set axis maxima; Endstops
M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X-47 Y-15 Z3.35 ; set Z probe trigger value, offset and trigger height
M557 X15:215 Y15:195 S20 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat 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 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P1 S1 H1 T50 ; set fan 0 value. Thermostatic control is turned on
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S0 H102 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 D0 H1 F0 ; define tool 0
G10 P0 X40 Y30 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
m501
-
@cozyp said in FAN 0 & FAN 1 allways ON:
; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P1 S1 H1 T50 ; set fan 0 value. Thermostatic control is turned on
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S0 H102 T45 ; set fan 1 value. Thermostatic control is turned on
; Tools
M563 P0 D0 H1 F0 ; define tool 0May I ask what you're doing here (above)?
Fan 0 is usually/often the part cooling fan which should be controlled by the slicer Gcode and as set in the tool def M563
Maybe you should define it something like this? :M950 F0 C"fan0" ; create fan 0 on pin 121.out1 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
The second part/fan is monitoring heater 102 (if I read this correctly) Which heater do you want to monitor? I guess H1 is what you want.
-
@gixxerfast
Nothing changed.
I have 3 fans, one PWM for printing cooling and two other fans, one for moterboard cooling and the other for extruder cooling.Both extruder cooling and motherboard fan cannot be turned off or thermostatically controlled.
I miss something....
-
; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat 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 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" ; create fan 1 on pin fan1 and set its frequency
M106 P1 S0 H1 T45 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency
M106 P2 S0 H100 T45; Tools
M563 P0 D0 H1 F0 ; define tool 0
G10 P0 X-15 Y-15 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; -
@cozyp Can you run m98 P"/sys/config.g" and post whatever shows in the console?
As far as I can see right now, the last M106 is still referencing a heater that prpbably doesn't exists. H100 ?
So just to make it clear:
- Fan 0 is part cooling fan, which is controlled by slicer GCode commands
- Fan 1 is the extruder fan which is controlled by the temp of heater 1 and should turn on whenever thet temp is over 45
- Fan 2 is the controller fan which is controlled by sensor MCU temp that you have probably defined that somewhere?
Here's mine:
; Define MCU sensors which will be available in DWC Extra View M308 S3 A"MCU" Y"mcu-temp" ; Officially NOT supported on Mini 3 5+ however seem to work M308 S4 A"Duet Drivers" Y"drivers" ; This is not really working as it is just a threshold crossing
And I'm referring to those with:
; ================================== ; MCU fan ; ================================== M950 F2 C"!0.out4+0.out4.tach" Q25000 ; create fan 2 on pin out4 and set its frequency M106 P2 H3:4 L0.2 X1.0 T30:50 C"Controller fan 1" ; controlled by Sensor 3&4 - MCU& Drivers
-
@gixxerfast said in FAN 0 & FAN 1 allways ON:
@cozyp Can you run m98 P"/sys/config.g" and post whatever shows in the console?
As far as I can see right now, the last M106 is still referencing a heater that prpbably doesn't exists. H100 ?
H100 refers to the "virtual heater" and is used to monitor the processor chip temperature. That could be used for the fan cooling the board.
Frederick
-
@fcwilt Edit: No it isn't
Is H100 predefined as MCU temp? -
@gixxerfast said in FAN 0 & FAN 1 allways ON:
@fcwilt Edit: No it isn't
Is H100 predefined as MCU temp?From the documentation:
The fourth example sets up an electronics cooling fan that starts to turn on when the MCU temperature (virtual heater 100) reaches 45C and reaches full speed when the MCU temperature reaches 65C or if any TMC2660 drivers (virtual heaters 101 and 102) report that they are over-temperature
I can only assume the documentation is correct.
Frederick
-
@fcwilt Yes, that sound reasonable which made me try it as I set it up explicitly.
I changed my config to:
M106 P2 H100 L0.2 X1.0 T30:50 C"Controller fan 1"
When I run that config I get:
Error: Sensor number out of range
Also, when I look in the code I see nothing that suggests that there exists predefined sensor numbers
The sensor number list that s set via the H flag is checked with this:
if (hnum < (int)MaxSensors) { sensorsMonitored.SetBit((unsigned int)hnum); } else { reply.copy("Sensor number out of range"); error = true; }
And as far as I can see the MaxSensors is between 32 or 56 depending on board. I am very likely reading something wrong here as it's not very quickly easy to see what MaxSensors is defined to in this case.
-
@fcwilt said in FAN 0 & FAN 1 allways ON:
@gixxerfast said in FAN 0 & FAN 1 allways ON:
@fcwilt Edit: No it isn't
Is H100 predefined as MCU temp?From the documentation:
The fourth example sets up an electronics cooling fan that starts to turn on when the MCU temperature (virtual heater 100) reaches 45C and reaches full speed when the MCU temperature reaches 65C or if any TMC2660 drivers (virtual heaters 101 and 102) report that they are over-temperature
I can only assume the documentation is correct.
Frederick
Yes it is correct in RRF2. And in RRF3 you can target the virtual heaters by name now. mcu-temp
Is that text from the cooling the board page?
Yes. And it does show both RRF2 and RRF3 options.
https://duet3d.dozuki.com/Wiki/Mounting_and_cooling_the_board#Section_Notes
-
@phaedrux It's from here as far as I can see: https://duet3d.dozuki.com/Wiki/M106
But can you really refer to it via number >=100 in the H parameter ?
I see nothing that implies that.
OK, so with RRF V3 you cannot use +100 to refer to the MCU or other sensor (virtual heater) as I initally wrote far above here somewhere.
-
@phaedrux said in FAN 0 & FAN 1 allways ON:
Is that text from the cooling the board page?
It was from the M106 documentation page:
It mentions v3 firmware and references M308 which is where there are references to virtual heater names.
The H parameter relates to the sensor number(s) created by M308, not the temperature sensor pin number on the board.
Perhaps that could be expanded a little to provide a bit more info as to the connection between M308 and virtual heaters, etc.
Frederick
-
Maybe just a link to this?
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Temperature_configuring_mcu_temp
In RRF2 the virtual heater number would go directly into the M106 command. But in RRF3 it's a bit more abstracted with M308 creating the sensor first. The entire example is almost out of scope for the normal usage of M106, especially in RRF3.
-
@phaedrux said in FAN 0 & FAN 1 allways ON:
Maybe just a link to this?
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Temperature_configuring_mcu_temp
In RRF2 the virtual heater number would go directly into the M106 command. But in RRF3 it's a bit more abstracted with M308 creating the sensor first. The entire example is almost out of scope for the normal usage of M106, especially in RRF3.
That looks fine.
It took me to a site that I was not aware of. Is that the current site for documentation?
Is the "Gcode dictionary" site obsolete?
Thanks.
Frederick
-
@fcwilt said in FAN 0 & FAN 1 allways ON:
Is the "Gcode dictionary" site obsolete?
It's back like it was before!
https://docs.duet3d.com/en/User_manual/Reference/Gcodes
@fcwilt said in FAN 0 & FAN 1 allways ON:
It took me to a site that I was not aware of. Is that the current site for documentation?
The new documentation site went is live now.
The old dozuki site will be archived and retired at some point I believe.
-
@phaedrux said in FAN 0 & FAN 1 allways ON:
The new documentation site went is live now.
I didn't even know it was planned.
Thanks.
Frederick
-
@fcwilt it hasn’t been announced formally as we’re still tinkering with it, and there’s still a few pages to add, but it’s live and what we are generally using now. We’ll be formally announcing it and posting messages on the Dozuki pages to redirect people to the new site in the next couple of days. It’s taken quite a few months to migrate and update it! That’s why I haven't been around on the forum as much.
Ian
-
@droftarts said in FAN 0 & FAN 1 allways ON:
@fcwilt it hasn’t been announced formally as we’re still tinkering with it, and there’s still a few pages to add, but it’s live and what we are generally using now. We’ll be formally announcing it and posting messages on the Dozuki pages to redirect people to the new site in the next couple of days. It’s taken quite a few months to migrate and update it! That’s why I have been around on the forum as much.
Ian
At first glance it looks grand.
Thanks much for your efforts.
Frederick
-
hELLO
I updated fan 2.
However I haven't managed to make fan 1, which is the extruder cooler fan stop and turn on when the heater turns on.
; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat 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 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C
M308 S10 Y"mcu-temp" A"MCU" ; defines sensor 10 as MCU temperature sensor
M308 S11 Y"drivers" A"Duet stepper drivers" ; defines sensor 11 as stepper driver temperature sensor; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"fan2" Q100 ; create fan 2 on pin fan2 and set its frequency
M106 P2 H10:11 T40:70 ; set fan 2 value -
If configure that fan to non-thermostatic control can you then set it's speed using it's DWC fan speed slider?
Frederick