Difficulty driving laser at high speed

Hello Everyone,

I have a question about running our laser machine at high speeds.

We have a HIWIN Servo drivers and a good mechanical infrastructure, with smoothie control board and smoothieware on it

What we want is to run X and Y motors at 6000mm/sec
At first trials we have reached at that speed with necessary configurations but after we have tried to scan engrave with laser and have a meaningless results.

Could anyone here to explain us the problem ?

This is a sample laser engraving gcode a gcode which is going back and forth 300mm and each line has a 1mm space between on Y axis. Laser engraving should be between 100mm and 200mm. But as you can see going forth not match with coming back. the laser engraving starts at 100mm correctly while going but it is not correct while coming. We can not determine the problem.

And this is a square gcode for cutting with laser at 1500mm/sec but as you can see it is not a square ? What would be the problem ?

I would start by slowing the machine down substantially and see if anything changes.

1 Like

What is making the gcode? Once upon a time in Laserweb, there were some bugs in the gcode generation and those were fixed at that time. I do not know what has happened since then since I was only involved in Laserweb 1 and maybe early instances of Laserweb 2. Do you have a program that can simulate gcode? If the gcode is fine, is your laser actually capable of switching on and off as fast as you are trying to get it to?

Now that I have put forth these questions, I will let you answer them and let someone else process where to go from there. It has been a while since I chatted much with people playing with CNC lasers and I doubt I can help much more than asking what I just asked.

Here is the config.txt

#Basic motion configuration

soft_endstop.enable   true               # enable soft endstops
soft_endstop.halt     true               # HALT when soft endstop triggered (safest) when set to false the entire move will just be ignored
soft_endstop.x_min    0.0                # minimum X
soft_endstop.y_min    0.0                # minimum Y
soft_endstop.z_min    0.0               # minimum Z NOTE leave commented out to disable checking for this axis
soft_endstop.x_max    801                 # maximum X
soft_endstop.y_max    551                  # maximum Y
soft_endstop.z_max    201.0              # maximum Z NOTE leave commented out to disable checking for this axis

default_feed_rate                            4000             # Default speed (mm/minute) for G1/G2/G3 moves
default_seek_rate                            4000             # Default speed (mm/minute) for G0 moves
mm_per_arc_segment                           0.5              # Fixed length for line segments that divide arcs, 0 to disable
#mm_per_line_segment                          10               # Cut lines into segments this size
delta_segments_per_second					 100
#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

#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

#Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
#See http://smoothieware.org/stepper-motors
alpha_steps_per_mm                           13.107877         # Steps per mm for alpha ( X ) stepper
beta_steps_per_mm                            13.107877               # Steps per mm for beta ( Y ) stepper
gamma_steps_per_mm                           12.5             # Steps per mm for gamma ( Z ) stepper

#Planner module configuration : Look-ahead and acceleration configuration
acceleration 300000 #100000
planner_queue_size                           32               # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
alpha_acceleration 300000 #100000
beta_acceleration							 8000
gamma_acceleration							 1000
acceleration_ticks_per_second                1000             # Number of times per second the speed is updated
junction_deviation 0.5 #                     0.0005	              # Similar to the old "max_jerk", in millimeters,
                                                              # see https://github.com/grbl/grbl/blob/master/planner.c
                                                              # and https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8
                                                              # Lower values mean being more careful, higher values means being
                                                              # faster and have more jerk
#z_junction_deviation                        0.0              # for Z only moves, -1 uses junction_deviation, zero disables junction_deviation on z moves DO NOT SET ON A DELTA
#minimum_planner_speed                       0.0              # sets the minimum planner speed in mm/sec

#Stepper module configuration
#Cartesian axis speed limits
x_axis_max_speed 360000 #                    360000            # Maximum speed in mm/min
y_axis_max_speed                             48000             # Maximum speed in mm/min
z_axis_max_speed                             1800              # Maximum speed in mm/min

#Stepper module configuration
#Pins are defined as  ports, and pin numbers, appending "!" to the number will invert a pin
#See http://smoothieware.org/pin-configuration and http://smoothieware.org/pinout
#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.5              # X stepper motor current
alpha_max_rate                               360000.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.5              # Y stepper motor current
beta_max_rate                                48000.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.5              # Z stepper motor current
gamma_max_rate                               300.0            # mm/min


