Dev version , Bed Leveling and Dual Z Endstops
I use dev version and find some issues.
My printer is Prusa i3 rework
Endstops: X Min , Y Min , Dual Z Max(Z Max + Y Max) , Z Probe (Z Min)
1.Bed Leveling (G32) use too much time to work.
I found BedLeveling.cpp Line:326
Printer::moveTo(EEPROM::zProbeX1(), EEPROM::zProbeY1(), IGNORE_COORDINATE, IGNORE_COORDINATE, EEPROM::zProbeXYSpeed());
this will force Bed Leveling start from Z Max
I change the codes from
if(!Printer::isXHomed() || !Printer::isYHomed()) Printer::homeAxis(true,true,false);
Printer::updateCurrentPosition(true);
Printer::moveTo(EEPROM::zProbeX1(),
EEPROM::zProbeY1(),
IGNORE_COORDINATE,
IGNORE_COORDINATE,
EEPROM::zProbeXYSpeed());
to
Printer::homeAxis(true,true,true);
Printer::updateCurrentPosition(true);
Printer::moveTo(EEPROM::zProbeX1(),
EEPROM::zProbeY1(),
EEPROM::zProbeBedDistance() + (EEPROM::zProbeHeight() > 0 ? EEPROM::zProbeHeight() : 0) ,
IGNORE_COORDINATE,
EEPROM::zProbeXYSpeed());
It seems better and faster to work.
Is this a good way?
2.After Bed Leveling(code:G32 S2) , Z Home will fail.
Before bed leveling , dual Z endstop work fine.
It can automatically correct the Y axis.
But after G32 finished , use g28 to home z axis , it case something wrong.
Z move up to max , after Z1 endstop is touched , Y axis become tilted and keep moving up and down and can't touch Z2 Endstop.
If I press Z2 endstop manually , it will complete the work. If I home Z again , it will return to normal.
This case alwayes happen after G32 Bed Leveling.
I still read source code and try to find how it happen.
If necessary , I can take a video to show what happen.
Comments
2. Don't really understand why y tilts when going up. You said hitting z2 manually works so I assume something physical prevents it from being hit after G32?
I solved these questions:
Question 1:
I found the problem cause from my pre script.
In v9.2 , I use script "G28\nG0 X110 Y110 Z10\n" because I found if the carriage park at x=0,y=0 ,
the probe offset will not work correctly , this problem seem to be fixed in dev version.
This script in dev version will make z position detect error.
When start probing
cz= Z Max
after script executed , currect Z Axis is 10
probe will start at Z Max.
Question 2:
As the same as question 1
I use post script to park the carriage make sure it will not interference with frame,
but the dev version finishedProbing() temp the position before script and move back to the old position
As you said , something collision behind the frame , I don't see it yesterday.
Sorry for wrong report...Q.Q