Move from Marlin to repetier - Problem -

Hi, I decided to move from Marlin firmware to repetier firmaware. I have posted some other issues Im haveing but I have discovered a serious one now: I tried to do my firts print useing repetier firmware: the axis home ok... When it is time to start printing (bed and heater heated), Z axis homes as usual, when it reaches position 0 the axis trys to go up and in that moment is like the motor blocks and sound like a buz is heard.
I though it could be a hardware problem... but it is not. It was printing ok some hours ago . Despite that, I checked the hardware and it is ok. I tries a couple of time and it is the same result. I uploaded Marlin firmwre again and I could print.
So it is something related to the firmware I guess. Can you help me ? I have a prusa I3, arduino 2560, ramps 1,4

Comments

  • When homing, I know after the first time the switch is hit, the axis backs up and hits again slower to be more accurate.  My Z-homing speed from the beginning default settings was very slow.  It might be homing too slow and the reduction is too much or too slow for the z-axis.  You might try increasing the Z-homing speed or changing ENDSTOP_Z_RETEST_REDUCTION_FACTOR
  • The sound is most likely stepper loosing steps. The direction change might be too much, so try reducing z jerk or z acceleration. The combination seems to be too much while reversing direction but low enough for non reversing.
  • edited April 2016
    Ok, I have tested this:
    - Increasing Z homing speed : fails too, in fact, the homeing speed in marlin is way faster of what I have tried with repetier
    - Loosing steps: I have seen motors loosing steps, but this is different, the motor gets stucked
    - reducing z-jerk: the original value is 0.3, I have lowered it to 0.2 and 0.1 . All fails
    - Z acceleration (both travelling and homeing): the original value of 100 was reduced to 50 and even to 10. Failed
    - reduceing z homeing speed: I have tried somethis as low as 1, and it fails. In Marlin default was 5 mm/s, and it works ok
    - ENDSTOP_Z_RETEST_REDUCTION_FACTOR, set originlly to 3, reduce to 1 = failed, increased to 6 = failed


    These are my setting:

    #define ENDSTOP_PULLUP_X_MIN true
    #define ENDSTOP_X_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_X true
    #define ENDSTOP_PULLUP_Y_MIN true
    #define ENDSTOP_Y_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_Y true
    #define ENDSTOP_PULLUP_Z_MIN true
    #define ENDSTOP_Z_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_Z true
    #define ENDSTOP_PULLUP_X_MAX true
    #define ENDSTOP_X_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_X false
    #define ENDSTOP_PULLUP_Y_MAX true
    #define ENDSTOP_Y_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_Y false
    #define ENDSTOP_PULLUP_Z_MAX true
    #define ENDSTOP_Z_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_Z false
    #define max_software_endstop_r true

    #define min_software_endstop_x false
    #define min_software_endstop_y false
    #define min_software_endstop_z false
    #define max_software_endstop_x true
    #define max_software_endstop_y true
    #define max_software_endstop_z true
    #define ENDSTOP_X_BACK_MOVE 5
    #define ENDSTOP_Y_BACK_MOVE 5
    #define ENDSTOP_Z_BACK_MOVE 2
    #define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_X_BACK_ON_HOME 1
    #define ENDSTOP_Y_BACK_ON_HOME 1
    #define ENDSTOP_Z_BACK_ON_HOME 0
    #define ALWAYS_CHECK_ENDSTOPS 1

    // ################# XYZ movements ###################

    #define X_ENABLE_ON 0
    #define Y_ENABLE_ON 0
    #define Z_ENABLE_ON 0
    #define DISABLE_X 0
    #define DISABLE_Y 0
    #define DISABLE_Z 0
    #define DISABLE_E 0
    #define INVERT_X_DIR 0
    #define INVERT_Y_DIR 0
    #define INVERT_Z_DIR 0
    #define X_HOME_DIR -1
    #define Y_HOME_DIR -1
    #define Z_HOME_DIR -1
    #define X_MAX_LENGTH 200
    #define Y_MAX_LENGTH 200
    #define Z_MAX_LENGTH 185
    #define X_MIN_POS 0
    #define Y_MIN_POS 0
    #define Z_MIN_POS 0
    #define DISTORTION_CORRECTION 0
    #define DISTORTION_CORRECTION_POINTS 5
    #define DISTORTION_CORRECTION_R 100
    #define DISTORTION_PERMANENT 1
    #define DISTORTION_UPDATE_FREQUENCY 15
    #define DISTORTION_START_DEGRADE 0.5
    #define DISTORTION_END_HEIGHT 1
    #define DISTORTION_EXTRAPOLATE_CORNERS 0
    #define DISTORTION_XMIN 10
    #define DISTORTION_YMIN 10
    #define DISTORTION_XMAX 190
    #define DISTORTION_YMAX 190

    // ##########################################################################################
    // ##                           Movement settings                                          ##
    // ##########################################################################################

    #define FEATURE_BABYSTEPPING 1
    #define BABYSTEP_MULTIPLICATOR 30

    #define DELTA_SEGMENTS_PER_SECOND_PRINT 180 // Move accurate setting for print moves
    #define DELTA_SEGMENTS_PER_SECOND_MOVE 70 // Less accurate setting for other moves
    #define EXACT_DELTA_MOVES 1

    // Delta settings
    #define DELTA_HOME_ON_POWER 0

    #define DELTASEGMENTS_PER_PRINTLINE 24
    #define STEPPER_INACTIVE_TIME 60L
    #define MAX_INACTIVE_TIME 0L
    #define MAX_FEEDRATE_X 100
    #define MAX_FEEDRATE_Y 100
    #define MAX_FEEDRATE_Z 3 //5
    #define HOMING_FEEDRATE_X 40
    #define HOMING_FEEDRATE_Y 40
    #define HOMING_FEEDRATE_Z 2
    #define HOMING_ORDER HOME_ORDER_XYZ
    #define ZHOME_MIN_TEMPERATURE 0
    #define ZHOME_HEAT_ALL 1
    #define ZHOME_HEAT_HEIGHT 20
    #define ZHOME_X_POS 999999
    #define ZHOME_Y_POS 999999
    #define ENABLE_BACKLASH_COMPENSATION 0
    #define X_BACKLASH 0
    #define Y_BACKLASH 0
    #define Z_BACKLASH 0
    #define RAMP_ACCELERATION 1
    #define STEPPER_HIGH_DELAY 0
    #define DIRECTION_DELAY 0
    #define STEP_DOUBLER_FREQUENCY 12000
    #define ALLOW_QUADSTEPPING 1
    #define DOUBLE_STEP_DELAY 1 // time in microseconds
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 1000
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1000
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 1000
    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1000
    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
    #define INTERPOLATE_ACCELERATION_WITH_Z 0
    #define ACCELERATION_FACTOR_TOP 100
    #define MAX_JERK 20
    #define MAX_ZJERK 0.3
    #define PRINTLINE_CACHE_SIZE 16
    #define MOVE_CACHE_LOW 10
    #define LOW_TICKS_PER_MOVE 250000
    #define EXTRUDER_SWITCH_XY_SPEED 100
    #define DUAL_X_AXIS 0
    #define FEATURE_TWO_XSTEPPER 0
    #define X2_STEP_PIN   ORIG_E1_STEP_PIN
    #define X2_DIR_PIN    ORIG_E1_DIR_PIN
    #define X2_ENABLE_PIN ORIG_E1_ENABLE_PIN
    #define FEATURE_TWO_YSTEPPER 0
    #define Y2_STEP_PIN   ORIG_E1_STEP_PIN
    #define Y2_DIR_PIN    ORIG_E1_DIR_PIN
    #define Y2_ENABLE_PIN ORIG_E1_ENABLE_PIN
    #define FEATURE_TWO_ZSTEPPER 0
    #define Z2_STEP_PIN   ORIG_E1_STEP_PIN
    #define Z2_DIR_PIN    ORIG_E1_DIR_PIN
    #define Z2_ENABLE_PIN ORIG_E1_ENABLE_PIN
    #define FEATURE_THREE_ZSTEPPER 0
    #define Z3_STEP_PIN   ORIG_E2_STEP_PIN
    #define Z3_DIR_PIN    ORIG_E2_DIR_PIN
    #define Z3_ENABLE_PIN ORIG_E2_ENABLE_PIN
    #define FEATURE_DITTO_PRINTING 0
    #define USE_ADVANCE 0
    #define ENABLE_QUADRATIC_ADVANCE 0
  • I don't have a prusa i3, I have a homebuilt cartesian printer w/ dual Z axes.. I noticed a couple of differences between your config  and mine. 
    Always_check_endstops - mine is 0
    Babystep_Multiplicatior - mine is 1
    Double_step_delay - mine is 0
    Extruder_switch_XY_speed - I don't have that line I only have 1 extruder.

    My printer homes nicely. I originally had Marlin (working) and switched to Repetier. I had to figure out the line syntax to copy my settings over from Marlin but it worked.
  • Ok.. those settings should not affect movements that much, but anyway I gave them a try: I changed each one of them like your configuration, but still failed. Will I have t go back to MArlin ? :(
  • Just one importnant question - did you change in eeprom settings or configuration.h? SHould be eeprom and maybe it has completely different values.
  • loaded configuration.h and then issue and M500 command
  • You need to send M502 after M500 to store it to eeprom. In any case it is good to verify manually eeprom values in such cases.
  • Sorry, yes, 502 loads defaults from epron and then you save them with 500. I did that, and then I verified to be sure wich values were being used. I checked that.
    Here is more info: I separated X motors from the X axis, to check very carefully if there were bent or somethin. They are not. With the motor desconected from the threaded rods, I move them useing repetier host 10 mm up. They move perfectly. I can move for ever with no signs of problems. I can move down with no problems , no strange sounds, nothing (of course, the motors move and nothing else since there are disconected from the X rods). BUT if I click on Z home the motor move a couple of turns and they both get blocked with a sound. Please see the the video:


    In the video the rods are still conected to the motos, but if I desconect them, I get the same behaviour.
  • edited April 2016
    If you have DRV8825 drivers try these settings.
    Sound comes from stalling motors

    #define STEPPER_HIGH_DELAY 1  //or 2 if you operate from 12V supply 1 should work on 24V

    #define DOUBLE_STEP_DELAY 3 // time in microseconds

    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100

    #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 300 

    that should work, had same behavior on my previous machine

  • edited May 2016
    Ok. I will try but first, can you tell me how to know if I have those drivers? ince these setting seem to mess with internal of electronics I would like not to screw  thing up.

    Ipdate: looking at the pictures I found in google, my drivers are not 8825... Dont know what they are, but looks like A4988
    If I try your settings is there any chance I can break/burn or screw someting up?

    Mt values of yor values are:
    STEPPER_HIGH_DELAY 0
    DOUBLE_STEP_DELAY 1
    MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
    MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100

    Thanks for your help
  • no you wont burn something . you just slow down the pulses a bit.
    in your case to find the problem i´ll try first

    ALLOW_QUADSTEPPING 0  what just means you disable quadstepping

    and
    STEPPER_HIGH_DELAY 2
    DOUBLE_STEP_DELAY 3

    if that works you can speed up again

    STEPPER_HIGH_DELAY 1
    DOUBLE_STEP_DELAY 2

    just try step by step, there is no danger to kill the hardware

  • edited May 2016
    Oh man... !!!! you are the man!!!
    ALLOW_QUADSTEPPING was already set to 0, so no change there
    I set
    STEPPER_HIGH_DELAY 2
    DOUBLE_STEP_DELAY 3

    Update:
    STEPPER_HIGH_DELAY 1
    DOUBLE_STEP_DELAY 2
    also works
    Can I also activate quad stepping?

    Update2
    Allow_quadstepping 1   also works

    And that fixed the issue!!!
    I dont have knowledge about this electronics stuff, but I would like to know what happened here. I googled about this but the information I found was quite technical, too much for me. Could you explain me in simple words what was all this problem? And what these settings control?
    I mean: the printer was ok when useing repetier 0.90, then I tried Marlin, and it was ok (only problem was the sd card), then I moved back to repetier 0.92 and from there the problem started, even if I tried to install my old repetier 0.90 the problem was still there. So my guess was that marling "touched" some internal configuration?
    Thanks a lot for your help and information, I will try now speeding a little as you told me.
    Thanks!!!!
  • just try if quadstepping works, so i think the settings you have are ok with.

    STEPPER_HIGH_DELAY 1
    DOUBLE_STEP_DELAY 2

    if it works, keep them... may be you can reduce double step delay to 1 , but i wouldn´t do it
    if quadstepping 1   may be you have to increase to DOUBLE_STEP_DELAY 3.

    anyway, now you have a working setup as base . you cannot kill hardware when changing ...

    to your question what happened:  the stepper high delay makes step pulse longer ,we are talking about 1 microsecond...

    and the double step delay is time between pulses in  double/quadstepping mode.

    if that is too small it´s hard for stepper driver to recognize if step or not step...

    hope that helps

    did you change something on powersupply?

  • edited May 2016
    Great.
    My settings now are:
    STEPPER_HIGH_DELAY 1
    DOUBLE_STEP_DELAY 2
    Allow_quadstepping 1

    The strange noise is not there anymore, and the homeing of Z works ok, no motors blocked :)
    You said "if quadstepping 1   may be you have to increase to DOUBLE_STEP_DELAY 3"
    Is set to 2 now, what signs or sympthom would lead me to change it to 3?

    No power supply change. I have always been useing a 12V, 30 amp dedicated power supply. Makeing some memory... the day all this trouble began, I was cleaning the printer... and in the process the power supply felt to the floor. Nothing broke, it was and it is working. I tested the power and I get the usual 12.45 V
    Thanks!

  • edited May 2016
    you´ll not see an quadstepping issue on homing speed

    when quadstepping starts depends on feedrate and steps/mm  and will be active for higher speeds only.

    i think it will be active during combined x/y moves for example : after homing  send a G1 x200 y200 F6000 
    f6000 is your max speed (set by max feedrate 100 mm/s  f6000 means mm/min )

    just play around , you´ll find your settings :-)
  • Hi again, sorry to bother you :(

    On of the modification I did with this problem was increaseing the power in the pololu  of the Z axis. This didnt solve the issue. Then I solved it thanks to you, but today I realiced that I forgot to go back with the pololu configuation so I turn that little wheel to its original position. Well... that made the problem come back.
    So I turned the pololu wheel till the problem desapered again. What is happening here? The problem is solved like 99%, but I can still here a bad noise in the stepper motors before starting a print, when the Z axis is rised quickly. Also, I noticed that 1 of the motors may be loosing steps because I can measure a diference in the high of both axis ends  and I have to level them again (the difference is like 0.2). That is why I turnd the pololu wheel, I though that may be there was too much power being sent to them and that would be the cause of lost steps?
    This must be the repetier corse.... I never should have tried marling firmware...
  • Actual speed of Z axis is 5. I tried: speed 4, this speed increase a very ugly noise comeing from the motors. Speed 3: both motor jam. Speed 2 works very nive, but it is slow?
  • you should set motor current matching to motor specs...don´t adjust by a "feeling" that cannot work.
    refer pololu datasheet regarding reference voltage and motor specs also.
    i don´t know your motors , but if they are in parallel connection on one driver , keep in mind
    they only get half the current you adjust on pololu.

Sign In or Register to comment.