Re: New project...PCI based servo control board



Hi all,
Just to put in my two cents worth. Exclusive of the hexapod people most of
us can get along with 4 channels of dac/encoders. As far as I can tell the
A/D functions of the stg card don't get much use. DIO probably should be an
add-on (daughter board?) in 32 bit or so increments. Yes, I know...that
limits us to 3 axes and a spindle drive or external  spindle and A | B | C.
Now I'll leave the real work to the people that know how to do it.
IOW -- low cost would be nice.

Dave Engvall

----- Original Message -----
From: "Craig Edwards" <cedwards-at-ceinetworks.com>
To: "Multiple recipients of list" <emc-at-nist.gov>
Sent: Wednesday, March 26, 2003 11:42 AM
Subject: RE: New project...PCI based servo control board


>
> Hi John,
>
> Sounds like we are thinking along the same lines...  And yes, I'm
certainly
> open to collaboration.  At this stage, I'm envisioning a single PCI card,
> with an architecture that is very tightly coupled to the primary CPU.
> That's why I've mostly considered the PCI bus, despite the complexity and
> cost drawbacks. It has low latency if properly implemented and is well
> supported by all OS's Most definitely FPGA based, because I'm sure we
won't
> get it "right" the first time, at least with regard to feature set.
> Actually, I guess I'm thinking that if we can get the initial board design
> completed with just a basic set of functions implemented, it could "grow"
> over time to support more advanced features.  Initially I was thinking of
> primarily including the functionality of the Servo to Go ISA board, with
> stepper support being something for the future.  But as Ray says... Twist
my
> arm...I agree we should try to get as many inputs as possible.
>
> As you probably know, the PCI bus (and associated drivers) are fairly
> complex, at least if one wants to do a full implementation.  Even 32 bit,
> 33MHz target only VHDL code for a FPGA instantiation is pretty pricey, but
> I'm working on some options.  If we can afford a large enough FPGA, there
> will be plenty of room for stepper pulse generators and GP I/O.  As you
> pointed out, there a large number of trade offs to be made with regard to
> how many features we try to include on single board, but that's the fun of
a
> project like this.  I'm not very familiar with Jon Elson's designs, but
I'll
> have a look at them.  I think it's fair to say I'm pretty firmly in the
> "single board" camp, as I really want a solution that is tightly coupled
to
> the motherboard. But having said that.. I guess we could consider
"daughter"
> cards....:)
>
> I'll try to have some sort of preliminary board spec to talk about at
NAMES,
> capturing as much of everyone's input as I can.  I need to better
understand
> what the programmers would like to see in way of interfaces.  I'm thinking
> that some sort of block I/O, reading or writing to multiple registers with
> one transaction would be preferred... But maybe single register is access
> fine.  Anyway LOTS to talk about, I hope we can hook up at NAMES.
>
> Best regards
>
> Craig Edwards
>
> -----Original Message-----
> From: emc-at-nist.gov [emc-at-nist.gov] On Behalf Of
> jmkasunich-at-ra.rockwell.com
> Sent: Wednesday, March 26, 2003 9:42 AM
> To: Multiple recipients of list
> Subject: RE:New project...PCI based servo control board
>
>
>
>
>
> Craig Edwards wrote:
>
> > Actually, I started on a project around a year to
> > define and build a PCI based servo control board,
>
> > I've tried to solicit some feedback for requirements
> > on a couple of other forums, but most were/are
> > interested in a more "distributed" sort of solution
>
> > Anyway, I'm thinking this group might be more interested
> > in this project; if so, I would like to try to attend
> > NAMES just to meet some of you and to better understand requirements
> > for the "ideal" servo / encoder interface board that could be easily
> > used by EMC.
>
> I'm interested, both as a potential customer and a
> potential contributer.  Are you aware of Jon Elson's
> universal stepper controller and PPMC board set?
> The stepper contoller has 4 high speed pulse generators
> and 4 encoder counters, as well as some general I/O.
> The PPMC set is more modular, and includes an encoder,
> input board, analog output board (for analog servo amps),
> and generic digital I/O.
>
> One of the problems that face any hardware solution is
> the wide range of requirements.  Some folks have analog
> servo systems, and need analog outputs with encoder
> feedback.  Others are using Gecko style step-and-direction servos, and
need
> pulse train output, with optional encoder feedback.  Others are using
> steppers, and simply need pulse outputs.  Then there are all the secondary
> functions: Jog wheels need an encoder input.  Lathe spindles also need and
> encoder input, with an index pulse for threading. Rigid tapping on a mill
> also needs a spindle encoder. Variable speed spindle drives need an analog
> output, even if the rest of the axis drives are step and direction. And
> every system needs some amount of digital inputs and outputs, for limit
> switches, e-stops, tool changers, spindle and coolant control, and so on.
>
> For example, consider my project.  I am trying to CNC a Shoptask 3-in-1
> machine.  I want to do a first class job, with support for threading,
> variable speed spindle drive, etc.  My requirements are:
>
> Three main axis (X, Y, Z), with Gecko microstepping drives.
> One aux axis (rotary table or index head), also Gecko stepper. Each of
these
> axis needs a pulse generator, and probably a pulse counter (unless the
> generator is open-loop accurate). Each axis also needs at least one and up
> to three inputs for limit and home switches.  I also need an encoder input
> for a jog wheel, and an encoder input (with index pulse) for the lathe
> spindle.  I will be using a VFD for the spindle drive, so I need start,
> stop, forward/reverse, and speed reference signals for the VFD, as well as
> two signals to control contactors to connect either the mill or lathe
motor
> to the VFD output.  Finally, the Shoptask millhead can be raised or
lowered
> (in lieu of a knee), and at a minimum I want an encoder to tell the
control
> where the head is at.  Control of the head with up and down outputs would
be
> better.  (It is driven by a reversible gearmotor, and never moves during a
> cut.)  I haven't thought too much about coolant yet, but I certainly want
to
> be able to add it.
>
> So there is my list.  I'd like to collect as much input from others as
> possible - what combination of encoders, analog outputs, pulse generators,
> digital I/O, etc., are needed for different types of projects?
>
> Does anyone have any creative thoughts on how to mix and
> match these functions?  I know of two basic approaches,
> and Jon Elson's products demonstrate both.  First, you
> can go modular.  Jon did that with the PPMC line, where
> one board has 4 analog outputs, one has 4 encoder counters,
> one has digital I/O, and so on.  On the plus side, you can
> mix and match the stuff you need.  On the minus side, the
> cost is high because you need a number of individual boards
> as well as a motherboard.  Jon's Universal Stepper controller takes the
> other approach.  It has a fixed set of functions in one FPGA, on one
board.
> That means a lower cost, but if you need one more encoder, or whatever,
> there is no simple expansion path (other than adding another whole board).
>
> I'd like to discuss options, and possibly come up with an
> open hardware design.  I am willing to do circuit design,
> board layout, etc.  Craig also seems willing to work in
> this area.  Maybe we can come up with a design that is
> both flexible like a modular system, and cheap like a
> fixed system...
>
> John Kasunich
>
>
>
>
>
>
>
>
>
>
>




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact