I got stuck in configuring a dual x carriage setup
Hi all,
I am quite a newbie if it comes to dual X carriage configuration. A friend of me build this giant Prusa-like printer with a double X axis. He gave up on it to get it working and asked me if I could help him out.I never used used a setup like this and tried to make a firmware using the configurator.
But I cannot find how to set up the second X-axis. Both have a endstop, but there are no options to configure a endstop for the second X-carriage.
I am using a Ultratronics pro motherboard and have my second X motor connected to the E2 stepper driver.
Can someone help me to find out on how to make a configuration like this?
Thank you in advance,
K.
I am quite a newbie if it comes to dual X carriage configuration. A friend of me build this giant Prusa-like printer with a double X axis. He gave up on it to get it working and asked me if I could help him out.I never used used a setup like this and tried to make a firmware using the configurator.
But I cannot find how to set up the second X-axis. Both have a endstop, but there are no options to configure a endstop for the second X-carriage.
I am using a Ultratronics pro motherboard and have my second X motor connected to the E2 stepper driver.
Can someone help me to find out on how to make a configuration like this?
Thank you in advance,
K.
Comments
For V2 there is a sample configuration for dual x provided. You find it on github in dev2 branch. With that board you can use both solution. If can do programming a bit and are not scared of manual configuration ( no config tool) try V2.
I never used manual configuration before, I am all new to this but always willing to learn more.
Thank you in advance,
Kind regards,
K.
However, when I open Configuration.h, I get error messages:
#include errors detected, please update your includePath, Squiggles are disabled for this translation unit (C:\Users\Blahblah....\Repetier Firmware\src\Configuration.ccp) C/C++(1696) [179, 1] --> this points to the line 179 in Configuration.h where it says: #include "boards/pins.h"
-Cannot open source file "Program.h" (dependency of "boards/pins.h) C/C++ (1696) [179, 1]
-Cannot open source file "Stream.h" (dependency of "drivers/drivers.h) C/C++ (1696) [184, 1]
This is very new for me and I almost have no clue of what I am doing, But I guess I have some settings wrong in VSCode or I am missing some files..... Can Someone point me to the right direction?
Thank you in advance, K.
That is all you need. After first compilation it will install the arduino libraries which you referenced here. mIt is no problem if vsc can not find the files Only important is if you can compile with vsc and that should work if there are no config errors and platformio is installed.
Next "Repetier Firmware" opened in the explorer on the side. In the bottom left corner I changed the branch to dev2.
As from then I have no Idea what I need to do..... I don't find a compile button like in the Arduino IDE, and if I open any file from the "src" folder I get a bunch of errors.
I feel really ashamed to ask it like this, but I don't know how the VSCode works. If I have my screen like in the image, what should I do next to compile the firmware and get the missing Arduino libraries installed?
Thank you very much,
K.
In VSC go to file ->open directory and open the src/Repetier folder of what you downloaded. Then PlatformIO will detect the project and in the blue bottom line you get a Checkmark that you hit to compile. It will download all files still needed. The button arrow right compiles and uploads. Make sure you have selected the correct cpu typ ein platformio.ini - the file commented and lists all available options.
So what would be better then towards the future? Download a Zip of the dev2 Repetier-Firmware/src/Repetier directory instead of cloning from git, and open it like you described?
Thank you for your patience and helpful answers.
Kind regards,
K.
Clickable
Kind regards,
K.
Yes I am using the documentation as a reference, but even then it's hard to understand for me. Till now I've been using the Repetier online configurator for rather simple and basic setups.... I have also read some threads on the forum here about IDEX configurations, but so much different inputs and point of views makes it just harder for me...
Kind regards,
K.
it describes which extra variables are needed for idex printers in V2.
When I connect with Repetier Host, the connection is made, temperatures are read, but the status keeps hanging on "Waiting"
Did I miss something?
Output from Repetier Host: (clickable)
Kind regards,
K.
What's the difference between the due and dueUSB?
Kind regards,
K.
Connection in image looks good. I think "Wachtend" was the translaters choice for idle - meaning printer is waiting for commands.
- RAPS128 drivers for X, Y and A (A is connected to the E2 motor on the Ultratronics)
- A4988 for Z (2 motors parallel) and Extruder1 & Extruder2
- No heated bed so the connector HB and T0 are not used
- Heater Extruder1 (X) is connected to connector E0 on Ultratronics
- Heater Extruder2 (A) is connected to connector E1 on Ultratronics
- Thermistors from extruders are connected to T1 and T2 on Ultratronics
- Makerbot electronic endstop clones
- Z endstop connected to Z- on Ultratronics
- Y endstop connected to Y- on Ultratronics
- X endstop connected to X- on Ultratronics
- A endstop connected to X+ on Ultratronics
- SD card as Eeprom
-Heating extruder 1 & 2
-Temperature reading from both extruders on T1 and T2
-Endstop readings with M119 if not activated respond as "L" in Repetier Host and if activated they respond as "H"
-Cooling fan connected to Fan 1 connector on Ultratronics
What is not working:
-no movement of any motors
here is a snippet from Configuration.h:
And from Configuration_io.h
// define RAPS128_XY
Uncomment this so it uses the definition for raps driver. Or just remove the #ifdef RAPS128_XY else part in configuration_io. RAPS128 have enable signal inverted to regular stepper drivers like A4988 so they use
IO_OUTPUT(IOY1Enable, ORIG_Y_ENABLE_PIN)
while A4988 would require
IO_OUTPUT_INVERTED(IOX1Enable, ORIG_X_ENABLE_PIN)
Regarding Y it could be a homing position you defined or move back after homing. Depend on what M114 says after homing.
DUAL_X_MIN_DISTANCE is the minimum distance between the nozzles. 1 Means when left one is at -17 you can move the right one so both nozzles are just 1mm away. I doubt that this is physically possible and that is the reason you get your crash. That value should be a bit higher then the width of a carrier.
Also the bed start is DUAL_X_LEFT_OFFSET + DUAL_X_MIN_DISTANCE so it is a good thing to define this as -DUAL_X_MIN_DISTANCE. Bed is where you can move without colliding with the parked extruder so you will loose some mm from what you currently think you have.
Only the 3 values I gave you are used for dualX as you see in this method computing bed position etc:
In your special case I think DUAL_X_MIN_DISTANCE 0 would be correct then. Untypical but that gives both the same motion range, no limits.
I currently don't see why it does not move to bed start at homing. Need to check that case later when I have more time. In your special case min distance 0 should solve everything anyway. Don't forget that values are likely different in eeprom.
The Bold marked "0" represent the offZ according to the manual....
Ideally offset is 0 or you will loose the ditto print function which only works when both are at same height.
Thank you for the help and support, and the patience! I've learned a lot from this project. I hope we can start printing with it soon!!