Content-type: text/html OkOb Web Forum - Print Page

    
OkOb Web Forum (https://www.okob.net/yabb/YaBB.cgi)
3D Printing >> 3D Printing and RepRap X2 Discussion >> X2V3
(Message started by: Nojby on Mar 6th, 2015, 2:51am)

Title: X2V3
Post by Nojby on Mar 6th, 2015, 2:51am
Hi, I am very interested in the X2V3 version of 3D printer, I have more than 2 questions, do you have Skype ? If so, and if you were willing me to help it would be super. My skype nick is nojby_michal, so add me. I want to ask about slicing and more ... Have nice day. Michal

Title: Re: X2V3
Post by Denis Bakin on Mar 6th, 2015, 2:48pm
Hi Michal,

I'd appreciate if you can start by posting your questions here. If you have them chances are somebody else does too. Having the questions and answers readily available to look up is a way more efficient for everybody.

Thanks,

Title: Re: X2V3
Post by Nojby on Mar 9th, 2015, 3:16pm
Hi, I have built similar 3D prointer like you. Thanks to your customization of Marlin. I have a question. How to calibrate the printing? Should be the heatbed in the middle length between both nozzles ?

Title: Re: X2V3
Post by Denis Bakin on Mar 9th, 2015, 5:42pm
What exactly are you trying to calibrate?

I'll make a guess, but if I'm off let me know what you meant. Since you mentioned heating bed position my guess is you'd like to make X=100,Y=100 position to be exactly in the middle of the bed.

It is not necessary to position the bed exactly in the middle or move it to do that. You can simply adjust the coordinates of the hotend homing position. For example, my machine has the homing position of the hotend 0 at -35mm (see X0_MIN_POS in firmware Configuration.h file). I.e. it has to move 35mm right to reach the edge of the heating bed (X=0) or 135mm to reach its center (X=100).

For the hotend 1 (since it homes to the right side of the machine) adjust X1_MAX_POS. The way I'm doing this is by setting up homing position for hotend 0, then printing a calibration object that is just one extrusion line (along Y axis), then adjusting the hotend 1 homing position so it prints exactly over that same line.

You can also try to use M206 command. It allows to configure adjustments to the homing positions hardcoded in the Configuration.h (for X,Y or Z). Those adjustments can be saved in EEPROM. I did not test it though.

Hope that helps.

Title: Re: X2V3
Post by Nojby on Apr 12th, 2015, 10:55am
Hi Denis,
sorry for my delay of posting here, i was 4 weeks ill.
First I am glad you to write Marlin X2V3. I made my customization for Rumba instead of RAMPS. I am able to move both axis X0 and X1.

I am not able to generate gcode for printing the calibration piece - simple line 0.2 mm x 100 mm. Would you be willing to give me the instruction step by step, how to generate gcode from slic3r ? If you don't use slic3r, so write the instruction for skeinforge, but I am not able to run skeinforge on windows.

Thank you for your time.

Title: Re: X2V3
Post by Denis Bakin on Apr 12th, 2015, 9:11pm
You can try to install the X2SW packge. It has both Skeinforge and Slic3r integrated, plus the printing profiles.

The downloads are here:
https://github.com/dob71/x2swn/wiki/Downloads

Read the release notes and the installation instructions:
https://github.com/dob71/x2swn/wiki/Release-Notes
https://github.com/dob71/x2swn/wiki/Windows-Installation

If you are using 0.35mm nozzle diameter and 3mm filament in your printer the X2V3 printing profiles might be a good starting point.

After the profiles are loaded and the software can communicate with your printer make a  3D model for 0.3x0.5x100mm (height-0.3, width -0.5, length-100) object. Slice using Skeinforge as the default slicer. That should produce G-code for one-line extrusion you were looking for.

If you need instructions on slicing in X2SW see here:
http://www.okob.net/projects/reprap_x2v3/hostsoft.htm
Use the ABS-0.35-Parts or PLA-0.35-Parts profile as the template and modify to work for your printer.

Title: Re: X2V3
Post by Nojby on Jun 22nd, 2015, 11:19am
Hi I tried MIRROR MODE, and after some starting problems, it seems to be OK, I printed mirrored objects. Now I am trying to print  two-colors object. I have solved STL in slicer, manually added T1 for the first layer in another color, but the first extruder stays at his last position, should I manually add   T0 G28 X (G28 X on newline) or how to say to move extruder to the home position in case of changing extruders. ?


Denis, do you have Skype ? I would like to make a chat to solve my problem faster, and you to take less time to write here on forum. I promise that our skype-chat I will post here for other users for them to help.

Title: Re: X2V3
Post by Denis Bakin on Jun 22nd, 2015, 11:47am
Yes you have to move it to a parking position. Here's G-code from the example Skeinforge profiles for X2V3. It saves parking positions for both extruders (just 1mm away from their homing positions) in slots 2 and 3 (M331 command in startup G-code). The M332 command is then used in extruder change G-code to move extruder that has to stay idle into its parking spot.

This one switches from printing layer with extruder 0 to extruder 1:
https://github.com/dob71/x2sw_profiles/blob/x2v3/.skeinforge/alterations/abs_c_on_x2v3.gcode

and that one switches back to extruder 0 after finishing printing with 1:
https://github.com/dob71/x2sw_profiles/blob/x2v3/.skeinforge/alterations/abs_c_off_x2v3.gcode

Startup G-code for color printing profile:
https://github.com/dob71/x2sw_profiles/blob/x2v3/.skeinforge/alterations/abs_c_start_x2v3.gcode

Title: Re: X2V3
Post by Nojby on Jun 22nd, 2015, 12:36pm
I have made some steps to the goal,

I learn how to use M331 and M332 commands using command line in pronterface.
Ex.:
T0 ; activate EXTRUDER 0
G28 X ; home X0
G1 X 50.0 ; move X0  50mm
M331 S1 ; store position of EXT 0 to Slot 1
G28 X; home EXT 0
T1;
M332 S1 F3000 ; move EXT 1 to stored position


now I am going to change gco manually, or can Slic3r do this "storing the position" instead of me ? How to solve this in Slic3r?

Title: Re: X2V3
Post by Nojby on Jun 22nd, 2015, 12:44pm
Thanks for your quick response, I am going to read your gcodes to better understand how to make it.

Title: Re: X2V3
Post by Denis Bakin on Jun 22nd, 2015, 1:51pm
If you are using Slic3r that comes in X2V3 v1.2.0.1 bundle then make sure "G-code Flavor" in "General" section on the "Printer Settings" tab is set to "RepRap X2/X2V3".
After that you can go to "Custom G-code section" and write custom G-code for tool change in "Tool change G-code" box (scroll down to get to it).

You might be able to reuse some of the Skeinforge tool change G-code, but have to deal with Slic3r specifics.
There's only one G-code snippet that has to work for switching between all the  extruedrs and the previous/next extruder numbers are the variables.
Slic3r also used to manage E-position differently when switching tool, so Skeinforge G-code pre-setting retract length might not function correctly.

Title: Re: X2V3
Post by Nojby on Jun 23rd, 2015, 9:03am
A small offtopic, I found that COOLDOWN item in menu (I am using DOGLCD) DONT WORK. (from ultralcd.cpp) specially newline...

Ex.:

MENU_ITEM(gcode, MSG_COOLDOWN, PSTR("M140 S0\nM104 S0"));
here M140 S0 work but M104 S0 dont work

if I change them
MENU_ITEM(gcode, MSG_COOLDOWN, PSTR("M104 S0\nM140 S0"));
here M104 S0 work but M140 S0 dont work

it seems that the problem is in \n ..., any idea how to solve?
Marlin version: MarlinX2-X2Marlin_v1_1_1_b2

And to the dual printing, I used G28 X in gcode to park extruder, but that didn't work, good idea with M332 in slot 2 and 3 to make them as parking positions.

Title: Re: X2V3
Post by Nojby on Jun 23rd, 2015, 9:10am
I have found a solution for the COOLDOWN menu item problem...
use function instead of direct gcode
http://3dprintboard.com/archive/index.php/t-8441.html

Title: Re: X2V3
Post by Denis Bakin on Jun 24th, 2015, 4:42pm
I'll apply the cooldown fix.
BTW, you can always send a pull request if have a bugfix or something else to add to the repository.
If have no experience with GitHub yet, they have a nice intro https://help.github.com/categories/bootcamp/

One more thing, theoretically it should be possible to use homing on X for parking, but it is slower and  endstops can potentially introduce small layer shifts due to tiny variations in position+timing when they are triggered and detected by the firmware.

Title: Re: X2V3
Post by samo on Dec 17th, 2015, 3:32pm
Hi ,
My design machine almost finish  8) , just have an question in MarlinX2 Firmware Dual extruder are already enable ?
i read all RepRap X2V3 Firmware but honestly i was confused , im using one stepper motor for my X axis , how to add second X carriage Hotend  and second extruder motor  ?
how to adjust endstop for X carriages ?

