Baby step during a long linear move? Baby step other Axes?
-
@phaedrux 0_1536706534660_heatmapXLS.xls
normally the file is a CSV with the name heightmap.csv , but its xls so that it can upload here.
Thats weird that when uploaded, it called it heatmapxls.xls. Anyway, is there something terribly wrong with my heightmap.csv file?
-
@jml I don't know enough about the format to say answer that.
Maybe let's back up to the beginning. What are you ultimately hoping to accomplish? Perhaps we can get there another way.
-
Goal: prior to a print starting, I want the the extruder to come down to G1 Z0 and moves back and forth slowly above the bed. While its doing that, I want to baby step the z axis to be at the right height. I have no z probe.
The way babystepping is now, the baby steps won't actually execute until the current move is done ... and then when it does execute, it spreads the height adjustment over the entire move (so does it slowly in this case).
dc42 said that if I make a heightmap with small spacing, then the baby steps will execute faster (since the moves are broken up into lengths approx equal to the height map spacing).
-
One way to solve it is to make the extruder wiggle instead of move in a straight line. But I'd rather just get the heightmap thing to work.
Or I could just make it move back and forth small distances instead of from X40 to X140.
-
After running G29 S1, should you be able to view the heightmap.csv using the "Show Mesh Grid Heightmap"? I would think yes, but in my case it says "Number of probed points: 0" even though I would expect it to be 441. Maybe something is wrong with the csv file, or maybe "number of probed points" says 0 until points are actually probed (which I my case would be never).
-
So the goal is to set your z height for a good first layer, right?
You have no probe, but do you have an endstop?
Even without an endstop you could manually set Z0 with an M291 dialogue.
G91
G1 X100 Y100
M291 R"Set Z0" P"Jog the Z axis until the nozzle is touching the bed." Z1 S3
G92 Z0Then the slicer sets first layer height and you're off. If you use a skirt around the part you can use the baby stepping to make adjustments. Since it's usually a curved arc around the part the baby stepping takes effect quickly.
-
You could use manual probing and manually create an actual heightmap. You might not want to do 440 points that way, but maybe a dozen wouldn' t be too bad.
-
Just another update ... after loading the heightmap with G29 S1, the printer seems to be frozen if I try any X or Y movement. But with some experimentation, it looks like it is just taking infinitely long to execute the move command.
I did:
G91
G29 S1
G1 X0.0001 ; (to move 0.1 microns)And the motor makes a weird humming noise). If I try just 1 micron, there is a periodic knocking noise. If 1mm, then no knocking. But I do hear the high pitched little noises that the stepper motors normally make when not moving, but it changes slightly every second or so as if it was moving extremely slow (where the high pitch noise changes pitch for each microstep. Not sure what is going on!
-
@phaedrux Yeah I think I'll have to do the manual probing as you suggested. Maybe 4 or 9 points.
-
@phaedrux I downloaded your heightmap.csv and was able to view it in DWC. The printer didn't freeze after loading it either. So I edited it with my data being careful with spaces and commas and number of decimal places. And it works! Thanks for sharing your file! Not sure what was wrong with mine. I had created the old non-working heightmap in Excel, and when I opened it in TextEdit, it appeared to have some extra commas after the header, so maybe that had something to do with it.
Now to test to see if it will let me do the babystepping the way I wanted...
-
@jml said in Baby step during a long linear move? Baby step other Axes?:
Just another update ... after loading the heightmap with G29 S1, the printer seems to be frozen if I try any X or Y movement. But with some experimentation, it looks like it is just taking infinitely long to execute the move command.
When you do a G1 command WITHOUT an F parameter the G1 command moves at the speed of the last F parameter the firmware processed.
So...
G1 X10 F100
then...
G1 X20both move at F100
So I'm guessing that somewhere you had a G1 command with a very small F value.
Unless you are sure it is not moving at all. The slowest speed is hard to see.
Frederick
-
@fcwilt Not sure what was going on when it was moving super slow (or not moving at all). I think it was actually not moving at all after some tests. But it got solved by creating a better heightmap.csv file without the extra commas that excel added for some reason.
-
And I was able to test it, and the baby stepping is as responsive as I would like - it will now respond quickly after pressing the baby stepping buttons. Hooray!
Thanks for all the input
-
Glad you got it working.
-
I'll consider adding a "first layer segmentation" option in a future firmware revision, so that you won't have to create an empty height map - if babystepping is only needed during the first layer.
If you still have a height map file that crash the firmware, please post it so that I can fix that.
-
@t3p3tony another use case would be on belt printers, from my research and current project the Y-axis is used to adjust height from build surface. I've also opened a topic under firmware wishlist..