Welcome! Log In Create A New Profile

Advanced

Re-ARM from Panucatt

Posted by .Jata 
Re: Re-ARM from Panucatt
February 18, 2017 02:57AM
I'm no smoothie expert, but the problems with z-endstop and z-probe being the same might start with z-offset calculation later. You might see the nozzle print in mid air at the same height your probe-offset is set to. Lucky, when you use one of the rare non_offset z-probes.
Re: Re-ARM from Panucatt
February 18, 2017 03:40AM
I am having issues with inconsistent nozzle to bed gap. However it's inconsistent using the piezo probe (no probe offsets) as the z min endstop, and when I use the z max endstop to home and keep the piezo probe as dedicated probe. I am using grid levelling.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Re-ARM from Panucatt
February 18, 2017 06:42AM
Very briefly looking at the endstop code in smoothie, looks like the compensation is disabled, then it does the homing, then re-enable compensation when its finished. I guess that could be an issue when homing to min which sets z=0, then it applies some compensation +/- value in Z for that XY point, which could be the reason?

Perhaps if you home to min as you already have, then move up say 5mm or so and then run a "G30 Z0" (probe until hit and also set to z=0) would solve the inconsistency? As it would be setting the machine z=0 after the compensation is applied.
Re: Re-ARM from Panucatt
February 18, 2017 06:52AM
I will try that, that seems like a sound idea. Clearly something like this is happening. The machine I am using is by no means mechanically perfect but yesterday I was getting 1 print in 10 to stick with ABS which is a PITA.

Okay so thats quite promising, if I do
G28 X
G28 Y
G1 X135 Y100 (middle of my 270x200 bed)
G28 Z
M220 S60 ; slow down to avoid false triggers
G31
M220 S100
G1 x135 Y100
G30 Z0
G1 Z5

Then I can move around the bed, I can hear the z motor clicking a few steps here as I move around, now all G30 probes at any point return 5mm +/- 0.01mm.

Just going to see if I can print something which will test level in the centre and at each of the four corners.

I also wonder whether I need to bother manually homing as the G31 does this automatically.

Edited 2 time(s). Last edit at 02/18/2017 07:02AM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Re-ARM from Panucatt
February 18, 2017 07:26AM
sdavi - you sir are a bloody genius! smileys with beer



Apologies for the dirty looking filament, I started the print and was so focused on the probing I forgot to load any filament, so hastily stuck orange in when I'd been (trying to) print black yesterday.
But perfect first layer all over the bed. The skirt isnt perfect but I am still wrestling my thermistor on the bed to give me reliable and accurate readings so the bed is probably a bit cool, which compounded the problem yesterday.

I had no idea G30 could be used to reset the Z level in this way - is this a smoothie specific function? The reason I ask is that there is no need for babystepping or paper-tests or nozzle offset calculations when an accurate nozzle based probe like the one I am using/developing can just reset the z-level prior to printing and then print exactly the first layer thickness (not first layer+paper thickness etc...).

That's really opened my eyes.
If everyone else already knows about this function, then shame on me for printing for 2 years without knowing about it, but I am going to start a few threads about this (and test my duetwifi based machine to see if RRF does this also), as I know from all the posts people make about first layer issues this (with the right probe) just solves the problem automatically.

Edited 1 time(s). Last edit at 02/18/2017 08:17AM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions

Re: Re-ARM from Panucatt
February 18, 2017 04:08PM
Okay so works so well, it works on RRF also. I'm nicknaming the combination of precision nozzle based sensor, grid levelling and G30 probing "auto first layer calibration" as it does away with all the usual headaches of getting universally a correct first layer.

Heres a print my corexy did, with a clone volcano nozzle, previously using arduino/marlin the print quality was nowhere near this:



Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions

