I have gotten 5 independent axis working but I am unable to home them all at once. I have followed the instructions on: http://smoothieware.org/6axis
I compiled smoothieware with make AXIS=5 PAXIS=5 CNC=1
and edit the config to something that works (see below). This allows me to home all axis one at a time. The comment suggests I should comment out homing_order
and all axes should home at once. This does not happen.
I am homing using command $H
or G28.2
. Is it possible to home all axes at once?
Thanks.
Here is my configuration:
# 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.5 # Arcs are cut into segments ( lines )
mm_per_line_segment 5 # Lines can be cut into segments
# 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 600 # Acceleration in mm/second/second.
z_acceleration 600 # Acceleration for Z only moves in mm/s^2,
acceleration_ticks_per_second 1000 # Number of times per second the speed is updated
junction_deviation 0.02 # Similar to the old "max_jerk", in millimeters,
#z_junction_deviation 0.0 # for Z only moves, -1 uses junction_deviation
#minimum_planner_speed 0.0 # sets the minimum planner speed in mm/sec
# Stepper module configuration
microseconds_per_step_pulse 1 # Duration of step pulses to stepper drivers, in microseconds
base_stepping_frequency 100000 # Base frequency for stepping, higher gives smoother movement
# Cartesian axis speed limits
x_axis_max_speed 10000 # mm/min
y_axis_max_speed 10000 # mm/min
z_axis_max_speed 10000 # mm/min
a_axis_max_speed 10000 # mm/min
b_axis_max_speed 10000 # mm/min
# Stepper module pins ( ports, and pin numbers, appending "!" to the number will invert a pin )
alpha_steps_per_mm 100 # Steps per mm for alpha stepper
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 0.4 # X stepper motor current
alpha_max_rate 10000.0 # mm/min
beta_steps_per_mm 100 # Steps per mm for beta stepper
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 0.4 # Y stepper motor current
beta_max_rate 10000.0 # mm/min
gamma_steps_per_mm 100 # Steps per mm for gamma stepper
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 0.4 # Z stepper motor current
gamma_max_rate 10000.0 # mm/min
# A axis
delta_steps_per_mm 100 # may be steps per degree for example
delta_step_pin 2.3 # Pin for delta stepper step signal
delta_dir_pin 0.22! # Pin for delta stepper direction
delta_en_pin 0.21 # Pin for delta enable
delta_current 0.4 # Z stepper motor current
delta_max_rate 10000.0 # mm/min
# B axis
epsilon_steps_per_mm 100 # may be steps per degree for example
epsilon_step_pin 2.8 # Pin for delta stepper step signal
epsilon_dir_pin 2.13! # Pin for delta stepper direction
epsilon_en_pin 4.29 # Pin for delta enable
epsilon_current 0.4 # Z stepper motor current
epsilon_max_rate 10000.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 true # This enables a second usb serial port (to have both pronterface
pause_button_enable false # Pause button enable
# Extruder module configuration
extruder.hotend.enable false # Whether to activate the extruder module at all. All configuration is ignored if false
# Laser module configuration
laser_module_enable false # Whether to activate the laser module at all. All configuration is
# Hotend temperature control configuration
temperature_control.hotend.enable false # Whether to activate this ( "hotend" ) module at all.
# Switch module for fan control
switch.fan.enable false #
## Endstops new syntax (the name is not significant)
# NOTE only a min or a max homing endstop maybe defined
endstop.minx.enable true # enable an endstop
endstop.minx.pin 1.24^! # pin
endstop.minx.homing_direction home_to_min # direction it moves to the endstop
endstop.minx.homing_position 0 # the cartesian coordinate this is set to when it homes
endstop.minx.axis X # the axis designator
endstop.minx.max_travel 500 # the maximum travel in mm before it times out
endstop.minx.fast_rate 50 # fast homing rate in mm/sec
endstop.minx.slow_rate 25 # slow homing rate in mm/sec
endstop.minx.retract 5 # bounce off endstop in mm
endstop.miny.enable true # enable an endstop
endstop.miny.pin 1.25^! # pin
endstop.miny.homing_direction home_to_min # direction it moves to the endstop
endstop.miny.homing_position 0 # the cartesian coordinate this is set to when it homes
endstop.miny.axis Y # the axis designator
endstop.miny.max_travel 500 # the maximum travel in mm before it times out
endstop.miny.fast_rate 50 # fast homing rate in mm/sec
endstop.miny.slow_rate 25 # slow homing rate in mm/sec
endstop.miny.retract 5 # bounce off endstop in mm
endstop.minz.enable true # enable an endstop
endstop.minz.pin 1.26^! # pin
endstop.minz.homing_direction home_to_min # direction it moves to the endstop
endstop.minz.homing_position 0 # the cartesian coordinate this is set to when it homes
endstop.minz.axis Z # the axis designator
endstop.minz.max_travel 500 # the maximum travel in mm before it times out
endstop.minz.fast_rate 50 # fast homing rate in mm/sec
endstop.minz.slow_rate 25 # slow homing rate in mm/sec
endstop.minz.retract 5 # bounce off endstop in mm
# Homing the A axis to min
endstop.mina.enable true # enable an endstop
endstop.mina.pin 1.27^! # pin
endstop.mina.homing_direction home_to_min # direction it moves to the endstop
endstop.mina.homing_position 0 # the cartesian coordinate this is set to when it homes
endstop.mina.axis A # the axis designator
endstop.mina.max_travel 500 # the maximum travel in mm before it times out
endstop.mina.fast_rate 50 # fast homing rate in mm/sec
endstop.mina.slow_rate 25 # slow homing rate in mm/sec
endstop.mina.retract 5 # bounce off endstop in mm
# Homing the B axis to min
endstop.minb.enable true # enable an endstop
endstop.minb.pin 1.28^! # pin
endstop.minb.homing_direction home_to_min # direction it moves to the endstop
endstop.minb.homing_position 0 # the cartesian coordinate this is set to when it homes
endstop.minb.axis B # the axis designator
endstop.minb.max_travel 500 # the maximum travel in mm before it times out
endstop.minb.fast_rate 50 # fast homing rate in mm/sec
endstop.minb.slow_rate 25 # slow homing rate in mm/sec
endstop.minb.retract 5 # bounce off endstop in mm
# optional order in which axis will home, default is they all home at the same time,
# if this is set it will force each axis to home one at a time in the specified order
#homing_order XYZ # x axis followed by y then z last
#move_to_origin_after_home false # move XY to 0,0 after homing
#endstop_debounce_count 100 # uncomment if you get noise on your endstops, default is 100
#endstop_debounce_ms 1 # uncomment if you get noise on your endstops, default is 1 millisecond debounce
#home_z_first true # uncomment and set to true to home the Z first, otherwise Z homes after XY
# optional Z probe
zprobe.enable false # set to true to enable a zprobe
# Panel
panel.enable false # set to true to enable the panel code
# 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 false #
custom_menu.power_on.name Power_on #
custom_menu.power_on.command M80 #
custom_menu.power_off.enable false #
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.1.213 # the IP address
network.ip_mask 255.255.255.0 # the ip mask
network.ip_gateway 192.168.1.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