##Laser module configuration
laser_module_enable                          true            # 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.6             # 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                      50              # this sets the pwm frequency as the period in microseconds

##Switch modules
#See http://smoothieware.org/switch

#switch.misc.enable                          true             # Enable this module
#switch.misc.input_on_command                M42              # Command that will turn this switch on
#switch.misc.input_off_command               M43              # Command that will turn this switch off
#switch.misc.output_pin                      2.4              # Pin this module controls
#switch.misc.output_type                     digital          # Digital means this is just an on or off pin

##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 hbot or corexy
alpha_min_endstop                            1.24^!           # add a ! to invert if endstop is NO connected to ground
#alpha_max_endstop                            1.25^           # NOTE set to nc if this is not installed
alpha_homing_direction                       home_to_min      # or set to home_to_max and set alpha_max
alpha_min                                    -10              # this gets loaded after homing when home_to_min is set
alpha_max                                    900              # 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                                     -10              #
beta_max                                     565              #
#gamma_min_endstop                            1.28^!           #
#gamma_max_endstop                            1.29^            #
#gamma_homing_direction                       home_to_min      #
#gamma_min                                    0                #
#gamma_max                                    200              #

alpha_max_travel                             820              # Max travel in mm for alpha/X axis when homing
beta_max_travel                              620              # Max travel in mm for beta/Y axis when homing
gamma_max_travel                             220              # Max travel in mm for gamma/Z axis when homing

#optional enable limit switches, actions will stop if any enabled limit switch is triggered
alpha_limit_enable                          true            # set to true to enable X min and max limit switches
beta_limit_enable                           true            # 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

#Endstops home at their fast feedrate first, then once the endstop is found they home again at their slow feedrate for accuracy
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                  25               # 

alpha_homing_retract_mm                      10               # distance in mm
beta_homing_retract_mm                       10               # 
gamma_homing_retract_mm                      1                # 


#optional enable limit switches, actions will stop if any enabled limit switch is triggered
alpha_limit_enable                          true            # set to true to enable X min and max limit switches
beta_limit_enable                           true            # 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

#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                    true             # 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



##Network settings
#See http://smoothieware.org/network
network.enable                               false            # Enable the ethernet network services
network.webserver.enable                     false            # Enable the webserver
network.telnet.enable                        false            # 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

##System configuration
#Serial communications configuration ( baud rate defaults to 9600 if undefined )
#For communication over the UART port, *not* the USB/Serial port
uart0.baud_rate                              115200           # Baud rate for the default hardware ( UART ) serial port

second_usb_serial_enable                     false            # This enables a second USB serial port
leds_disable                                false             # Disable using leds after config loaded
play_led_disable                            false             # Disable the play led

#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                              3.26^!           # kill button pin. default is same as pause button 2.12 (2.11 is another good choice)
kill_button_toggle_enable        	     true             # allows for latching estop button
unkill_enable     			     true             # do not unkill when button held or released
kill_button_poll_frequency	5
kill_button_timer_fact	0.1
unkill_button_timer_fact	0.2

grbl_enable	false

#Switch module for laser TTL control
switch.laser.enable                            true            # Enable this module
switch.laser.input_on_command                  M42             # Turn ON when M42 is sent
switch.laser.input_off_command                 M43             # Turn OFF when M43 is sent
switch.laser.output_pin                        2.4             # Pin to control, to be connected to the laser power supply's TTL input

#Switch module for laser TTL control
switch.aux.enable                            true            # Enable this module
switch.aux.input_on_command                  M44             # Turn ON when M44 is sent
switch.aux.input_off_command                 M45             # Turn OFF when M45 is sent
switch.aux.output_pin                        2.6             # Pin to control, to be connected to the laser power supply's TTL input

#Switch module for door switch
switch.door.enable                true                     # Enable this module
switch.door.input_pin             2.11^                    # Pin where pause button is connected
switch.door.output_on_command     suspend                  # Suspend command
switch.door.output_off_command    resume                   # Resume command
switch.door.input_pin_behavior    momentary                # This pin toggles between it's on and off states each time it is pressed and released

