I have always used Rave's 4x Mega hairspray. Also available at Walmart. It works very good! But I'm going to pick up a can of Garnier Fructis Super Hold 5 and see if I can tell a difference.
Printable View
Hi
Before everybody goes off to Walmart and gets the wrong stuff and hates me forever ....
Green can a out 12" tall. Black top. Label reads:
Garnier
Fructis
Style
Extreme Control
Anti-Humidity
Hairspray
(yack yack yack)
Extreme
1 2 3 4 5
...........^
(the number 5 has the arrow and is in black)
It's the stuff I was told to use many years ago. It's always worked fine. It's cheap and I never bothered to play with anything else.
Bob
So where is the origin? I assume this where home is? If I go into Prepare and manually move an axis, is the 0 position the origin? So if both X and Y show 0 I should be at origin? The reason I ask is the home is in the upper right, are we backwards somewhere and it should be in the lower left, which would be consistent with an actual X/Y plot?
Assuming origin works how I hope, from origin we should be able to check the full travel in X and Y to make sure limit switches are correct and there is no obstruction or binding?
Hi
The origin is set in the firmware. It can be in any corner of the printer or it can be in the center of the heated bed. The simple way to locate the limit switches on the Pegasus was to put them in a way that gives you a back right or upper right origin. There is nothing wrong with doing this and it does not in any way mess up prints.
In any coordinate system the origin is 0,0,0 by definition (or 0,0 if it's a two axis system). The convention usually is that +Z is the "up" direction and X and Y are the left/right front/back axis. If you want your bed to be +X and +Y that gives the rest of it. On most printers the Y axis is the front to back one and the X axis is the left to right. There is no absolute reason why you could not do it a couple of other ways (possibly with negative numbers). It's a bit simpler to just stick with the conventional approach and move on.
Bob
I believe the firmware we loaded was Marlin1_0_2_Pegasus12.ino. Just manually moving the Z axis just now and it shows a position of 220 while it is actually about half way to the top. So it does appear to be going half distance, both steppers obviously since if they were different they would ind quickly. So what do you think?
BTW what does the FR 100% on the Marlin screen mean?
So when we leveled the bed with the 9 point method we used paper as the shim. So you are saying we need to adjust the Z offset in the slicer to do what exactly? Get to exact 0? Or actually move it up to whatever works well for a first layer?
Hi
When you use a shim to level the bed, the shim has a thickness. Let's say your paper is 1 mm thick. After bed level, the Z=0 point will be 1 mm off of the bed of the printer. If I tell a print to start at zero, it will be printing 1 mm up in the air. Since the first layer probably is 0.2 mm, it actually will be printing at 0 point + 0.2 mm = 1.2 mm in the air. You need to take that 1 mm out of the system. You can do that one of two ways. One way is to enter it in the firmware and recompile with that number as an offset. The other approach is to tell the slicer what the offset is and let it do the gcode with the offset figured in. That way the print will start at -1mm + 0.2 mm = -0.8 mm and it will go down on the bed. Of the two approaches, I find the slicer approach easier since you will do a half dozen prints to refine the magic offset number before you get it right.
Have you tried moving the printer driver modules on the ramps board yet? My guess is that you have a problem with one of them. I don't know how Colin labels his firmware for the Deluxe model so no clue if it is easy to spot. In any case 4,000 is the right steps on Z. The other gotcha is a stepper driver that is set to to many micro steps. That's why I suggest swapping the drivers around.
Bob
So looking at my stepper drivers the one driving the Z steppers is different than the rest, with no black chip. Can't be a coincidence. Wonder if Colin ran out and got some of these but it is a little different. I assume I can change the Zsteps to get it right but I don't know what the exact value would be for this chip.
http://i139.photobucket.com/albums/q...212_204504.jpg
Real talk, once you level your bed, you should not be using a Z-Offset. The first layer of the print should be above the bed by a very small amount. For example, I use a feeler gauge with a thickness of 0.1mm. This position will read as 0 on the z-height. It is a little weird as it truly isn't at 0mm.
This small manual offset must exist when printing, do not print with your nozzle at the print bed. Doing, this creates back pressure and your extruder will begin to skip steps. You need that small amount of space so the filament can flow from the nozzle to the bed.
The issue with your Z-Axis height is with the DRV8825 driver you see on the very top. That driver turns the motor at 1/32th of a step compared to the A4982 which runs at 1/16th. So your observation that the Z axis is only moving half the distance is 100% spot on.. To change this you can use a different driver, or change the e-steps in your firmware to 8000.
So spinning that knob from 4000 to 8000 is a waste oof time. I assume this value is in one of the .h files? So I should just edit it there, recompile with the arduino software, and upload to marlin?
Thanks for the help everyone!
You got it. The other options is to switch to the A4982 driver. I attempted to use the DRV8825 driver and got weird artifacts.
This is what you need to change:
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80.19, 80.19, 400.00, 394.9}
These are my values, so do not follow them. But change the 3rd option to 8000.
what file is that in?
What does Colin say about all this? That's not the "right" driver for the printer. That is the one that ships with the Deluxe upgrade kit.
We did get the upgrade at the same time, but haven't done any of the upgrades as most require printing something.
Well then that's the explanation (and the missing information). You need to either use the correct stepper driver or mount the acme screw Z axis stuff to get it working with standard firmware.
But first we have to print the mounts for the ACME rods with funky settings, a Catch-22. We're just going to have the rod mounts printed for us this week and swap to the ACME rods this weekend and be done with it.
The other big issue is the Marlin won't recognize 4 different SD cards.
How did you format the SD cards and how big are they?
1gb to 16gb all formatted in fat32
Freshly formatted on what OS?
My guess is that the format isn't the issue and you have a broken / unseated cable. The whole format issue is what you need to dig through first though. There *are* well known issues in that regard.
I formatted SD cards with windows 10. I tried switching cables around today and making sure they were seated correctly. Still same as far as info screen says sd card inserted and next screen says no sd card. Augerpro suggested we try and reformat cards one more time. Would you recommend a different OS to format?
Hi
I would format it on a Windows 7 machine if you suspect that Win 10 might be an issue. I format them on OS-X and Linux. In any case you want to be sure that it is a FAT file system.
Bob
It could also be a faulty Reprap Discount LCD.
Hi
Indeed, the *assumption* is that the parts are the ones that MakerFarm supplies for a Pegasus 12". If we are into some other set of parts then all bets are off ....
Bob
It's the LCD from Makerfarm. I personally don't think it's the format, or the cables. I think needs to send us a new LCD, unless you guys know of any other reasons?
Hi
If you are not already in touch wth Coin on all this, you should be. He has always been very quick when you ask him a question. He will want to go though a few things before shipping a part. He also *knows* what you ordered and what he shipped you.
Bob
Gotta say I'm pretty pi$$ed off at the moment with this printer. Had the ACME rod mounts printed commercially and installed them. First off, the alignment sucks, had the steppers binding up near the bottom really bad. After we messed around with spacing the stepper mounts it is better but not reliable long term solution. Loaded the new firmware and went to level the bed, but it appears the manual option is gone, as it appeared to go through an auto operation. But we don't have the damn sensor mounted because WE CAN'T PRINT and didn't expect to have to send even more parts to the commercial printer!!!!!!!!!!
I didn't find the ACME rod guides to have zero backlash, hope gravity is one our side.
New firmware has "Z offset = -1.6" as the first option in Prepare or Control (can't remember which), which I assume is related to what UB was telling me. Is this a correct starting value?
Note to new owners: don't bother with the Upgrade kit. You can buy the ACME rod parts for cheap and you'll be designing your own mounts anyway. Acrylic sides are easy to make. ABL is $10.
Hi
If you go through all the info on the Deluxe package, they are pretty clear about buying the not-deluxe first and getting the deluxe only after the standard printer is up and running. Yes, I found that a bit odd as well. There are a bunch of differences between the standard printer and the deluxe. The whole geometry of the printer changes.
The Z offset in the firmware is the distance between a typical trigger on the BL Touch and the typical hot end mount in the Makerfarm carriage. If you head over to the Prusa MK2, you will find that all of these sensors have a bit of fiddling involved with them. The part I designed up has a similar offset. It is *not* a perfect number. There is to much tolerance in the probes trigger point for that to be true. You go through a print / measure / change offset / new gcode (loop) process to get them set up.
The other thing to keep in mind, if you are going to use a gcode offset, your firmware will need a negative Z minimum limit in it.
Bob
Hi
I have yet to see a rational set of instructions on setting up the probe on a bed leveling system. It is one of the most discussed and least understood parts of these systems. Compounding the problem is the fact that signs (which way is +) can change depending on what the reference is.
====
A gcode file is generated from an stl by a silcer. The slicer program does a whole bunch of things. One of the many things is to center the stl model up on the print surface. You can tell your silcer how far above or below the surface you want the print to start. Many people find that re-compiling firmware each time you do a different print is a bit of a pain. Changing the Z offset (start of the print) in the slicer can be an easier way to do things. You have to do it one way or the other (firmware or slicer). It's an iterative process that has to be done on each printer after it's built.
In the case of a slicer based adjustment, it can be either negative or positive. The sign simply depends on which direction the offset is being applied in. The standard Marlin firmware has a minimum Z of zero. If you apply an offset of -0.1 mm in your slicer and have a firmware minimum of zero, the offset will be ignored. That makes the process very frustrating ....
Bob
I tried enabling Manual Bed Leveling and disabling ABL in the configuration.h file, but the printer behaved exactly the same: jumped through 9 positions on its own and stopped. The .h file compiled and uploaded ok, but I must have not added/removed the // properly. Can you tell me what it should look like?
Manual Bed Leveling ===========================//================================================== =========================
//#define MANUAL_BED_LEVELING // Add display menu option for bed leveling.
//#define MESH_BED_LEVELING // Enable mesh bed leveling.
#if ENABLED(MANUAL_BED_LEVELING)
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
#endif // MANUAL_BED_LEVELING
#if ENABLED(MESH_BED_LEVELING)
#define MESH_MIN_X 20
#define MESH_MAX_X (X_MAX_POS - MESH_MIN_X)
#define MESH_MIN_Y 20
#define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y)
#define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited.
#define MESH_NUM_Y_POINTS 3
#define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0.
#endif // MESH_BED_LEVELING
//================================================== =========================
//============================ Bed Auto Leveling ============================
//================================================== =========================
// @section bedlevel
#define AUTO_BED_LEVELING_FEATURE // Delete the comment to enable (remove // at the start of the line)
#define DEBUG_LEVELING_FEATURE
#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
// There are 2 different ways to specify probing locations:
//
// - "grid" mode
// Probe several points in a rectangular grid.
// You specify the rectangle and the density of sample points.
// This mode is preferred because there are more measurements.
//
// - "3-point" mode
// Probe 3 arbitrary points on the bed (that aren't colinear)
// You specify the XY coordinates of all 3 points.
// Enable this to sample the bed in a grid (least squares solution).
// Note: this feature generates 10KB extra code size.
#define AUTO_BED_LEVELING_GRID
#if ENABLED(AUTO_BED_LEVELING_GRID)
#define LEFT_PROBE_BED_POSITION 0
#define RIGHT_PROBE_BED_POSITION 265
#define FRONT_PROBE_BED_POSITION 0
#define BACK_PROBE_BED_POSITION 280
#define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this.
// Set the number of grid points per dimension.
// You probably don't need more than 3 (squared=9).
#define AUTO_BED_LEVELING_GRID_POINTS 3
#else // !AUTO_BED_LEVELING_GRID
// Arbitrary points to probe.
// A simple cross-product is used to estimate the plane of the bed.
#define ABL_PROBE_PT_1_X 15
#define ABL_PROBE_PT_1_Y 180
#define ABL_PROBE_PT_2_X 15
#define ABL_PROBE_PT_2_Y 20
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20
#endif // AUTO_BED_LEVELING_GRID
// Offsets to the Z probe relative to the nozzle tip.
// X and Y offsets must be integers.
#define X_PROBE_OFFSET_FROM_EXTRUDER -33 // Z probe to nozzle X offset: -left +right
#define Y_PROBE_OFFSET_FROM_EXTRUDER -0 // Z probe to nozzle Y offset: -front +behind
#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.6 // Z probe to nozzle Z offset: -below (always!)
#define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance.
// Be sure you have this distance over your Z_MAX_POS in case.
#define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min.
#define Z_RAISE_BEFORE_PROBING 5 // How much the Z axis will be raised before traveling to the first probing point.
#define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points.
#define Z_RAISE_AFTER_PROBING 5 // How much the Z axis will be raised after the last probing point.
#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
// Useful to retract a deployable Z probe.
//#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area.
// When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
// - If stepper drivers timeout, it will need X and Y homing again before Z homing.
// - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28).
// - Block Z homing only when the Z probe is outside bed area.
#if ENABLED(Z_SAFE_HOMING)
#define Z_SAFE_HOMING_X_POINT (((X_MIN_POS + X_MAX_POS) / 2)-20) // X point for Z homing when homing all axis (G28).
#define Z_SAFE_HOMING_Y_POINT (((Y_MIN_POS + Y_MAX_POS) / 2)-20) // Y point for Z homing when homing all axis (G28).
#endif
// Support for a dedicated Z probe endstop separate from the Z min endstop.
// If you would like to use both a Z probe and a Z min endstop together,
// uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
// If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
// Example: To park the head outside the bed area when homing with G28.
//
// WARNING:
// The Z min endstop will need to set properly as it would without a Z probe
// to prevent head crashes and premature stopping during a print.
//
// To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
// defined in the pins_XXXXX.h file for your control board.
// If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
// Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
// RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
// in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
// otherwise connect to ground and D32 for normally closed configuration
// and 5V and D32 for normally open configurations.
// Normally closed configuration is advised and assumed.
// The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
// Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
// Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
// D32 is currently selected in the RAMPS 1.3/1.4 pin file.
// All other boards will need changes to the respective pins_XXXXX.h file.
//
// WARNING:
// Setting the wrong pin may have unexpected and potentially disastrous outcomes.
// Use with caution and do your homework.
//
//#define Z_MIN_PROBE_ENDSTOP
#endif // AUTO_BED_LEVELING_FEATURE
// @section homing
// The position of the homing switches
//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)
// Manual homing switch locations:
// For deltabots this means top and center of the Cartesian print volume.
#if ENABLED(MANUAL_HOME_POSITIONS)
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
#endif
// @section movement
/**
* MOVEMENT SETTINGS
*/
#define HOMING_FEEDRATE {50*60, 50*60, 200, 0} // set the homing speeds (mm/min)
// default settings
#define DEFAULT_AXIS_STEPS_PER_UNIT {80.19,80.19,800,90} // default steps per unit for Ultimaker
#define DEFAULT_MAX_FEEDRATE {500, 500, 2, 50} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {3000,3000,5,3000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.
#define DEFAULT_ACCELERATION 500 // X, Y, Z and E acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION 500 // E acceleration in mm/s^2 for retracts
#define DEFAULT_TRAVEL_ACCELERATION 500 // X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
#define DEFAULT_XYJERK 20.0 // (mm/sec)
#define DEFAULT_ZJERK 0.4 // (mm/sec)
#define DEFAULT_EJERK 5.0 // (mm/sec)
Hi
Have you wired the printer for the BL touch (taken out the Z axis limit switch) or for the normal setup (no BL touch).
If you are digging into customizing your own firmware, go for the latest version and roll your own. It will take a bit of time, but at least you will have all the latest features.
Bob
We haven't wired the BL Touch because we don't have the mount printed. Haven't even looked at the instructions, but from your comment it takes the place of the Z probe? That makes sense why it bounced around on its own, it did moved on to each position just after the Z stop clicked.
Anyway, no I don't really want to get crazy customizing my firmware - I don't even know what I'm doing - but the auto bed level doesn't look any better than the manual bed level, just more hassle, the manual was easy and quick to do. So I just want to do that. I assume this would require some change to the Z probe settings in the config file though, now that I see how the ABL is using it.
BTW if anyone can tell me in Cura where to set the Z offset I'd appreciate it!
Hi
When you get it running properly, probe based mesh bed leveling is much better than any form of manual leveling. It also has the advantage that it auto corrects for all the weird variation in glass and hairspray you run into.
Bob
From the config it looks like Manual BL uses Mesh BL?
The type of bed leveling done is very dependent on the Marlin version you are using. The thing that the better stuff does is to allow for multiple lumps and bumps in the bed. The earlier stuff simply tries to find a flat plane through the data. The whole process of getting the "better" working is rumbling along as we have this conversation.
I know I'm not objective... But really... The UBL branch of Marlin is really good for non-flat beds. I went to several Dollar stores looking for the worst piece of glass I could find. I get perfect adhesion across 100% of the bed 100% of the time.
https://github.com/MarlinFirmware/Marlin/tree/devel-ubl
If you search the Marlin Issue list, you will find a 'Cheat Sheet' with a list of commands to do to get your Mesh perfectly defined. In fact, you can get a perfect mesh without even having a Z-Probe on the machine.
I have no idea how to transfer the relevant settings to a machine-agnostic firmware. I just want this thing to work with what is supplied. I haven't gotten far enough to know if I have a "lumpy" bed...
If someone could tell me how to edit the config file I posted to get manual BL enabled that would be great.