Hi Joe, The industry preferred method of implementing an E-stop would be the opposite of what you propose. Rather than using the mechanical E-Stop switch as an input and logically ANDing the external E-stop switch and the internal E-stop machine state, you should use the internal E-stop machine state as an output and use electronic hardware (relay logic) to AND the E-stop switch and the E-stop machine state to enable the spindle motion and the X/Y/Z motion. To be clear, you're actually ANDing the non-E-stop conditions, or NANDing two E-stop signals. However you want to say it, motion should only be possible when the PC based controller says it's OK to run, and when the E-stop switch says it's OK to run.
The issue is the reliability of computer hardware and software. These have greatly improved, but are still not up to the reliability standards of relays. I like solid state relays, although E-Stop relays are usually clackity relays with mechanical contacts. Consider using multiple E-stop switches if someone could be pinned by part of the machine. Try think of all of the things that could go wrong and make sure someone could quickly reach an E-stop. When wiring your E-stop circuit, make sure the E-stop switch contacts are closed when you want the machine to run, and open when the E-stop switch is activated. That way, if there is any loose connection in your E-stop circuit, the wiring fault causes the machine to fail in the E-stopped condition. The simplest E-stop wiring would cut power to the spindle motor and all of your stepper motor power supplies, even though the spindle could probably be actively stopped faster if left under power and commanded to stop rather than coasting to a stop. Bruce On 11/07/2014 02:46 PM, Joe Hildreth wrote: > Hello everyone, > > I am sure these questions are asked all the time but I have found nothing > that really covers what I am looking for. (But maybe I am not too good with > the search.) > > I have built a CNC Gantry router based on the KRMx01 design from Kronos > Robotics. But instead of using the electronics and Mach3 he suggested, I am > using electronics, motors and Linux CNC. > > The basic machine is up and running and I am using it to cut more parts for > the machine. I am to the point now that I need to think E-stop, limit and > home switches, vacuum control (dust collection) and router PID. > > My setup is a C10 (cnc4pc) BOB, (4) CW230 stepper drivers, (2) 36vdc power > supplies (each feeding 2, CW230 drivers) and (1) 5vdc supply enabling the > BOB. The CW230 drivers do not have a charge pump or anything like that, > though they do have a pin called REST that according to the sparse > documentation says will allow the motor to free spin. (I guess it may be > considered an enable) > > Because I have a couple of teenage boys and a wife who have expressed an > interest in using the machine, I need to make sure it can be stopped in the > event something unplanned happened. Here is my thought and also where I need > some guidance on best practice or acceptable practice. > > 1) Connect external E-Stop to input pin on controller > 2) Use HAL to logic glue the AXIS GUI estop and AXIS GUI Power button > together so that IF both E-Stops are on the closed position AND the power is > on in AXIS GUI THEN allow charge pump signal on output pin of BOB > 3) Connect cnc4pc part C4 (charge pump) inputs to charge pump signal on the > corresponding output pin on the BOB. The output of the charge pump is a relay > with the choice of NO or NC contacts. If the charge pump frequency falls > above or below the operating threshhold, then use this output as a trigger. > 4) Connect the output to (2) C8 (cnc4pc part number) AC relays with 5 volt > input to connect / disconnect the AC side of the (2) 36vdc power supplies > that power the CW230 stepper drivers. > > In my simple mind, this should provide the following safety feature. > > A) The machine will only run if both E-Stops (external E-Stop and AXIS GUI > E-stop) are in the closed positions AND the power button (AXIS GUI) is on. > Allowing the Charge pump signal to be generated on the output pin of the BOB > enabling the power to the motors through the Charge Pump and AC Relays. > > B) If either Estop is opened, then the Charge pump signal will be stopped > causing the power to the supplies to be cut by the AC Relays from the Charge > Pump. > > C) If the computer crashes and the LPT port is left in an unknown state, the > charge pump signal should be gone causing the power to the motors to be cut. > > D) Avoid any start up random signals to the LPT port being sent to the motors > because the drivers will not be powered up. > > Kind of long, but am I on the right track here. Just want to have a margin of > safety if my boys or wife is trying to use the machine. > > If you are interested, I have a detailed build of this machine, including > screen casts of LinuxCNC hybrid install, configuration to this point, etc on > my website which you can see by going to > http://myheap.com/krmx01-cnc-router/krmx01-build-log.html > > I will be adding this (E-Stop, charge pump, AC relays) to the pages too > including how to configure and the logic behind the solution. I am hoping it > to be a resource to others like me who are only in it on the hobby level and > still have the HUGE learning curves to make it over. > > Many thanks, > > Joe > > ------------------------------------------------------------------------------ > _______________________________________________ > Emc-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-users > > ------------------------------------------------------------------------------ _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
