Need Help Core XY
-
@Phaedrux said in Need Help Core XY:
I really strongly recommend you go through the web configurator and generate a new config life set by filling out as much of the information as you can and then looking at that SANE config life and see how it does things and compare it to what your current files are doing. It will really help you get things sorted out.
That is where that config file came from. The reason it got INSANE was because X and Y were pulling against each other going into the end stops, the Z bed was backwards and I started bringing in new lines of code from the old machine config file.
When I stepped up the bed manually against the nozzle, that negative number is what I got on the Web Interface. When I stepped the bed all the way down, I used my optical end stop LED as a guide as to where bottom was.
YES...those numbers looked INSANE to me too. This is why I posted in the first place. Then the guide I was using was telling me to set the machine at 0 for the BL Touch using G92 Z0. Then it occurred to me that there must be some way to change where the machine thinks 0 is. But I still haven't figured WHEN AND WHERE to do that.
Duet has a way of sending you on a wild goose chase with links, putting in typos just at the right places, AND not mapping out what it is I need to do first, second, third, fourth etc. Then you go ask for help, and the added ignorance of a first timers it makes me look like an idiot. The reason those config files look so INSANE is because I don't want to delete lines until I'm sure they are the lines that need to be either changed or removed. The whole point of this exercise is to get the machine printing and cleaning up the mess later.
So I KNOW that those axis limits look ridiculous. But if I change Z to equal -0.5, the bed is going to slam into something...because that is what it used to be set at and THAT is why I made it what it is. I need to know why the physical number changed to such a negative number.
Let me ask this question: Let's say I just replaced a Duet Wifi made all my connections and updated the firmware.
Turning our attention to the one X motor, one Y motor, and one Z motor. Should I have the connectors all connected with the same colors going to the same pins?? Because at some point during this debacle, I found myself flipping these connectors to get the motors moving in the right direction. That being said, I believe the next logical thing that needed to be done was to put in the correct directions in the config file. But I DID NOT KNOW what the correct directions were/are. On a mchine like this, what is forward and what is backward. The configurator left me guessing right from the start. I think this is the root of the issues I'm having. The directions keep getting switched and now I'm lost down some rabbit hole with no point of reference whatsoever.So there HAS to be some proper sequence of events that need to be spelled out to me....the IDIOT in the equation.
I'm more than willing to start configuring from scratch. I pretty much know all my other connections are right because the probe is working and end stops for X and Y. But as soon as I start, I'm going to be faced with what direction is each motor going...and that's after I go to pick the correct firmware and the latest choice is 2.03 when I have 2.04 on the board...another one of those Duet curve balls aimed at idiots.
-
@jdjeff58 Well unfortunately the configurator can only get you so far. When it comes to how the motors are wired, that depends entirely on how the manufacturer of the motor decided to wire them. So you only have a 50% chance that the motor direction will be right. I suggest the next step you should take is to take a look here and follow the instructions https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter
That'll get the motors moving in the right directions, then we can move on.
-
@Phaedrux said in Need Help Core XY:
@jdjeff58 said in Need Help Core XY:
There are no lead screws...just one motor and 4 belts to push each corner. The bed doesn't slam too bad, it's just how the whole board lights up because of the motors backfeeding into the board. I have learned that can burn out drivers chips.
My condolences.
When the X or Y homes, the Z bed attempts to move down and when it's already on the bottom, it grinds the belt gears because it thinks it has to get out of the way.
Yes, that's part of the homing macro, it tries to lift the nozzle/lower the bed out of the way before moving the X and Y axis. It's unfortunately not able to know it's at the bottom of the printer when it does this. Eventually when conditioning Gcode is implemented this may be able to be detected and mitigated, but for now the only option is to either remove the move out of the way portion, or ensure that it's never truly at the physically bottomed out position.
My own printer is a corexy and I also use a z max endstop and a probe. I rarely ever lower it the entire way down though (just power outage recovery) and the lead screws don't allow the bed to fall, so I'm able to ensure there is always enough physical movement passed the Z max optical endstop to allow it to drop slightly. Part of your end solution is going to have to figure out something for that.
Seems that when I hit Z home from anywhere other than the bottom of the machine, it's position is screwed up.
This is because of this:
; Axis Limits
M208 X28 Y100 Z-357.54 S1 ; set axis minima
M208 X375 Y365 Z-8.5 S0 ; set axis maximaLogically you should be able to tell there is something off about a minimum values of -357 and a maximum value of -8.5. You can't get to 0 from there.
Your minima Z value should be 0. Or even just slightly less than 0. Like -0.5 just to give you some wiggle room when trying to get your first layer baby stepping right. And your maximum value should be 300 or whatever the maximum travel distance you can safely do on the Z axis is.
M208 X28 Y100 Z-0.5 S1 ; set axis minima M208 X375 Y365 Z350 S0 ; set axis maxima
Then your home z needs some changes.
; Homez.g
G1 H2 Z-350 F3000 ; lift Z relative to current position
G30 ; Do a single probe to home our Z axisSo your first move is going to rapidly move the bed towards the nozzle. Don't do that. Then your using G30 to actually probe the bed. What you actually want to do is first position the probe in X and Y and then use G30 which will deploy the pin and slowly move the bed towards the probe.
G1 X150 Y150 F3000 G30
Specifically pointing to your G30 instruction...the reason I added the extra speed line was that G30 takes FOREVER for the bed to lift to the probe from all the way at the bottom.
-
@jdjeff58 As well as my post above, another little tip is to test your Z probe or switch by triggering it by hand, which you can do well before anything crashes. Once you get that working reliably, then you can move on to actually trying to home Z.
-
@deckingman said in Need Help Core XY:
@jdjeff58 As well as my post above, another little tip is to test your Z probe or switch by triggering it by hand, which you can do well before anything crashes. Once you get that working reliably, then you can move on to actually trying to home Z.
Yes....I know that works too....but only when the bed is at the very bottom of the machine. Seems that there is some difference between relative and absolute position. I get the basics of it but you aren't going to be able to watch me fix it so it works from anywhere on the Z axis.
I CAN'T be the only person who's ever walked in here at the "dummy" level.
So here's what I do know, this printer has the X Y point of origin (0, 0) at the front left. Here is what is in the ORIGINAL config file. But as you can see, the text that follows the command doesn't match the Snnn command so again...curve ball thrown at the idiot
M667 S1 ; Enable coreXY mode
M569 P0 S0 ; Drive 0 goes forwards, CoreXY_1
M569 P1 S1 ; Drive 1 goes forwards, CoreXY_2
M569 P2 S1 ; Drive 2 goes forwards, Z MotorThis comes from a file called machine_axisdimension.g
M208 X0 Y0 Z-0.5 S1 ; Set axis minima
M208 X383 Y372 Z374 S0 ; Set axis maximaI used these examples in the configurator to get started and it all started getting tangled up from there.
-
@deckingman said in Need Help Core XY:
@jdjeff58 Well unfortunately the configurator can only get you so far. When it comes to how the motors are wired, that depends entirely on how the manufacturer of the motor decided to wire them. So you only have a 50% chance that the motor direction will be right. I suggest the next step you should take is to take a look here and follow the instructions https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter
That'll get the motors moving in the right directions, then we can move on.
Yes..LOL...that is where all this started and where one of the rabbit holes I went down when I saw this line
"The easiest way to generate these files is using the RepRapFirmware configuration tool ." It's so amazing how links on these guides don't open up a new tab...they just wisk you away to some other website and you don't know where it was that you came from. I don't know...maybe I should just accept I'm not built for this cross eyed nonsense. Even the email notifications on this forum don't work.
-
I quit.
Problem Solved.
-
@jdjeff58 said in Need Help Core XY:
I used these examples in the configurator to get started and it all started getting tangled up from there.
the connectors on the duet wifi are the otherway round from the duet maestro. so the motors will move in the opposite direction.
-
@jdjeff58 said in Need Help Core XY:
Specifically pointing to your G30 instruction...the reason I added the extra speed line was that G30 takes FOREVER for the bed to lift to the probe from all the way at the bottom.
Here's how to add a faster probe speed for the first run to get it up to the nozzle and then a slower second probe.
After positioning the probe..
G1 X150 Y150 F3000 M558 F600 A1 ; configure the probe speed to 600mm/min for a single probe G30 ; quickly probe the bed M558 F120 A5 ; configure the probe for accuracy G30 ; reprobe the bed once again
You've come at this from an unfortunate angel trying to get a preconfigured machine to work. There will be a learning curve. No question. Don't despair though. Try and tackle things systematically. We're all here to help.
If you go through the movement section here: https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Movement_section you will be able to test the motors individually to identify if they are moving in the right directions.
There is no step by step help you get sorted manual for this situation because you're the only one physically at the printer. All we can do is point you in a direction. You'll have to use your gray matter to figure some things out.
-
@Veti said in Need Help Core XY:
@jdjeff58 said in Need Help Core XY:
I used these examples in the configurator to get started and it all started getting tangled up from there.
the connectors on the duet wifi are the otherway round from the duet maestro. so the motors will move in the opposite direction.
THANK YOU!!!
Just what I mean when I use the term Duet curveball. Now that you brought that to my attention, I was able to see WHY all my connectors had to be flipped so the previous Drive S0/S1 parameters would work. So the way my motors are hooked up, makes sense now.
-
@Phaedrux said in Need Help Core XY:
@jdjeff58 said in Need Help Core XY:
Specifically pointing to your G30 instruction...the reason I added the extra speed line was that G30 takes FOREVER for the bed to lift to the probe from all the way at the bottom.
Here's how to add a faster probe speed for the first run to get it up to the nozzle and then a slower second probe.
After positioning the probe..
G1 X150 Y150 F3000 M558 F600 A1 ; configure the probe speed to 600mm/min for a single probe G30 ; quickly probe the bed M558 F120 A5 ; configure the probe for accuracy G30 ; reprobe the bed once again
You've come at this from an unfortunate angel trying to get a preconfigured machine to work. There will be a learning curve. No question. Don't despair though. Try and tackle things systematically. We're all here to help.
If you go through the movement section here: https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Movement_section you will be able to test the motors individually to identify if they are moving in the right directions.
There is no step by step help you get sorted manual for this situation because you're the only one physically at the printer. All we can do is point you in a direction. You'll have to use your gray matter to figure some things out.
Here's another thing I figured out yesterday after my tantrum: As part of this "Promega reconfigure", I replaced the entire printhead/hotend with a direct drive Bondetech/E3D V6. There is a Promega specific mount that I printed out from T-verse which enabled me to completely remove the original dual junk from the gantry and install a higher quality extruder/hotend. . So I was suspicious that my print volume had changed....and now I know that it has changed alot more than I originally thought. Knowing that the left front corner is supposed to be X0, Y0, I disabled homing using M564 H0 S0 and manually stepped the gantry to the spot that I thought should be X0, Y0. (where the printhead assy is clear of the frame. When I checked the position numbers on the web interface, they were something random because nothing has been homed yet. But I could still use those numbers to determine the distance back to the max limit switches in the back right corner rather than try to measure it using a ruler. So for X and Y, I entered the "absolute" distance in axis maxima and axis minima. I did the same for Z coming off the bottom of the printer just high enough that it is off the bottom physical stops. I recorded that random number shown on the web interface. I then stepped the bed up to just touching the nozzle to get the "absolute" distance so I can enter that number into Z minima/maxima. I used -0.5 for Zmin. This is my NEW build volume.
At this point I took your Zhome code and pasted it into my current zhome.g file. (I still have the BL Touch gcode entered in config.g from the tutorial). I homed X, which automatically homes Y for some reason but without incident. I then crossed my fingers and homed Z and it worked!
So then I manually moved all the axes around to make sure it would not go beyond my minima/maxima settings and that worked too!
The only thing I haven't tried yet and have done some thinking about it. Let's say for some reason I want to home all or home Z while the Z bed is raised? Is this just one of those things you don't do on a corexy? Do I need to move the bed all the way down prior to homing Z? Or can the zhome as you wrote it be done from anywhere on the z axis without crashing into something? What I was pondering is that I know there are 2 commands that I've actually looked up and studied having to do with absolute and relative (G91 and G90). I don't see either of those in the Z home file you gave me. My new Z max is 366 and Z min -0.5. Tell me if I'm correct here, but could I say in a gcode, Go to this "absolute position" on the Z axis then "relative" from that spot, move up to trigger the probe? So even if the bed was right up against the nozzle, it would drop to the "absolute" position I defined in the zhome.g?
But I do thank you for helping getting me this far. I am going to calibrate the BL Touch today and try another mesh exercise. And also, I figured this print volume procedure out on my own. Was it overkill? Is there another way to do this? This seems to me like an important step in setting up any new board/printer. I know in most cases these numbers are provided by a manufacturer. But if you change out a printhead, those numbers invariably must change...yes?
-
@jdjeff58 said in Need Help Core XY:
Do I need to move the bed all the way down prior to homing Z?
no that is most likely a leftover from your initial configuration to home at zmax.
as this is a major change in the behaviour, i would recommend you load your config back into the configuration and make the changes there about the probe. then use the newly generated scripts.
-
@Veti said in Need Help Core XY:
most likely a leftover from your initial configuration to home at zmax.
What is most likely a leftover? I pasted exactly what Phaedrux gave me. There is nothing else in zhome.g
EDIT: Ok..I just tried it. I rehomed Z while the bed was raised almost all the way up and it didn't smash into anything. It just homed Z. But I hear you on getting a clean file. I will do this.
-
You can use the z probe to home z while the z axis is at any position. The probe will stop the bed from moving when it gets contacted. It's the G30 command that does the probing. It manages the probe and the z axis movement based on the settings we provide in the M558 and G31 commands. Those commands usually live in config.g so that they are configured at startup, but they can also be put into other macros to change settings on the fly, just like we did to change the probing dive speed to make it quicker for one probe, and then slow it down again for a second probe.
The way you've measured your axis limits is a little convoluted, but it got you in the neighbourhood.
Here's how I would do it. I would physically move the nozzle to where you want 0,0 to be. So the front left of the build plate. Then I would send G92 X0 Y0 in the console. That would set the current position to 0,0. Then I would jog the X and then Y axis to their maximum physical positions on the build plate, and use the resulting position as the axis maximum in M208.
For the M208 axis minimum, you'd do the same, starting at 0,0 and then move in the negative direction off the build plate until the physical travel limit is hit. Then you'd get a negative minima number. That keeps 0,0 on the build plate. Then when you home the printer it will know where 0,0 is, and where the extents of travel are.
You basically did the same thing, but started in an arbitrary location, rather than in 0,0 and using the printers actual travel and position display to tell you exactly how far it can go.
The Y and X axis both home at the same time because that's the way they have configured the homex and homey files. They have it so that homex actually just calls homey and then it homes both. They say in the file they do it because it's corexy, which is nonsense.
-
@Phaedrux said in Need Help Core XY:
The Y and X axis both home at the same time because that's the way they have configured the homex and homey files. They have it so that homex actually just calls homey and then it homes both. They say in the file they do it because it's corexy, which is nonsense.
Ok...but as I just found out, I made a new sys folder like Jeti said to do. It created clean xhome yhome zhome files. I replaced the contents of the zhome with your file because it wasn't the same. But when I ran xhome, it did NOT go to the back corner where the XY switch(es) are. It slammed into the right side of the machine grinding gears and shredding belts. I stuck the crazy M3D files back in place and it homes Y first then homes X when I do a homeX. When I look at the way this machine is built, it kind of makes sense. The gantry can be anywhere on the rail assy and hit the Y switch because it's the rail assy that triggers the switch. But it's the gantry itself that triggers the X switch. So the rail assy needs to be in the back of the machine before X can home because the gantry needs to be in the back corner so it can hit it's switch. So I have it working again with your Zhome file and the M3D X/Yhome files.
And thanks for explaining how to manually check the build volume. I figured there was an easier method but at least I understodd what needed to be done. So that's good news all the way around.
-
Ah I see. So the X axis endstop is on the frame, not on the print head. Then yes, you will need to home Y first to get X into position.
-
@Phaedrux said in Need Help Core XY:
Ah I see. So the X axis endstop is on the frame, not on the print head. Then yes, you will need to home Y first to get X into position.
Yeah...I'll mark this as solved since this is where I was really stuck. Thanks and I will likely be posting again as I move forward..LOL