downgrade from 1.0.3


Hi, I made a downgrade from version 1.0.3 to 0.92.9 because trying to enable the hot bed and auto-leveling I had all kinds of errors, resets, strange movements, strange characters on the screen, etc. I also couldn't touch some functions like the z-baby while printing with 1.0.3 because printing stopped.

Anyway, with 0.92.9 I do not have any of these problems, I was able to make the hot bed work, and having the z-probe enabled does not generate problems for me, although I still do not make it work (BLtouch). The printer is a delta (300mmx500mm) with Mega + Ramps 1.4.

The first difference that I notice with respect to version 1.0.3 is that when I make home all, it does not bounce against the endstops, it is stuck to the endstops, so the following home all doesn't do anything. I understand that I accomplish this with the following:

#define ENDSTOP_X_BACK_MOVE 5
#define ENDSTOP_Y_BACK_MOVE 5
#define ENDSTOP_Z_BACK_MOVE 5

but it does not work.

Neither I can't get the z-probe to work, it just does all kinds of weird things and I can't figure out where the problem is. The home of the printers is (x0, y0, z493).

this is my config.h
https://drive.google.com/file/d/1BcltVdDvll5PSo5jo05wOuEeB3V0RiTf/view?usp=sharing

Thanks.

Comments

  • If you switch to 1.x you better choose 1.0.4dev.

    In Printer.cpp around line 1500 is homing of z axis:

    void Printer::homeZAxis() { // Delta z homing
    bool homingSuccess = false;
    Endstops::resetAccumulator();
    deltaMoveToTopEndstops(Printer::homingFeedrate[Z_AXIS]);
    // New safe homing routine by Kyrre Aalerud
    // This method will safeguard against sticky endstops such as may be gotten cheaply from china.
    // This can lead to head crashes and even fire, thus a safer algorithm to ensure the endstops actually respond as expected.
    //Endstops::report();
    // Check that all endstops (XYZ) were hit
    Endstops::fillFromAccumulator();
    if (Endstops::xMax() && Endstops::yMax() && Endstops::zMax()) {
    // Back off for retest
    PrintLine::moveRelativeDistanceInSteps(0, 0, axisStepsPerMM[Z_AXIS] * -ENDSTOP_Z_BACK_MOVE, 0, Printer::homingFeedrate[Z_AXIS] / ENDSTOP_X_RETEST_REDUCTION_FACTOR, true, true);

    If that bounce back misses it is the new test added my Kyrre if all end stops are on high. Guess at least of them has changed state afterwards. Also you sop when they get high a optical end stop might switch back maybe. So please try if
    if (Endstops::xMax() && Endstops::yMax() && Endstops::zMax()) {
    replaced by
    if (true) {

    helps here. Same line follow a few lines deeper again for the retest. This normally is a good test, only if signal switches back it is bad. I think in 0.92 there was no such test.
  • I tried the 1.0.4dev version and I have the same problems. Only with 0.9.2 I don't have any strange behaviors. 
    Do you think I can replace this function from 1.0.4 into 0.9.2 without any problems?

    I bought the printer that has a repeater a couple of years ago from someone who made and sold hundreds of them, of all types and sizes. I did not downgrade on his advice. I always prefer to have the latest version of the firmware, but he told me that with 0.9.2 it does not have most of the problems that occur in later versions. I spent weeks insisting on running the three later versions (1.0.2, 3 and 4 dev) and in all of them I have some kind of limiting problem in some of the functions. Until now I did not have any problem with 0.9.2, only about the bounce in homing and not being able to run the z-probe, which also did not work in any other version.


  • Did you replace the 2 lines I told you? Otherwise it is clear it does not work. Actually that is the main difference between 0.92 z homing of delta and the newer one so it should then behave.

    Copying the full homeZ version from 0.92 might work or not. Hard to say. There are so many tiny changes I can not say if a variable or so was renamed. But to 99% it should be correct so maybe a small fix in upporting.
  • Repetier said:
    If you switch to 1.x you better choose 1.0.4dev.

    In Printer.cpp around line 1500 is homing of z axis:

    void Printer::homeZAxis() { // Delta z homing
    bool homingSuccess = false;
    Endstops::resetAccumulator();
    deltaMoveToTopEndstops(Printer::homingFeedrate[Z_AXIS]);
    // New safe homing routine by Kyrre Aalerud
    // This method will safeguard against sticky endstops such as may be gotten cheaply from china.
    // This can lead to head crashes and even fire, thus a safer algorithm to ensure the endstops actually respond as expected.
    //Endstops::report();
    // Check that all endstops (XYZ) were hit
    Endstops::fillFromAccumulator();
    if (Endstops::xMax() && Endstops::yMax() && Endstops::zMax()) {
    // Back off for retest
    PrintLine::moveRelativeDistanceInSteps(0, 0, axisStepsPerMM[Z_AXIS] * -ENDSTOP_Z_BACK_MOVE, 0, Printer::homingFeedrate[Z_AXIS] / ENDSTOP_X_RETEST_REDUCTION_FACTOR, true, true);

    If that bounce back misses it is the new test added my Kyrre if all end stops are on high. Guess at least of them has changed state afterwards. Also you sop when they get high a optical end stop might switch back maybe. So please try if
    if (Endstops::xMax() && Endstops::yMax() && Endstops::zMax()) {
    replaced by
    if (true) {

    helps here. Same line follow a few lines deeper again for the retest. This normally is a good test, only if signal switches back it is bad. I think in 0.92 there was no such test.
    Hi. Doesn't work.

    void Printer::homeZAxis() // Delta z homing
    {
    bool homingSuccess = false;
    Endstops::resetAccumulator();
        deltaMoveToTopEndstops(Printer::homingFeedrate[Z_AXIS]);
    // New safe homing routine by Kyrre Aalerud
    // This method will safeguard against sticky endstops such as may be gotten cheaply from china.
    // This can lead to head crashes and even fire, thus a safer algorithm to ensure the endstops actually respond as expected.
    //Endstops::report();
    // Check that all endstops (XYZ) were hit
    Endstops::fillFromAccumulator();
    if (true) {
    // Back off for retest
    ...
  • Repetier said:
    Did you replace the 2 lines I told you? Otherwise it is clear it does not work. Actually that is the main difference between 0.92 z homing of delta and the newer one so it should then behave.

    Copying the full homeZ version from 0.92 might work or not. Hard to say. There are so many tiny changes I can not say if a variable or so was renamed. But to 99% it should be correct so maybe a small fix in upporting.
    Is it possible to make the homing of z (delta) not only bounce and slow down the origin one time, but also do it several times and average the height? I am having a difference of up to 0.50mm in this measurement which makes self-leveling sometimes meaningless.
  • Or at least avoid the home all after the G32 command...
  • The move up measures z height and is required if you need to store data. Run G32 S0 if you want just autolevel without storing, then it does not home I think.
  • Repetier said:
    The move up measures z height and is required if you need to store data. Run G32 S0 if you want just autolevel without storing, then it does not home I think.
    It home after G32 S0 too

Sign In or Register to comment.