On Thursday 14 August 2014 22:42:13 Peter C. Wallace did opine
And Gene did reply:
> On Thu, 14 Aug 2014, Gene Heskett wrote:
> > Date: Thu, 14 Aug 2014 20:06:20 -0400
> > From: Gene Heskett <[email protected]>
> > Reply-To: "Enhanced Machine Controller (EMC)"
> > 
> >     <[email protected]>
> > 
> > To: "Enhanced Machine Controller (EMC)"
> > <[email protected]> Subject: [Emc-users] Questio on
> > nor's & nand's
> > 
> > Greetings;
> > 
> > I know I can make a nand by following an and2 with a not, or a nor
> > using the same not on the or2 output.
> > 
> > But we at times, really do need a nand and a nor.
> > 
> > In fact, I was wishing I had a 4 input and at one point today.
> > 
> > Has anyone ever considered adding those modules to our trick basket?
> > 
> > Thanks.
> > 
> > Cheers, Gene Heskett

> The LUT5 component can do all the mentioned logic functions.
> 
> 4 input and is  0x00008000
> 2 input nand is 0x00000007
> 2 input nor is  0x00000001
> 
What I am trying to do, is re-write the logic from a complicated 3 edge 
modules, using their outputs s clocks to operate a pair of flipflops that 
had the net effect of, when the motion direction reversed, blocking the 
requested speed from the input to a limit2 that controls the acceleration, 
and enabled the dynamic braking until such time as the spindle was 
essentially stopped, which then clocked the new direction and speed back 
into the driver, but accel ramped to the requested speed.

This worked well, if slow for a peck cycle built out of a g33.1 wrapper.

But while playing with that lashup, I found that if from mdi input, I had 
the spindle running at 1k rpms or above, and while it was running, I typed 
an s100ENTER into the mdi, the overrun from the spindle feedback caused 
the pid to change the sign of its output. While the motor was still 
running the spindle at 1000 rpms or more.  That caused the direction 
relays to reverse, and proved several times that the controller almost had 
enough guts to reverse the motor in a few milliseconds, bringing it to a 
complete stop and rotating it the other direction about 1/4 turn before it 
recovered, stopped and the wound it back up to the newly selected rpms.
This is not something that you or I would ever do in our gcode output, but 
which could happen in machine generated code.

So I junked that code, and moved the now blown hexfet in the controller to 
a spot on the desk here for future attempts to find a much higher rated 
hexfet, putting the one from another controller whose input circuitry was 
blown by wrapping it with a shorting bar and moving that good one to an 
otherwise working controller.

Now the theory I am trying to conjure up will operate what was the 
run/brake relay with a 4th signal from the BOB so that it will be 
energized, short circuiting a 50 ohm 200 watt resistor in series with the 
motor and allowing full power to be delivered.  And, if conditions cause 
the resistor to be switched in, the whole speed command path is reset to 
send about a 0.5 to the PID.s.command, or a -0.5 if motion.spindle-reverse 
is true.  That should ease the controllers stress, and as soon as the 
encoder.velocity output sign matches the motion.spindle-direction this 
relay will be energized, the clamps on the value sent to pid.s.command are 
removed, and the speed then ramped up to the selected speed by the limit2.
The limit2's input is switched around by a pair of mux2's.

Then, if on a slowdown such as having it turning 1500, and giving it a new 
speed of 100 causes a PID output sign change, the relay will be de-
energized, inserting the protective resistor which should protect the 
controller until such time as the PID.s.output sign again matches the 
requested direction from motion, at which time the relay is re-energized 
and control reverts to normal full power.

This is in effect, two different functions controlling the same relay.  In 
the overrun recovery, I want it to brake, yes, but brake power limited by 
that big resistor until such time as the direction sign out of the PID.s 
again matches the requested direction.  At that time it should be safe on 
the controller to re-energize the relay allowing full power to reach the 
motor again.  Getting close to a 4 quadrant control with a one quadrant 
controller.

But I believe that doing this on a long term basis will need a hexfet 
rated at more than 200 volts and 35 amps.  I can get 78 amp, 650 volt 
rated devices in the same plastic to247 package, but haven't been able to 
check the gate capacitance to see if the gate drivers used in this Gemini 
controller are capable of driving that increased capacitance while 
maintaining the needed transition times.

The existing hexfet used in this controller is an IRFP250N.  And my 8' 
shelf of semi books is, after 12 years of retirement, sadly way out of 
date. What I need is to download IRC/Vishay/Siliconix's complete power 
hexfet catalog, but I've not been able to get a google hit on the whole 
thing.  If someones google foo is better than mine, URL plz. :)

Best I can come up with from here is a Vishay/Siliconix SiHW73N60E
Are there even better ones?  I don't know.

> Peter Wallace
> Mesa Electronics
> 
> 
> -----------------------------------------------------------------------
> ------- _______________________________________________
> Emc-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-users


Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>
US V Castleman, SCOTUS, Mar 2014 is grounds for Impeaching SCOTUS

------------------------------------------------------------------------------
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to