Simple Metal 9 Probe Point Firmware - HowTo

Code hacking talk

Simple Metal 9 Probe Point Firmware - HowTo

Postby wmchris » 2015-Jan-Mon-18-Jan

Hello,
i had many problems with the precompiled 9 Point Leveling Probe firmwares available on this forum by flashing them to the F4 board based Printrbot Simple Metal 2014. So i decided to compile the firmware by myself and give the world a solution to my problems ;-)

The precompiled hex files from here flashed well, but they inverted the Y and E axis and destroyed the homing function of the printer. (So for ex. home Z just moved the head ~80mm up instead of homing it). After flashing this image i was unable to go back to stock firmware with the mac flash util on Mac Os 10.10 Yosemite. The solution: bootcamp. After flashing with Windows and Atmel Flip the printer was back in a working state.
Just follow this tutorial: help.printrbot. com/Guide/How+to+Reflash+Firmware/78

The solution for a working 9 probe mod was to recompile the firmware by myself. I downloaded the pre-configured Arduino build environment from http://www.printrbottalk.com/wiki/index ... e=User:PxT and the Marlin Source Files (github. com/Printrbot/Marlin/releases/tag/RevF-Version-1) and opened the Marlin.ino.

To make it work with printrbot simple metal i had to change the following values in the configuration.h file:

Line 311-316
Code: Select all
#define X_MAX_POS_DEFAULT 152.4
#define X_MIN_POS_DEFAULT 0
#define Y_MAX_POS_DEFAULT 152.4
#define Y_MIN_POS_DEFAULT 0
#define Z_MAX_POS_DEFAULT 152.4
#define Z_MIN_POS_DEFAULT 0


Line 373-378
Code: Select all
 
#define ACCURATE_BED_LEVELING
  #ifdef ACCURATE_BED_LEVELING
     // I wouldn't see a reason to go above 3 (=9 probing points on the bed) - 4 = 16, 5 = 25
    #define ACCURATE_BED_LEVELING_POINTS 3
  #endif


Line 399-400
Code: Select all
#define DEFAULT_AXIS_STEPS_PER_UNIT   {80,80,2020,96}
#define DEFAULT_MAX_FEEDRATE          {125,125,5,14}


Line 455
Code: Select all
//#define ULTIMAKERCONTROLLER


Then i had to enable verbose output (Arduino - Settings) Verbose output on compile.
After completion just take a look at the output. Search for the path, where the compiler has placed the .hex file (ex: /var/folders/w8/abcdefgh/T/build123456.tmp/Marlin.cpp.hex)

After flashing this hex file, everything's working fine. Of course - this modded firmware will remove the LCD support.

If you don't want to do all this by yourself, you can grab my .hex file from dropbox: https: //dl.dropboxusercontent. com/u/33687364/m2.hex

Oh in case someone lost the default values, these are mine.
Code: Select all
> M501
< echo:Stored settings retrieved
< echo:Steps per unit:
< echo:  M92 X80.00 Y80.00 Z2020.00 E96.00
< echo:Maximum feedrates (mm/s):
< echo:  M203 X125.00 Y125.00 Z5.00 E14.00
< echo:Maximum Acceleration (mm/s2):
< echo:  M201 X2000 Y2000 Z30 E10000
< echo:Acceleration: S=acceleration, T=retract acceleration
< echo:  M204 S3000.00 T3000.00
< echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)
< echo:  M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
< echo:Home offset (mm):
< echo:  M206 X0.00 Y0.00 Z0.00
< echo:PID settings:
< echo:   M301 P22.20 I1.08 D114.00
< echo:Min position (mm):
< echo:  M210 X0.00 Y0.00 Z0.00
< echo:Max position (mm):
< echo:  M211 X152.40 Y152.40 Z152.40
  • 1

wmchris
Waiting to connect to printer...
 
Posts: 1
Joined: 2015-Jan-Mon-17-Jan
Reputation: 1

Simple Metal 9 Probe Point Firmware - HowTo

Sponsor

Sponsor
 

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby Monkis » 2015-Jan-Sun-14-Jan

Thank you for posting this. I had tried the previous 9 point firmware and had the same troubles you did.
I think I will still have to manually level my bed somewhat though as it is out of level about 1mm from corner to corner.
The Z axis does move up and down as the head travels across the board, but a 1mm difference is a bit too much for it to handle properly.
  • 0

Printrbot Simple Metal
Monkis
Waiting to connect to printer...
 
Posts: 1
Joined: 2015-Jan-Sun-14-Jan
Reputation: 0

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby teicher » 2015-Jan-Sun-18-Jan

Great info, thanks for sharing!

Curious, what does the G29 output look like on 9 pt leveling? And does the Z adjust as if the print bed were 9 separate planes with individual tilts or does it mash it all up. (I supposed I could just go check the code....)
  • 0

teicher
Layer 300 of 1234
 
Posts: 318
Joined: 2014-Apr-Fri-20-Apr
Reputation: 15

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby chickenbisket » 2015-Feb-Tue-02-Feb

Thanks so much for this. I was just messing around with the 9 point firmware this weekend and getting nowhere. Also glad to see what the actual changes are and how they're made.
  • 0

chickenbisket
I'm an end stop.
 
Posts: 51
Joined: 2013-Mar-Mon-21-Mar
Reputation: 9

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby thawkins » 2015-Feb-Tue-03-Feb

chickenbisket wrote:Thanks so much for this. I was just messing around with the 9 point firmware this weekend and getting nowhere. Also glad to see what the actual changes are and how they're made.


So long as your bed is flat then 9 point leveling is pointless, as 3 points is all that is needed to calculate the correction plane.

If your bed is not flat, then 9 point leveling is pointless, as it calculates a mean plane for the bed, it wont fix a bed that is not flat.

so 9 point leveling ( in fact anything over 3 point) is pointless.

If your bed is flat then use 3 points, its all you need, 9 point gets you nothing more, and wastes a stack of memory a printrboard does not have.

If your bed is not flat, then fix your bed, autoleveling, 3, 9, 16 etc is never going to give you the result you are looking for. Autoleveling starts from the premis that the bed is flat.
  • 1