Title: Re: X2V3
Post by Denis Bakin on Dec 17th, 2015, 4:00pm
The configuration files in "master" and "lcd" branches of the MarlinX2 repo are for the dual X-carriage (i.e. 2 X-carriages with hotend/extruder on each carriage) machines.

The configuration files in "x2" branch are for the machines with 2 hotends/extruders on single X-carriage.

The configuration files in "one_e" branch are for the single hotend/extruder, single X-carriage machines.

As for the rest of the questions please be more specific (i.e. explain in details what you already have and what you are trying to accomplish).

Title: Re: X2V3
Post by samo on Dec 17th, 2015, 4:10pm
As i checked in pins.h there is for MOTHERBOARD == 3 || MOTHERBOARD == 33 || MOTHERBOARD == 34

these lines
#ifndef DUAL_X_DRIVE
#  define X_STEP_PIN       54
#  define X_DIR_PIN        55
#  define X_ENABLE_PIN     38
#else  // DUAL_X_DRIVE
#  define X0_STEP_PIN      54
#  define X0_DIR_PIN       55
#  define X0_ENABLE_PIN    38
// These secondary X drive pins are for RepRap X2v3 extension board
#  define X1_STEP_PIN      47
#  define X1_DIR_PIN       32
#  define X1_ENABLE_PIN    45
#endif // DUAL_X_DRIVE