Re: Re-ARM from Panucatt
February 18, 2017 08:43PM
Quote
DjDemonD
Okay so works so well, it works on RRF also. I'm nicknaming the combination of precision nozzle based sensor, grid levelling and G30 probing "auto first layer calibration" as it does away with all the usual headaches of getting universally a correct first layer.
So, can you share your full Gcode as well as the Full Smoothie code? Im fighting auto calibration with a inductive sensor z probe that worked great with RAMPS, but Im fighting it tooth and nail trying to get it to work. If I put the code in "manually" (G32) it will do the 3 point just fine. When it runs through the G code, it skips it. Im using a prusa style Cartesian so I know its a bit different from a core xy. How does the grid work? Does it waste alot of time checking many points? I kinda liked the MARLIN style - just checking 4 corners.
Ay help would be appreciated!
Thanks!
Re: Re-ARM from Panucatt
February 19, 2017 03:25AM
Quote
Parabolic
Quote
DjDemonD
Okay so works so well, it works on RRF also. I'm nicknaming the combination of precision nozzle based sensor, grid levelling and G30 probing "auto first layer calibration" as it does away with all the usual headaches of getting universally a correct first layer.
So, can you share your full Gcode as well as the Full Smoothie code? Im fighting auto calibration with a inductive sensor z probe that worked great with RAMPS, but Im fighting it tooth and nail trying to get it to work. If I put the code in "manually" (G32) it will do the 3 point just fine. When it runs through the G code, it skips it. Im using a prusa style Cartesian so I know its a bit different from a core xy. How does the grid work? Does it waste alot of time checking many points? I kinda liked the MARLIN style - just checking 4 corners.
Ay help would be appreciated!
Thanks!

There are a few issues here. Is your bed level, is it flat? If its flat but not level then there is nothing wrong measuring 3 points and calculating the plane. I haven't tried 3 point levelling in Smoothie as I know my bed is not flat when heated it has a low corner.
Flat bed, Level Bed - autolevelling not needed
Flat bed, Not Level - use 3 point levelling/Plane correction
Uneven bed, Not level - use grid compensation

Grid works by probing as many points as you want so 3x3,4x4 up to 7x7 I think. It then divides the bed into segments and adjusts the nozzle height depending on where on the bed you are. So it can handle quite an uneven bed as long as you probe enough points. In the config if you save the grid, and add m500 to the gcode after probing to save. When you start the machine up it loads the grid so you don't have to probe every time, especially if your machine is quite solid and you haven't changed anything.

Smoothieware edge from last week - firmware.bin
My config - config.txt

Start Gcode
M42 S0 ; turn off large part cooling fan
M109 T S130; Heat extruder before probing
M220 S60 ; slow down
G31 ; Grid Level
G1 X135 Y100 Z5
G30 Z0
G1 Z50
M109 T S[first_layer_temperature] ; Set extruder temp
M220 S100 ; speed up

End Gcode
M220 S100 ; speed to 100%
M104 S0 ; Turn off hot end
G1 Z180 F300 ; send Z to bottom
G28 X0 ; home X axis
M84 ; disable motors
M42 S255 ; large bed cooling fan on
M140 S0 ; turn off bed


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Re-ARM from Panucatt
February 19, 2017 04:10AM
Congrats for your findings!
Although I'm pretty sure other printers may need some adjustment after G30 Z0. Because their bed , frame and gantry/effector have different play and give. Your piezo probe needs a certain amount of force, that will influence the probe result on each printer differently.

It's more a coincidence, that it worked perfect for you.
Re: Re-ARM from Panucatt
February 19, 2017 04:34AM
Possibly, but it's the very sensitive nature of the probe that enables this result and the use of the nozzle as the probe tip. I've tried it on two machines now. A softer print surface would require an offset but this will be constant for that surface so once set you wouldn't need to change anything manually.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Re-ARM from Panucatt
February 19, 2017 09:38AM
Quote
DjDemonD

Smoothieware edge from last week - [attachment 90909 firmware.bin]
My config - [attachment 90910 config.txt]

Start Gcode
M42 S0 ; turn off large part cooling fan
M109 T S130; Heat extruder before probing
M220 S60 ; slow down
G31 ; Grid Level
G1 X135 Y100 Z5
G30 Z0
G1 Z50
M109 T S[first_layer_temperature] ; Set extruder temp
M220 S100 ; speed up

End Gcode
M220 S100 ; speed to 100%
M104 S0 ; Turn off hot end
G1 Z180 F300 ; send Z to bottom
G28 X0 ; home X axis
M84 ; disable motors
M42 S255 ; large bed cooling fan on
M140 S0 ; turn off bed

Okay, I installed the latest FW, and adjusted my code for the grid style. I added the applicable code to my gcode (had to move the head over the bed first), and after it heats up and homes itself, and moves the probe over the bed it goes right to printing - no autolevel has been performed....my start g code:
G90 ;absolute positioning

