Filament Sensor Case & Setup Info/Settings 3D model preview
View source Save
428 downloads 11 likes 12,400 views US$ 544 price

About this 3D model

There's very little info online regarding how to wire a filament runout sensor properly on "compound motherboards". Schematics barely exist, are outdated, or simply doesnt have data you seek. So i hope to help by keeping it simple. This applies to motherboards out there like my OSOYOO MKS Base v1.5 board and my Hictop red MPX .3 Made this to work with regular end-stops micro switches. (This may work with regular ramp boards, but i dont have one to look closely and or personally confirm, all my boards are the "compound, all in one" motherboards) Hardware needed: Endstop microswitch with pigtail connector Four 3mm x 1.5mm magnets M3 x 5mm screw M3 Nut Software side of things: This applies to Marlin!! Specifically the latest version as of 12/25/17 (v1.1.8) (also working on latest bugfix) There's 3 changes that must take place: (1) Enable filament runout sensor on Config.h (2) Enable advanced pause and adjust values to what you want your machine to do (3) Make sure the right pin is used by firmware Change #1 Edit configuration.h You must enable the filament runout sensor, scroll down and enable the setting. Should look something like this: define FILAMENTRUNOUTSENSOR if ENABLED(FILAMENTRUNOUTSENSOR) #define FILRUNOUTINVERTING true // set to true to invert the logic of the sensor. Set to true for the red mechanical end-stops #define ENDSTOPPULLUPFILRUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined. #define FILAMENTRUNOUTSCRIPT "M600" endif Change #2 Edit configuration_adv.h You must enable Adanced pause feature ( This are MY settings... Change the values to whatever you deem appropiate for your machine!!) define ADVANCEDPAUSEFEATURE if ENABLED(ADVANCEDPAUSEFEATURE) #define PAUSEPARKXPOS 3 // X position of hotend #define PAUSEPARKYPOS 3 // Y position of hotend #define PAUSEPARKZADD 3 // Z addition of hotend (lift) #define PAUSEPARKXYFEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis) #define PAUSEPARKZFEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSEPARKRETRACTFEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSEPARKRETRACTLENGTH 2 // Initial retract in mm // It is a short retract used immediately after print interrupt before move to filament exchange position #define FILAMENTCHANGEUNLOADFEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast #define FILAMENTCHANGEUNLOADLENGTH 0 // Unload filament length from hotend in mm // Longer length for bowden printers to unload filament from whole bowden tube, // shorter length for printers without bowden to unload filament from extruder only, // 0 to disable unloading for manual unloading #define FILAMENTCHANGELOADFEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast #define FILAMENTCHANGELOADLENGTH 0 // Load filament length over hotend in mm // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend, // Short or zero length for printers without bowden where loading is not used #define ADVANCEDPAUSEEXTRUDEFEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate #define ADVANCEDPAUSEEXTRUDELENGTH 0 // Extrude filament length in mm after filament is loaded over the hotend, // 0 to disable for manual extrusion // Filament can be extruded repeatedly from the filament exchange menu to fill the hotend, // or until outcoming filament color is not clear for filament color change #define PAUSEPARKNOZZLETIMEOUT 900 // Turn off nozzle if user doesn't change filament within this time limit in seconds #define FILAMENTCHANGENUMBEROFALERTBEEPS 5 // Number of alert beeps before printer goes quiet #define PAUSEPARKNOSTEPPERTIMEOUT // Enable to have stepper motors hold position during filament change // even if it takes longer than DEFAULTSTEPPERDEACTIVETIME. #define PARKHEADONPAUSE // Go to filament change position on pause, return to print position on resume //#define HOMEBEFOREFILAMENTCHANGE // Ensure homing has been completed prior to parking for filament change endif Change #3 Make the software use the right pin on motherboard. Scroll down the tab and look for the below code. Here is where you will change the value to match the pin your using. In both of my OSOYOO MKS Base v1.5 and Hictop red MPX .3 i had open pins near the end stops with a label D11. Theres 3 pins, SIGNAL - NEG - POS. I used D11 because i wasnt able to find any online information regarding the proper pin 4 Marlin calls for. // define digital pin 4 for the filament runout sensor. Use the RAMPS 1.4 digital input 4 on the servos connector define FILRUNOUTPIN 11 // Stock setting was 4. Changed to 11 for pin D11 on the motherboard. This works even when using Octoprint.