##24-05-2019 Led options
switch.ledred.enable                         true
switch.ledred.input_on_command               M355               #
switch.ledred.input_off_command              M356               #
switch.ledred.output_pin                     1.18^o!               #
switch.ledred.output_type                    hwpwm
switch.ledred.pwm_period_ms					20

switch.ledgreen.enable                         true
switch.ledgreen.input_on_command               M357               #
switch.ledgreen.input_off_command              M358               #
switch.ledgreen.output_pin                     1.20^o!               #
switch.ledgreen.output_type                    hwpwm
switch.ledgreen.pwm_period_ms					20

switch.ledblue.enable                         true
switch.ledblue.input_on_command               M359               #
switch.ledblue.input_off_command              M360               #
switch.ledblue.output_pin                     1.21^o!               #
switch.ledblue.output_type                    hwpwm
switch.ledblue.pwm_period_ms				20

before_resume_gcode 					      M998

#msd_disable                                 false            
#dfu_enable                                  false            # For linux developers, set to true to enable DFU

#Only needed on a smoothieboard

currentcontrol_module_enable                 true             # Control stepper motor current via the configuration file

For both cases we have prepared the gcodes by hand. I will send put them here asap. but they are simple stupid gcodes with ā€œG1 X100 S0.4ā€ etc.

@ibrahimuslu Your expectations are way off!

  • A feed of 6m/s is extremly fast. You would need an accelleration of 180m/s2 to reach 6m/s within 100mm! Can your machine realy handle that (without play)?

  • 6m/s at a pixel size of 0.1mm (for example) is 60ā€™000 pixel/s, which meens each pixel only has 16.7us to switch the laser on/off or change the laser intensity. Smoothieware can never handle that and it is also too fast for typical laser power supplies, which accept max. 20kHz PWM!

  • The shift you see at the end of a line could be caused by delays in Smoothieware or the LPS.

1 Like

We have a really good mechanical design. Motors are getting heat but it can reach that speed. We played with configuration and drop the resolution in order to reach that speed on the motors. configured the drivers and for 10 steps for each signal from the smoothieware.

And a fast laser which working frequency is between 30-180khz.

you have written " (because laser PWM and stepper pulses are generated in different interrupt routines)." But i think you edit it. Is it true? I need to check it.

Yes, I had written that the signals are generated in different interrupt routines, but Iā€™m not a Smoothieware expert, so I deleted it.

What type of laser do you use, that can reach 180kHz PWM?

Have you tried slowing the machine down as previously suggested to see if that improves anything?

High speed aliminium case laser
I havent find the laser spec page. This is the laser we are using on top of it

I will try it next week. I will share the results.

The gcode ive shared below and at 150mm/sec it draws this

G21         ; Set units to mm
G90         ; Absolute positioning

;
; Operation:    0
; Type:         Laser Cut
; Paths:        1
; Passes:       1
; Cut rate:     6000 mm/min
;

;cut
; Pass 0

; Pass 0 Path 0
G0 X99.97 Y99.97
G1 X0.03 Y99.97 S0.20 F90000
G1 X0.03 Y0.03
G1 X99.97 Y0.03
G1 X99.97 Y99.97
G1 X99.97 Y99.97
M5          ; Switch tool offEnd

and the configuration is this @Arthur_Wolf can you help us?

soft_endstop.enable   true               # enable soft endstops
soft_endstop.halt     true               # HALT when soft endstop triggered (safest) when set to false the entire move will just be ignored
soft_endstop.x_min    0.0                # minimum X
soft_endstop.y_min    0.0                # minimum Y
soft_endstop.z_min    0.0               # minimum Z NOTE leave commented out to disable checking for this axis
soft_endstop.x_max 801 #ined #           # maximum X
soft_endstop.y_max 551 #1.0              # maximum Y
soft_endstop.z_max    201.0              # maximum Z NOTE leave commented out to disable checking for this axis

