Electronics cooling fan on RRF3
-
@Phaedrux said in Electronics cooling fan on RRF3:
@Exerqtor said in Electronics cooling fan on RRF3:
Or am i missing something?
Yes. See the RRF3 example here: https://duet3d.dozuki.com/Wiki/Mounting_and_cooling_the_board?revisionid=HEAD#Section_Cooling
M308 S2 Y"drivers" A"DRIVERS" ; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper M950 F2 C"fan2" Q100 ; create fan 2 on pin fan2 and set its frequency M106 P2 H2:3 L0.15 X1 B0.3 T40:70 ; set fan 2 value
Creates sensors for the driver overtemp flag and the MCU temp reading using M308 as S2 and S3. Creates a fan port for Fan2 with M950. Then creates a fan command to link those sensors to fan2 with a temp range of 40-70 using M106.
Note that the MCU temperature must be calibrated to get an accurate temperature reading. See here: Calibrating the CPU temperature
@Exerqtor said in Electronics cooling fan on RRF3:
Doing the intial leap to RRF3 now so i'm still a little shaky on the "new stuff" in regard to RRF2
You'll get there. I assume you've seen this? https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview
Between that and the gcode wiki you can get a lot, but some of the more esoteric things such as this require an example and explanation since they aren't really intuitive. But that's what we're here for.
Physically what PIN of the board should I use in this example to connetc the fan? The Fan 2 pin?
this one:In case would it be possible to use other pins? FAN0, FAN1 and FAN2 in my board are already busy....
-
@the_dragonlord said in Electronics cooling fan on RRF3:
@Phaedrux said in Electronics cooling fan on RRF3:
@Exerqtor said in Electronics cooling fan on RRF3:
Or am i missing something?
Yes. See the RRF3 example here: https://duet3d.dozuki.com/Wiki/Mounting_and_cooling_the_board?revisionid=HEAD#Section_Cooling
M308 S2 Y"drivers" A"DRIVERS" ; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper M950 F2 C"fan2" Q100 ; create fan 2 on pin fan2 and set its frequency M106 P2 H2:3 L0.15 X1 B0.3 T40:70 ; set fan 2 value
Creates sensors for the driver overtemp flag and the MCU temp reading using M308 as S2 and S3. Creates a fan port for Fan2 with M950. Then creates a fan command to link those sensors to fan2 with a temp range of 40-70 using M106.
Note that the MCU temperature must be calibrated to get an accurate temperature reading. See here: Calibrating the CPU temperature
@Exerqtor said in Electronics cooling fan on RRF3:
Doing the intial leap to RRF3 now so i'm still a little shaky on the "new stuff" in regard to RRF2
You'll get there. I assume you've seen this? https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview
Between that and the gcode wiki you can get a lot, but some of the more esoteric things such as this require an example and explanation since they aren't really intuitive. But that's what we're here for.
Physically what PIN of the board should I use in this example to connetc the fan? The Fan 2 pin?
this one:In case would it be possible to use other pins? FAN0, FAN1 and FAN2 in my board are already busy....
I'm using FAN2 yeah, if your using RRF3 it's quite simple to assign it to something else to. If your not using your second heater port for example?
-
@Exerqtor said in Electronics cooling fan on RRF3:
@the_dragonlord said in Electronics cooling fan on RRF3:
@Phaedrux said in Electronics cooling fan on RRF3:
@Exerqtor said in Electronics cooling fan on RRF3:
Or am i missing something?
Yes. See the RRF3 example here: https://duet3d.dozuki.com/Wiki/Mounting_and_cooling_the_board?revisionid=HEAD#Section_Cooling
M308 S2 Y"drivers" A"DRIVERS" ; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper M950 F2 C"fan2" Q100 ; create fan 2 on pin fan2 and set its frequency M106 P2 H2:3 L0.15 X1 B0.3 T40:70 ; set fan 2 value
Creates sensors for the driver overtemp flag and the MCU temp reading using M308 as S2 and S3. Creates a fan port for Fan2 with M950. Then creates a fan command to link those sensors to fan2 with a temp range of 40-70 using M106.
Note that the MCU temperature must be calibrated to get an accurate temperature reading. See here: Calibrating the CPU temperature
@Exerqtor said in Electronics cooling fan on RRF3:
Doing the intial leap to RRF3 now so i'm still a little shaky on the "new stuff" in regard to RRF2
You'll get there. I assume you've seen this? https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview
Between that and the gcode wiki you can get a lot, but some of the more esoteric things such as this require an example and explanation since they aren't really intuitive. But that's what we're here for.
Physically what PIN of the board should I use in this example to connetc the fan? The Fan 2 pin?
this one:In case would it be possible to use other pins? FAN0, FAN1 and FAN2 in my board are already busy....
I'm using FAN2 yeah, if your using RRF3 it's quite simple to assign it to something else to. If your not using your second heater port for example?
yes! just a question: the fan I want to control is a parallel of three fans, one above the Duet, one above the Raspy and one in front of the Mosfet... I'm starting to think that maybe the total impedence of the parallel could be too low and could damage the board... is it possible?
-
@the_dragonlord What are the specs of the fans?
-
@Phaedrux said in Electronics cooling fan on RRF3:
@the_dragonlord What are the specs of the fans?
uh I don't know exactly, they are 2 120mm fans for the 2 boards and a 40x20 Noctua for the Mosfet... all of them 12vdc
-
@the_dragonlord Check the labels on the fans to see if you can find some specs.
The biggest thing will be to make sure you're not drawing more current than the single fan port can handle.
We recommend no more than 1.5A continuous current draw from each fan output, although up to 3.5A for a few seconds while the fan starts up will not harm them.
I'd be most concerned with the large 120mm fans.
12vdc and the fans wattage would give you the current for each. add them up and see if it's more or less than 1.5A.
-
@Phaedrux said in Electronics cooling fan on RRF3:
@the_dragonlord Check the labels on the fans to see if you can find some specs.
The biggest thing will be to make sure you're not drawing more current than the single fan port can handle.
We recommend no more than 1.5A continuous current draw from each fan output, although up to 3.5A for a few seconds while the fan starts up will not harm them.
I'd be most concerned with the large 120mm fans.
12vdc and the fans wattage would give you the current for each. add them up and see if it's more or less than 1.5A.
excellent, thanks
-
@Phaedrux said in Electronics cooling fan on RRF3:
@the_dragonlord Check the labels on the fans to see if you can find some specs.
The biggest thing will be to make sure you're not drawing more current than the single fan port can handle.
We recommend no more than 1.5A continuous current draw from each fan output, although up to 3.5A for a few seconds while the fan starts up will not harm them.
I'd be most concerned with the large 120mm fans.
12vdc and the fans wattage would give you the current for each. add them up and see if it's more or less than 1.5A.
the two 120mm fans declare to need 0.19A each, I don't know about the Noctua but I don't think it's more than the 120mm...just to overestimate the load let's suppose a load of 200mA each, putting them in parallel I'll obtain a total load of 600mA wich is more than safe for the board... am I right?
-
@the_dragonlord said in Electronics cooling fan on RRF3:
in parallel I'll obtain a total load of 600mA wich is more than safe for the board... am I right?
Yes I think so.
-
@Phaedrux said in Electronics cooling fan on RRF3:
@the_dragonlord said in Electronics cooling fan on RRF3:
in parallel I'll obtain a total load of 600mA wich is more than safe for the board... am I right?
Yes I think so.
It doesn't work....
- I always see the drivers temp=0
As you can see from my config.g I've setted 20 as trigger temperature for both of them but the fans only blips at startup and then doesn't spin at all....what am I missing?
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Nov 01 2020 08:34:36 GMT+0100 (Ora standard dell’Europa centrale); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"DragonCore" ; set printer name
M669 K1 ; select CoreXY mode; Network
M551 P"khiraa090971" ; set password
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S1 ; enable FTP
M586 P2 S1 ; enable Telnet; Drives
M569 P0 S0 ; physical drive 0 goes backwards
M569 P1 S0 ; physical drive 1 goes backwards
M569 P2 S0 ; physical drive 2 goes backwards
M569 P3 S0 ; physical drive 3 goes backwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 E16 I0 ; configure microstepping without interpolation
M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
M92 X159.6 Y159.6 Z1188.11 E411.88 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.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 X330 Y330 Z400 S0 ; set axis maxima; Endstops
M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure active-high 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-39 Y0 Z1.10 ; set Z probe trigger value, offset and trigger height
M557 X40:290 Y10:320 S20 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; 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 B0 S1.00 ; disable 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 B4725 C7.06e-8 ; 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; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 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 T50 ; 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 H-1 ; set fan 2 value. Thermostatic control is turned off; Tools
M563 P0 S"E3DVolcano" 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
M575 P1 S1 B57600 ; enable support for PanelDue
M501 ; load saved parameters from non-volatile memory; =========================================================
; = D R A G O N C O R E =
; =========================================================M671 X5:165:320:320:165:5 Y325:325:325:5:5:5 P0.5 ; point1 (40,320), point2 (165,320), point3 (290,320), point4 (290,10), point5 (165,10), point6 (10,10)
M591 D0 P3 C"e0_stop" S1 R70:130 L25.8 E3.0 ; Duet3D rotating magnet sensor for extruder drive 0 is connected to E0 endstop input, enabled, sensitivity 24.8mm.rev, 70% to 130% tolerance, 3mm detection length
M911 S11.0 R11.5 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"
M950 F3 C"e1heat" Q500 ; create fan 0 on pin fan0 and set its frequency
M308 S2 Y"drivers" A"DRIVERS" ; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet
M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper
;M950 F2 C"fan2"; create fan 2 on pin fan2 and set its frequency
M106 P2 H2:3 L20 X100 B0.3 T20:20 ; set fan 2 value -
You've got the M950 in your first fan block uncommented, but then the m950 in the lower block commented.
So I think you're being affected by this
Order dependency
When M950 is used to create a heater, the M950 command must come later in config.g than the M308 command that creates the sensor referred to in the T parameter
@the_dragonlord said in Electronics cooling fan on RRF3:
M950 F3 C"e1heat" Q500 ; create fan 0 on pin fan0 and set its frequency
M308 S2 Y"drivers" A"DRIVERS" ; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet
M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper
;M950 F2 C"fan2"; create fan 2 on pin fan2 and set its frequency
M106 P2 H2:3 L20 X100 B0.3 T20:20 ; set fan 2 valueYou can also send M98 P"config.g" to see if there are any syntax errors.
If you send
M106 P2 H-1 S1
in the console do the fans turn on? -
@Phaedrux said in Electronics cooling fan on RRF3:
You've got the M950 in your first fan block uncommented, but then the m950 in the lower block commented.
So I think you're being affected by this
Order dependency
When M950 is used to create a heater, the M950 command must come later in config.g than the M308 command that creates the sensor referred to in the T parameter
@the_dragonlord said in Electronics cooling fan on RRF3:
M950 F3 C"e1heat" Q500 ; create fan 0 on pin fan0 and set its frequency
M308 S2 Y"drivers" A"DRIVERS" ; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet
M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper
;M950 F2 C"fan2"; create fan 2 on pin fan2 and set its frequency
M106 P2 H2:3 L20 X100 B0.3 T20:20 ; set fan 2 valueYou can also send M98 P"config.g" to see if there are any syntax errors.
If you send
M106 P2 H-1 S1
in the console do the fans turn on?thanks tomorrow morning i'll give it a try! thanks
-
@Phaedrux said in Electronics cooling fan on RRF3:
You've got the M950 in your first fan block uncommented, but then the m950 in the lower block commented.
So I think you're being affected by this
Order dependency
When M950 is used to create a heater, the M950 command must come later in config.g than the M308 command that creates the sensor referred to in the T parameter
@the_dragonlord said in Electronics cooling fan on RRF3:
M950 F3 C"e1heat" Q500 ; create fan 0 on pin fan0 and set its frequency
M308 S2 Y"drivers" A"DRIVERS" ; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet
M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper
;M950 F2 C"fan2"; create fan 2 on pin fan2 and set its frequency
M106 P2 H2:3 L20 X100 B0.3 T20:20 ; set fan 2 valueYou can also send M98 P"config.g" to see if there are any syntax errors.
If you send
M106 P2 H-1 S1
in the console do the fans turn on?and how about the drivers temperature to 0?
-
@the_dragonlord said in Electronics cooling fan on RRF3:
and how about the drivers temperature to 0?
The drivers don't report a temperature, they report a flag for normal, warning, and overtemp.
The MCU does report a temperature, and is why it is used as a proxy for general board temperature.
If you want to add a temperature for the drivers, you'd need to add a thermistor to the chip.
But generally, as long as there is some cooling, the drivers are highly unlikely to enter overtemp in normal usage.
-
@Phaedrux
(I hope we get 4 or even 5 controllable fans on duet3mini - I wouldn´t even bother if only 3 or 4 can do pwm if the other 2 could be made on/off("bang/bang") via conditional g-code...) -
@Phaedrux said in Electronics cooling fan on RRF3:
@the_dragonlord said in Electronics cooling fan on RRF3:
and how about the drivers temperature to 0?
The drivers don't report a temperature, they report a flag for normal, warning, and overtemp.
The MCU does report a temperature, and is why it is used as a proxy for general board temperature.
If you want to add a temperature for the drivers, you'd need to add a thermistor to the chip.
But generally, as long as there is some cooling, the drivers are highly unlikely to enter overtemp in normal usage.
uh ok... so the two values of the T parms in M106 aren't one for the mcu and other for the drivers?
-
@the_dragonlord said in Electronics cooling fan on RRF3:
so the two values of the T parms in M106 aren't one for the mcu and other for the drivers
Yes they are, the mcu will function on temp basis to control the fan and the driver over temp still functions in a similar way, you're just not getting a temp reported.
-
@Phaedrux said in Electronics cooling fan on RRF3:
M106 P2 H-1 S1
This is the result of the M98:
And if I send M106 P2 H-1 S1 the fans spin at 100% only for the time setted in the B parm of M106
But making experiment I've noticed somehing very very strange...I've increased the blip time like this:
; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 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 T50 ; set fan 1 value. Thermostatic control is turned on
M308 S2 Y"drivers" A"DRIVERS" ; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet
M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper
M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency
M106 P2 H2:3 L30 X100 B10 T32:70 ; set fan 2 value
M950 F3 C"e1heat" Q500 ; create fan 0 on pin fan0 and set its frequencywell, I put my finger over the MCU, when it reaches the 32°C the fans start to spin ato 100% spin for 10 seconds and then stop...it's a mistery for me
-
@the_dragonlord said in Electronics cooling fan on RRF3:
and how about the drivers temperature to 0?
The drivers don't give a temperature readout. The 'drivers' virtual sensor will read 0 when the drivers are not overheating, 100 if a driver is warning that it is hot, and 130 if a driver has shut down due to overheating.
-
@dc42 said in Electronics cooling fan on RRF3:
@the_dragonlord said in Electronics cooling fan on RRF3:
and how about the drivers temperature to 0?
The drivers don't give a temperature readout. The 'drivers' virtual sensor will read 0 when the drivers are not overheating, 100 if a driver is warning that it is hot, and 130 if a driver has shut down due to overheating.
yes, @Phaedrux explained me yesterday... as you can see in my previous message the cooling does not work... have any suggestion for me?