Baby step during a long linear move? Baby step other Axes?
-
This post is deleted! -
Just playing with baby stepping, I have made a short g-code file to move back and forth slowly in the x dimensions (80mm back and forth).
I see that if a G4 command is 5 lines away from the current move, then the baby steps will not execute until after the G4 command has passed.
Normally they will execute after the current move (or "after 500ms is passed, whichever is greater").
I also see that the z axis doesn't just move up right away ... it spreads out the height adjustment across the next move.
This is all without the height map file, so now I will test with the heightmap file (if I can create it successfully. Can someone post their heightmap.csv file so I can base mine off that?
-
@jml 0_1536647204948_heightmap.csv.txt
M557 X10:280 Y35:270 S15
-
Adding the heightmap.csv file into the /sys folder didn't change anything - probably I made the file incorrectly or config is wrong.
In config.g I put this near the beginning of the file:
M557 X-100:300 Y-100:300 S1
G29 S1 ; load heightmap.csvAnd then in heightmap.csv, I have what I think is correct based off what I see others do online. But it didn't seem to change the behavior at all - I'm still not able to babystep the height during long moves.
-
I'm not sure about using negative values in M557 unless you intend it for areas off the bed? Do you have negative values for your axis minima?
-
@phaedrux No negative values, but I assumed the map could extend beyond the actual print bed boundaries.
I'll change it to M557 X0:200 Y0:200 S1
But then in the csv file, should xnum and ynum be 200, or should it be 201? xspacing and yspacing should be 1, and xmin/ymin and xmax/ymax should be 0 and 200 respectively, right? -
For it to work it also has to have a grid spacing that generates only as many probe points as it can handle. I think the limit is around
4000441? So spacing of 1mm is probably way too low. Try 20 or 30mm. -
The docs on M557:
https://duet3d.dozuki.com/Wiki/Gcode#Section_M557_Set_Z_probe_point_or_define_probing_grid
For Duet WiFi/Ethernet it lists the max points as 441.
Frederick
-
@fcwilt Thanks. I knew there was a 4 in there.
-
@phaedrux said in Baby step during a long linear move? Baby step other Axes?:
@fcwilt Thanks. I knew there was a 4 in there.
Hey what's a few thousand one way or another among friends.
Frederick
-
So I finally made the csv file correctly (I think), with 21x21 zeros, and in config.g I set it and load it:
M557 X0:100 Y0:100 S5
G29 S1 ; load heightmap.csvBut, as soon as I home either X or Y, the printer freezes.
If I comment out G29 S1 in config.g, and restart, everything is back to normal. And then if I send G29 S1, then G29 S2 (to load heightmap, then forget it), everything is still fine. But if I I do G29 S1, then home X, then do G29 S2, the printer is still frozen - no commands or buttons (from DWC at least) seem to work other than the Emergency Stop button.
-
@jml it would seem that your heightmap.csv is malformed in some way.
-
@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!