On Sat, 16 Dec 2006, John Prentice wrote:

> Date: Sat, 16 Dec 2006 17:40:32 -0000
> From: John Prentice <[EMAIL PROTECTED]>
> Reply-To: "Enhanced Machine Controller (EMC)"
>     <emc-users@lists.sourceforge.net>
> To: "Enhanced Machine Controller (EMC)" <emc-users@lists.sourceforge.net>
> Subject: Re: [Emc-users] E-stop circuit ?
> 
> Anders, greetings
>
> Some comments from a personal point of view - others will differ!
>
>
>
>> start at the HAL pin E-stop-out. It will be high whenever EMC thinks
>> it's OK to go out of E-stop.
>>
>> E-stop-out drives the coil of a NO(normally open) relay. This relay
>> connects +12 V to the beginning of the E-stop chain only if E-stop-out
>> is high.
>>
>> On the +12V wire, a number of NC(normally closed) switches follow: Red
>> E-stop buttons (2), Limit switches(6), NC relays on the servo amps(3).
>>
>> At the end of the chain we are going to have either +12V if everything
>> is OK, or 0V if we are in E-stop.
>
> Yes - basic series architecture is right. Not having the PC logic ground
> wandering around the machine amnd using 12 (or even 24 volts) is also good
> to avoid noise pickup.
>
> I would not want the servo faults to E-stop the whole system and would be in
> two minds about the limits. On a modest size machine it is probably safe for
> EMC to implement the limits. In particular if the spindle stops before axis
> movement nasty things happen to tool and workpiece. If spindle is running
> the tool is likely to be safe. On a big machine you might have to have
> limits to protect against servo runaway (e.g. from failed encoder) which
> could smash up the iron.

Not that it replaces E-Stop, but does EMC have any simple motor modeling 
heuristics so it can do a shutdown is case of broken encoders etc?

A busted encoder during motion can be detected as a following error, but a 
busted encoder in a static location needs some other method.

What we use (in our very limited code space = 1K) for SoftDMC is over-drive 
detection, This is implemented with a 16 bit counter that is incremented by N 
when Drive (PWM etc) is 100 % and decremented by M when Drive is less than 100 
% each sample period. The counter is dead-ended at zero. If the counter ever 
wraps, we do a shutdown on that axis.

This allows us to program the trip time in sample periods, yet not have false 
triggers when drive is near 100% (a value of M much larger than N will reset 
the count if drive is ever less then full)

With this simple system (and some reasonable amount of integral term in the 
PID loop) you can pull an encoder connector and have the motor shut down in 10 
mS or so



Peter Wallace

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to