Request to enable FAN0 output on breakout board

Please post your suggestions for hardware features
JeffS
Posts: 11
Joined: Tue Dec 13, 2016 2:25 am

Request to enable FAN0 output on breakout board

Postby JeffS » Tue Jun 27, 2017 2:15 am

I would like to request that the FAN0 output connector be enabled on the extruder breakout board in one of the upcoming firmware updates (see photo with FAN0 connector outlined in yellow). I have been using my N2+ for about a year (first 3D printer) and am very happy with it so far. I have made some minor upgrades along the way and one of those mods is a dual object cooling fan mod - one for each nozzle. Unfortunately, I can only power one fan at a time, so when dual extruding with PLA, one nozzle is not getting any cooling at all. (Note that my object cooling fans are separate from my hot end cooling fans now. The hot end cooling fans are now dedicated to cooling only the hot end and are both always on when printer is on).

I was hesitant to splice both fans into the FAN1 connector as both together would draw about 250-300 mA and may exceed the rating of this connector.

It would be great if in a future release of IdeaMaker, these 2 fan outputs can be controlled independently from within the software, but for now, I would be happy with both outputs being controlled simultaneously by the existing software fan control.

For info on this object cooling mod, see https://www.thingiverse.com/thing:1960676
IMG_7243.JPG


Thanks Raise Team.

User avatar
walshlg
Posts: 1272
Joined: Wed Mar 23, 2016 12:01 pm

Re: Request to enable FAN0 output on breakout board

Postby walshlg » Tue Jun 27, 2017 1:12 pm

good idea, adding another cooling fan may be quite useful

Jetguy
Posts: 1595
Joined: Tue Mar 22, 2016 1:40 am

Re: Request to enable FAN0 output on breakout board

Postby Jetguy » Tue Jun 27, 2017 3:17 pm

#1 JST-XH connectors are rated for 3 Amps http://www.jst-mfg.com/product/pdf/eng/eXH.pdf
That should negate the concern of 300-400mA of more than one fan at the connector level
Also, know that total 12V power is limited to 3A max by the regulator on the mainboard, so remember the mainboard blower, the extruder fans, and the LED strips are all draw from that 3A max source. Again, you'll blow the regulator on the motion board before you burn the JST connector on the head breakout.

#2 The MOSFET switching that output is same exact part # that switches the current for the heated bed. https://www.digikey.com/product-detail/ ... ND/2531074
With a massive 60V and 89A continuous rating. This means there is no limitation to this.

#3 the motion control firmware is open source and several times I have published the details regarding how to control that output and the options. I can **edited** NOT drop a custom firmware today after doing more research because there are some limitations in the code. This might take far more research and effort.


I can NOT tie both outputs to the same gcode command- research into the firmware source code and some other details indicate this is not as easy as first thought.
I can NOT implement as a second fan control that is addressed by using the M106 P1 S255 because default assumption is the normal output is P0. According to firmware source and testing, this is also problematic and may not be supported.
I can make it a temperature dependent fan sensing any number of temperatures, be it extruder or even if you add a thermistor to the spare inputs at the motion board, controlled and with a setpoint for on/off temps. This has been tested and proven in the past.
Last edited by Jetguy on Tue Jun 27, 2017 4:15 pm, edited 4 times in total.

Jetguy
Posts: 1595
Joined: Tue Mar 22, 2016 1:40 am

Re: Request to enable FAN0 output on breakout board

Postby Jetguy » Tue Jun 27, 2017 3:34 pm

Again, details on this stuff was posted way back after first units shipped with the Kickstarter backers.
Here is official firmware source code https://github.com/Raise3D/Marlin-Raise3D-N-Series
Details on what is modified to affect the fan outputs
https://muut.com/i/raise3d/hardware:alt ... ture-contr

Here is a copy of the most important info on the topic:
Just for posterity in the spirit of open source, I'm highlighting the exact changes made. Note, that i think there is a minor switchup in the board layout VS a standard RUMBA because as you can see, Fan or Fan0 should be the gcode controlled fan, but actually ends up being the Fan1 output as gcode controlled. pins_RUMBA.h #define FAN_PIN 7 #define FAN1_PIN -1 The reason for the "-1" is so that the temp controlled code has control over that pin. That code is found in Configuration_adv.h // Extruder cooling fans // Configure fan pin outputs to automatically turn on/off when the associated // extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE. // Multiple extruders can be assigned to the same pin in which case // the fan will turn on when any selected extruder is above the threshold. #define EXTRUDER_0_AUTO_FAN_PIN 8 #define EXTRUDER_1_AUTO_FAN_PIN 8 #define EXTRUDER_2_AUTO_FAN_PIN -1 #define EXTRUDER_3_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed These were set to -1 (disabled in stock firmware) and now assigned to the pin for Fan 0 as wired in the actual motion board (again, minor difference between actual RUMBA open source board and the Raise 3D N series motion board).

