Bed Map seems to not be working..
I have an HE3D EI3 printer, this is a cartesian printer with 3 print nozzles, (i have removed the 2 outer nozzles and have it set to use only 1 extruder to try to simplify things)..
Here is what I have done so far
I have set the z-probe to home the nozzle (then slide a strip of thermal paper under the nozzle for distance).
I then disable the stepper motors and manually move the print head to each corner and adjust the bed leveling screws to get the same distance for the head in each corner.
After doing this, I re-home all axis and re check the distance with my thermal paper, moving the print head to each corner using the printer controls (not moving the z axis at all).
From here, i run a G32 S2 to set a bed map.
When I print, the first layer seems to not take into account the bed map as the layer height seems different between the front left corner and the right rear corner (the layer is much closer in the right rear than it is in the front left).
I thought the bed map was to account for minor discrepancies in the bed level?
Am i missing something or am i doing something incorrect?
Here is what I have done so far
I have set the z-probe to home the nozzle (then slide a strip of thermal paper under the nozzle for distance).
I then disable the stepper motors and manually move the print head to each corner and adjust the bed leveling screws to get the same distance for the head in each corner.
After doing this, I re-home all axis and re check the distance with my thermal paper, moving the print head to each corner using the printer controls (not moving the z axis at all).
From here, i run a G32 S2 to set a bed map.
When I print, the first layer seems to not take into account the bed map as the layer height seems different between the front left corner and the right rear corner (the layer is much closer in the right rear than it is in the front left).
I thought the bed map was to account for minor discrepancies in the bed level?
Am i missing something or am i doing something incorrect?
Comments
This is using FIRMWARE_NAME:Repetier_0.92.9
Ive never compile the firmware for this machine, should prove an interesting experiment.
Dont use the 92.9 version, its too old now.
Use 1.0.2 https://www.repetier.com/firmware/v100/index.php
this has many improvements especially in the levelling part.
"Temp_3_pin was not declared in this scope"
not sure where to look for this. i went over the config again and everything looks like its configured..
thoughts please??
What is different in the distortion map setting that would cause this?
There are 3 extruders and 3 sockets on the board
Here is a pics of the main board
Since the extruders start at #0, wouldn't Ext0 actually be #1, ext1 being #2 and ext2 be #3??
there were 2 lines...
#define DISTORTION_CORRECTION 0 .. i changed to #define DISTORTION_CORRECTION 1
and
"distortionCorrection": "0", that i changed to "distortionCorrection": "1",
all other lines that mentioned distortion i left as they were
and
these were the only lines that mentioned distortion in the config.h file.
i recompiled and uploaded. there were no errors in the upload.
ran a g32 s2 (seemed to work fine)
then i ran
g33
and i still get
Unknown command:N415 G33
am i still missing a bit?
#if DISTORTION_CORRECTION
case 33: {
if(com->hasL()) { // G33 L0 - List distortion matrix
Printer::distortion.showMatrix();
} else if(com->hasR()) { // G33 R0 - Reset distortion matrix
Printer::distortion.resetCorrection();
} else if(com->hasX() || com->hasY() || com->hasZ()) { // G33 X<xpos> Y<ypos> Z<zCorrection> - Set correction for nearest point
if(com->hasX() && com->hasY() && com->hasZ()) {
Printer::distortion.set(com->X, com->Y, com->Z);
} else {
Com::printErrorFLN(PSTR("You need to define X, Y and Z to set a point!"));
}
} else { // G33
Printer::measureDistortion();
}
}
break;
#endif
As you see the implementation of G33 only requires DISTORTION_CORRECTION to be non zero. With that no unknown command should appear.How do I know if the upload made any actual changes to the printer?
When I run M115 this is what I get
The board pictured above is a 3DYMY RAMPSPLUS2
Original Repetier firmware can be found here https://github.com/3dymy/RampsPlus2
I believe i may need to get more familiar with what these files are actually asking for. I cannot seem to get this to compile with version 1.0.2 because of the error.
i am a bit lost with this error though, it seems that the code will compile in .92 but not 1.0.2..
Where can i look to get more information on these files so i can get this all sorted out??
This all started when I was trying to print a plane from 3dlabprint.com. I started to watch real close when the first layer was being printed, a 0,0 it seemed to print ok, but at the far end of both axis, it seemed very squished. I re-leveled the bed (comparing several methods to get the bed leveled (at temp).
I still get the same first layer issues when i try to print, i dont have an issue with the print lifting, but that first layer is not consistent, am I making this an bigger issue than it needs to be?
While i would really like to make this work correctly, am i fighting myself here?
Is there a way to update the firmware, without changing any of the existing parameters (or is this not recommended)?
One problem might be that you use a board we do not know. So if you have a modified pins.h in the original it might be that you have there a third extruder defined. So compare both pins.h files where MOTHERBOARD has the number you used.
If i use the OEM files , I can compile in Arduino 1.0.2 and 1.0.3, i get an error in 1.8.5 (seems to be a general error).
If i import the OEM config.h file into the tool, and do nothing other than download the config files, i get the Temp_3 not defined in this scope in version 1.0.2 and 1.0.3 (and the extruder.cpp tab is selected with this line highlited
And the same general error trying to compile in version 1.8.5
I have looked in the configuration.h file and the pins.h file, it appears that board #33 is being selected, and it appears that temp_3 is set to use pin 12.
I tried to upload the config and pins files (the 2 OEM and the 2 from the config tool) to try to keep this thread from being too long, but i get an error that the file is not allowed.
#define HEATER_0_PIN 10
#define HEATER_1_PIN 8
#define HEATER_2_PIN 9
// ANALOG NUMBERING
#define TEMP_0_PIN 13
#define TEMP_1_PIN 14
#define TEMP_2_PIN 15
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
so just add the extra values. You also see it has no third extruder as well. So this was added by the vendor manually.
#define HEATER_0_PIN 10
#define HEATER_1_PIN 8
#define HEATER_2_PIN 7
#define HEATER_3_PIN 45
// ANALOG NUMBERING
#define TEMP_0_PIN 13
#define TEMP_1_PIN 14
#define TEMP_2_PIN 15
#define TEMP_3_PIN 12
#define E0_PINS ORIG_E0_STEP_PIN,ORIG_E0_DIR_PIN,ORIG_E0_ENABLE_PIN,
#define E1_PINS ORIG_E1_STEP_PIN,ORIG_E1_DIR_PIN,ORIG_E1_ENABLE_PIN,
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
is there something wrong with this file?
#define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
uses ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN whcih are originally also not there, so they must be defined in your oem pins.h as well for the board.
Is there something else i need to send after these commands or is that the end of this process?