default_feed_rate                            4000             # Default speed (mm/minute) for G1/G2/G3 moves
default_seek_rate                            4000             # Default speed (mm/minute) for G0 moves
mm_per_arc_segment                           0.5              # Fixed length for line segments that divide arcs, 0 to disable
#mm_per_line_segment                          10               # Cut lines into segments this size
delta_segments_per_second					 100
#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

# 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

# Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
# See http://smoothieware.org/stepper-motors
alpha_steps_per_mm                           13.107877         # Steps per mm for alpha ( X ) stepper
beta_steps_per_mm                            13.107877               # Steps per mm for beta ( Y ) stepper
gamma_steps_per_mm                           12.5             # Steps per mm for gamma ( Z ) stepper

# Planner module configuration : Look-ahead and acceleration configuration
acceleration 300000 #100000
planner_queue_size                           32               # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
alpha_acceleration 300000 #100000
beta_acceleration 240000 #000
gamma_acceleration							 1000
acceleration_ticks_per_second                10000             # Number of times per second the speed is updated
junction_deviation 0.5 #                     0.0005	              # Similar to the old "max_jerk", in millimeters,
                                                              # see https://github.com/grbl/grbl/blob/master/planner.c
                                                              # and https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8
                                                              # Lower values mean being more careful, higher values means being
                                                              # faster and have more jerk
#z_junction_deviation                        0.0              # for Z only moves, -1 uses junction_deviation, zero disables junction_deviation on z moves DO NOT SET ON A DELTA
#minimum_planner_speed                       0.0              # sets the minimum planner speed in mm/sec

# Stepper module configuration
# Cartesian axis speed limits
x_axis_max_speed 360000 #                    360000            # Maximum speed in mm/min
y_axis_max_speed                             48000             # Maximum speed in mm/min
z_axis_max_speed                             1800              # Maximum speed in mm/min

# Stepper module configuration
# Pins are defined as  ports, and pin numbers, appending "!" to the number will invert a pin
# See http://smoothieware.org/pin-configuration and http://smoothieware.org/pinout
# 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.5              # X stepper motor current
alpha_max_rate                               360000.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.5              # Y stepper motor current
beta_max_rate                                48000.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.5              # Z stepper motor current
gamma_max_rate                               300.0            # mm/min


## Laser module configuration
laser_module_enable                          true            # 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.6             # 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                      50              # this sets the pwm frequency as the period in microseconds

## Switch modules
# See http://smoothieware.org/switch

#switch.misc.enable                          true             # Enable this module
#switch.misc.input_on_command                M42              # Command that will turn this switch on
#switch.misc.input_off_command               M43              # Command that will turn this switch off
#switch.misc.output_pin                      2.4              # Pin this module controls
#switch.misc.output_type                     digital          # Digital means this is just an on or off pin

## 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 hbot or corexy
alpha_min_endstop                            1.24^!           # add a ! to invert if endstop is NO connected to ground
#alpha_max_endstop                            1.25^           # NOTE set to nc if this is not installed
alpha_homing_direction                       home_to_min      # or set to home_to_max and set alpha_max
alpha_min                                    -10              # this gets loaded after homing when home_to_min is set
alpha_max                                    900              # 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                                     -10              #
beta_max                                     565              #
#gamma_min_endstop                            1.28^!           #
#gamma_max_endstop                            1.29^            #
#gamma_homing_direction                       home_to_min      #
#gamma_min                                    0                #
#gamma_max                                    200              #

alpha_max_travel                             820              # Max travel in mm for alpha/X axis when homing
beta_max_travel                              620              # Max travel in mm for beta/Y axis when homing
gamma_max_travel                             220              # Max travel in mm for gamma/Z axis when homing

# optional enable limit switches, actions will stop if any enabled limit switch is triggered
alpha_limit_enable                          true            # set to true to enable X min and max limit switches
beta_limit_enable                           true            # 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

# Endstops home at their fast feedrate first, then once the endstop is found they home again at their slow feedrate for accuracy
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                  25               # 

alpha_homing_retract_mm                      10               # distance in mm
beta_homing_retract_mm                       10               # 
gamma_homing_retract_mm                      1                # 


# optional enable limit switches, actions will stop if any enabled limit switch is triggered
alpha_limit_enable                          true            # set to true to enable X min and max limit switches
beta_limit_enable                           true            # 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

# 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                    true             # 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



## Network settings
# See http://smoothieware.org/network
network.enable                               false            # Enable the ethernet network services
network.webserver.enable                     false            # Enable the webserver
network.telnet.enable                        false            # 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

## System configuration
# Serial communications configuration ( baud rate defaults to 9600 if undefined )
# For communication over the UART port, *not* the USB/Serial port
uart0.baud_rate                              115200           # Baud rate for the default hardware ( UART ) serial port

second_usb_serial_enable                     false            # This enables a second USB serial port
leds_disable                                false             # Disable using leds after config loaded
play_led_disable                            false             # Disable the play led

# 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                              3.26^!           # kill button pin. default is same as pause button 2.12 (2.11 is another good choice)
kill_button_toggle_enable        	     true             # allows for latching estop button
unkill_enable     			     true             # do not unkill when button held or released
kill_button_poll_frequency	5
kill_button_timer_fact	0.1
unkill_button_timer_fact	0.2

grbl_enable	false

# Switch module for laser TTL control
switch.laser.enable                            true            # Enable this module
switch.laser.input_on_command                  M42             # Turn ON when M42 is sent
switch.laser.input_off_command                 M43             # Turn OFF when M43 is sent
switch.laser.output_pin                        2.4             # Pin to control, to be connected to the laser power supply's TTL input

# Switch module for laser TTL control
switch.aux.enable                            true            # Enable this module
switch.aux.input_on_command                  M44             # Turn ON when M44 is sent
switch.aux.input_off_command                 M45             # Turn OFF when M45 is sent
switch.aux.output_pin                        2.6             # Pin to control, to be connected to the laser power supply's TTL input

# Switch module for door switch
switch.door.enable                true                     # Enable this module
switch.door.input_pin             2.11^                    # Pin where pause button is connected
switch.door.output_on_command     suspend                  # Suspend command
switch.door.output_off_command    resume                   # Resume command
switch.door.input_pin_behavior    momentary                # This pin toggles between it's on and off states each time it is pressed and released

##24-05-2019 Led options
switch.ledred.enable                         true
switch.ledred.input_on_command               M355               #
switch.ledred.input_off_command              M356               #
switch.ledred.output_pin                     1.18^o!               #
switch.ledred.output_type                    hwpwm
switch.ledred.pwm_period_ms					20

switch.ledgreen.enable                         true
switch.ledgreen.input_on_command               M357               #
switch.ledgreen.input_off_command              M358               #
switch.ledgreen.output_pin                     1.20^o!               #
switch.ledgreen.output_type                    hwpwm
switch.ledgreen.pwm_period_ms					20

switch.ledblue.enable                         true
switch.ledblue.input_on_command               M359               #
switch.ledblue.input_off_command              M360               #
switch.ledblue.output_pin                     1.21^o!               #
switch.ledblue.output_type                    hwpwm
switch.ledblue.pwm_period_ms				20

before_resume_gcode 					      M998

#msd_disable                                 false            # Disable the MSD (USB SDCARD), see http://smoothieware.org/troubleshooting#disable-msd
#dfu_enable                                  false            # For linux developers, set to true to enable DFU

# Only needed on a smoothieboard
# See http://smoothieware.org/currentcontrol
currentcontrol_module_enable                 true             # Control stepper motor current via the configuration file

mm_per_line_segment         0.5         # added

https://www.luxinar.com/wp-content/uploads/2019/07/INDUSTRIAL-BROCHURE-amended.pdf says 130 khz pulse frequency.
https://www.luxinar.com/products/sr-10i/

I just figured I would pop in. I hope the spec links help.

I also saw " *Power feedback turn on response is typically 300 ā€“ 500 milliseconds"

Yes, I saw that spec too. This is a professional laser system, nothing like our amateur stuff :nerd_face:

2 Likes

Hello again me,

We have found that this problem is due to our servo drivers.
Thank you for all interest.

When we change parameter smooth factor on the driver. it runs better

1 Like