Bltouch giving me bogus height map
-
@fcwilt
I removed the feeler gauage from the holder. Then put it flat on the bed. I then did a G30 S-1 then lowered the nozzle until it touched the feeler gauage. Then check the z axis readout. It did say 0.4mm. It also felt like a close fit too.https://drive.google.com/file/d/1NpeaYQhu_SUdDfeUp5H-9JeGpglNBABT/view?usp=drive_link
I am really beginning to think there something physically wrong with how I have built the printer. Thats why I am getting all these issues.
-
@ageis Have you tried setting taper? One of mine needs it set or it has a very ugly first layer. I have it set as M376 H20 on that one. The bed while not perfect is not a potato chip and parts do not wiggle so no clue why it needed that added.
-
How about a picture of the printer - particular the bed and it's relationship to the structure carrying the extruder.
Your height map is absolutely amazing - and not in a good way.
Did you verify that all axes are configured correctly and are moving the distance specified when jogging?
For instance if you jog from X=10 to X=110 did it move 100mm? You need some sort of metric scale for this.
Frederick
-
So I have double checked the z height and it has changed for some reason.
I am very sure it was a tight fit but now it's too high.
I did the procedure whilst the bed and hotend was hot.should I of done it whilst it's cold?
-
I always do it with the bed hot and the hotend cold. The hotend is rather close to the BLTouch and I don't know if heat would be good for it.
And I heat the bed at least 15 minutes before creating the height map in the hope that things will be stable by then.
Frederick
-
@ageis Can you post your config.g?
Looking at the picture of your printer, it looks like the BLTouch is mounted a long way from the hot end, by a strip of plastic. This probably isn't very solid, and could be flexing with the heat from the bed. Look for a better mount; it looks like you have a Prusa Mk2 or Mk3, there should be plenty of options. This will enable you to cover more of the bed.
Ian
-
@droftarts
Yeah that is a Steven special. It seemed like a good idea at the time. I did it because the of the orange fan mount on the side, I didn't have enough room to mount the bltouch.OK I have a rigid mount now but it still gives me a bogus height map.
WHYYYYYYI have doube checked the z height calibration and have leveled the x gantry using my digital calipers.
This time I get a slide.What else could it be? Driving me mad.
-
@ageis said in Bltouch giving me bogus height map:
This time I get a slide.
Well at least it is mostly flat now just at a serious angle - most like due to the bed not be "level".
I have doube checked the z height calibration and have leveled the x gantry using my digital calipers.
How did you do that?
How do you level the bed?
Frederick
-
@fcwilt
The same way I did it before. I homed all the axis then did a G30 S-1 then lowered the nozzle till it touched the feeler gauage and the read out is close to 0.4mm +/- 0.05.I must say when I home the z axis then lower the nozzle till it's at 0, the nozzle is very close to the bed. I don't see a gap at all. Is that normal?
Leveling the bed is a pain on the Prusa. It doesn't have any adjustable bed screws. You lower and raise it by lossening a nut underneath the bed.
By underneath I mean right in the middle but under the bed. So you can't access it easily.You have to hang the printer over the side of the table so you get your spanner in sideways.
I'll try leveling the bed with a boat level tomorrow.
-
@ageis said in Bltouch giving me bogus height map:
I must say when I home the z axis then lower the nozzle till it's at 0, the nozzle is very close to the bed. I don't see a gap at all. Is that normal?
Yes, that is normal. When a print starts it will first move to Z=nnn where nnn is the layer height.
Leveling the bed is a pain on the Prusa. It doesn't have any adjustable bed screws. You lower and raise it by lossening a nut underneath the bed.
By underneath I mean right in the middle but under the bed. So you can't access it easily.I'll try leveling the bed with a boat level tomorrow.
If it doesn't have 3 or 4 bed supports that can be adjusted how can you level it?
Frederick
-
@fcwilt
https://help.prusa3d.com/wp-content/uploads/prusuki/prusuki-images/SvmklVUoQTkNqTZR.jpgThe y Axis gets slotted into those slots at the bottom then tighten with a nut. So it's a case of moving it up and down then tighten the nut.
You have to hang the printer over the edge of the table to adjust the nut. PITA
-
Thanks much for the image.
I thought Prusa was supposed to make first rate stuff.
Given the importance of "leveling" (actually tramming) the bed, it's strange they don't seem to have provided for it.
I've used inexpensive Chinese printer kits as starting points for my printers. And even they have thumb screws at 3 or 4 points to level the bed.
Good luck!
Frederick
-
@fcwilt said in Bltouch giving me bogus height map:
it's strange they don't seem to have provided for it.
I think the idea is get it close enough and let the mesh take care of the rest.
-
@Phaedrux said in Bltouch giving me bogus height map:
I think the idea is get it close enough and let the mesh take care of the rest.
That is certainly possible.
Frederick
-
@ageis I’d guess what’s happening is that you’re driving the Z axis too fast during mesh levelling, and it’s skipping. I can’t think of any other reason you’d get a bed shape like that, and might also explain why the Z offset keeps changing. But I can’t see what your max/min numbers are, and you haven’t posted your config.g, so it’s hard to tell what is going on.
Edit: can you also post the bed csv file as well?
Ian
-
@droftarts
Here is the config.g; Configuration file for Duet WiFi (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.16 on Sun Jul 23 2023 20:00:34 GMT+0100 (British Summer Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"prusa" ; set printer name ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X98.52 Y100.00 Z400.00 E161.3 ; set steps per mm M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z1000.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y20.00 Z400.00 E250.00 ; set accelerations (mm/s^2) M906 X1300 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X250 Y190 Z210 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe ;M558 P8 C"zprobe.in" H10 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds M558 P9 C"^zprobe.in" H15 F120 T6000 M950 S0 C"exp.heater3" ;G31 P500 X22 Y10 Z120.1 0; set Z probe trigger value, offset and trigger height G31 P500 X30 Y10 Z1.9;trigger value, offset and trigger height M557 X40:235 Y0:190 S10 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 ;M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M307 H0 R0.268 K0.283:0.000 D13.25 E1.35 S1.00 B0 M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined T0
I have tried to level the bed using a boat level then realigning the x axis with my digital calipers. then recalibrating the z height as @fcwilt dvised. However the resultant height map is still bogus.
There is still a slope that is saying the left hand side is lower than the right.
However the booat level says it's level.Thanks for the help everyone has given me. Wouldn't of known what to do otherwise.
HeightMap.csv
https://drive.google.com/file/d/1ga-Y2M7HSUh-w4UNnMVq5N1pdo4arfwv/view?usp=sharing -
I think I mentioned that what you are trying to do is get the bed to be perpendicular to the Z axis and parallel to the XY axes plane.
This is actually called tramming. Making the bed level using a actual level may not give the desired results.
Imagine tilting the entire printer, say, 45 degrees to the right. Then using an actual level on the bed is clearly going to say the bed is way out of level - but it can still be perpendicular to the Z axis.
On a printer with easily accessible "thumb screws" that adjust the bed there is a fairly simple procedure you can run on the printer itself which probes the bed near the thumb screws and reports how much adjustment is needed for each.
But that is not going to work for you.
It seems you are going to have the tram the bed as best you can and create a height map to see how it turned out. You may have to repeat the process several times.
Perhaps someone with a machine like yours will chime in.
Frederick
-
@fcwilt
I am beginning to think perhaps I should of got it built by Prusa.
I have learnt the hard way that building a 3d printer isn't just bolting it together. -
@ageis said in Bltouch giving me bogus height map:
@fcwilt
I am beginning to think perhaps I should of got it built by Prusa.
I have learnt the hard way that building a 3d printer isn't just bolting it together.I did not know Prusa sold kits.
Building a printer needs a lot of attention to detail to get first rate results.
If, like me, you tend to have a slight case of OCD it actually helps.
Frederick
-
@ageis said in Bltouch giving me bogus height map:
Looking at your bed heightmap, it isn't that bad; it's only -1.84mm to +0.58mm at the extremes. This quite possibly looks okay with a level, which is really not the best way of levelling a bed.
I'm not sure what version Prusa i3 you have (Mk2?), but Prusa i3 printers usually have a built-in calibration routine. But as you've removed the Prusa electronics and added a Duet, you don't have access to this. However, you can still do the same thing manually, and later add a macro to do it automatically on the Duet. For the Prusa instructions, see https://help.prusa3d.com/article/xyz-calibration-mk2-s_112396
This starts with moving the X axis to the top, so it hits the top of the Z axis on both sides. You can do this manually, by jogging the Z axis until the X axis is just at the top. Then send
M18
to disable the motors. Then you can turn each leadscrew by hand (slowly, you don't want to destroy the stepper motor driver by spinning the motor fast) individually until the X axis is touching the top of the Z axis on both sides. This should square the X axis to the Z axis.With the X axis square, you now need to square the bed to the X axis. Jog the X axis down (ie move down in Z) until the nozzle is a little above the bed. Move the nozzle to the four corners of the bed making sure you don't actually hit the bed with the nozzle. The idea here is to adjust the bed so it is the same distance from the nozzle at the four corners, or as close as it can be.
Then run bed mesh and see what kind of mesh you get.
However, before that, your acceleration settings look a bit odd:
M201 X500.00 Y20.00 Z400.00 E250.00
Y is set very low, and is probably causing the bed to move slowly, while Z is quite high for a leadscrew axis, and might possibly cause it to miss steps. The RRF config tool usually suggests these quite conservative numbers:
M201 X500.00 Y500.00 Z20.00 E250.00
My bedslinger has higher acceleration on X and Y, but Z is the same. They are just not designed to move very fast in Z!
Ian