Jonbot+
225mm x 200mm - Heated Bed
RAMPS 1.4 running Marlin 1.1.0
Full Graphic display.
-------------------------------
Zen Toolworks CNC/3d printer
230mmx360mm bed
Dual j-head hotends.
Dual heated beds.
RAMPS 1.4 running Marlin 0.98
-------------------------------
Flashforge 3d Creator Pro
Dual Extruder
220x143x150mm
Mightyboard rev e, runnimg Sailfish 7.7r1234
-------------------------------
Photon, self designed printed printer.
User avatar
thawkins
Print winner 2nd
Print winner 2nd
 
Posts: 1636
Joined: 2013-Aug-Sun-10-Aug
Location: Manila, Philippines
Reputation: 172

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby dsegel » 2015-Feb-Tue-13-Feb

thawkins wrote:so 9 point leveling ( in fact anything over 3 point) is pointless.


Agreed. Also, the obsession with achieving a perfectly flat bed is a waste of time IMO. "Flat enough" is usually easy enough to achieve, as the bed flatness only affects the first few layers of a print anyway. Beyond that the errors are insignificant. My bed is off by nearly 0.3mm from the edge to the center (it's cupped), and I still get fantastic quality prints out of it. Other factors like your hot end design and nozzle, belt tightness, and Z coupler make a far bigger difference in quality.
  • 0

dsegel
Waiting for printbed temp...
 
Posts: 109
Joined: 2014-Sep-Mon-12-Sep
Reputation: 3

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby thawkins » 2015-Feb-Tue-14-Feb

dsegel wrote:
thawkins wrote:so 9 point leveling ( in fact anything over 3 point) is pointless.


Agreed. Also, the obsession with achieving a perfectly flat bed is a waste of time IMO. "Flat enough" is usually easy enough to achieve, as the bed flatness only affects the first few layers of a print anyway. Beyond that the errors are insignificant. My bed is off by nearly 0.3mm from the edge to the center (it's cupped), and I still get fantastic quality prints out of it. Other factors like your hot end design and nozzle, belt tightness, and Z coupler make a far bigger difference in quality.


Adding a raft is the recommended way of overcomming those sorts of issues.
  • 0

Jonbot+
225mm x 200mm - Heated Bed
RAMPS 1.4 running Marlin 1.1.0
Full Graphic display.
-------------------------------
Zen Toolworks CNC/3d printer
230mmx360mm bed
Dual j-head hotends.
Dual heated beds.
RAMPS 1.4 running Marlin 0.98
-------------------------------
Flashforge 3d Creator Pro
Dual Extruder
220x143x150mm
Mightyboard rev e, runnimg Sailfish 7.7r1234
-------------------------------
Photon, self designed printed printer.
User avatar
thawkins
Print winner 2nd
Print winner 2nd
 
Posts: 1636
Joined: 2013-Aug-Sun-10-Aug
Location: Manila, Philippines
Reputation: 172

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby musk » 2015-Feb-Tue-17-Feb

Agree with you Thawkins. How did you find out that the 9 point leveling determines a mean plane? I always wondered if marilin split the platform up into a bunch of little planes, like teicher mentioned. I'm glad to find out the real answer if you've looked into it.
  • 0

Printrbot Metal Plus (2x)
Printrbot Simple Metal (2x)
musk
Solid infill...
 
Posts: 210
Joined: 2014-Aug-Sun-22-Aug
Reputation: 22

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby thawkins » 2015-Feb-Tue-21-Feb

musk wrote:Agree with you Thawkins. How did you find out that the 9 point leveling determines a mean plane? I always wondered if marilin split the platform up into a bunch of little planes, like teicher mentioned. I'm glad to find out the real answer if you've looked into it.


#define AUTO_BED_LEVELING_GRID
// with AUTO_BED_LEVELING_GRID, the bed is sampled in a
// AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
// and least squares solution is calculated
// Note: this feature occupies 10'206 byte
#ifdef AUTO_BED_LEVELING_GRID

// set the rectangle in which to probe
#define LEFT_PROBE_BED_POSITION 15
  • 0

Jonbot+
225mm x 200mm - Heated Bed
RAMPS 1.4 running Marlin 1.1.0
Full Graphic display.
-------------------------------
Zen Toolworks CNC/3d printer
230mmx360mm bed
Dual j-head hotends.
Dual heated beds.
RAMPS 1.4 running Marlin 0.98
-------------------------------
Flashforge 3d Creator Pro
Dual Extruder
220x143x150mm
Mightyboard rev e, runnimg Sailfish 7.7r1234
-------------------------------
Photon, self designed printed printer.
User avatar
thawkins
Print winner 2nd
Print winner 2nd
 
Posts: 1636
Joined: 2013-Aug-Sun-10-Aug
Location: Manila, Philippines
Reputation: 172

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby lwalkera » 2015-Feb-Wed-05-Feb

Would you guys like an official 9-point firmware for each bot? If so, which features would you like to ballast to make room for it?
  • 0

Laine Walker-Avina
Printrbot Beta-tester and Printrboard Designer
lwalkera
Honeycomb infill 25%...
 
Posts: 291
Joined: 2012-Feb-Sat-04-Feb
Location: Folsom, CA
Reputation: 32

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby dsegel » 2015-Feb-Wed-10-Feb

Honestly, what I would rather see is a way of storing the probe values so I don't have to re-run the G29 process at the beginning of each print. The slope of my bed doesn't change every time I start a new print.
  • 0

dsegel
Waiting for printbed temp...
 
Posts: 109
Joined: 2014-Sep-Mon-12-Sep
Reputation: 3

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby KD6HQ » 2015-Feb-Wed-12-Feb

lwalkera wrote:Would you guys like an official 9-point firmware for each bot? If so, which features would you like to ballast to make room for it?


If you were asking for a "wish list", then for me it would be in this order:
1. Change the PCB to include a larger ram device, so that no features would need to be left out.
2. Since that's probably not going to happen.
Replace the Printrboard with a RAMPS 1.4 board. It has the advantage of having a larger memory device and cost less. It also comes with a second extruder built in.
3. Change all the beds to a MIC6 specification so that the original kit/printer has a good bed to start with. This may reduce the need for the 9-point leveling.
4. Do away with the LCD support and change the firmware code to have a fully functional 9-point firmware. It is much simpler to replace the LCD with a 6 or 7" tablet to run the printer from and requires no special hardware.

I'm sure that there are better solutions that will be offered than what I can come up with but I know that some of the above reasons are why some are switching over to the RAMPS 1.4 system.
  • 0

Printrbot Simple Makers Kit (1405) modified.
Core XYZ

It's all in the details!
KD6HQ
Layer 300 of 1234
 
Posts: 329
Joined: 2014-Jun-Mon-12-Jun
Reputation: 5

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby musk » 2015-Feb-Wed-13-Feb

lwalkera wrote:Would you guys like an official 9-point firmware for each bot? If so, which features would you like to ballast to make room for it?


Is there a list of the currently included features? I don't really know what constitutes a feature as opposed to things that are necessities.
  • 0

Printrbot Metal Plus (2x)
Printrbot Simple Metal (2x)
musk
Solid infill...
 
Posts: 210
Joined: 2014-Aug-Sun-22-Aug
Reputation: 22

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby KDog » 2015-Feb-Wed-13-Feb

Autolevel only works if your surface is perfectly flat to the plane. It doesn't matter how powerful your electronics are, no amount of calculations or probe points are going to make an unlevel surface level or even useable for that matter. The only way autolevel works is if your bed is perfectly flat. This is why three points is all you need to take care of an un-level bed. It cannot compensate for bows or arcs. It isn't a calculation problem. If your surface is bowed, for instance, compensation would make your object bowed as well. Because of this, manually leveling your bed is the easiest way to level and takes a huge processor load off of your electronics.
  • 0

Printrbot Metal Simple
Printrbot Original (printed on a PBJ)
Dec. 2013 ..... Kossel PRO (still waiting for it to arrive!!!)
KDog
Layer 300 of 1234
 
Posts: 323
Joined: 2013-Jul-Fri-17-Jul
Location: Honolulu
Reputation: 21

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby KD6HQ » 2015-Feb-Wed-16-Feb

Hmmm.... you know I've heard that a lot.
Could some please explain this video to me.... if auto leveling does not work, then why did the print head not hit the bed?

Perhaps there is something else going on that I don't know about. Is there something in physics that says this print bed is level to the plane? I really don't know and would like to understand. Perhaps this is not really auto leveling and I just think it is?

http://www.bing.com/videos/search?q=3d+ ... F3C78DA2FA

http://www.bing.com/videos/search?q=3d+ ... 3B493C826C
  • 0

Printrbot Simple Makers Kit (1405) modified.
Core XYZ

It's all in the details!
KD6HQ
Layer 300 of 1234
 
Posts: 329
Joined: 2014-Jun-Mon-12-Jun
Reputation: 5

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby PxT » 2015-Feb-Wed-16-Feb

KD6HQ wrote:Hmmm.... you know I've heard that a lot.
Could some please explain this video to me.... if auto leveling does not work, then why did the print head not hit the bed?

Perhaps there is something else going on that I don't know about. Is there something in physics that says this print bed is level to the plane? I really don't know and would like to understand. Perhaps this is not really auto leveling and I just think it is?


"Auto-leveling" as we are using the term just means that the printer compensates for a print surface that is not perfectly perpendicular to the extruder nozzle. It expects that your bed is a perfectly flat plane (i.e. not convex or concave, or some other more complex geometry) and can correctly compensate for that non-perpendicular-but-flat bed. The video above demonstrates an extreme example of non-perpendicularness.

We know from basic geometry that it only takes 3 non-collinear points to define a plane - (see http://en.wikipedia.org/wiki/Plane_(geometry)) and since the nine-point logic uses a least squares calculation it won't be any more accurate than the 3-point calculation for this task.
  • 0

User avatar
PxT
Print complete...
 
Posts: 1340
Joined: 2011-Dec-Mon-16-Dec
Location: Sacramento, CA
Reputation: 97

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby RetireeJay » 2015-Feb-Wed-16-Feb

No one is saying that auto leveling can't work. But here's how to think of the problem that's being discussed in this thread: Imagine trying to print onto the surface of a basketball.

The word "flat" can have different meanings in the English language. So below I'll define flat and whenever I use the term in bold print and color, I mean that specific definition.

By flat in this context, we mean that you could lay a straightedge down on it anywhere and at any angle, and the straightedge would be in contact with the bed along its entire length. On a basketball, the straightedge would only touch at one point, and the surface would fall away at all other points.

The whole point of auto leveling is so that the surface does not have to be parallel to the plane of the X and Y motion of the printhead, but for auto leveling to work, the bed does have to be flat.

Mathematically, since three points determine a flat plane, there is nothing to be gained from using more points. In the real world, no measurement is ever perfect, so perhaps using more than three points could give you a better "fit" to the actual bed. But the current state of the art for auto leveling requires the bed to be flat .
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
User avatar
RetireeJay
My next printer is...
 
Posts: 4797
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 477

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby KD6HQ » 2015-Feb-Wed-17-Feb

PxT and RJ

Thank you.

Currently my bed would not meet your definition of flat. As with some of us the bed size is no longer original. It is a piece of aluminum that I purchased without regards to a flatness specification so it has hills and valleys.

A while back I did switch to 9 point leveling just to see if it was any better in regards to the first 2 or 3 layers. There were places on the bed that extruder would appear to skip in the first 2 or 3 layer depending on the thickness I was trying to print. So I tried the 9 point leveling. Changing did seem to make a difference and I very seldom see and spots that are skipped during the first layers anymore. So I've stuck with the 9 points method.

I think this is what is driving me to understand what is going on.

Incase anyone is interested, I've only printed in PLA without a heated bed. The bed size is now 12" x 12" and the print area is 240mm x 270mm. Layer ranges have been from .15 to .25 in thickness all with a .4 nozzle.

Thanks for all the help.
  • 0

Printrbot Simple Makers Kit (1405) modified.
Core XYZ

It's all in the details!
KD6HQ
Layer 300 of 1234
 
Posts: 329
Joined: 2014-Jun-Mon-12-Jun
Reputation: 5

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby thawkins » 2015-Feb-Wed-19-Feb

KD6HQ wrote:PxT and RJ

Thank you.

Currently my bed would not meet your definition of flat. As with some of us the bed size is no longer original. It is a piece of aluminum that I purchased without regards to a flatness specification so it has hills and valleys.

A while back I did switch to 9 point leveling just to see if it was any better in regards to the first 2 or 3 layers. There were places on the bed that extruder would appear to skip in the first 2 or 3 layer depending on the thickness I was trying to print. So I tried the 9 point leveling. Changing did seem to make a difference and I very seldom see and spots that are skipped during the first layers anymore. So I've stuck with the 9 points method.

I think this is what is driving me to understand what is going on.

Incase anyone is interested, I've only printed in PLA without a heated bed. The bed size is now 12" x 12" and the print area is 240mm x 270mm. Layer ranges have been from .15 to .25 in thickness all with a .4 nozzle.

Thanks for all the help.


The best solution is to put a layer of glass onto the bed, it provides a flat surface. Unfortunatly the probes dont cope with this very well and if they can be adjusted to work, they are looking through and leveling to the aluminum bed surface, not the surface of the glass. Some folks have put small strips of aluminum foil onto the glass where the probes make thier measuements, and altered the 3 probe positions to be at the extreem edges of the bed. I think this is the best solution. The foil can sit under any kapton or blue tape applied as a top surface.

Ironicaly before proximity probes, we used to use r/c servos and a micro switch, which does play well with glass, the printrboard is not condusive to this solution having limited i/o readily availabe, but for RAMPs users it is a relativly easy configuration to setup.

Those people experiencing possible improvements with 9 point leveling i suspect have non-flat beds, and the least squares averaging is creating a leveling plane that is averaging out thier bumps and dips, for example if a 3 point probe point happens to occure at the crest of a bump, its going to throw out the compensation for the dipped areas. Having more points just creats a plane that is less suseptable to individual distortions, but its not going to compensate for them, and they will still get bald patches and unevenness when printing.

Check out this older video of my printrbot simple 1302 running with ramps and a servo/microswitch leveling probe.

http://youtu.be/jBS8dPabMQ0
  • 0

Jonbot+
225mm x 200mm - Heated Bed
RAMPS 1.4 running Marlin 1.1.0
Full Graphic display.
-------------------------------
Zen Toolworks CNC/3d printer
230mmx360mm bed
Dual j-head hotends.
Dual heated beds.
RAMPS 1.4 running Marlin 0.98
-------------------------------
Flashforge 3d Creator Pro
Dual Extruder
220x143x150mm
Mightyboard rev e, runnimg Sailfish 7.7r1234
-------------------------------
Photon, self designed printed printer.
User avatar
thawkins
Print winner 2nd
Print winner 2nd
 
Posts: 1636
Joined: 2013-Aug-Sun-10-Aug
Location: Manila, Philippines
Reputation: 172

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby teicher » 2015-Feb-Wed-20-Feb

lwalkera wrote:Would you guys like an official 9-point firmware for each bot? If so, which features would you like to ballast to make room for it?


I would. I guess LCD support can go, I don't have any use for it. I'm not sure what else is up for consideration, though.

I'd just like to see printrbot get more aligned with mainstream marlin where possible so that everyone in the community is developing, benefiting and sharing as a whole. There are a lot of forks and branches and it's hard to figure out which one to use sometimes.
  • 0

teicher
Layer 300 of 1234
 
Posts: 318
Joined: 2014-Apr-Fri-20-Apr
Reputation: 15

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby thawkins » 2015-Feb-Wed-22-Feb

teicher wrote:
lwalkera wrote:Would you guys like an official 9-point firmware for each bot? If so, which features would you like to ballast to make room for it?


I would. I guess LCD support can go, I don't have any use for it. I'm not sure what else is up for consideration, though.

I'd just like to see printrbot get more aligned with mainstream marlin where possible so that everyone in the community is developing, benefiting and sharing as a whole. There are a lot of forks and branches and it's hard to figure out which one to use sometimes.


Yes, that would be cool if they where running on latest version, unfortunately they would have to give up M211 and M212 as those codes are gone in upstream.
  • 0

Jonbot+
225mm x 200mm - Heated Bed
RAMPS 1.4 running Marlin 1.1.0
Full Graphic display.
-------------------------------
Zen Toolworks CNC/3d printer
230mmx360mm bed
Dual j-head hotends.
Dual heated beds.
RAMPS 1.4 running Marlin 0.98
-------------------------------
Flashforge 3d Creator Pro
Dual Extruder
220x143x150mm
Mightyboard rev e, runnimg Sailfish 7.7r1234
-------------------------------
Photon, self designed printed printer.
User avatar
thawkins
Print winner 2nd
Print winner 2nd
 
Posts: 1636
Joined: 2013-Aug-Sun-10-Aug
Location: Manila, Philippines
Reputation: 172

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby PxT » 2015-Feb-Thu-15-Feb

They're not gone as much as they were never pulled in. There was a PR to add the functionality but it hasn't been accepted. Looks like it just needs to be resubmitted against a newer base copy.
  • 0

User avatar
PxT
Print complete...
 
Posts: 1340
Joined: 2011-Dec-Mon-16-Dec
Location: Sacramento, CA
Reputation: 97

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby creyc » 2015-Mar-Tue-02-Mar

When I try this on the F4 Printrboard in my Simple Metal, the G29 command ends up doing all 9 measurements without moving the Y-axis.

It seems to be related to the Y homing location, which is of course in the back left up against the endstop switches. However if I manually pull the Y-axis out to the far front before runing the G29 command, then it completes 9 probes as it should in different locations.

So it seems like G29 detailed Z-probing wants to start in the front left and work backwards, but homing takes the print head to the back left and then there's no more room to travel back? :?

I'm not sure what's going on, because compiling and loading the stock firmware seems to work just fine with all the same EEPROM settings.
  • 0

creyc
Waiting to connect to printer...
 
Posts: 3
Joined: 2015-Mar-Mon-22-Mar
Reputation: 0

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby RetireeJay » 2015-Mar-Tue-09-Mar

Maybe just add a G1 Y0 command in between the G28 homing command and the G29 bed-alignment command?
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
User avatar
RetireeJay
My next printer is...
 
Posts: 4797
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 477

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby sheldonth » 2015-Apr-Mon-17-Apr

RetireeJay wrote:Maybe just add a G1 Y0 command in between the G28 homing command and the G29 bed-alignment command?


Can you elaborate on how you would do that? I'm running the firmware from this thread, and seeing great results except for the same problem cited above where the calibration doesn't happen at different Y values as it should.
  • 0

sheldonth
Waiting to connect to printer...
 
Posts: 2
Joined: 2015-Apr-Mon-15-Apr
Reputation: 0

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby RetireeJay » 2015-Apr-Mon-17-Apr

The specific steps will depend on which software you are using for doing your slicing. But generally, slicing software has a configuration section where you can specify G-code commands to be used in the "header." It will already be populated with some commands, so just add a new one in the right place.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
User avatar
RetireeJay
My next printer is...
 
Posts: 4797
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 477

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby ijourneaux » 2015-Apr-Fri-10-Apr

This might sound like a silly question but since we have a way to deal with the be not being level with a 3, 9, 12, etc point fit, wouldn't it make sense to fit the curvature as well? Obviously you would need more data to fit curvature of the bed but wouldn't that work. My original bed (I now have a new flat bed) was shaped like a saddle. Fitting a 3rd order polynomial with some interaction terms fits the surface very well. Looking at the source, the linear regression solver is already included.

PS In my opinion, in a perfect world, with the bed being perfectly flat, just not level, 3 point is the minimum required to model the surface position but any measurement error wrt bed position or any curvature in the bed near the measurement positions (i.e. at the 3 corners) could produce results that are less than optimal. That is where the extra measurements (9,12, etc) should produce a more representative equation for the surface position.

Take Care
Ian
  • 0

ijourneaux
Loading filament...
 
Posts: 12
Joined: 2015-Jan-Sun-00-Jan
Reputation: 0

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby KDog » 2015-Apr-Fri-16-Apr

I'm not a huge fan of auto-leveling either. However, my Kossel uses 9-point leveling and it is significantly better than 3-point on the same printer. The reason that 9-point is better on the Kossel is that it corrects for the many geometry points of this style printer that can be slightly "off". It took me a while to get my head around it but it is true. BTW, the build plate on my Kossel is perfectly flat.

What I'm wondering about is if there are any geometries on a cartesian printer that could cause non-planar or multiple plane errors. If this were the case then 9-point could be better than 3-point.

The other thing to think about for 9-point is that it takes significantly more computing power to correct and the computing errors can also add up significantly. You still need to be close in your calibration.

KDog
  • 0

Printrbot Metal Simple
Printrbot Original (printed on a PBJ)
Dec. 2013 ..... Kossel PRO (still waiting for it to arrive!!!)
KDog
Layer 300 of 1234
 
Posts: 323
Joined: 2013-Jul-Fri-17-Jul
Location: Honolulu
Reputation: 21

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby cacb » 2015-Apr-Fri-18-Apr

KDog wrote:The other thing to think about for 9-point is that it takes significantly more computing power to correct and the computing errors can also add up significantly. You still need to be close in your calibration.


4-point would often make sense I think. Instead of just a plane from 3 points, you get a bi-linear surface. Almost no processing required, handles slight warping.
  • 0

Printrbot Simple Metal Kit + heated bed upgrade. KISSlicer (Kubuntu/Win7), OctoPrint (wireless Raspberry Pi model B) - http://arnholm.org/
cacb
Support material...
 
Posts: 403
Joined: 2015-Mar-Sun-06-Mar
Location: Norway
Reputation: 16

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby KDog » 2015-Apr-Fri-22-Apr

Actually, the last thing you want is a warped surface. You can't level that no matter how hard you try. Your parts will come out skewed. The bed needs to be a perfectly flat surface. If it isn't then you should replace it. Auto-leveling can account for a flat bed that is out of plane or printer geometry that is out of plane. Both these issues can, theoretically, be corrected perfectly with auto-leveling. In the case of an out of plane bed, three points will solve it perfectly. Printer geometry is more difficult to solve which is why 9-point leveling is used for delta-style printers.

What everyone is trying to say is that if your cartesian printer geometry is "perfect" then manually leveling the bed is optimal to auto-leveling.
  • 0

Printrbot Metal Simple
Printrbot Original (printed on a PBJ)
Dec. 2013 ..... Kossel PRO (still waiting for it to arrive!!!)
KDog
Layer 300 of 1234
 
Posts: 323
Joined: 2013-Jul-Fri-17-Jul
Location: Honolulu
Reputation: 21

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby ijourneaux » 2015-Apr-Fri-22-Apr

The equation that corrects for level is a simple equation

z = a + b*x + c^y

With 3 data points, you can solve for a, b and c explicitly. With more points (9, 12 or more), the least squared solution gives a best fit but it still only calculates the 3 terms. Once they are calculated immediately after the points are probed, the results are used for the duration of the print. As I understand the code, 3 point, 9 point, 12 point, whatever, the equation used is as above. It should only correctls flat bed that is not level. Once the coefficients are calculated, the computing power is identical

Handling curvature would require a more complicated equation like

z = a + b*x + c^x*x + d*x*x*x + e*y + f*y*y + g*y*y*y + h*x*y (this could be extended as needed)

This form fits a saddle shaped bed well. That said, the equation, although simple would require more CPU power the what is currently used.

Appreciate the discussion. Still trying to understand the marlin code.

PS that said, I agree that a flat bed that is correctly leveled is optimal.
  • 0

ijourneaux
Loading filament...
 
Posts: 12
Joined: 2015-Jan-Sun-00-Jan
Reputation: 0

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby cacb » 2015-Apr-Sat-04-Apr

KDog wrote:Actually, the last thing you want is a warped surface.


Of course. You want a perfectly flat, level bed. In an ideal world, that is. However, the world is not ideal so the current standard way is to attempt to correct for a slightly unlevel bed measuring 3 points using the Z probe and compute the plane equation z(x,y) = a + b*x + c*y. It makes sense and it seems to work quite well also. But of course b=0 and c=0 is better, I agree with that.

Now, if the bed is slightly warped (I am guessing many beds are slightly warped to the degree that it can be measured using the Z-probe), using 4 points you can establish 2 linear functions:
z(x) = a*x + b
z(y) = c*y + d

Assuming bi-linear shape
z(x,y) = z(x)*z(y) = (a*x + b) * (c*y + d) = ac*x*y + ad*x + bc*y + bd = A*x*y + B*x + C*y + D

This is simple stuff. If the bed is actually flat, but not level, then A=0 and you are back to the plane equation being used now. If the bed is also level, then B=0 and C=0, and all you are left with is D, expressing the constant offset (the M212 Z offset value).

This does not work against the optimal desire of a perfectly flat and levelled bed. It simply relaxes the tolerances of what can be workable, something that would help non-tinkerers.
  • 0

Printrbot Simple Metal Kit + heated bed upgrade. KISSlicer (Kubuntu/Win7), OctoPrint (wireless Raspberry Pi model B) - http://arnholm.org/
cacb
Support material...
 
Posts: 403
Joined: 2015-Mar-Sun-06-Mar
Location: Norway
Reputation: 16

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby ijourneaux » 2015-Apr-Sat-08-Apr

cacb
I think we are on the same page. it is just a matter of what type of curvature do you want to handle out-of-the-box. I was biased to a slightly more compliciated form as the bed was dealing with (prior to it being replaced) was shaped like a saddle so a linear fit with an interaction term (x*y) would not work much better than the equation used now. In my case I would have needed atleast a second order polynomial to fit the surface

When I browsed through the Marlin code, I was surprised to find a full blown Least Squared solver so extending the modeling to handle at least some amount of curvature should be relatively simple. It is just a matter of determining how much "warping" you want to handle and how much processing the PrintrBoard can handle.
  • 0

ijourneaux
Loading filament...
 
Posts: 12
Joined: 2015-Jan-Sun-00-Jan
Reputation: 0

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby cacb » 2015-Apr-Sat-09-Apr

@ijourneaux

Agreed. If you have a saddle shape, it is most likely to be in one direction only (if not, get a new bed!). A parabola will be a good approximation: z(x) = a*x^2 + b*x + c
In the y direction it may be enough to assume z(y) = c*y + d

Again do z(x,y) = z(x)*z(y) and find the parameters, in this case 6 points should work

A least squares solver handles an over-determined situation like in these cases. I guess it runs that solver before it starts to print. So the real question is whether you give the processor too much work during the actual print by introducing the additional terms. My guess is that you would not notice the difference, but I have not tried.
  • 0

Printrbot Simple Metal Kit + heated bed upgrade. KISSlicer (Kubuntu/Win7), OctoPrint (wireless Raspberry Pi model B) - http://arnholm.org/
cacb
Support material...
 
Posts: 403
Joined: 2015-Mar-Sun-06-Mar
Location: Norway
Reputation: 16

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby ijourneaux » 2015-Apr-Sat-10-Apr

It is a pretty simple equation even in parabolic form so the CPU load should not be excessive. I have wanted to try and compile up the source. Maybe this will be the justification to do so.
  • 0

ijourneaux
Loading filament...
 
Posts: 12
Joined: 2015-Jan-Sun-00-Jan
Reputation: 0

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby thawkins » 2015-Apr-Sat-12-Apr

ijourneaux wrote:cacb
I think we are on the same page. it is just a matter of what type of curvature do you want to handle out-of-the-box. I was biased to a slightly more compliciated form as the bed was dealing with (prior to it being replaced) was shaped like a saddle so a linear fit with an interaction term (x*y) would not work much better than the equation used now. In my case I would have needed atleast a second order polynomial to fit the surface

When I browsed through the Marlin code, I was surprised to find a full blown Least Squared solver so extending the modeling to handle at least some amount of curvature should be relatively simple. It is just a matter of determining how much "warping" you want to handle and how much processing the PrintrBoard can handle.


How are you going to handle curvature of the bed. How are you going to clip the layers to the curvature so that the lower layers dont follow the bed curvature. Going back to RJ's example of printing on the surface of a sphere as an extreem case, you can either do three things, 1. clip the sphere to the layers of the model, 2. create a cliped raft that has a top layer that is parrallel to the diameter section of the sphere, so that the model is printed with flat layers, or 3. follow the curvature of the bed so the model's layers are distorted uniformly with the same curvature as the bed surface. The first two are near impossible to do on a cheap 8-bit avr processor, the later is computationaly less intense but would would produce a distorted print, your cube would end up looking like a segment of watermellon skin.

None of the solutions for correcting bed warp are viable, unless you modify the model. and the printer controller does not know its a model (it just sees lines), and your computer does not know about the bed. Even if you could map the bed in the firmware you are going to have problems printing variable height lower layers to compensate, which is again beyond what your printer controllers can do.

There is no substitute for a flat bed. No amount of software will help. Its a pipe dream to think that it can be done in the firmware.
  • 0

Jonbot+
225mm x 200mm - Heated Bed
RAMPS 1.4 running Marlin 1.1.0
Full Graphic display.
-------------------------------
Zen Toolworks CNC/3d printer
230mmx360mm bed
Dual j-head hotends.
Dual heated beds.
RAMPS 1.4 running Marlin 0.98
-------------------------------
Flashforge 3d Creator Pro
Dual Extruder
220x143x150mm
Mightyboard rev e, runnimg Sailfish 7.7r1234
-------------------------------
Photon, self designed printed printer.
User avatar
thawkins
Print winner 2nd
Print winner 2nd
 
Posts: 1636
Joined: 2013-Aug-Sun-10-Aug
Location: Manila, Philippines
Reputation: 172

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby ijourneaux » 2015-Apr-Sat-15-Apr

A flat bed is definitely ideal but I think that handling some warp in the bed is just an extension of the model used to to auto level. The model is determine when you probe the bed at the beginning of a print. More sophisticated modles need more positions to be probed.
Obviously it can't deal with a 6in square model on a surface that looks like a 6in diameter ball. But the objective is to handle some reasonalbe amount of curvature perhaps a couple of millimeters over 6in or so, so that you get good bed adhesion in the first couple of layers.

If autoleveling works (and I believe it does), I am not sure I understand why correcting for some warp wouldn't work as well

On a slightly differnet topic, When you probe the surface for autoleveling, are the model parameters saved on the PrintrBoard so that you don't need to autolevel on the next print (Of course this assumes that the bed position is not changing between prints.
  • 0

ijourneaux
Loading filament...
 
Posts: 12
Joined: 2015-Jan-Sun-00-Jan
Reputation: 0

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby RetireeJay » 2015-Apr-Sat-15-Apr

Look carefully at what thawkins said. Autoleveling as currently implemented only creates a "virtual XYZ" coordinate system that's slightly rotated from the physical XYZ that's implied by the structure of the 'bot. It assumes that the bed is flat, but not perfectly perpendicular to the physical Z axis, so it creates a virtual Z axis that's tilted a little. Ideally, then, an object which is supposed to have walls perpendicular to the bed (a tall tower, for example) will have its walls perpendicular to the physical bed, not parallel to the Z rods on the machine.

It might be interesting for the printer to print its own compensating "bed" on top of the actual bed every time it does a print. This is called a "raft." But that's not how it works. Theoretically, you could print a good "raft" on top of a lousy, uneven bed and still end up with perfectly good objects. But without that "raft" then the object itself would carry the distortion of the bed into all the succeeding layers - not a pretty thought.

thawkins has been working with the team of people developing the next generation of Marlin software, so when he says that it's beyond the computational capability of an ARM processor, he knows of what he speaks.

By the way, the equation for the coordinate transform is not as simple as you think. As you build up the tower, you have to compensate both X and Y as well as Z, because the entire frame of reference has changed. Coordinate transformations involve sines and cosines, and all the axes interact. Otherwise you'd end up with a tower that looks good on the bed but becomes the Leaning Tower of Pisa when you put it down on a table.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
User avatar
RetireeJay
My next printer is...
 
Posts: 4797
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 477

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby Mooselake » 2015-Apr-Sat-15-Apr

It's not all that hard to fork the Marlin firmware on github. Do so and rewrite the probe compensation firmware. After testing then give the changes back to the development team (at that point you'd be part of them) for integration back into the released version; Tim can let you know if they want your test models so they can add them into their test suite. If it's simple stuff, and you already have the math worked out, it shouldn't be a big project. Besides you'd have bragging rights after proving the other guys wrong.

Kirk
  • 0

Modified KickStarter Classic Plus 7/2012
KS Thingybot Delta Pro 10/31/16
User avatar
Mooselake
My next printer is...
 
Posts: 3509
Joined: 2011-Dec-Tue-23-Dec
Location: Moose Swamp, Upper Michigan, USA
Reputation: 170

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby ijourneaux » 2015-Apr-Sat-18-Apr

I see where you are coming from. The Z-direction compensation when there is curvature, even slight, gets more and more problematic as you get further and further away from the bed.

Thank you Retired J and THawkins. I did not appreaciate that the entire coordinate system was rotated and now understand where the limitations both physical and CPU are.
  • 0

ijourneaux
Loading filament...
 
Posts: 12
Joined: 2015-Jan-Sun-00-Jan
Reputation: 0

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby thawkins » 2015-Apr-Sat-21-Apr

ijourneaux wrote:I see where you are coming from. The Z-direction compensation when there is curvature, even slight, gets more and more problematic as you get further and further away from the bed.

Thank you Retired J and THawkins. I did not appreaciate that the entire coordinate system was rotated and now understand where the limitations both physical and CPU are.


Folks seem to be looking to the 9 point, 12 point leveling software to get a better fit of the virtual printing plane to thier bed. If they have an uneven bed it allows them to roll the dice again and get a different set of coeffients for the vplane that are not based on the original 3 points. But to be clear its just the same single vplane. If their bed is flat then they only need the 3 points.

Rather than go through all the complexity of trying to compensate for the bed geometry, it would probaly be more usefull to come up with some way to manualy manipulate the parameters of the vplane. Effectivly adding electronic leveling screws to the existing compensation system. This could take the form of either a mechanism for offsetting z on each probe point, or a means of setting the z values directly and avoid the probes altogether. The physical probe can still be used to find z=0 for the center of the bed. Beds dont change geometry so once it has been determined its pretty much constant. This wont fix geometry or warp issues, but it may be a better solution to designating a vplane that produces a better fit to the bed.

One other thing to take into account us that the quality of the prints is somewhat dependent on the firmwares ability to feed the mechanics smoothly, without stutter or pauses. Many purists belive that USB printing introduces variable delays and can cause artifacts in the print, pauses caused by calculation being performed also impact quality.

I have recently been using makerbot style printers, which are predominatly sdcard driven, and the output file generators are responsable for converting mm to stepermotor steps, hence the file on the sdcard does not need to be transformed. Resulting in far fewer calculations in the controller. These type of printers dont generaly have autoleveling becuase the mechanism makes manual leveling easy.

The speed and quality from these type of printer far exceeds the printrbot/reprap quality, for al the reasons i have outlined. Its also one of the reasons why we need to get away from 8 bit controllers as they are severly limiting development and advancement of quality.
  • 0

Jonbot+
225mm x 200mm - Heated Bed
RAMPS 1.4 running Marlin 1.1.0
Full Graphic display.
-------------------------------
Zen Toolworks CNC/3d printer
230mmx360mm bed
Dual j-head hotends.
Dual heated beds.
RAMPS 1.4 running Marlin 0.98
-------------------------------
Flashforge 3d Creator Pro
Dual Extruder
220x143x150mm
Mightyboard rev e, runnimg Sailfish 7.7r1234
-------------------------------
Photon, self designed printed printer.
User avatar
thawkins
Print winner 2nd
Print winner 2nd
 
Posts: 1636
Joined: 2013-Aug-Sun-10-Aug
Location: Manila, Philippines
Reputation: 172

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby ijourneaux » 2015-Apr-Sun-09-Apr

I have recently been using makerbot style printers, which are predominatly sdcard driven, and the output file generators are responsable for converting mm to stepermotor steps, hence the file on the sdcard does not need to be transformed. Resulting in far fewer calculations in the controller.


Now that you point this out, it makes sense.

Again Appreciate the discussion. I learned a lot.
  • 0

ijourneaux
Loading filament...
 
Posts: 12
Joined: 2015-Jan-Sun-00-Jan
Reputation: 0

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby veng » 2015-Apr-Thu-05-Apr

The people that mill printed circuit boards probe the entire board on a small grid and then transform the local errors into a new g-code that accounts for the dips and valleys. This could probably be done for a non-flat bed also. People are milling on cylinders and spheres or anything else that comes to mind.

Once the bed is mapped, it could be used in the vplane to electronically level as per thawkins.

The transform mapping is done on the PC not an 8 bit processor.
  • 0

veng
Loading filament...
 
Posts: 24
Joined: 2015-Apr-Thu-05-Apr
Reputation: 0

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby thawkins » 2015-Apr-Thu-07-Apr

veng wrote:The people that mill printed circuit boards probe the entire board on a small grid and then transform the local errors into a new g-code that accounts for the dips and valleys. This could probably be done for a non-flat bed also. People are milling on cylinders and spheres or anything else that comes to mind.

Once the bed is mapped, it could be used in the vplane to electronically level as per thawkins.

The transform mapping is done on the PC not an 8 bit processor.


People that mill printed circuit boards are working with a 2D print not a 3D print. They are working from the bed surface down for one layer , not up for hundreds of layers. Not the same problems at all. Subtractive vs Additive.

If you have a dip or a rise in your bed, do you want that refected all the way through your print?
  • 0

Jonbot+
225mm x 200mm - Heated Bed
RAMPS 1.4 running Marlin 1.1.0
Full Graphic display.
-------------------------------
Zen Toolworks CNC/3d printer
230mmx360mm bed
Dual j-head hotends.
Dual heated beds.
RAMPS 1.4 running Marlin 0.98
-------------------------------
Flashforge 3d Creator Pro
Dual Extruder
220x143x150mm
Mightyboard rev e, runnimg Sailfish 7.7r1234
-------------------------------
Photon, self designed printed printer.
User avatar
thawkins
Print winner 2nd
Print winner 2nd
 
Posts: 1636
Joined: 2013-Aug-Sun-10-Aug
Location: Manila, Philippines
Reputation: 172

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby veng » 2015-Apr-Thu-09-Apr

If the dip is .2 mm and it allows the print to stick, then yes I would although I don't have that problem.

Do you think that a processor with an on-board USB interface as opposed to a serial port and a reasonable queue size works as well as an sdcard or is the problem in the ISR/processing loop?
  • 0

veng
Loading filament...
 
Posts: 24
Joined: 2015-Apr-Thu-05-Apr
Reputation: 0

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby frankv » 2015-Apr-Thu-13-Apr

The obvious (to me) answer is to print a "raft" that follows the contours of the bed on the bottom and is perfectly flat and level on top.

Perhaps build this once, glue it in place (or don't ever detach it from the bed), and put a layer of tape or tinfoil or acrylic or whatever on top, to build your actual object on?
  • 0

frankv
First blob a success!
 
Posts: 518
Joined: 2015-Jan-Thu-12-Jan
Reputation: 17

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby thawkins » 2015-Apr-Thu-15-Apr

frankv wrote:The obvious (to me) answer is to print a "raft" that follows the contours of the bed on the bottom and is perfectly flat and level on top.

Perhaps build this once, glue it in place (or don't ever detach it from the bed), and put a layer of tape or tinfoil or acrylic or whatever on top, to build your actual object on?


After a few days thinking about it, something very simular to this was the only way i could think of solving this problem. It could be done with a simple command say G42 (the answer to everything) which took a x,y and w,h and probed that area in varying degrees of resolution (based on a 5th paramter) . And stored that map.
Then G43 would print a raft that was maxz-minz layers high, that covered the designated area. The result would be a raft that was perfect flat and level to the movement of the nozzle. It would be tricky to do as it would require variable layer height infill, as it would need to modulate the extrusion volume to match the difference in the bed height to nozzle gap, which would not be a whole number of layer heights. If done correctly it could compensate for warped and distorted beds.

It could be simulated without firmware changes by manuly using G30 to probe the bed and read back heights and form a map. Then manualy create the gcode to create the raft from the mapfile. This can all be done with an application at the computer end. It would be slow at scannimg the bed, but its possible that would only be needed once and stored.

Hmmm, needs thinking about. Most of this is dead easy, its the volumetrics needed to achieve the variable height layers that will be tricky. It will also require infill strokes to be broken down into scan resolution sized segements so that the E values for the extrusion can be varied to increase or reduce plastic flow.

It might work......
  • 0

Jonbot+
225mm x 200mm - Heated Bed
RAMPS 1.4 running Marlin 1.1.0
Full Graphic display.
-------------------------------
Zen Toolworks CNC/3d printer
230mmx360mm bed
Dual j-head hotends.
Dual heated beds.
RAMPS 1.4 running Marlin 0.98
-------------------------------
Flashforge 3d Creator Pro
Dual Extruder
220x143x150mm
Mightyboard rev e, runnimg Sailfish 7.7r1234
-------------------------------
Photon, self designed printed printer.
User avatar
thawkins
Print winner 2nd
Print winner 2nd
 
Posts: 1636
Joined: 2013-Aug-Sun-10-Aug
Location: Manila, Philippines
Reputation: 172

Re: Simple Metal 9 Probe Point Firmware - HowTo

Postby markcdschneider » 2015-Jun-Sun-17-Jun

Hi, I'm on a simple maker's 1405 kit. I've successfully flashed this firmware however when it goes through the bed leveling process, it stays stuck at the positive end of the y-axis, probes 3 points 3 times and then goes down to print in the normal position. I don't know if that's what i've read about when people are saying the y axis is always triggered or what. i'm thinking i would need to modify the firmware but i am completely new to that. if anyone has a suggestion I would appreciate that.

EDIT: rev F5 board
  • 0

markcdschneider
Waiting to connect to printer...
 
Posts: 1
Joined: 2015-Jun-Sat-11-Jun
Reputation: 0


Return to Hack talk

Who is online

Users browsing this forum: No registered users and 2 guests