Dual Extruders and move axis operation June 13, 2019 05:07PM |
Registered: 8 years ago Posts: 10 |
#include /** * Marlin 3D Printer Firmware * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] * * Based on Sprinter and grbl. * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see [www.gnu.org]. * */ /** * Configuration.h * * Basic settings such as: * * - Type of electronics * - Type of temperature sensor * - Printer geometry * - Endstop configuration * - LCD controller * - Extra features * * Advanced settings can be found in Configuration_adv.h * */ #ifndef CONFIGURATION_H #define CONFIGURATION_H #define CONFIGURATION_H_VERSION 010109 //=========================================================================== //============================= Getting Started ============================= //=========================================================================== /** * Here are some standard links for getting your machine calibrated: * * [reprap.org] * [youtu.be] * [calculator.josefprusa.cz] * [reprap.org] * [www.thingiverse.com] * [sites.google.com] * [www.thingiverse.com] */ //=========================================================================== //============================= DELTA Printer =============================== //=========================================================================== // For a Delta printer start with one of the configuration files in the // example_configurations/delta directory and customize for your machine. // //=========================================================================== //============================= SCARA Printer =============================== //=========================================================================== // For a SCARA printer start with the configuration files in // example_configurations/SCARA and customize for your machine. // //=========================================================================== //============================= HANGPRINTER ================================= //=========================================================================== // For a Hangprinter start with the configuration file in the // example_configurations/hangprinter directory and customize for your machine. // // @section info // User-specified version info of this build to display in [Pronterface, etc] terminal window during // startup. Implementation of an idea by Prof Braino to inform user that any changes made to this // build by the user have been successfully uploaded into firmware. #define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes. #define SHOW_BOOTSCREEN #define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1 #define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2 /** * *** VENDORS PLEASE READ *** * * Marlin allows you to add a custom boot image for Graphical LCDs. * With this option Marlin will first show your custom screen followed * by the standard Marlin logo with version number and web URL. * * We encourage you to take advantage of this new feature and we also * respectfully request that you retain the unmodified Marlin boot screen. */ // Enable to show the bitmap in Marlin/_Bootscreen.h on startup. //#define SHOW_CUSTOM_BOOTSCREEN // Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. //#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine /** * Select the serial port on the board to use for communication with the host. * This allows the connection of wireless adapters (for instance) to non-default port pins. * Serial port 0 is always used by the Arduino bootloader regardless of this setting. * * :[0, 1, 2, 3, 4, 5, 6, 7] */ #define SERIAL_PORT 0 /** * This setting determines the communication speed of the printer. * * 250000 works in most cases, but you might try a lower speed if * you commonly experience drop-outs during host printing. * You may try up to 1000000 to speed up SD file transfer. * * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] */ #define BAUDRATE 250000 // Enable the Bluetooth serial interface on AT90USB devices //#define BLUETOOTH // The following define selects which electronics board you have. // Please choose the name from boards.h that matches your setup #ifndef MOTHERBOARD #define MOTHERBOARD BOARD_MKS_GEN_13 #endif // Optional custom name for your RepStrap or other custom machine // Displayed in the LCD "Ready" message #define CUSTOM_MACHINE_NAME "Box Printer" // Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines) // You can use an online service to generate a random UUID. (eg [www.uuidgenerator.net]) //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" // @section extruder // This defines the number of extruders // :[1, 2, 3, 4, 5] #define EXTRUDERS 2 // Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc. #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. * * This device allows one stepper driver on a control board to drive * two to eight stepper motors, one at a time, in a manner suitable * for extruders. * * This option only allows the multiplexer to switch on tool-change. * Additional options to configure custom E moves are pending. */ //#define MK2_MULTIPLEXER #if ENABLED(MK2_MULTIPLEXER) // Override the default DIO selector pins here, if needed. // Some pins files may provide defaults for these pins. //#define E_MUX0_PIN 40 // Always Required //#define E_MUX1_PIN 42 // Needed for 3 to 8 steppers //#define E_MUX2_PIN 44 // Needed for 5 to 8 steppers #endif // A dual extruder that uses a single stepper motor //#define SWITCHING_EXTRUDER #if ENABLED(SWITCHING_EXTRUDER) #define SWITCHING_EXTRUDER_SERVO_NR 0 #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3] #if EXTRUDERS > 3 #define SWITCHING_EXTRUDER_E23_SERVO_NR 1 #endif #endif // A dual-nozzle that uses a servomotor to raise/lower one of the nozzles //#define SWITCHING_NOZZLE #if ENABLED(SWITCHING_NOZZLE) #define SWITCHING_NOZZLE_SERVO_NR 0 #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // Angles for E0, E1 //#define HOTEND_OFFSET_Z { 0.0, 0.0 } #endif /** * Two separate X-carriages with extruders that connect to a moving part * via a magnetic docking mechanism. Requires SOL1_PIN and SOL2_PIN. */ //#define PARKING_EXTRUDER #if ENABLED(PARKING_EXTRUDER) #define PARKING_EXTRUDER_SOLENOIDS_INVERT // If enabled, the solenoid is NOT magnetized with applied voltage #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW // LOW or HIGH pin signal energizes the coil #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250 // Delay (ms) for magnetic field. No delay if 0 or not defined. #define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders #define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder #define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking #define HOTEND_OFFSET_Z { 0.0, 1.3 } // Z-offsets of the two hotends. The first must be 0. #endif /** * "Mixing Extruder" * - Adds G-codes M163 and M164 to set and "commit" the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. * - Optional support for Repetier Firmware's 'M164 S' supporting virtual tools. * - This implementation supports up to two mixing extruders. * - Enable DIRECT_MIXING_IN_G1 for M165 and mixing in G1 (from Pia Taubert's reference implementation). */ //#define MIXING_EXTRUDER #if ENABLED(MIXING_EXTRUDER) #define MIXING_STEPPERS 2 // Number of steppers in your mixing extruder #define MIXING_VIRTUAL_TOOLS 16 // Use the Virtual Tool method with M163 and M164 //#define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands #endif // Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). // The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). // For the other hotends it is their distance from the extruder 0 hotend. #define HOTEND_OFFSET_X {0.0, 40.00} // (in mm) for each extruder, offset of the hotend on the X axis #define HOTEND_OFFSET_Y {0.0, 0.00} // (in mm) for each extruder, offset of the hotend on the Y axis
Re: Dual Extruders and move axis operation June 17, 2019 10:48AM |
Registered: 8 years ago Posts: 10 |