Jetguy
Posts: 1595
Joined: Tue Mar 22, 2016 1:40 am

Re: Request to enable FAN0 output on breakout board

Postby Jetguy » Tue Jun 27, 2017 3:51 pm

Actually, just tested this with firmware V1.1.1
Send M42 P8 S255 and that turns on the Fan0 output since that is logical processor pin8 as seen in the pins file.
Send M42 P8 S0 to turn off.

Apparently, even though pins file lists the 2 fans, according to gcode references and my own testing, Marlin ignores the M106 P1 command because it assumes always P0. http://reprap.org/wiki/G-code#M106:_Fan_On

So, from stock firmware source, you actually have to come up with something creative to gang the 2 outputs together acting as fan0 or it may just not be possible.
However, good news is, on totally stock firmware, you can just add the commands to your starting gcode, or if you have an advanced slicer that lets you edit custom commands, you can add it there.
Again M42 P8 SXX controls the PWM value of that pin and thus the MOSFET.
So M42 P8 S255 is full on 100%
M42 P8 S0 is full off

Jetguy
Posts: 1595
Joined: Tue Mar 22, 2016 1:40 am

Re: Request to enable FAN0 output on breakout board

Postby Jetguy » Tue Jun 27, 2017 3:52 pm

FYI, here is where I got the hints from, and then knowing the firmware source code, I new where to double check and look
https://www.reddit.com/r/Reprap/comment ... ruder_fan/

JeffS
Posts: 11
Joined: Tue Dec 13, 2016 2:25 am

Re: Request to enable FAN0 output on breakout board

Postby JeffS » Wed Jun 28, 2017 3:47 am

Thanks for the info Jetguy. I will try the splice and/or starting gcode method to control both fans. Since I am illiterate when it comes to programming firmware at the moment, I prefer to not go there for fear of bricking my machine.

Your suggestions should get me to where I want to go at least short term.

Thanks again for your quick response and insight. I and surely many other Raise3D users are glad that you are willing to test so many things and share it here. It really helps folks like me that are not that 3D printer savvy but trying to improve.

firesped
Posts: 698
Joined: Mon Mar 21, 2016 9:23 pm
Location: Tucson, AZ

Re: Request to enable FAN0 output on breakout board

Postby firesped » Wed Jun 28, 2017 4:15 am

there is no need to play with the firmware. I think in the next version of the firmware, it will support multiple fan index with the M106 command.

I will have to do some testing tomorrow to see if it works.
RL name: Michael Nolen
printers:
raise3D N2 kickstarter Early Bird
Trinus Deluxe (running smoothieware on Azteeg X5 GT board)
Monoprice Maker Select v2

Jetguy
Posts: 1595
Joined: Tue Mar 22, 2016 1:40 am

Re: Request to enable FAN0 output on breakout board

Postby Jetguy » Wed Jun 28, 2017 7:00 am

First, we need to address your concern. You cannot brick the machine with the motion control firmware. Let's say we go down your path here and you make a mistake. All that will happen is you flash the firmware using the LCD screen, then it comes back and reports a serial error. You reboot into the safe mode /recovery mode, choose the OEM 1.1.1 firmware from a USB drive, flash it back to version 1.1.1 and all works again.

Living in fear of updating the motion firmware is not correct and not something you should allow yourself to fall into.

JeffS
Posts: 11
Joined: Tue Dec 13, 2016 2:25 am

Re: Request to enable FAN0 output on breakout board

Postby JeffS » Thu Jun 29, 2017 1:22 am

Firesped, that would be great if the next firmware release opened this up. Not sure when it will happen though. We have been at V1.1.1 for some time but I will keep an eye out.

Jetguy, thanks for confirming that a bad firmware write can be reversed fairly easily. This gives me some encouragement to try and experiment but with stock firmware at the ready on a USB drive. My next upgrade will be the Bondtech dual direct drive in July, but after that, I want to learn more about gcode and compiling firmware-another first for me when it comes to 3D printers.

Thanks again guys for your responses. One of the best things about the Raise3D community is the large, active and helpful user base. I learn a bunch just by reading everyone's posts.

firesped
Posts: 698
Joined: Mon Mar 21, 2016 9:23 pm
Location: Tucson, AZ

Re: Request to enable FAN0 output on breakout board

Postby firesped » Thu Jun 29, 2017 8:25 am

raise3d is testing the next firmware and it will be a massive upgrade.
RL name: Michael Nolen
printers:
raise3D N2 kickstarter Early Bird
Trinus Deluxe (running smoothieware on Azteeg X5 GT board)
Monoprice Maker Select v2


Return to “Hardware”

Who is online

Users browsing this forum: No registered users and 1 guest