but im using Megatronis V2.0 , shall i add above lines under Megatronics V2.0 board in pins.h ?

Title: Re: X2V3
Post by Denis Bakin on Dec 17th, 2015, 4:45pm
There already should be defines under megatronics section for
X_STEP_PIN
X_DIR_PIN
X_ENABLE_PIN

If you are NOT using DUAL_X_DRIVE feature then the already present defines are all you need.

If you are planning to enable the DUAL_X_DRIVE feature then the software needs to know which pins control each X-carriage motor and you'll need the
X0_STEP_PIN
X0_DIR_PIN
X0_ENABLE_PIN
and
X1_STEP_PIN
X1_DIR_PIN
X1_ENABLE_PIN

Title: Re: X2V3
Post by samo on Dec 18th, 2015, 6:37am
Thank you , now become a bit clear .
Im using 2 X-carriages with hotend/extruder on each carriage that  mounted on X Axis , all config in Master firmware covered Motherboard 33 and 34 , so i think i need to add to Megatrinocs V2.0 as well same code used in motherboard 33 and 34 but for sure need to assign correct pin to it .
i can to run up to 6 stepper motor by megatronics v2.0  , E0 OUT , E1 OUT , E2 OUT , X OUT , Y OUT , Z OUT .
E0 OUT and E1 OUT for extruder Motors  ,, X OUT for one x=carriage ,,, and i think i have assign E2 OUT pin for X1_STEP_PIN etc.
is it right way ?

Also in pin.h for MOTHERBOARD 33 & 34 has some feature like
#define E0_STEP_PIN        26
#define E0_DIR_PIN         28
#define E0_ENABLE_PIN      24

#if EXTRUDERS > 1
#  define E1_STEP_PIN      36
#  define E1_DIR_PIN       34
#  define E1_ENABLE_PIN    30
#endif // EXTRUDERS > 1

that there wasn't assign on pin.h for Megatronics V2.0 shall i add above code under Megatronics V2.0 as well ?

Title: Re: X2V3
Post by Denis Bakin on Dec 18th, 2015, 11:12am
Yes, if you are using dual carriage make sure DUAL_X_DRIVE is defined in configuration, then define pins for the left carriage motor:
X0_STEP_PIN
X0_DIR_PIN
X0_ENABLE_PIN
and for the right carriage motor:
X1_STEP_PIN
X1_DIR_PIN
X1_ENABLE_PIN

Also, there should be similar defines for each carriage fan (assuming you connected fan for each carriage hotend to its own output).

Title: Re: X2V3
Post by samo on Dec 21st, 2015, 5:07pm
thank you , everything is woking fine now :)

Title: Re: X2V3
Post by Denis Bakin on Dec 21st, 2015, 9:14pm
Congratulations! Hopefully the machine tuning goes smoothly and it lives long and productive life :-)



OkOb Web Forum » Powered by YaBB 1 Gold - SP 1.1!
YaBB © 2000-2003. All Rights Reserved.