Hi all,
I recently received my Snapmaker 2 this past Friday and I was excited to test it out. I was running the CNC module on 1/4" plywood which was slightly warped. While going through one of the warped sections, the end mill got caught in the work piece. I hit stop on the screen, but as I’ve read that only stops the current process in G-Code and not immediately. I had to frantically fumble around the back of the power supply to shut off the machine.
The common safety practice in industry for systems such as turbines, boilers, motors, etc. is to have machine safeguards in the event that something goes wrong. Safety trip controls allow for a quick means of stopping the machine in an emergency situation. Ideally this would be a hardwired trip circuit with redundant relays that are de-energized in the event of a trip, but this can be done in logic.
Trips in logic are giant OR gates and in the event one of the inputs to the OR gate become TRUE, a trip is initiated. I don’t know if there is current sensing in the Snapmaker controller for the motors, but if there is this would be a great to use for safety trips.
For Example:
Let’s say for example we have a trip setpoint for current for all the motors is 2A and there is a Safety Relay which has the motor power on each of the contacts.
The Safety Relay is Tripped(De-Energized) when the following happens:
- If (Linear_Motor_X_Current > 2A for 2 seconds) OR (Linear_Motor_Y_Current > 2A for 2 seconds) OR (Linear_Motor_Z_Current > 2A for 2 seconds) OR (CNC_Spindle_Motor_Current > 2A for 2 seconds) OR HMI_E-STOP_Pressed OR Hardwired_E-Stop_Pressed THEN DE-Energize Safety Relay
The permissives to reset(Energize) the Safety Relay is when:
- IF (Operator clicks the HMI_Reset_Button) AND no Trips are Active THEN Energize Safety Relay
When the safety relay is energized, the relay contacts are closed which power is provided to the individual motors. When the safety relay is de-energized the relay contacts are open and power would be lost to each of the motors.
When a trip occurs, users should receive a notification on screen known as a “First-Out” which shows what caused the unit to trip. Upon reviewing the situation and the user has deemed everything safe for operation and there are no trips active, the user should be able to reset the relay.
Upon resetting relay everything is energized, but the work does not resume until the operator clicks “Resume Work”. After a trip the user can manually or automatically move the toolhead to the last recorded location of the trip manually and then click resume work if everything is okay.
Not only would safety controls protect the machine from damage, but it would also protect the people using it. Like I said this can be accomplished in logic, if a trip occurs all the current process can be exited and all motor actions stopped. Snapmaker Devs, please consider adding safety features such as this.
Thank you,
Lance