M107 ;start with the fan off

G1 Z10
G28 X0 Y0
G0 X165 F6000
G0 Y50 F6000
G28 Z0
G0 Z10
G31 ; Grid Level
G1 X135 Y100 Z5
G30 Z0
G1 Z50
M109 T S[first_layer_temperature] ; Set extruder temp
M220 S100 ; speed up
Re: Re-ARM from Panucatt
February 19, 2017 10:26AM
If it doesn't do the grid level then the grid level config might be wrong. Are you on pc tether the console will say "no strategy defined to handle G31".

Or "rectangular grid probe" if it's working.

Couple of things with your start gcode
Why not do
G0 X165 Y50 which I presume sends you to your bed centre, it's quicker?
Then grid level
Then move back to your bed centre (not x135 Y100 that's my bed centre) and do
G30 Z0
G1 Z50

You can drop the M220 as you haven't slowed down so you don't have to speed back up again.

Unless you are using a nozzle based probe you aren't guaranteed to get the perfect first layer, as it depends on how accurate your probe offset is and how far your probe is from your nozzle, how accurately you've measured these offsets. With sensitive nozzle based probes none of this applies and does not create inaccuracy and inconsistency.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Re-ARM from Panucatt
February 19, 2017 12:40PM
okay - I changed some things around and my Gcode looks like this:

G90 ;absolute positioning

M107 ;start with the fan off

G1 Z10 ;move z up 10 to avoid any collisions
G28 X0 Y0 ;home X&Y
G0 X193 Y220 F6000 ;bed center
G28 Z0 ;home Z
G0 Z10 ;move up 10 to un-trigger probe
G31 ; Grid Level
G0 X193 Y220 F6000 ;bed center
G30 Z0
G1 Z10
M109 T S[first_layer_temperature] ; Set extruder temp


I MANUALLY entered it step by step and when I get to the G31 it responds, however it goes to the home position.
Problem with that is my bed is roughly 300x300, but has a zero position for x 50mm in and y 100mm in.
So it starts autoleveing off the bed.
How do I fix that? I cant see anything in the config for area around bed.
Re: Re-ARM from Panucatt
February 19, 2017 12:40PM
okay - I changed some things around and my Gcode looks like this:

G90 ;absolute positioning

M107 ;start with the fan off

G1 Z10 ;move z up 10 to avoid any collisions
G28 X0 Y0 ;home X&Y
G0 X193 Y220 F6000 ;bed center
G28 Z0 ;home Z
G0 Z10 ;move up 10 to un-trigger probe
G31 ; Grid Level
G0 X193 Y220 F6000 ;bed center
G30 Z0
G1 Z10
M109 T S[first_layer_temperature] ; Set extruder temp


I MANUALLY entered it step by step and when I get to the G31 it responds, however it goes to the home position.
Problem with that is my bed is roughly 300x300, but has a zero position for x 50mm in and y 100mm in.
So it starts autoleveing off the bed.
How do I fix that? I cant see anything in the config for area around bed.
Re: Re-ARM from Panucatt
February 19, 2017 05:04PM
Okay my corexy has a bed which is within the axis range like yours. So in smoothie config see if this helps:

# Endstops
endstops_enable                              true             # the endstop module is enabled by default and can be disabled here
corexy_homing                                true            # set to true if homing on a hbit or corexy
alpha_min_endstop                            1.24!^            # add a ! to invert if endstop is NO connected to ground
#alpha_max_endstop                           1.24^            #
alpha_homing_direction                       home_to_min      # or set to home_to_max and set alpha_max
alpha_min                                    -5                # this gets loaded after homing when home_to_min is set
alpha_max                                    275              # this gets loaded after homing when home_to_max is set
beta_min_endstop                             1.26!^            #
#beta_max_endstop                            1.26^            #
beta_homing_direction                        home_to_min      #
beta_min                                     -22                #
beta_max                                     191              #
gamma_min_endstop                            1.29!^            #
#gamma_max_endstop                           1.28!^            #
gamma_homing_direction                       home_to_min       #
gamma_min                                    0                #
gamma_max                                    183              #

Its the lines alpha_min and beta_min that have a the negative number in your case it would read

alpha_min                                    -50                # this gets loaded after homing when home_to_min is set
beta_min                                     -100               #

See if this helps. You have to tell the firmware that the printable area begins some way along the axis from the home point.
In marlin it was called Manual_home_pos.

In theory now it knows where to start probing but you are using an offset probe so you have to make sure your probe offsets are correct and + or - depending on the position relative to the nozzle.

Edited 1 time(s). Last edit at 02/19/2017 05:05PM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Re-ARM from Panucatt
February 19, 2017 06:16PM
damn - I was really hoping that was going to work. I manually homed all axis and lifted 10mm from buildplate. Types in G31 and it went right back to x and y endstops then started to perform the G31.
Re: Re-ARM from Panucatt
February 19, 2017 06:29PM
Mine will go to the endstops then move in to the bed and begin homing. Its something to do with the dimensions or probe offsets, I cant think of anything else.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Re-ARM from Panucatt
February 19, 2017 06:40PM
I agree, however, my probe is in line with the nozzle on the x axis - its offset about 28mm to the back. So if that were the case, it should at least move in the x axis - wouldnt you think?
Re: Re-ARM from Panucatt
February 19, 2017 07:04PM
so what you had me enter is correct. after homing x and y they show up as -50 and -100. I can manually move them to "zero" using the G1 command. So that works. if I type in G31 it still moves it to the endstops.
I tried G32 and it does the same.
Gotta be a setting im missing.
Re: Re-ARM from Panucatt
February 19, 2017 07:10PM
I've just set mine to not home during G31 grid levelling by adding
leveling-strategy.rectangular-grid.do_home        false

As long as you home manually first this might help. Mine was trying to home, just outside of the bed but catching part of the hotend assembly and triggering the probe.

Edited 2 time(s). Last edit at 02/19/2017 07:11PM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Re-ARM from Panucatt
February 19, 2017 07:34PM
SUCCESS!! That did it...at least for that part.
now I have to figure out where to put my probe offset from extruder. I was wrong its an 82mm negative offset on the y.
Re: Re-ARM from Panucatt
February 19, 2017 07:45PM
That's a lot can you relocate it?


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Re-ARM from Panucatt
February 19, 2017 07:55PM
I could - which settings do you use for probe offset in the config ?
Re: Re-ARM from Panucatt
February 20, 2017 02:49AM
 leveling-strategy.rectangular-grid.probe_offsets        0,0,0    # Optional probe offsets from the nozzle or tool head
I always get quite confused whether to use positive or negative numbers.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Re-ARM from Panucatt
February 20, 2017 05:25AM
Quote
DjDemonD
 leveling-strategy.rectangular-grid.probe_offsets        0,0,0    # Optional probe offsets from the nozzle or tool head
I always get quite confused whether to use positive or negative numbers.

Offsets should be the probes location relative from the nozzle. So, in the X, probe located left of the nozzle would be negative and right would be positive.

BTW, your prints are looking great - nice and consistent across the print surface. Well done! I haven't updated my smoothie for a while and noticed the delta-grid compensation and will definitely be giving it a go now. I've been using G30 Znn for quite a while, and since i switched over to PEI surface, babystepping etc is really a thing of the past. The only time i get the dreaded first layer problem is when i haven't cleaned the bed for some time.

Parabolic, I'm assuming that your probe doesn't trigger at the same height as the nozzle. Just note that you can set Z to any value with G30, i.e G30 Znn where nn is the height from the probe trigger to the nozzle. The way I find this is to manually do a single G30 Z0 (to set zero when probe triggers), then measure the offset by jogging down until the nozzle is grabbing the paper, then do M114 which will show a negative Z value. Use that value (without the negative sign of course) as nn for G30 Znn in the start gcode script. As long as the probe is well mounted and good repeatability you only need find that value once smiling smiley (EDIT: ideally the probe is as close to the nozzle as possible)

Edited 1 time(s). Last edit at 02/20/2017 05:36AM by sdavi.
Re: Re-ARM from Panucatt
February 20, 2017 05:30AM
Having never used Smoothie before, it has been reasonably straightforward getting it working. A few days of figuring out how to get things right, its obviously much easier to adjust config.txt and hit reset then try your change.

The improvement in print quality is dramatic, I wasn't expecting that, as I have not changed motors/voltage/stepper drivers or anything else, just the controller board.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Re-ARM from Panucatt
February 20, 2017 02:57PM
Quote
sdavi

Parabolic, I'm assuming that your probe doesn't trigger at the same height as the nozzle. Just note that you can set Z to any value with G30, i.e G30 Znn where nn is the height from the probe trigger to the nozzle. The way I find this is to manually do a single G30 Z0 (to set zero when probe triggers), then measure the offset by jogging down until the nozzle is grabbing the paper, then do M114 which will show a negative Z value. Use that value (without the negative sign of course) as nn for G30 Znn in the start gcode script. As long as the probe is well mounted and good repeatability you only need find that value once smiling smiley (EDIT: ideally the probe is as close to the nozzle as possible)
Okay,
I moved my probe closer - by half. Its now 11.5mm to the right and 41mm in front of my hotend.
so this would be:
leveling-strategy.rectangular-grid.probe_offsets 11.5,41,0 # Optional probe offsets from the nozzle or tool head ??

I homed z then babystepped it lower to find a 2.5 distance between the hotend and plate when homed to z0
so Id put a G30 Z2.5 in the start of my G code?

Oh, and what front end are you guys using? I used CURA for the longest time but quit when they started devoting themselves to the ultimaker over reprap. Before that I used pronterface (5 years ago)
Lately Ive been using Simplify3D, which worked great! But with the REARM/smoothie, it doesnt seem as good, which seems this may relate to my gcode issues.
Even AFTER getting G31 to work manually yesterday, when trying to run it in my gcode it ignores it for some reason. Im guessing its the front end software.
Re: Re-ARM from Panucatt
February 20, 2017 03:15PM
I'm using pronterface for testing but I'll move over to Octoprint once its running well.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Re-ARM from Panucatt
February 20, 2017 06:54PM
Quote
Parabolic
Okay,
I moved my probe closer - by half. Its now 11.5mm to the right and 41mm in front of my hotend.
so this would be:
leveling-strategy.rectangular-grid.probe_offsets 11.5,41,0 # Optional probe offsets from the nozzle or tool head ??

I homed z then babystepped it lower to find a 2.5 distance between the hotend and plate when homed to z0
so Id put a G30 Z2.5 in the start of my G code?

Oh, and what front end are you guys using? I used CURA for the longest time but quit when they started devoting themselves to the ultimaker over reprap. Before that I used pronterface (5 years ago)
Lately Ive been using Simplify3D, which worked great! But with the REARM/smoothie, it doesnt seem as good, which seems this may relate to my gcode issues.
Even AFTER getting G31 to work manually yesterday, when trying to run it in my gcode it ignores it for some reason. Im guessing its the front end software.

For the Y offsets, if looking at the printer, if you see probe closest to you with hotend behind, then its a negative offset. G30 Z2.5 sounds about right.

I also use Simplify3D as the frontend, mostly out of laziness since i use it as the slicer and its already open. If its skipping parts of start gcodes then there must be an issue with the generation of gcode somewhere. Have you checked the gcode it creates? After you click "Prepare to Print", click "Save Toolpaths to Disk", and open the gcode file and see if its correct. If you have multiple processes setup, make sure its in the process that will be used first.

Also note that Simplify uses different variable names for the temps in the scripts etc.

Here is my start gcode for my delta which works in Simplify3D:
G21 ; [mm] mode
G90 ; absolute mode
G28; Home all
M107; Fan Off
G1 Z30 F6000; move down to just above the bed
M190 S[bed0_temperature] ; wait for Bed to reach temp

;;; BLTouch Settings ;;;;;
M280 S10.6; reset any alarms just in case
G4 P500; pause
M280 S3.0; Probe Pin Down
G30 Z1.1; BLTouch Trigger height
M280 S7.0; Probe Up
;; End BLTouch

G0 Z0.05 F200; 
M109 S[extruder0_temperature]; wait for extruder to reach temp
Re: Re-ARM from Panucatt
February 21, 2017 03:19AM
Quote
Parabolic
Even AFTER getting G31 to work manually yesterday, when trying to run it in my gcode it ignores it for some reason. Im guessing its the front end software.

Usually you send G31 as a single command and wait until it's done.
Maybe the implementation of G31 is not making the "planner" wait before it executes the next command.
You can test it by manually sending G31 followed by a harmless M104 S50 command and see, if the temperature changes during probing.
Sorry, only registered users may post in this forum.

Click here to login