ok so i got a e3d cyclops for my delta with a smoothieboard 5x im trying to set up the extruders but for some reason the motors are only moving a few microsteps or just vibrating…i cant really tell. its not the wiring because i tried two different ones and also tried a different motor. i dont remember what i changed in the config file but it worked the other day. im completely puzzled at what this could be. i also tried changing current and pulse timing. anyone have any ideas? is there a way to check a stepper driver to see if i fried it?
Have you checked the power to the stepper motor is correct? Perhaps post your config file?
Is it possible to wire the extruder stepper into one of the axis, say the X axis and see if it responds to movement commands, for example G0 X100
the current setting is at .7A right now but i also tried with 1A and 1.2A. i already tried hooking up an axis but then it does the same thing, just a few microsteps (maybe 1 degree of movement, if that.) and a high pitch squeel.
do you want me to just copy/paste my config here?
Sounds like acceleration or speed is too high for your motors. That or you have a wiring problem.
no dice, accel was 600, chaged to 100 didnt work, changed to 50 and didnt work. and changed speed from 100 down to 20 and still nothing… time to triple check the wiring…but it worked before though…
Perhaps your power supply is the issue. What are its capabilities (voltage and amperage) and do you have another power supply you can test with.
its a 24v 15A psu. no i dont have another but its a constant 24.5v at idle and while the axis motos are moving. its only the extruder that is doing this. actually only the DELTA driver that is doing it, i cant get the EPSILON driver to move. (i dont know how)
Can you post your config file and wiring for all of the stepper motors.
NOTE Lines must not exceed 132 characters
Robot module configurations : general handling of movement G-codes and slicing into moves
default_feed_rate 4000 # Default rate ( mm/minute ) for G1/G2/G3 moves
default_seek_rate 4000 # Default rate ( mm/minute ) for G0 moves
mm_per_arc_segment 0.0 # Fixed length for line segments that divide arcs 0 to disable
mm_max_arc_error 0.01 # The maximum error for line segments that divide arcs 0 to disable
# note it is invalid for both the above be 0
# if both are used, will use largest segment length based on radius
#mm_per_line_segment 0.3 # Lines can be cut into segments ( not useful with cartesian
# coordinates robots ).
delta_segments_per_second 0 # for deltas only same as in Marlin/Delta, set to 0 to disable
# and use mm_per_line_segment
Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
arm_solution linear_delta # selects the delta arm solution
alpha_steps_per_mm 53.25 # Steps per mm for alpha stepper
beta_steps_per_mm 53.25 # Steps per mm for beta stepper
gamma_steps_per_mm 53.25 # Steps per mm for gamma stepper
arm_length 350.0 # this is the length of an arm from hinge to hinge
arm_radius 163.0 # this is the horizontal distance from hinge to hinge
# when the effector is centered
Planner module configuration : Look-ahead and acceleration configuration
planner_queue_size 32 # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
acceleration 3000 # Acceleration in mm/second/second.
junction_deviation 0.05 # Similar to the old “max_jerk”, in millimeters,
# see https://github.com/grbl/grbl/blob/master/planner.c#L409
# and Configuring Grbl v0.8 · grbl/grbl Wiki · GitHub
# Lower values mean being more careful, higher values means being
# faster and have more jerk
#minimum_planner_speed 0.0 # sets the minimum planner speed in mm/sec
Stepper module configuration
microseconds_per_step_pulse .3 # Duration of step pulses to stepper drivers, in microseconds
base_stepping_frequency 100000 # Base frequency for stepping
Cartesian axis speed limits
x_axis_max_speed 30000 # mm/min
y_axis_max_speed 30000 # mm/min
z_axis_max_speed 30000 # mm/min
Stepper module pins ( ports, and pin numbers, appending “!” to the number will invert a pin )
alpha_step_pin 2.0 # Pin for alpha stepper step signal
alpha_dir_pin 0.5! # Pin for alpha stepper direction
alpha_en_pin 0.4 # Pin for alpha enable pin
alpha_current 1.68 # X stepper motor current
alpha_max_rate 30000.0 # mm/min
beta_step_pin 2.1 # Pin for beta stepper step signal
beta_dir_pin 0.11! # Pin for beta stepper direction
beta_en_pin 0.10 # Pin for beta enable
beta_current 1.68 # Y stepper motor current
beta_max_rate 30000.0 # mm/min
gamma_step_pin 2.2 # Pin for gamma stepper step signal
gamma_dir_pin 0.20! # Pin for gamma stepper direction
gamma_en_pin 0.19 # Pin for gamma enable
gamma_current 1.68 # Z stepper motor current
gamma_max_rate 30000.0 # mm/min
Serial communications configuration ( baud rate default to 9600 if undefined )
uart0.baud_rate 115200 # Baud rate for the default hardware serial port
second_usb_serial_enable false # This enables a second usb serial port (to have both pronterface
# and a terminal connected)
#leds_disable true # disable using leds after config loaded
#msd_disable false # disable the MSD (USB SDCARD) when set to true
#dfu_enable false # for linux developers, set to true to enable DFU
#watchdog_timeout 10 # watchdog timeout in seconds, default is 10, set to 0 to disable the watchdog
Extruder module configuration
extruder.hotend.enable true # Whether to activate the extruder module at all. All configuration is ignored if false
Fep.hotend.steps_per_mm 97 # Steps per mm for extruder stepper
extruder.hotend.default_feed_rate 100 # Default rate ( mm/minute ) for moves where only the extruder moves
extruder.hotend.acceleration 50 # Acceleration for the stepper motor, as of 0.6, arbitrary ratio
extruder.hotend.max_speed 20 # mm/s
extruder.hotend.step_pin 2.3 # Pin for extruder step signal
extruder.hotend.dir_pin 0.22 # Pin for extruder dir signal
extruder.hotend.en_pin 0.21 # Pin for extruder enable signal
extruder offset
extruder.hotend.x_offset 0 # x offset from origin in mm
extruder.hotend.y_offset 0 # y offset from origin in mm
extruder.hotend.z_offset 0 # z offset from origin in mm
firmware retract settings when using G10/G11, these are the defaults if not defined, must be defined for each extruder if not using the defaults
extruder.hotend.retract_length 3 # retract length in mm
extruder.hotend.retract_feedrate 45 # retract feedrate in mm/sec
extruder.hotend.retract_recover_length 0 # additional length for recover
extruder.hotend.retract_recover_feedrate 8 # recover feedrate in mm/sec (should be less than retract feedrate)
extruder.hotend.retract_zlift_length 0 # zlift on retract in mm, 0 disables
extruder.hotend.retract_zlift_feedrate 6000 # zlift feedrate in mm/min (Note mm/min NOT mm/sec)
delta_current .7 # First extruder stepper motor current
Second extruder module configuration example
extruder.hotend2.enable false # Whether to activate the extruder module at all. All configuration is ignored if false
extruder.hotend2.steps_per_mm 97 # Steps per mm for extruder stepper
extruder.hotend2.default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves
extruder.hotend2.acceleration 500 # Acceleration for the stepper motor, as of 0.6, arbitrary ratio
extruder.hotend2.max_speed 50 # mm/s
extruder.hotend2.step_pin 2.8 # Pin for extruder step signal
extruder.hotend2.dir_pin 2.13 # Pin for extruder dir signal
extruder.hotend2.en_pin 4.29 # Pin for extruder enable signal
extruder.hotend2.x_offset 0 # x offset from origin in mm
extruder.hotend2.y_offset 0 # y offset from origin in mm
extruder.hotend2.z_offset 0 # z offset from origin in mm
#epsilon_current .7 # Second extruder stepper motor current
Laser module configuration
laser_module_enable false # Whether to activate the laser module at all. All configuration is
# ignored if false.
#laser_module_pin 2.5 # this pin will be PWMed to control the laser. Only P2.0 - P2.5, P1.18, P1.20, P1.21, P1.23, P1.24, P1.26, P3.25, P3.26
# can be used since laser requires hardware PWM
#laser_module_maximum_power 1.0 # this is the maximum duty cycle that will be applied to the laser
#laser_module_minimum_power 0.0 # This is a value just below the minimum duty cycle that keeps the laser
# active without actually burning.
#laser_module_default_power 0.8 # This is the default laser power that will be used for cuts if a power has not been specified. The value is a scale between
# the maximum and minimum power levels specified above
#laser_module_pwm_period 20 # this sets the pwm frequency as the period in microseconds
Hotend temperature control configuration
temperature_control.hotend.enable true # Whether to activate this ( “hotend” ) module at all.
# All configuration is ignored if false.
temperature_control.hotend.thermistor_pin 0.23 # Pin for the thermistor to read
temperature_control.hotend.heater_pin 2.7 # Pin that controls the heater
temperature_control.hotend.thermistor EPCOS100K # see temperaturecontrol [smoothieware.org]
#temperature_control.hotend.beta 4066 # or set the beta value
temperature_control.hotend.set_m_code 104 #
temperature_control.hotend.set_and_wait_m_code 109 #
temperature_control.hotend.designator T #
#temperature_control.hotend.max_temp 300 # Set maximum temperature - Will prevent heating above 300 by default
#temperature_control.hotend.min_temp 0 # Set minimum temperature - Will prevent heating below 0 by default
safety control is enabled by default and can be overidden here, the values show the defaults
#temperature_control.hotend.runaway_heating_timeout 900 # max is 2040 seconds, how long it can take to heat up
#temperature_control.hotend.runaway_cooling_timeout 900 # max is 2040 seconds, how long it can take to cool down if temp is set lower
#temperature_control.hotend.runaway_range 20 # Max setting is 63°C
#temperature_control.hotend.p_factor 10.0 # permanently set the PID values after an auto pid
#temperature_control.hotend.i_factor .5 #
#temperature_control.hotend.d_factor 47 #
#temperature_control.hotend.max_pwm 64 # max pwm, 64 is a good value if driving a 12v resistor with 24v.
Hotend2 temperature control configuration
#temperature_control.hotend2.enable true # Whether to activate this ( “hotend” ) module at all.
# All configuration is ignored if false.
#temperature_control.hotend2.thermistor_pin 0.23 # Pin for the thermistor to read
#temperature_control.hotend2.heater_pin 2.7 # Pin that controls the heater
#temperature_control.hotend2.thermistor EPCOS100K # temperaturecontrol [smoothieware.org]
##temperature_control.hotend2.beta 4066 # or set the beta value
#temperature_control.hotend2.set_m_code 104 #
#temperature_control.hotend2.set_and_wait_m_code 109 #
#temperature_control.hotend2.designator T1 #
#temperature_control.hotend2.p_factor 10 # permanently set the PID values after an auto pid
#temperature_control.hotend2.i_factor .5 #
#temperature_control.hotend2.d_factor 47 #
#temperature_control.hotend2.max_pwm 64 # max pwm, 64 is a good value if driving a 12v resistor with 24v.
temperature_control.bed.enable true #
temperature_control.bed.thermistor_pin 0.24 #
temperature_control.bed.heater_pin 2.5 #
temperature_control.bed.thermistor Honeywell100K # see temperaturecontrol [smoothieware.org]
#temperature_control.bed.beta 4066 # or set the beta value
temperature_control.bed.set_m_code 140 #
temperature_control.bed.set_and_wait_m_code 190 #
temperature_control.bed.designator B #
#temperature_control.bed.bang_bang false # set to true to use bang bang control rather than PID
#temperature_control.bed.hysteresis 2.0 # set to the temperature in degrees C to use as hysteresis
# when using bang bang
Switch module for fan control
switch.fan.enable true #
switch.fan.input_on_command M106 #
switch.fan.input_off_command M107 #
switch.fan.output_pin 2.6 #
switch.fan.output_type pwm # pwm output settable with S parameter in the input_on_comand
#switch.fan.max_pwm 250 # set max pwm for the pin default is 255
#switch.misc.enable true #
#switch.misc.input_on_command M42 #
#switch.misc.input_off_command M43 #
#switch.misc.output_pin 2.4 #
#switch.misc.output_type digital # just an on or off pin
automatically toggle a switch at a specified temperature. Different ones of these may be defined to monitor different temperatures and switch different swithxes
useful to turn on a fan or water pump to cool the hotend
#temperatureswitch.hotend.enable true #
#temperatureswitch.hotend.designator T # first character of the temperature control designator to use as the temperature sensor to monitor
#temperatureswitch.hotend.switch misc # select which switch to use, matches the name of the defined switch
#temperatureswitch.hotend.threshold_temp 60.0 # temperature to turn on (if rising) or off the switch
#temperatureswitch.hotend.heatup_poll 15 # poll heatup at 15 sec intervals
#temperatureswitch.hotend.cooldown_poll 60 # poll cooldown at 60 sec intervals
Switch module for spindle control
#switch.spindle.enable false #
Endstops
endstops_enable true # the endstop module is enabled by default and can be disabled here
delta_homing true # forces all three axis to home a the same time regardless of
# what is specified in G28
alpha_min_endstop nc #
alpha_max_endstop 1.25^! # add ! to invert pullup if switch is NO to ground
alpha_homing_direction home_to_max # Home up
alpha_max 0 #
beta_min_endstop nc #
beta_max_endstop 1.27^! #
beta_homing_direction home_to_max #
beta_max 0 #
gamma_min_endstop nc #
gamma_max_endstop 1.29^! #
gamma_homing_direction home_to_max #
gamma_max 970 #
alpha_max_travel 1000 # max travel in mm for alpha/X axis when homing
beta_max_travel 1000 # max travel in mm for beta/Y axis when homing
gamma_max_travel 1000 # max travel in mm for gamma/Z axis when homing
alpha_fast_homing_rate_mm_s 100 # homing feedrates in mm/second
beta_fast_homing_rate_mm_s 100 #
gamma_fast_homing_rate_mm_s 100 #
alpha_slow_homing_rate_mm_s 15 #
beta_slow_homing_rate_mm_s 15 #
gamma_slow_homing_rate_mm_s 15
alpha_homing_retract_mm 3 # retract/bounce distance after homing in mm
beta_homing_retract_mm 3 #
gamma_homing_retract_mm 3 #
alpha_trim -1.7 # software trim for alpha stepper endstop (in mm)
beta_trim -2 # software trim for beta stepper endstop (in mm)
gamma_trim 1.3 # software trim for gamma stepper endstop (in mm)
optional enable limit switches, actions will stop if any enabled limit switch is triggered (all are set for delta)
#alpha_limit_enable false # set to true to enable X min and max limit switches
#beta_limit_enable false # set to true to enable Y min and max limit switches
#gamma_limit_enable false # set to true to enable Z min and max limit switches
#move_to_origin_after_home true # move XY to 0,0 after homing
#endstop_debounce_count 100 # uncomment if you get noise on your endstops
optional Z probe
zprobe.enable true # set to true to enable a zprobe
zprobe.probe_pin 1.28!^ # pin probe is attached to if NC remove the !
zprobe.slow_feedrate 5 # mm/sec probe feed rate
#zprobe.debounce_count 100 # set if noisy
zprobe.fast_feedrate 100 # move feedrate mm/sec
zprobe.probe_height 3 # how much above bed to start probe
#gamma_min_endstop nc # normally 1.28. Change to nc to prevent conflict,
associated with zprobe the leveling strategy to use
#leveling-strategy.delta-calibration.enable true # basic delta calibration
#leveling-strategy.delta-calibration.radius 100 # the probe radius
kill button (used to be called pause) maybe assigned to a different pin, set to the onboard pin by default
kill_button_enable true # set to true to enable a kill button
kill_button_pin 2.12 # kill button pin. default is same as pause button 2.12 (2.11 is another good choice)
Panel
panel.enable false # set to true to enable the panel code
panel.lcd smoothiepanel # set type of panel
panel.encoder_a_pin 3.25!^ # encoder pin
panel.encoder_b_pin 3.26!^ # encoder pin
Example for reprap discount GLCD
on glcd EXP1 is to left and EXP2 is to right, pin 1 is bottom left, pin 2 is top left etc.
+5v is EXP1 pin 10, Gnd is EXP1 pin 9
#panel.lcd reprap_discount_glcd #
#panel.spi_channel 0 # spi channel to use ; GLCD EXP1 Pins 3,5 (MOSI, SCLK)
#panel.spi_cs_pin 0.16 # spi chip select ; GLCD EXP1 Pin 4
#panel.encoder_a_pin 3.25!^ # encoder pin ; GLCD EXP2 Pin 3
#panel.encoder_b_pin 3.26!^ # encoder pin ; GLCD EXP2 Pin 5
#panel.click_button_pin 1.30!^ # click button ; GLCD EXP1 Pin 2
#panel.buzz_pin 1.31 # pin for buzzer ; GLCD EXP1 Pin 1
#panel.button_pause_pin 2.11^ # kill/pause ; GLCD EXP2 Pin 8 either
#panel.back_button_pin 2.11!^ # back button ; GLCD EXP2 Pin 8 or
pins used with other panels
#panel.up_button_pin 0.1! # up button if used
#panel.down_button_pin 0.0! # down button if used
#panel.click_button_pin 0.18! # click button if used
panel.menu_offset 0 # some panels will need 1 here
panel.alpha_jog_feedrate 6000 # x jogging feedrate in mm/min
panel.beta_jog_feedrate 6000 # y jogging feedrate in mm/min
panel.gamma_jog_feedrate 200 # z jogging feedrate in mm/min
panel.hotend_temperature 185 # temp to set hotend when preheat is selected
panel.bed_temperature 60 # temp to set bed when preheat is selected
Example of a custom menu entry, which will show up in the Custom entry.
NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands
custom_menu.power_on.enable true #
http://custom_menu.power_on.name Power_on #
custom_menu.power_on.command M80 #
custom_menu.power_off.enable true #
http://custom_menu.power_off.name Power_off #
custom_menu.power_off.command M81 #
Only needed on a smoothieboard
currentcontrol_module_enable true #
return_error_on_unhandled_gcode false #
network settings
network.enable true # enable the ethernet network services
network.webserver.enable true # enable the webserver
network.telnet.enable true # enable the telnet server
network.ip_address auto # use dhcp to get ip address
uncomment the 3 below to manually setup ip address
#network.ip_address 192.168.3.222 # the IP address
#network.ip_mask 255.255.255.0 # the ip mask
#network.ip_gateway 192.168.3.1 # the gateway address
#network.mac_override xx.xx.xx.xx.xx.xx # override the mac address, only do this if you have a conflict
as for the wiring, the outside of the four pins are the same, and the two middle one are reversed.
I am away from home at the moment so I cannot compare with my config files, but in the extruder config section I am curious about:
Fep.hotend.steps_per_mm 97 # Steps per mm for extruder stepper
I do not recall any parameters starting with “Fep” can you check this is correct?
yeah, it says that. ill delete it and try again.
Replace the “Fep” with “extruder” and see if they works
OMG HOW DID YOU SEE THAT?!?!
THANKYOU. sorry, i have trembly hands sometimes. i must have accidentally typed that.
I hope it now works, as I have spent a very large number of hours modifying and some contributing to the source code I know a lot of the config options and what they do
well thankyou very much, im trying to use FSR z min endstop senors, its all wired right and blinking like it should. but the first time i tried it it said the endtop triggered before it could calibrate so it aborted, which i expected because i was using a regular switch that a NC so i swiched it to NO in the config. i tried again and it moved all the way down to the bed and just kept going, for some reson it dosent see the signal.
I personally do not like FSR endstops as I don’t believe they are very reliable. Perhaps you need to set the input as requiring a pull-up. Check the config part of the smoothieware documentation, I think it is the ^ symbol but you’d better check that rely on my memory.
Read http://smoothieware.org/endstops and pay attention to the ^ and the ! characters for configuring inputs