SmoothieBoard XYZ min/max endstop problem

I have tested all endstop with M119 command (although you are not able to see xyz Max with this command, So I have ommitted the endstops to also see that they activate okay) I have the configuration file setup so: alpha_limit_enable true, beta_limit_enable true, gamma_limit_enable true also all the min/max endstop alpha_min_endstop 1.24^ etc. are setup correct. When I activate my CNC milling with Pronterface in any direction I would expect it to stop if I activate an endstop but it dosn’t ??? what can be the problem ?, and how to test (firmware version ? I am actualy not sure how to find out ) The SmoothieBorard is the new batch Oct. 2014 /Allan

Imported from wikidot

Hey.

If you do not see the max endstops it probably means you have them disabled in the configuration file.

Can we see your configuration file ?

Cheers.

Hi Arthur, Thanks; interesting I thought that the comand only supported x min,y min, z min.
I am not sure to attache file, think I read something about new user couldn’t do it. so I will paste into my reply, hope this is okay :slight_smile:

# 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              # 
mm_per_line_segment                          5                # Lines can be cut into segments ( not usefull with cartesian coordinates robots ).

alpha_steps_per_mm 80 # Steps per mm for alpha stepper
beta_steps_per_mm 80 # Steps per mm for beta stepper
gamma_steps_per_mm 1600 # Steps per mm for gamma stepper

planner_queue_size 64 # Size of the planning queue, must be a power of 2. 128 seems to be the maximum.
acceleration 3000 # Acceleration in mm/second/second.
acceleration_ticks_per_second 1000 # Number of times per second the speed is updated
junction_deviation 0.05 # Stepper module configuration
microseconds_per_step_pulse 1 # Duration of step pulses to stepper drivers, in microseconds
minimum_steps_per_minute 1200 # Never step slower than this
base_stepping_frequency 100000 # Base frequency for stepping, higher gives smoother movement

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.5 # X stepper motor current
x_axis_max_speed 30000 # 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.5 # Y stepper motor current
y_axis_max_speed 30000 # 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.5 # Z stepper motor current
z_axis_max_speed 300 # 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)

Extruder module configuration

extruder_module_enable false # Whether to activate the extruder module at all. All configuration is ignored if false
extruder_steps_per_mm 140 # Steps per mm for extruder stepper
extruder_default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves
extruder_acceleration 50 # Acceleration for the stepper motor, as of 0.6, arbitrary ratio
extruder_max_speed 1000 # mm^3/s

#extruder_step_pin 2.3 # Pin for extruder step signal
#extruder_dir_pin 0.22 # Pin for extruder dir signal
#extruder_en_pin 0.21 # Pin for extruder enable signal
delta_current 1.5 # Extruder stepper motor current
#epsilon_current 1.5 #ak indsat dor også at bruge epsilon som slave

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.7 # this pin will be PWMed to control the laser
#laser_module_max_power 0.8 # this is the maximum duty cycle that will be applied to the laser
#laser_module_tickle_power 0.0 # this duty cycle will be used for travel moves to keep the laser active without actually burning

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 #
temperature_control.hotend.set_m_code 104 #
temperature_control.hotend.set_and_wait_m_code 109 #
temperature_control.hotend.designator T #

#temperature_control.hotend.p_factor 13.7 # permanenetly set the PID values after an auto pid
#temperature_control.hotend.i_factor 0.097 #
#temperature_control.hotend.d_factor 24 #

#temperature_control.hotend.max_pwm 64 # override 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 # temperature_control.bed.set_m_code 140 #
temperature_control.bed.set_and_wait_m_code 190 #
temperature_control.bed.designator B #

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.misc.enable true #
#switch.misc.input_on_command M42 #
#switch.misc.input_off_command M43 #
#switch.misc.output_pin 2.4 #

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
#corexy_homing false # set to true if homing on a hbit or corexy
alpha_min_endstop 1.24^ # add a ! to invert if endstop is NO connected to ground
alpha_max_endstop 1.25^ #
alpha_homing_direction home_to_min # or set to home_to_max and set alpha_max
alpha_min 0 # this gets loaded after homing when home_to_min is set
alpha_max 200 # this gets loaded after homing when home_to_max is set
beta_min_endstop 1.26^ #
beta_max_endstop 1.27^ #
beta_homing_direction home_to_min #
beta_min 0 #
beta_max 200 #
gamma_min_endstop 1.28^ #
gamma_max_endstop 1.29^ #
gamma_homing_direction home_to_min #
gamma_min 0 #
gamma_max 200 #

