Bed leveling problems
-
Something strange is going on with bed leveling.
When I run the bed leveling macro, it reports that i should turn the screws some 1 - 3 mm
I have 3 screws.
The bed is manually leveled, and I have checked it by probing near the screws manually, with the following result:Screw 1 Screw 2 Screw 3 Try 130:175 40:0 195:0 1 0,510 0,765 0,680 2 0,500 0,767 0,670 3 0,505 0,755 0,690 4 0,510 0,750 0,685 5 0,507 0,765 0,685
Using following macro
G1 X130 Y175 Z5 G30 S-1 G1 Z5 G1 X40 Y0 G30 S-1 G1 Z5 G1 X195 Y0 G30 S-1
Now when I perform the bed-leveling , Ill get the following response
I have noticed, that when it samples the first point, it does not stop when the probe is triggered, but contiues and pushing the buildplate down some 3 mm or so.
The first point is what I assume should be the fixed screw, located in the center of the x-axis.
So what is happening?And oh, using a Prusa steel and E3D Hermera, and Duett 3D WiFi + PanelDue with latest firmware. Z probe is an IR-probe.
This is bed.g:
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v3.3.12 on Sun Sep 04 2022 14:26:38 GMT+0200 (centraleuropeisk sommartid) M561 ; clear any bed transform G30 P0 X95.2 Y175 Z-99999 ; probe near an adjusting screw G30 P1 X0 Y0 Z-99999 ; probe near an adjusting screw G30 P2 X163.35 Y0 Z-99999 S3 ; probe near an adjusting screw and report adjustments needed
This is 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.12 on Sun Sep 04 2022 14:26:38 GMT+0200 (centraleuropeisk sommartid) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Frankenstein" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes backwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S0 ; physical drive 3 goes backwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E394.36 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 E1000 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 X195 Y175 Z175 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 S1 P"!^zstop" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin !^zstop ; Z-Probe M558 P1 C"zprobe.in" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X-31.65 Y-7.13 Z0.5683 ; set Z probe trigger value, offset and trigger height M557 X15:185 Y15:175 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; 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 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit 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 B4725 C7.06e-8 ; 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 S1 H1 T45 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off ; Tools M563 P0 D0 H1 F0:1 ; 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 ;Injusteringsskruvar M671 X 95.2:-9.8:200.2 Y 191.7:-18.3:-18.3 P0.5 ; adjusting screws at rear left (-9.8,-18.3), front middle (95.2,191.7) and rear right (200.2,-18.3), thread pitch 0.5mm ; Miscellaneous M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool G32 Manual corrections required: 0.00 turn up (0.00mm) 3.58 turn down (1.79mm) 2.96 turn down (1.48mm)
-
@tomasl
The Z offset is very small at 0.5683 mm (G31 P500 X-31.65 Y-7.13 Z0.5683).
I would only take 3 digits after the decimal point, i.e. 0.568 mm.
Perhaps the F120 (M558 P1 C"zprobe.in" H5 F120 T6000) are too fast for this small Z offset?
Set a speed of F60 as a test.If you can get the IR probe a little closer to the nozzle tip, try it.
I have a Z offset of 3.162 mmExcerpt from "David Crocker's Solutions blog":
"The bottom edge of the board should be no more than 2mm higher than the tip of the nozzle, to ensure that it will trigger before the nozzle touches the bed. To avoid the risk of the board fouling on the print, we suggest that the bottom edge is at least 1mm higher than the tip of the nozzle. So aim for 1.5mm."
Google Translate
--- Original Text ---Das Z-Offset ist mit 0.5683 mm (G31 P500 X-31.65 Y-7.13 Z0.5683) sehr gering.
Ich würde da auch nur 3 Stellen nach dem Komma nehmen, also 0.568 mm.
Vielleicht sind da die F120 (M558 P1 C"zprobe.in" H5 F120 T6000) zu schnell für diesen geringen Z-Offset ?
Stelle doch zum Test mal eine Geschwindigkeit von F60 ein.Wenn Du die Möglichkeit hast den IR-Probe noch etwas näher zur Düsenspitze zu bringen, dann versuche es.
Ich habe ein Z-Offset von 3.162 mmAuszug aus "David Crocker's Solutions blog":
"The bottom edge of the board should be no more than 2mm higher than the tip of the nozzle, to ensure that it will trigger before the nozzle touches the bed. To avoid the risk of the board fouling on the print, we suggest that the bottom edge is at least 1mm higher than the tip of the nozzle. So aim for 1.5mm."
-
@norder
Here is the drawing over the extruder and the Z-probe.
As you can see, the Z-probe is 31.65mm to the left of the nozzle and 7.13mm in front of the nozzle and 3,89 mm above the nozzle (X-31.65 Y-7.13 Z-3.89)
Extruder_u_kyl.pdf -
@norder said in Bed leveling problems:
Perhaps the F120 (M558 P1 C"zprobe.in" H5 F120 T6000) are too fast for this small Z offset?
Set a speed of F60 as a test.Well, the strange thing is that its only the first G30 command that fails, the subsequant ones seems to work ok.
G30 P0 X95.2 Y175 Z-99999 ; Collides with the building plate and further some 2mm down
The two following stops at Z-Probe trigger
G30 P1 X0 Y0 Z-99999 ; probe near an adjusting screw
G30 P2 X163.35 Y0 Z-99999 S3 ; probe near an adjusting screw and report adjustments needed.It does not matter if I run them separatly from the command line, the behaviour is the same.
-
@tomasl
The 3.89mm from the bottom edge of the IR probe and the nozzle tip is too much.
1.5 mm (+- 0.5 mm) is recommended.
Your problem will probably be that the print head moves into the print bed.The IR probe is the Duet3D IR probe from @dc42 , right?
Excerpt from your design drawing...
That's how it looks to me...
-
@norder
Yes I know its little bit to long distance, however, normally it does not hit the bed.
If I do
an G30 S-1 it stops 0.5 mm above the bed.
but not on the
G30 P0 X95.2 Y175 Z-99999 command
but on the subsequence
G30 P1 X0 Y0 Z-99999
and
G30 P2 X163.35 Y0 Z-99999 S3
it stops 0,5mm above the bed.I have run numbers of G30 S-1 commands with basically the same result.
Result after 20
G1 Z5
G3 S-1
Command sequences
-
@tomasl
What kind of pressure plate do you use?
For example, if it's PEI, the IR light from the probe can penetrate the surface a bit, so you have a problem at that point.
Or if the print surface is rough / structured or there is a small break in the surface right there.Put a sheet of paper on this spot and check whether the print head then moves into the print bed.
Google Translate
--- Original Text ---Was für eine Druckplatte benutzt Du ?
Wenn es zB PEI ist, dann kann das IR Licht des Probe etwas in die Oberfläche eintreten, so dass es deswegen bei Dir an dieser einen Stelle zum Problem kommt.
Oder wenn die Druckopberfläche rauh / strukturiert ist oder sich genau dort ein kleiner Ausbruch der Oberfläche befindet.Lege doch mal ein Blatt Papier auf diese Stelle und kontrolliere ob der Druckkopf dann auch noch in das Druckbett fährt.
-
@tomasl
Yes, forgot, the buildplate is a glass sheet and the heater is red with white text on it, if that might be a problem.
There is two statements regarding glass that is contradicting each other, one on the Duet homepage and one on the sensor homepage.In Duet wiki
DC42 IR Sensor Small Light Most Usually high when used with opaque bed surfaces, medium or low with transparent surfaces Transparent surfaces (glass, PEI etc.) must be backed with a matt black surface and must not be coated with glue, hairspray etc. See dc42's blog.In David Crocker's Solutions blog
Glass (with or without coatings such as hairspray, PVA or Kapton tape): works as-is if placed directly on a PCB bed heater or other surface that does not reflect strongly. If there is an aluminium heat spreader or bed plate underneath the glass, then either paint the aluminium surface matt black (see below), or put a sheet of matt black paper between the glass and the aluminium. Coatings on the glass affect the trigger height slightly.
-
@tomasl
There's the problem... the pane of glass.
The IR light penetrates a clear glass pane and then measures the part underneath.
Z offset = 0.5 mm
Glass pane (if it is a normal pane) = 4,0 mm
The nozzle crashes 3.5 mm into the glass pane.The only way out... set the IR probe deeper (close to the recommended 1.5 mm).
Perhaps you should roughen the surface of the glass pane with a random orbital sander so that the surface becomes a little milky.I left the old BLTouch I used to use attached to the print head for such purposes.
With G32 (bed.g) I use the BLTouch for the ABL and in the PrusaSlicer I installed a second printer (extra for the BLTouch) that takes the Z-height right before starting to print with the BLTouch.Google Translate
--- Original Text ---Da ist das Problem... die Glasscheibe.
Das IR Licht durchdringt eine klare Glasscheibe und misst dann den darunter liegenden Teil.
Z-Offset = 0,5 mm
Glasscheibe (wenn es eine normale Scheibe ist) = 4,0 mm
Die Düse kracht 3,5 mm in die Glasscheibe.Einziger Ausweg... setze den IR-Probe tiefer (Nahe an die empfohlenen 1,5 mm).
Vielleicht solltest Du die Oberfläche der Glasscheibe mit einem Exenterschleifer aufrauhen damit die Oberfläche etwas milchig wird.Ich habe für solche Zwecke den alten BLTouch den ich früher genutzt habe, am Druckkopf gelassen.
Mit G32 (bed.g) nutze ich den BLTouch für das ABL und im PrusaSlicer habe ich einen zweiten Drucker (extra für den BLTouch) installiert der die Z-Höhe direkt vor dem Druckbeginn mit dem BLTouch abnimmt. -
@norder said in Bed leveling problems:
@tomasl
There's the problem... the pane of glass.
The IR light penetrates a clear glass pane and then measures the part underneath.
Z offset = 0.5 mm
Glass pane (if it is a normal pane) = 4,0 mm
The nozzle crashes 3.5 mm into the glass pane.The only way out... set the IR probe deeper (close to the recommended 1.5 mm).
Perhaps you should roughen the surface of the glass pane with a random orbital sander so that the surface becomes a little milky.I left the old BLTouch I used to use attached to the print head for such purposes.
With G32 (bed.g) I use the BLTouch for the ABL and in the PrusaSlicer I installed a second printer (extra for the BLTouch) that takes the Z-height right before starting to print with the BLTouch.But why does it not happen when I run G30 S-1, It never crashes into the bed.
Why does it not happen on the two subsequant bed probing commands when I run G32, only the first. -
@tomasl said in Bed leveling problems:
But why does it not happen when I run G30 S-1, It never crashes into the bed.
Why does it not happen on the two subsequant bed probing commands when I run G32, only the first.I can only make assumptions, which I have already written.
A safe test would be to place a sheet of paper on the spot where the nozzle hits the print bed.
If it doesn't happen with the sheet of paper, then the IR light will probably penetrate the pane at that point.Try to bring the IR probe to 1.5 mm and grind the glass surface matt.
I'm pretty sure it will be OK then.But please wait for a few other comments from other users.
I'm sure others will report the problem.
Sometimes it takes a while for someone to have an opinion, so don't despair and be patient.Do the test with the piece of paper and report back what you found.
Google Translate
--- Original Text ---Da kann ich nur Vermutungen anstellen, die ich ja bereits geschrieben habe.
Ein sicherer Test wäre ein Blatt Papier auf die Stelle zu legen, wo die Düse ins Druckbett kracht.
Passiert es mit dem Blatt Papier nicht, dann wird wohl das IR Licht durch die Scheibe dringen an dem Punkt.Versuche den IR-Probe auf die 1,5 mm zu bringen und schleife die Glasoberfläche matt.
Ich bin mir sehr sicher das es dann OK ist.Aber warte gerne noch ein paar andere Kommentare anderer User ab.
Es werden sich bestimmt noch andere zu dem Problem melden.
Manches mal dauert es etwas bis jemand eine Meinung hat, also nicht verzweifeln und etwas Geduld haben.Mach mal den Test mit dem Blatt Papier und berichte was dabei heraus gekommen ist.
-
@tomasl
The first measuring point is at the top center of the print bed, then the other two measuring points at the bottom at each corner of the print bed, right!?Could it possibly be that the measuring surface of the IR probe protrudes above the edge of the glass plate?
In order to determine the exact measuring area of the IR probe, I glued a sewing thread to my print bed exactly in the X direction and later exactly in the Y direction with some adhesive tape on the ends of the sewing thread.
Then I raised the print head very finely in the Z direction so that the IR probe no longer triggered.
Now I ran the nozzle exactly over the sewing thread and noted the position and then ran the IR probe over these sewing threads and noted the area where the IR probe triggered and then took the middle.Example... IR probe triggers from X55.00 to X57.00 so I noted X56.00.
For example, at X59.40, the tip of the nozzle was directly above the sewing thread.
Now I was able to determine the exact offset of the IR probe.
I then did the same with the Y axis.In addition, I stuck a small mark on the print head at the exact points (see photo) to immediately recognize the scanning area of the IR probe.
In the X-direction it is exactly behind the nozzle, so no second marking was necessary for this.Check if the scanning surface of the IR probe is not outside the print bed at the first measuring point where the problems occur.
Google Translate
--- Original Text ---Der erste Messpunkt ist oben mittig vom Druckbett, dann die beiden anderen Messpunkte unten an jeder Ecke vom Druckbett, richtig !?
Könnte es eventuell sein das die Messfläche des IR-Probe oben über den Rand der Glasplatte hinaus ragt ?
Ich habe, um die exakte Messfläche vom IR-Probe zu ermitteln, auf mein Druckbett einen Nähfaden exakt in X-Richtung und später exakt in Y-Richtung mit etwas Klebeband an den Enden des Fadens, auf das Druckbett geklebt.
Dann habe ich den Druckkopf sehr fein in Z-Richtung angehoben so dass der IR-Probe nicht mehr auslöste.
Jetzt bin ich mit der Düse exakt über den Faden gefahren und habe mir die Position notiert und bin dann mit dem IR-Probe über diesen Nähfäden gefahren und habe mir den Bereich notiert wo der IR-Probe ausgelöst hat und habe dann die Mitte genommen.Beispiel... IR-Probe löst von X55,00 bis X57,00 aus, also notierte ich mir X56,00.
Die Düsenspitze war zB bei X59,40 direkt über dem Faden.
Nun konnte ich den exakten Offset des IR-Probe ermitteln.
Das gleiche habe ich dann mit der Y-Achse gemacht.Zusätzlich habe ich auf dem Druckkopf an den exakten Stellen ein kleine Markierung am Druckkopf aufgeklebt (siehe Foto), um die Abtastfläche des IR-Probe optisch sofort zu erkennen.
In X-Richtung ist es exakt hinter der Düse, also war dafür keine zweite Markierung notwendig.Prüfe mal bei Dir, ob die Abtastfläche des IR-Probe beim ersten Messpunkt, wo es zu den Problemen kommt, nicht außerhalb vom Druckbett ist.
-
Managed to crack the glass, so I need to sort that out before I can continue.
-
@tomasl
If you absolutely want to print on glass and don't allow any other surface, then get a thin mirror.
If you then move the IR-Probe down a bit, it should work fine.However, glass is not a good conductor of heat and is not an ideal surface for an IR-Probe, so I would recommend switching to a different printing surface.
I use the Blackprint magnet system from Printbay (printbay.eu) and have been very satisfied with it for years.
The plate is almost indestructible and therefore matt black without any imprints or writing.
Definitely looks better than a red heating mat with white prints.Google Translate
--- Original Text ---Wenn Du unbedingt auf Glas drucken willst und keine andere Oberfläche zu lässt, dann besorge Dir einen dünnen Spiegel.
Wenn Du dann noch den IR-Probe etwas nach unten versetzt, sollte es gut funktionieren.Glas ist aber kein guter Wärmeleiter und keine ideale Fläche für einen IR-Probe, von daher würde ich Dir empfehlen auf eine andere Druckoberfläche zu wechseln.
Ich nutze das Blackprint Magnetsystem von Printbay (printbay.eu) und bin damit seit Jahren sehr zufrieden.
Die Platte ist fast unkaputtbar und alsolut mattschwarz ohne jegliche Aufdrucke und Schriften.
Sieht auf jeden Fall besser aus als eine rote Heizmatte mit weißen Aufdrucken. -
@norder
Well, I have been thinking about that.
The bed is a 4 mm AL-plate, on top of that some insulation, the PCB heater and then the glass.
Now, as it transpired, I do have a couple of self adhesieve silicone foil heaters (230V).
they are either 1300W or 400W each, dont know at the moment, and acouple of 40 Amp SSRs lying around.
So the idea is to skip the glass and the pcb heater.
Connect the SSR to the Dutett, and use the AL-plate alone with the heater sticked at the bottom.
I have to cut a groove in the AL-plate for the temp sensor obviously.
Stick some Creality build tak on the top of the AL-plate.
Should work, or? -
@tomasl
That should work so far.
I have an 8mm AL-Plate, including a silicone heating mat (24 volts) and this is then insulated with a 10mm thick cork plate.
I glued the cork to the heating mat with silicone glue (durable up to 350°C).
In the end there was an L-shaped border made of aluminum rails around the print bed... screwed to the sides of the 8mm aluminum plate and thus holding the cork plate at the edges.
To me it looks a little nicer like this instead of the visible cork board.I still see a problem with your conversion campaign... if the Build-Tak plate has to be replaced, you have to loosen the adhesive again and again.
And since you can't take the Build-Tak off, you have to use a putty knife to loosen the printed parts, increasing the risk of damaging the Build-Tak.I would therefore recommend a magnetic plate that you stick to the 4mm aluminum plate.
You also have the option of using a different printing plate (PEI, FR4, rough or smooth...), depending on the filament and the desired surface of the printed part.I think you'll get annoyed later if you glue the Build-Tak tight.
Google Translation
--- Original Text ---Das sollte soweit funktionieren.
Ich habe eine 8mm AL-Platte, darunter eine Silikon-Heizmatte (24 Volt) und diese ist dann mit einer 10mm dicken Platte aus Kork isoliert.
Den Kork habe ich mit Silikonkleber (bis 350°C haltbar) auf die Heizmatte geklebt.
Am Ende kam noch eine Umrandung aus Aluschienen im L-Form um das Druckbett herum... verschraubt an den Seiten der 8mm Aluplatte und hält somit die Korkplatte an den Rändern.
Für mich sieht es so etwas schöner aus, anstelle der sichtbaren Korkplatte.Ein Problem sehe ich da noch bei Deiner Umbau Aktion... wenn die Build-Tak Platte einmal ausgetauscht werden muss, musst Du den Kleber immer wieder lösen.
Und da Du die Build-Tak nicht herunter nehmen kannst, musst Du zum lösen der Druckteile einen Spachtel nehmen, was die Gefahr erhöht die Build-Tak zu beschädigen.Ich würde Dir daher eine Magnetplatte empfehlen die Du auf die 4mm Aluplatte klebst.
So hast Du auch die Möglichkeit eine andere Druckplatte (PEI, FR4, Rauh oder Glatt...) zu nehmen, also je nach Filament und Wunsch der Oberfläche des Druckteils.Ich glaube Du wirst Dich später ärgern wenn Du die Build-Tak fest verklebst.
-
@tomasl said in Bed leveling problems:
I have to cut a groove in the AL-plate for the temp sensor obviously.
This groove is in my cork
-
@norder
Ok, thanks for the input.
Question is, if I can use the AL-plate directly, until I get the magnetic stuff, Painting it black, and use PVA-glue on it -
@tomasl
Sure, why not.
I wouldn't paint the aluminum plate though.
Cover it with tape and print on it.
Bluetape should be good for PLA and PETG.
Clear packaging tape is good for PC (polycarbonate) and may also be good for PA (nylon).If you have different tapes... stick them all next to each other on the aluminum plate and print a strip across these tapes to test which tape works best for each filament.
Google Translate
--- Original Text ---Klar, warum nicht.
Ich würde die Aluplatte aber nicht lackieren.
Beklebe sie mit Tape und drucke da drauf.
Bluetape sollte gut für PLA und PETG sein.
Durchsichtiges Paketklebeband ist gut für PC (Polycarbonat) und eventuell auch für PA (Nylon).Wenn Du verschiedene Klebebänder hast... klebe sie alle nebeneinander auf die Aluplatte und drucke einen Streifen quer über diese Klebebänder um zu testen welches Klebeband für das jeweilige Filament am besten geeignet ist.
-
@norder
Will do, thanks.