Re: Slow slew Atmega2560

Dave Schwartz

Since the Ramps board does not support program-controlled microstep mode switching, the motors will only ever run at the 1/32 microstep rate you have configured (both physically and in Config.h) so that means your desire for _DRIVER_MICROSTEPS_GOTO  8 will not be effective. Since the Atmega is such a slow processor, OnStep can't pulse the STEP line fast enough to make the motors go any faster in 1/32 mode than what you are seeing now.

On 2021-04-21 1:25 a.m., Marius Ungureanu via wrote:

I have just started motorizing my mount on it’s RA axis but i am getting verry slow speeds.
I use Ramps 1.4 with DRV8825 DRIVER and ML17A3 motor.
I have set the jumpers to 32 microsteps
I use a 20t pulley on my motor and 60t on the telescope mount (so 3:1 ratio), the mount has a further reduction of 100:1 on it’s worm pulley.

Could you have a look? Am i doing something wrong? I get verry slow speed on tracking.

// TRACKING BEHAVIOUR -------------------------------------------- see <>
#define TRACK_AUTOSTART               ON //  OFF, ON Start with tracking enabled.                  Option
#define TRACK_REFRACTION_RATE_DEFAULT OFF //  OFF, ON Start w/atmospheric refract. compensation (RA axis/Eq mounts only.)   Option
#define TRACK_BACKLASH_RATE            25 // 25, n. Where n=2..50 (x sidereal rate) during backlash takeup.               Option
                                          //   Too fast motors stall/gears slam or too slow and sluggish in backlash.

// SYNCING BEHAVIOUR ----------------------------------------------
see <>
#define SYNC_CURRENT_PIER_SIDE_ONLY    ON // ON, Disables ability of sync to change pier side, for GEM mounts.            Option

// SLEWING BEHAVIOUR ----------------------------------------------
see <>
#define SLEW_RATE_BASE_DESIRED       2 //    1.0, n. Desired slew rate in deg/sec. Adjustable at run-time from          <-Req'd
                                          //   1/2 to 2x this rate, and as MCU performace considerations require.
#define SLEW_RATE_MEMORY              OFF //  OFF, ON Remembers rates set across power cycles.                  Option
#define SLEW_ACCELERATION_DIST        5.0 //  5.0, n, (degrees.) Approx. distance for acceleration (and deceleration.)      Adjust
#define SLEW_RAPID_STOP_DIST          2.5 //  2.0, n, (degrees.) Approx. distance required to stop when a slew              Adjust
                                          //   is aborted or a limit is exceeded.
#define MFLIP_SKIP_HOME               OFF //  OFF, ON Goto directly to the destination without visiting home position.      Option
#define MFLIP_PAUSE_HOME_MEMORY       OFF //  OFF, ON Remember meridian flip pause at home setting across power cycles.     Option
#define MFLIP_AUTOMATIC_MEMORY        OFF //  OFF, ON Remember automatic meridian flip setting across power cycles.         Option

// PARKING BEHAVIOUR ----------------------------------------------
see <>
#define STRICT_PARKING                OFF //  OFF, ON Un-parking is only allowed if successfully parked.                  Option

// MOTION CONTROL --------------------------------------------------
see <>
#define STEP_WAVE_FORM             PULSE // SQUARE, PULSE Step signal wave form faster rates. SQUARE best signal integrity.  Adjust

// Stepper driver models (also see ~/OnStep/src/sd_drivers/Models.h for additional infrequently used models and more info.):
// A4988, DRV8825, LV8729, S109, SSS TMC2209*, TMC2130* **, and TMC5160* ***
// * = add _QUIET (stealthChop tracking) for example "TMC2130_QUIET"
// ** = SSS TMC2130 if you choose to set stepper driver current (in mA) set Vref pot. 2.5V instead of by motor current as usual.
// *** = SSS TMC5160 you must set stepper driver current (in mA) w/ #define AXISn_TMC_IRUN (IHOLD, etc.)

// see <>
#define AXIS1_STEPS_PER_DEGREE     10666.66667 //  12800, n. Number of steps per degree:                  <-Req'd
                                          //   n = (stepper_steps * micro_steps * overall_gear_reduction)/360.0
#define AXIS1_STEPS_PER_WORMROT   38400 //  12800, n. Number of steps per worm rotation (PEC Eq mode only:)          <-Req'd
                                          //   n = (AXIS1_STEPS_PER_DEGREE*360)/reduction_final_stage

#define AXIS1_DRIVER_MODEL            DRV8825 //  OFF, (See above.) Stepper driver model.                <-Often
#define AXIS1_DRIVER_MICROSTEPS       32 //  OFF, n. Microstep mode when tracking.                <-Often
#define AXIS1_DRIVER_MICROSTEPS_GOTO  8 //    OFF, n. Microstep mode used during gotos.           Option
#define AXIS1_DRIVER_IHOLD            OFF //  OFF, n, (mA.) Current during standstill. OFF uses IRUN/2.0                  Option
#define AXIS1_DRIVER_IRUN             OFF //  OFF, n, (mA.) Current during tracking, appropriate for stepper/driver/etc.    Option
#define AXIS1_DRIVER_IGOTO            OFF //  OFF, n, (mA.) Current during slews. OFF uses same as IRUN.                  Option
#define AXIS1_DRIVER_REVERSE          OFF //  OFF, ON Reverses movement direction, or reverse wiring instead to correct.   <-Often
#define AXIS1_DRIVER_STATUS           OFF //  OFF, TMC_SPI, HIGH, or LOW.  Polling for driver status info/fault detection.  Option

#define AXIS1_LIMIT_UNDER_POLE        180 //  180, n. Where n=150..180 (degrees.) Max HA hour angle + or - for Eq modes.    Adjust
#define AXIS1_LIMIT_MAXAZM            360 //  360, n. Where n=180..360 (degrees.) Max Azimuth + or - for AltAzm mode only.  Adjust

Join to automatically receive all group messages.