RepRap X2V3

RepRap X2V3

thingiverse

RepRap X2V3 is the new generation of the RepRap X2 dual extruding 3D printers line. Hardware features: Support independently moving X axis carriages for 2 extruders; Nozzle wiping/cleaning; Frame modifications allowing X stage to move higher; Printing area casing. Firmware features: Dual X or Y drive machines support; Support for simultaneous duplicate or mirror printing; Filament compression compensation (experimental); Various new and existent command improvements. More details here:http://www.okob.net/projects/reprap_x2v3/ Instructions Hardware ======== Metal Parts (AKA vitamins) The hardware design is similar to RepRap X2 (that is based on SAE Prusa's Mendel), but X2V3 has to be slightly wider and therefore requires some of the metal rods to be longer (basically all the rods that are positioned horizontally). Below is the list of the changed rod lengths. Both, the original (RepRap X2 or Prusa's Mendel) and correspondent X2V3 rod lengths are listed. Two threaded rods on top and one at the bottom of the machine that are used for mounting Z-motors, extruders and clamp the lower end of the vertical smooth rods: 3x440mm (original) -> 3x465mm (X2V3) Four threaded rods for connecting the frame triangles at the bottom front and back of the machine: 4x294mm (original) -> 4x320mm (X2V3) Two smooth rods the hotend carriages slide on: 2x392mm (original) -> 2x410mm (X2V3) Additional parts The additional parts for making the second hotend carriage and its driving mechanism are: one timing belt and one pulley; one ball bearing (to loop the belt over); two fender washers (for keeping the belt on the ball bearing); 40-50mm piece of threaded rod (for mounting the ball bearing); 3 linear bearings (for the carriage). A few more of various nuts and bolts will be needed. For the carriage assembly those are 3/4" and 1" long 6/32" machine screws and nuts (can be purchased in HD or Lowe's hardware stores). A few 5/16 washers and two locking nuts will be needed for the ball bearing mounting. You'll also need more of the smaller screws for mounting the motor and attaching the 40mm fan to the carriage. The nozzle wipers can be made using various techniques and materials. I'm using about 40mm long piece of a thick silicone tube with a triangular cut up to the center of it where the nozzle slides over it (right in the middle). The 3/4" long 6/32" screws are tightened on each side of the wiper arms and the tube goes onto the screws (it sits tight enough to prevent it from rotating). Plastic Parts A lot of the plastic parts in RepRap X2V3 have been changed. Some of them have minor changes in the design files and are not noticeably different from RepRap X2 parts, others have changed completely. The following components of the machine have been modified and are not compatible with RepRap X2 design: frame triangles; X-axis assembly (X-ends and X-carriages with hotend mounts). The STL files for the specific parts can be downloaded individually or in a zip archive. The zip archive contains the STLs for the related components and their design files (usually OpenSCAD or Sketchup). Downloading and printing those parts individually is probably the best approach for upgrading an existent RepRap X2 machine. For building the X2V3 machine from scratch one can download the complete build plates here:http://www.okob.net/projects/reprap_x2v3/hardware.htm The build plates contain a complete (except the motor fan mounts and casing components) set of plastic parts required to build one X2V3 machine (for printing with the 3mm filament). Frame triangle parts: Design files: frame.zip Four legs and two top vertices are required to build the machine. X-ends: Design files: x-end.zip Two copies of each part are required. The x-ends are positioned on the opposite sides of the x-stage. The motor side of the right x-end should be facing the front of the machine and it should be facing the back of the machine for the left x-end (if everything is printed correctly). The wiper arms ('i'-idler side and 'm'-motor side) are screwed under the x-end on each side of the machine. X-carriages with hotend mounts: Design files: x-car.zip Two copies of each part are required. The X-carriages are positioned to face the opposite directions. The right carriage belt clamps should point to the back of the machine and the left one to the front. The belt clamps in the carriage STL file are generated for GT2 timing belts. Motor fan mounts: Design files: fanmount.zip The motor fan mounts allow to hook up 40mm fans to the machine stepper motors. Installing those fans isn't necessary, but when tuned for optimal performance the motors can become pretty hot. The extruder motors are especially prone to overheating. Casing The case covers most of the printing area preventing uncontrolled drafts that cool down the build plate and the part being printed. That helps to improve consistency of the prints, speeds up heating of the build plate during startup and decreases warping. The easiest way to see how useful it can be is to cut it from the coagulated cardboard. That might even work fine as a permanent solution (ignoring potential fire hazard problem). When time comes to switch to a different material, the cardboard case can be used to adjust design for better fitting as all the RepRap machines end up being a bit different. The ends of the threaded rods protruding from the sides of the machine frame legs go into holes on the sides of the casing. The casing is also attached to the frame on the top (similarly to the electronics mounting plate). The front and back of the casing are connected using the small side plates. The front door plate is hinged (can just use packaging tape for the cardboard case). The back plate has circular hole for the heat lamp. Design files for laser cutting the casing plates:casing1.svgcasing2.svg Those SVG files can be used with http://www.ponoko.com laser cutting service. The clear 4.5mm thick acrylic was used for my machine casing. Note: the holes for connecting the plates are not a part of the design and have to be drilled manually or added to the design files depending on the kind of brackets and hinges used. Casing Plastic parts: The above plastic parts might come useful for assembling the casing. The leftmost is a bracket for connecting the plates. The rightmost is a special plastic washer. Those plastic washers are placed over the 5/16 nuts on the side of the machine legs. The flat surface should face the washer under the nut. The case side plates then go on top of those and tightened using big metal fender washer and another 5/16 nut. The plastic washers (by bending) give some room to adjust the position of the casing side plates. Electronics ========= Unlike RepRap X2 where only minor electronics changes were required X2V3 needs additional motor driver. There are boards now that already can handle 6 motor drivers (for example Megatronics_2.0), but you can upgrade your standard RAMPS 1.4 too. That's where the extension board comes in. That board provides 2 fan controllers and one motor driver. The board design presented here was done to allow mounting directly onto the breadboard used in RepRap X2 machines. The 16x16 prototyping board for soldering the schematic can be purchased in RadioShack. The components used are identical to those of the RAMPS board. The MOSFETs are STP55NF06L. Hooking up to the RAMPS 1.4 board requires following (click thumbnail to see full size picture): Fan control signals from AUX-1, pins D0, D1 5V and GND from AUX-4 Motor controls from AUX-4, pins D32, D47, D45 12V and GND (pins 3 and 4) of the power supply connector, feeds the extension board and all the fans connected directly to the breadboard. The schematics and layout of the RAMPS 1.4 board can be found here:http://reprap.org/wiki/RAMPS1.4 The schematics of the extension board is identical to that of the RAMPS "Stepper Drivers" and "Heaters & Fans" modules. The layout of the extension board can be seen by clicking on the top & bottom view images below. The big dots on the bottom view show the position of the pins that go into the breadboard. The top 2 rows should go into the power rails of the breadboard. The bottom 4 pins are not connected and used just for mounting. Connectors Fan1 -> Extruder 1 fan; Fan2 -> Extruder 2 fan; FC1 -> Fan1 control, from RAMPS AUX-1 pin D0; FC2 -> Fan2 control, from RAMPS AUX-1 pin D1; en -> Motor enable from RAMPS AUX-4 pin D45; stp -> Motor step from RAMPS AUX-4 pin D47; dir -> Motor direction from RAMPS AUX-4 pin D32; vcc -> +5V from AUX-4 pin 5V; -gnd_ -> Ground from AUX-4 pin GND; 1B,1A,2B,2A -> Stepper motor connector; 2x8-pin connectors -> A4988 Carrier (Pololu motor driver); 3 jumpers (under Pololu) -> Stepping control (the same as for RAMPS); 2 12V power connectors -> 12V main power, from RAMPS power in behind MFR500, 12V-AUX might work too. The remaining connections are the same as for RepRap X2. The second hotend heater uses D9 and Thermistor 2 connectors. The X-Max endstop is required in order to home the second hotend X-carriage. Marlin X2 Firmware =============== The latest version of the firmware for RepRap X2V3 is available on Github: http://github.com/dob71/MarlinX2. It is based on Marlin mod for RepRap X2. The mainstream (RC2) changes up to March 2013 were merged in, then on top of that the following features were implemented: Dual X or Y drive machines support; M322 the "follow me" mode command; M331/M332 (position save/restore commands); M340 (filament compression compensation) command; 'T' parameter for all setup commands; Acceleration and retract_acceleration saving in EEPROM; Failsafe for M109, M104 H and L options; Introduced new optional output format for M105, M109 and M190; Added option to automatically disable human readable output during printing. The history of changes from original Marlin repository is preserved to allow merges between the repositories. The default configuration file is for RepRap X2V3, but there are example configuration files for standard single extruder printers and RepRap X2 machines on branches "one_e" and "x2". Dual X/Y drive machines support That feature was introduced to support machines like RepRap X2V3 that have independently moving carriages for hotends on X or Y axis. The feature can be enabled by uncommenting DUAL_X_DRIVE or DUAL_Y_DRIVE defines in Configuration.h. The hardware configuration should also specify the pins for controlling the secondary extruder carriage motor driver and its hotend fan (in pins.h). Several defines that previously were "one-per-axis" have to be commented out and their dual axis equivalent used if the feature is enabled. For example, X0_HOME_DIR and X1_HOME_DIR are to be used instead of X_HOME_DIR when DUAL_X_DRIVE support is on. The detailed explanation for all the related configuration defines is available in the configuration files ( Configuration.h and Configuration_adv.h ). M322 the "follow me" mode command The "follow me" mode command, turns the "follow me" mode on or off for extruders (T S). The feature is designed for simultaneous printing from multiple identical extruders. The mode has to be "off" (0) for the active extruder. The extruders that have the mode set to "on" (1) repeat moves of the active extruder. The command also has H, F and M options for turning on/off "follow me heater" (H), "follow-me fan" (F) and "reverse" (R) modes. When the former 2 modes are "on" the temperature and fan setting changes of the active extruder are applied to the followers too. When the "reverse" mode is "on" (works only for dual X/Y drive machines) the follower's carriage inverses the direction of the replicated moves on the shared axis. That results in printing of a mirror copy of the object. For example, that can be used to print left and right extruder parts for the printer simultaneously. Note, that "follow me" works by repeating the steps, therefore it requires identical extruders and filament. In the case of the dual drive machine identical pulleys and timing belts for both hotend carriages are to be used. Position save/restore commands M331 command saves current position coordinates (all axes including E, of the active extruder). It takes option S that specifies 0-based memory slot number to save into (defaults to 0). M332 command restores the saved by M331 coordinates to the currently active extruder (not necessarily the same the coordinates were saved for). The options X, Y, Z and E can be used to ignore some of the axis (ignore by setting the option value to 0). The option F tells the command to make a move to the restored position at the speed specified. If 'F' is not used the restored coordinates set as current position and no move is made. The option S specifies memory slot to restore from. The number of slots available is configured by NUM_POSITION_SLOTS define in Configuration_adv.h). Compression compensation M340 allows to set up the filament compression compensation table. That table is used by the firmware to approximate how much filament is going to be squeezed in the filament drive tube when machine is printing at the specific speed. The faster the printing speed the harder it is to push the filament through the nozzle and more of it is compressed inside the tube. Here is an example of the filament compression compensation table:#define C_COMPENSATION {{0.1, 0.3}, {0.1, 0.3}}, \ {{0.5, 0.9}, {0.5, 0.9}}, \ {{1.0, 1.2}, {1.0, 1.2}}, \ {{3.0, 2.0}, {3.0, 2.0}} Both extruders are configured identically. For E speed 0.1mm/sec extra 0.3mm of the filament should be pushed into the tube, for 0.5mm/sec that extra filament length should be 0.9mm and so on. There are several additional configuration options. More details and the description for all the compression compensation configuration options can be found in the configuration files. Various command changes Some of the configuration commands used to require changing the active extruder to modify its settings. Starting with the version 1.1.0 all the commands that can change extruder specific settings can take 'T' parameter for choosing the extruder the setting applies to. For example: M92 T0 E661.78 M203 T0 E23.00 M201 T1 E5000 M204 T0 S3000.00 R60000.00 M205 T1 E17.00 M218 T1 X0.00 Y-0.05 All the above examples apply setting to the specified extruder, but the active extruder stays unchanged. As of this writing the complete list of commands accepting 'T' parameter for choosing extruder includes: M92 - Set axis_steps_per_unit. M104 - Set extruder target temp (use T# to explicitly specify extruder, H and L can be used to increase/decrease the target temperature). Note: increase/decrease is allowed only once unless opposite operation is performed before more attempts are made. M105 - Read current temp (use A1 to read for all extruders, T# for specific one). M106 - Fan on (use T# for dual drive machines to tun the fan on/off for specific extruder, A1 for all). M107 - Fan off (use T# for dual drive machines to tun the fan on/off for specific extruder, A1 for all). M109 - Wait for extruder to reach target temp (use A1 to wait for all extruders, W to change dwell time). M201 - Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000). M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec. M204 - Set default acceleration: S normal moves, R filament only moves (M204 S3000 R7000) im mm/sec^2, also sets minimum segment time in ms (B20000) to prevent buffer underruns and minimum feedrate (M20), T sets the extruder R applies to. M205 - Advanced settings: minimum travel speed S=while printing V=travel only, B=minimum segment time X=maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk (for retracts), T=extruder option E applies to M206 - Set additional homeing offset. M218 - Set hotend offset (in mm): T X Y. M322 - Turn the "follow me" mode on or off for an extruder (parameters: T S), it's automatically off for the active extruder. If used without S parameter prints current settings. If used without T parameter applies to all extruders. M340 - Set filament compression (bowden drive) compensation table parameters. P - table entry position, S - E speed in mm/sec, C - length (in mm) of the filament compressed in the guiding tube when extruding at the given speed. The table entries should be ordered by E speed value. Set E speed to 0 for the last entry if need less that max size entries. Note that the above modifications required changing the options that previously used 'T' for other purposes. M205 now uses 'V' for minimum travel feedrate and M204 now uses 'R' for the retract acceleration. The retract acceleration ('R' option of the M204 command) settings are now stored in EEPROM. The option 'R' of M301 command sets the range (off of the target temperature) where the PID algorithm is to be used. Outside of that range the temperature control is done with simple ON/OFF logic. The option A can be used to turn on multiple extruder output format for commands M105, M109 and M190 (can be useful for the host software). When it is enabled (A1), the active extruder is always listed first. The current and target temperatures are displayed for all the extruders and the heated bed. Example: SENDING:M105 A1 ok T0:19/0 T1:19/0 B:19/0 The human readable (those pre-pended by "echo:") printouts can now be disabled during printing (see NO_ECHO_WHILE_PRINTING define in Configuration_adv.h). The debug flags (changed by "M504" command") can be used to re-enable them without re-compiling the firmware. Host Software =========== There are no specific requirements for the host software to transition from RepRap X2 to X2V3. The X2SW version 1.1.0.7 has been used to develop various slicing profiles for RepRap X2V3. You can load those by running X2SW profile manager and choosing "RepRap/X2V3/experimental" profile. This X2SW profile contains in itself the configuration of the printer UI and various slicing profiles for Skeinforge and Slic3r slicers bundled with X2SW. As of this writing only Skeinforge profiles for using various new features of the machine have been developed and tested. As the new profiles get published x2Profiler can be used to pull them in directly from the online repository. Here is the list of the Skeinforge slicing profiles available at the moment: ABS-0.35-Parts - printing ABS, one extruder; ABS-0.35C-BASE - printing ABS, dual material, extruder 0 part of the object; ABS-0.35C-INSERT - printing ABS, dual material, extruder 1 part of the object; ABS-0.35D-Parts - printing ABS, dual extruder, simultaneous printing; ABS-0.35DM-Parts - printing ABS, dual extruder, simultaneous mirror printing; ABS-0.35S-Parts - printing ABS, extruder 0 w/ HIPS support from extruder 1; PLA-0.35-Parts - printing PLA, one extruder; PLA-0.35C-BASE - printing PLA, dual material, extruder 0 part of the object; PLA-0.35C-INSERT - printing PLA, dual material, extruder 1 part of the object. In order to choose a profile go to "Settings->Slicer Settings" and pick the desired profile in the "Profile Selection" drop-down box. Then slice the model by opening its STL file in the Pronterface UI. After slicing is finished (might take a while for complex objects) it's ready to be printed. Dual color prints require slicing and then merging parts of the object. The detailed instructions for each profile are below. ABS-0.35-Parts This is a standard single extruder ABS printing profile. How to print: Select the extruder to print from (by pressing the "Ext 0" or "Ext 1" button on top of the Pronterface UI window); Set the heater temperature (depending on your ABS supplier it can vary, usually within 210-235C range); Set the bed temperature (100-115C, takes a while to reach 115C, but might help to prevent warping, set the bed temperature before starting the slicing to save time); Wait till temperatures get within a degree or 2 of the target values; Start printing by clicking the "Print" button. ABS-0.35C-BASE and ABS-0.35C-INSERT These profiles should be used together. The model has to be represented by 2 STL files. The first one will be printed with material loaded into extruder 0. The second will be printed using extruder 1. The second material can be ABS of different color or HIPS for printing manually generated support. The profile can be tweaked to work better with other than normal ABS or HIPS materials. For example it can be a conductive plastic or plastic with different properties for improving the final object flexibility or strength. The example of printing ABS inside HIPS support can be seen in the beginning of the video here RepRap X2V3 Demo. How to print: Slice the first STL using "BASE" profile; Switch to the "INSERT" profile and slice the second STL; Click X2Merge button to bring up the merge tool dialog; Choose the penultimate G-code file produced by "BASE" slicing for "Base penultimate gcode"; Choose the penultimate G-code file produced by "INSERT" slicing for "Insert penultimate gcode"; Enter "abs_c_on_x2v3.gcode" into "Ext 1 On gcode" box; Enter "abs_c_off_x2v3.gcode" into "Ext 1 Off gcode" box; Click "Generate and Load" button, if successful the mixed G-code instructions will be loaded by UI; Select extruder 0 and set its hotend printing temperature; Select extruder 1 and set its hotend printing temperature; Set bed temperature; Switch back to extruder 0 and wait till the target temperatures are reached; Start printing by clicking the "Print" button. ABS-0.35D-Parts This profile is for printing in ABS. It prints the same object from both extruders simultaneously. It's done by making the extruder 1 motors copying the steps made by extruder 0. The extruders have to be identical and use identical filament to achieve good results. The printing volume is reduced to 100mm on the X axis when this profile is in use. How to print: Select extruder 0 and set its hotend printing temperature; Select extruder 1 and set its hotend printing temperature; Set the bed temperature; Switch back to extruder 0 and wait till the temperatures get close to the target values; Start printing by clicking the "Print" button. ABS-0.35DM-Parts This profile is for printing in ABS. It prints the mirrored copy of the object from the second extruder. It's done by making the extruder 1 motors copying the steps made by extruder 0 but some of them in opposite direction. The extruders have to be identical and use identical filament to achieve good results. The printing volume is reduced to 77mm on the X axis when this profile is in use. The example of printing two symmetrical parts for X2V3 machine using this profile is shown in the following video: Mirror Mode. How to print: Select extruder 0 and set its hotend printing temperature; Select extruder 1 and set its hotend printing temperature; Set the bed temperature; Switch back to extruder 0 and wait till the temperatures get close to the target values; Start printing by clicking the "Print" button. ABS-0.35S-Parts This profile is for printing in ABS from extruder 0 with Skeinforge generated support printed in HIPS from extruder 1. The example is the model of a cat shown in about 2 minutes from the start of the video here: RepRap X2V3 Demo. Skeinforge uses the same settings to generate G-code for printing the object and the support structures. Therefore, the filament of identical diameter has to be used in both extruders. How to print: Select extruder 0 and set its hotend printing temperature; Select extruder 1 and set its hotend printing temperature; Set the bed temperature; Switch back to extruder 0 and wait till the temperatures get close to the target values; Start printing by clicking the "Print" button. PLA-0.35-Parts This is a standard single extruder PLA printing profile. How to print: Select the extruder to print from (by pressing the "Ext 0" or "Ext 1" button on top of the Pronterface UI window); Set the heater temperature (depending on PLA used it can vary, usually within 175-200C range); Set the bed temperature (75-85C, you can set the bed temperature before starting the slicing to save time); Wait till temperatures get within a degree or 2 of the target values; Start printing by clicking the "Print" button. PLA-0.35C-BASE and PLA-0.35C-INSERT Just like their ABS counterparts these profiles should be used together. The procedure is exactly the same. The profile is usually used for printing in PLA of different colors, but can be used for other material mixes with minor tweaking. The example of the dual color medallion printed using this profile can be seen at the end of the video here: RepRap X2V3 Demo. How to print: Slice the first STL using the "BASE" profile; Switch to the "INSERT" profile and slice the second STL; Click X2Merge button to bring up the merge tool dialog; Choose the penultimate G-code file produced by "BASE" slicing for "Base penultimate gcode"; Choose the penultimate G-code file produced by "INSERT" slicing for "Insert penultimate gcode"; Enter "pla_c_on_x2v3.gcode" into "Ext 1 On gcode" box; Enter "pla_c_off_x2v3.gcode" into "Ext 1 Off gcode" box; Click "Generate and Load" button, if successful the mixed G-code instructions will be loaded by UI; Select extruder 0 and set its hotend printing temperature; Select extruder 1 and set its hotend printing temperature; Set bed temperature; Switch back to extruder 0 and wait till the target temperatures are reached; Start printing by clicking the "Print" button.

Download Model from thingiverse

With this file you will be able to print RepRap X2V3 with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on RepRap X2V3.