Close



Results 1 to 3 of 3

Thread: Homing issue

  1. #1
    Student Perry's Avatar
    Join Date
    Jun 2014
    Location
    Brisbane Australia
    Posts
    6

    Homing issue

    EDIT: Fixed, my end stops were backwards.


    Hi all,
    I have just built my first 3d printer, a prusa i3. I have installed sprinter onto the arduino and pronter face onto my computer.
    Upon attempting to move my axis I realized that they will only move in one direction (positive) . I can make all the axis home to their endstops but once they are there they won't move away from their end stops by clicking the negative direction buttons, if I press move in the positive direction they just ram into the end stops and don't stop. I have tried changing the directions of the stepper motors but then it tries to home at the top of the rig not near the print bed.

    Here are my basic settings:
    #ifndef CONFIGURATION_H
    #define CONFIGURATION_H


    // BASIC SETTINGS: select your board type, thermistor type, axis scaling, and endstop configuration


    //// The following define selects which electronics board you have. Please choose the one that matches your setup
    // MEGA/RAMPS up to 1.2 = 3,
    // RAMPS 1.3/1.4 = 33
    // Gen6 = 5,
    // Gen6 deluxe = 51
    // Sanguinololu up to 1.1 = 6
    // Sanguinololu 1.2 and above = 62
    // Gen 7 @ 16MHZ only= 7
    // Gen 7 @ 20MHZ only= 71
    // Teensylu (at90usb) = 8
    // Printrboard Rev. B (ATMEGA90USB1286) = 9
    // Gen 3 Plus = 21
    // gen 3 Monolithic Electronics = 22
    // Gen3 PLUS for TechZone Gen3 Remix Motherboard = 23
    #define MOTHERBOARD 33


    //// Thermistor settings:
    // 1 is 100k thermistor
    // 2 is 200k thermistor
    // 3 is mendel-parts thermistor
    // 4 is 10k thermistor
    // 5 is ParCan supplied 104GT-2 100K
    // 6 is EPCOS 100k
    // 7 is 100k Honeywell thermistor 135-104LAG-J01
    #define THERMISTORHEATER 1
    #define THERMISTORBED 1


    //// Calibration variables
    // X, Y, Z, E steps per unit - Metric Prusa Mendel with Wade extruder:
    #define _AXIS_STEP_PER_UNIT {61.54, 61.54, 4000,700}
    // Metric Prusa Mendel with Makergear geared stepper extruder:
    //#define _AXIS_STEP_PER_UNIT {80,80,3200/1.25,1380}
    // MakerGear Hybrid Prusa Mendel:
    // Z axis value is for .9 stepper(if you have 1.8 steppers for Z, you need to use 2272.7272)
    //#define _AXIS_STEP_PER_UNIT {104.987, 104.987, 4545.4544, 1487}




    //// Endstop Settings
    #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
    // The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
    //If your axes are only moving in one direction, make sure the endstops are connected properly.
    //If your axes move in one direction ONLY when the endstops are triggered, set [XYZ]_ENDSTOP_INVERT to true here:
    const bool X_ENDSTOP_INVERT = false;
    const bool Y_ENDSTOP_INVERT = false;
    const bool Z_ENDSTOP_INVERT = false;


    // This determines the communication speed of the printer
    //#define BAUDRATE 115200
    #define BAUDRATE 250000


    // Comment out (using // at the start of the line) to disable SD support:
    //#define SDSUPPORT


    // Uncomment to make run init.g from SD on boot
    //#define SDINITFILE


    //Only work with Atmega1284 you need +1 kb ram
    //#define SD_FAST_XFER_AKTIV


    //-----------------------------------------------------------------------
    //// STORE SETTINGS TO EEPROM
    //-----------------------------------------------------------------------
    // the microcontroller can store settings in the EEPROM
    // M500 - stores paramters in EEPROM
    // M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
    // M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
    // M503 - Print settings
    // define this to enable eeprom support
    //#define USE_EEPROM_SETTINGS


    // to disable EEPROM Serial responses and decrease program space by ~1000 byte: comment this out:
    // please keep turned on if you can.
    //#define PRINT_EEPROM_SETTING


    //-----------------------------------------------------------------------
    //// ARC Function (G2/G3 Command)
    //-----------------------------------------------------------------------
    //Uncomment to aktivate the arc (circle) function (G2/G3 Command)
    //Without SD function an ARC function the used Flash is smaller 31 kb
    #define USE_ARC_FUNCTION


    //-----------------------------------------------------------------------
    //// ADVANCED SETTINGS - to tweak parameters
    //-----------------------------------------------------------------------


    #ifdef SDSUPPORT
    #ifdef SD_FAST_XFER_AKTIV
    //Fast transfer chunk size (> 1024 is unstable, change at your own risk).
    #define SD_FAST_XFER_CHUNK_SIZE 1024
    #endif
    #endif


    //-----------------------------------------------------------------------
    // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
    //-----------------------------------------------------------------------
    #define X_ENABLE_ON 0
    #define Y_ENABLE_ON 0
    #define Z_ENABLE_ON 0
    #define E_ENABLE_ON 0


    //Uncomment if you have problems with a stepper driver enabeling too late, this will also set how many microseconds delay there will be after enabeling the driver
    //#define DELAY_ENABLE 15


    //-----------------------------------------------------------------------
    // Disables axis when it's not being used.
    //-----------------------------------------------------------------------
    const bool DISABLE_X = false;
    const bool DISABLE_Y = false;
    const bool DISABLE_Z = true;
    const bool DISABLE_E = false;


    //-----------------------------------------------------------------------
    // Inverting axis direction
    //-----------------------------------------------------------------------
    const bool INVERT_X_DIR = false;
    const bool INVERT_Y_DIR = false;
    const bool INVERT_Z_DIR = true;
    const bool INVERT_E_DIR = false;


    //-----------------------------------------------------------------------
    //// ENDSTOP SETTINGS:
    //-----------------------------------------------------------------------
    // Sets direction of endstops when homing; 1=MAX, -1=MIN
    #define X_HOME_DIR -1
    #define Y_HOME_DIR -1
    #define Z_HOME_DIR -1


    //#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing


    const bool min_software_endstops = false; //If true, axis won't move to coordinates less than zero.
    const bool max_software_endstops = true; //If true, axis won't move to coordinates greater than the defined lengths below.




    //-----------------------------------------------------------------------
    //Max Length for Prusa Mendel, check the ways of your axis and set this Values
    //-----------------------------------------------------------------------
    const int X_MAX_LENGTH = 200;
    const int Y_MAX_LENGTH = 200;
    const int Z_MAX_LENGTH = 180;


    //-----------------------------------------------------------------------
    //// MOVEMENT SETTINGS
    //-----------------------------------------------------------------------
    const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E
    #define _MAX_FEEDRATE {200, 200, 2, 45} // (mm/sec)
    #define _HOMING_FEEDRATE {1500,1500,120} // (mm/min) !!
    #define _AXIS_RELATIVE_MODES {false, false, false, false}


    #define MAX_STEP_FREQUENCY 30000 // Max step frequency


    //For the retract (negative Extruder) move this maxiumum Limit of Feedrate is used
    //The next positive Extruder move use also this Limit,
    //then for the next (second after retract) move the original Maximum (_MAX_FEEDRATE) Limit is used
    #define MAX_RETRACT_FEEDRATE 100 //mm/sec


    If you could point me in some kind of direction that would be great.

    cheers.
    Last edited by Perry; 06-30-2014 at 07:43 AM.

  2. #2
    Staff Engineer old man emu's Avatar
    Join Date
    Oct 2013
    Location
    Narellan, New South Wales, Australia
    Posts
    912
    You have:
    //-----------------------------------------------------------------------
    // Disables axis when it's not being used.
    //-----------------------------------------------------------------------
    const bool DISABLE_X = false;
    const bool DISABLE_Y = false;
    const bool DISABLE_Z = true;
    const bool DISABLE_E = false;

    I have:
    // Disables axis when it's not being used.
    #define DISABLE_X false
    #define DISABLE_Y false
    #define DISABLE_Z false
    #define DISABLE_E false // For all extruders
    #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled


    You have:

    //-----------------------------------------------------------------------
    // Inverting axis direction
    //-----------------------------------------------------------------------
    const bool INVERT_X_DIR = false;
    const bool INVERT_Y_DIR = false;
    const bool INVERT_Z_DIR = true;
    const bool INVERT_E_DIR = false;

    I have:
    #define INVERT_X_DIR true // for Mendel set to false, for Orca set to true
    #define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false
    #define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true
    #define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false

    I think your problem might be the absence of the [#define] term.

    Old Man Emu

  3. #3
    Student Perry's Avatar
    Join Date
    Jun 2014
    Location
    Brisbane Australia
    Posts
    6
    Thanks for the help.

    I have found the problem, my end stops were backwards.


    thanks for the suggestions though.
    Last edited by Perry; 06-30-2014 at 07:44 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •