Results 101 to 110 of 396
-
10-25-2014, 01:39 PM #101
- Join Date
- Jul 2014
- Location
- Eastern Colorado
- Posts
- 536
Same, I think. It's the one I got from MakerFarm in their 8 inch i3 kit.
-
10-25-2014, 03:34 PM #102
- Join Date
- Jun 2014
- Posts
- 74
This issue is certainly beyond my paygrade to figure out then. I have no idea why there would be different behavior with the same hardware/firmware. I'm sure there is a logical explanation, I'm just not the guy that's going to figure it out. That being said though, I am very happy with the way ABL is working. I find the first layer to bed adhesion has dramatically improved for both ABS and PLA and now I don't use any tape, glue or hairspray for PLA at all and just glue stick for ABS. If I use glue stick with PLA, even after allowing to cool below 30c I have to use a blade to remove the part. Very happy with this.
-
10-25-2014, 04:18 PM #103
- Join Date
- Jul 2014
- Location
- Eastern Colorado
- Posts
- 536
It tells me that the sled docking offset is likely a red herring, and the real bug is somewhere else, some setting that I have different or am not using at all.
-
10-25-2014, 10:58 PM #104
This is interesting. So if you don't define it you get a build error or a runtime error?
-
10-26-2014, 03:13 AM #105
- Join Date
- Jun 2014
- Posts
- 74
No, it compiles fine and runs fine except it performs a G28 properly, including raising the Z probe at the finish and then does nothing when it should be starting the G29 routine. I had this same issue when setting up ABL a little over a month ago and found the answer in a thread where someone else had the same issue. He uncommented that line and everything worked from then on. I had the same behavior and the same fix worked for me also. I haven't altered any file other than the few changes required in your fork in the configuration.h and the issue was there again. I had done hours of searching over a month ago to find a solution, so applied the same solution and had the same positive result with G29 running normally. I had assumed this must be a common issue, but from Abu's reply I'm guessing this is not common at all. The only changes I made that may not have been standard in the configuration is changing travel limits after homing #define Z_MAX_POS 250 (your build had a value of 235) and commented out Z_SAFE_HOMING.
I have included my configuration.h if you want to look at it.
Configuration.h
-
10-26-2014, 08:41 AM #106
- Join Date
- Jul 2014
- Location
- Eastern Colorado
- Posts
- 536
That might be the issue there. I have Z_SAFE_HOMING enabled. If I disable it, I have the problem of my Y axis moving while the Z raise before homing runs, which offsets the Y axis by the Z raise amount. It seems as though Marlin is unaware of the Y movement, as it doesn't change the Y current position number to reflect the move. I couldn't figure it out, so I just leave Z Safe Homing enabled to avoid it altogether.
-
10-26-2014, 08:52 AM #107
I can confirm that the September 15th release of Marlin required extra Pre-Processor commands in Marlin_main.cpp in order to compile clean if the Sled stuff was not enabled. The code needed to be modified as follows:
Code:#ifdef ENABLE_AUTO_BED_LEVELING #ifdef Z_PROBE_SLED // // Method to dock/undock a sled designed by Charles Bell. // // dock[in] If true, move to MAX_X and engage the electromagnet // offset[in] The additional distance to move to adjust docking location // static void dock_sled(bool dock, int offset=0) { int z_loc; if (!((axis_known_position[X_AXIS]) && (axis_known_position[Y_AXIS]))) { LCD_MESSAGEPGM(MSG_POSITION_UNKNOWN); SERIAL_ECHO_START; SERIAL_ECHOLNPGM(MSG_POSITION_UNKNOWN); return; } if (dock) { do_blocking_move_to(X_MAX_POS + SLED_DOCKING_OFFSET + offset, current_position[Y_AXIS], current_position[Z_AXIS]); // turn off magnet digitalWrite(SERVO0_PIN, LOW); } else { if (current_position[Z_AXIS] < (Z_RAISE_BEFORE_PROBING + 5)) z_loc = Z_RAISE_BEFORE_PROBING; else z_loc = current_position[Z_AXIS]; do_blocking_move_to(X_MAX_POS + SLED_DOCKING_OFFSET + offset, Y_PROBE_OFFSET_FROM_EXTRUDER, z_loc); // turn on magnet digitalWrite(SERVO0_PIN, HIGH); } } #endif #endif void process_commands()
-
10-26-2014, 11:17 AM #108
- Join Date
- Jul 2014
- Location
- Eastern Colorado
- Posts
- 536
That is how my marlin_main looks. Looking at the marlin_main in the ericzalm zip file, it seems the changes are to add a
#ifdef ENABLE_AUTO_BED_LEVELING to the start of the code section, and its corresponding #endif at the end.
-
11-04-2014, 11:28 AM #109
Dacb, Right now the code says:
if((f_probe_bed_position == b_probe_bed_position) || (r_probe_bed_position == l_probe_bed_position)) {
SERIAL_ERROR_START;
SERIAL_ERRORLNPGM(MSG_EMPTY_PLANE);
Stop();
return;
}
Shouldn't this be changed to:
if((f_probe_bed_position >= b_probe_bed_position) || (r_probe_bed_position <= l_probe_bed_position)) {
SERIAL_ERROR_START;
SERIAL_ERRORLNPGM(MSG_EMPTY_PLANE);
Stop();
return;
}
If these values are wrong, other code breaks, such as:
int xGridSpacing = (r_probe_bed_position - l_probe_bed_position) / (n_points-1);
int yGridSpacing = (b_probe_bed_position - f_probe_bed_position) / (n_points-1);
-
11-05-2014, 01:49 AM #110
Looks good to me. Have you tested this? If so, I'll make the change and publish it.
New member with print issue
06-11-2024, 08:57 AM in Tips, Tricks and Tech Help