alpha_limit_enable true #AK
beta_limit_enable true #AK
gamma_limit_enable true #AK

alpha_fast_homing_rate_mm_s 50 # feedrates in mm/second
beta_fast_homing_rate_mm_s 50 # "
gamma_fast_homing_rate_mm_s 4 # "
alpha_slow_homing_rate_mm_s 25 # "
beta_slow_homing_rate_mm_s 25 # "
gamma_slow_homing_rate_mm_s 2 # "

alpha_homing_retract_mm 5 # distance in mm
beta_homing_retract_mm 5 # "
gamma_homing_retract_mm 1 # "

Pause button

pause_button_enable true #

Panel

panel.enable false # set to true to enable the panel code
panel.lcd smoothiepanel # set type of panel also viki_lcd, i2c_lcd is a generic i2c panel, panelolu2
panel.encoder_a_pin 1.22!^ # encoder pin
panel.encoder_b_pin 1.23!^ # encoder pin

#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 1.22!^ # encoder pin ; GLCD EXP2 Pin 3
#panel.encoder_b_pin 1.23!^ # 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

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

custom_menu.power_on.enable true #
custom_menu.power_on.name Power_on #
custom_menu.power_on.command M80 #

custom_menu.power_off.enable true #
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 #

It used for a CNC Milling machine; I have to Stepper Motor on the X-aks (M1&M4), Y-aks (M2) and Z-aks (M3) then I have min/max on all 3 akses
Best regards
Allan

Hello.

Can you paste the exact output of M119 here ?

Thanks.

Hi Arthur,
After Homing:
SENDING:M119
X min:1 Y min:1 Z min:1
C: X:10.000 Y:10.000 Z:1.000

<<<BLOCKQUOTE: <<<BLOCKQUOTE:
M119
>>>>>>

SENDING:M119
X min:0 Y min:0 Z min:0
Is this command supposed to show also max ? (endpoints)
Regards Allan

What are you using to send the command ?

Pronterface !

Can you try @M119 ?

C: X:110.000 Y:10.000 Z:1.000

<<<BLOCKQUOTE: <<<BLOCKQUOTE:
@M119
>>>>>>

SENDING:M119
X min:0 Y min:0 Z min:0
Looks like it do not recognize the @
I send from command line in
Pronterface: Printrun; say version Printrun 2014.08.01

Hi Arthur,
I appreciate you try to help me :slight_smile: did you see any problems with my config file ? (I know I should clean it for all the things I do not use at the time, but I just edit the standard config for the absolutely necessary)
Please tell me (or show me an example) how it is supposed to answer the M119 command ? (when you have all xyz min/max endstop activated correct)
I still wonder why it will not honor the min. setting other than for the zero set (Homing) that works fine, but it will not stop if I execute a command that go beyound the min. :frowning:
An additional question; if you set a new ofset point in the middle of you working arrea, will the smoothieboard still keep track of the real (absolute) position and know the minmum and maximum values for my axis ? (…and then stop despite you have endstop or not ?)
Best regards
Allan

What does the version command ( @version in pronterface ) answer ?

<<<BLOCKQUOTE: <<<BLOCKQUOTE:
@version
>>>>>>

SENDING:version
Build version: edge-4e3d75d, Build date: Feb 20 2014 13:21:42, MCU: LPC1768, System Clock: 100MHz
Hmm, I was actually waiting and waiting for this new board (new version) for many month last summer, and finally received in October 2014 (now that I look at the board I am not so sure that I didn’t get an old board (on PCB it say: Smoothieboard v1.0)
Br., Allan

Yep you definitely want to update this to the latest firmware and configuration file.

See : <http://smoothieware.org/configuring-smoothie>>> and <<<FLOATING LINK: http://smoothieware.org/flashing-smoothie-firmware>

Thanks Arthur,
That sure helped :slight_smile: :slight_smile:
So now I can finally continue to my next learning process how to get some G-code made for my woodworking projects, and how I get a Joystick connected to easy man over it in manual mode and for aligning, setting ref point etc.
Have a great day
/Allan