Servo motor controller project



Hi,

I'm working on a free, publicly available servo motor controller. The
first
iteration of the schematic and PCB is very close to completion, and I
invite
anyone interested to give me feedback on the design.

I can't post to the dropbox at www.linuxcnc.org .
I have posted the PDF to the CAD_CAM_EDM_DRO list files section
on Yahoo, but I realize this is a bad location for most people.
I will make a better plan soon.

Filename is FPGAservodriver.pdf

I will post the PCB design shortly. PCB is 130mm x 130mm, double sided.

What this is:

An FPGA based IO board that includes:

4x Quadrature shaft encoder counters, supporting TTL and differential
drivers.
4x DAC outputs, -10V to 10V for driving servo amplifiers.
4x Digital motor outputs for driving stepper amplifiers, or H-bridges.
Can be used
 to drive PWM based servo amplifiers instead of analog ones.
7x Outputs, low side drivers that can drive relays etc...
14x Inputs, for limit switches etc...
1x Interrupt to the PC for whatever people want to do with it.

The board connects to the PC using an EPP parallel port.

The FPGA configuration is uploaded using the parallel port, making on
the fly
reconfiguration of the FPGA possible.

All of the complex and interesting stuff happens on the FPGA, and the
FPGA is much,
much larger than required making the possibilities for customization
endless.

The net side effect of this is that the board is relatively simple, and
cheap. Ballpark
component cost per board is $35 to $50 in South Africa, and all the
components are of the
shelf, even the FPGA is readily available.

What needs to be done:

Test prototypes. I will be able to do this is in a week or two.

Finish the FPGA programming. If I do this alone it will take some time,
and only the
minimum required to run servo's from EMC will be implemented.

Write or modify a driver for EMC. I'll really appreciate help here.

Wish list:

The core design can easily be used to progress towards both a PCI based
board, and a USB
based board. I'm concerned about latency problems using USB, and
cost/complexity issues with
PCI.

Someone very good at FPGA's should be able to program a large part of
the actual servo or stepper
control algorithm in the FPGA. Won't be me though.

A open source design for a servo amplifier and stepper driver that
complements this controller, and
implements some of the unique possibilies it offers with the PWM
outputs.

The catch:

The board uses a surface mount FPGA, and a large number of 1206 size
surface mount resistors and capacitors.
This might make it difficult for some people to build.

The EPP interface has not been tested yet. I can only do that once I
have PCB's made. The rest of the circuit
is straight forward and should not pose a problem.

The licensing:

I'm still contemplating this. I want it free and public. The intent is
to put something in the public domain that
anyone can download, build and be able to run a machine properly for the
cost of a couple of ball nose milling bits.

What I don't want is people making money of the actual design, i.e. I
don't want somebody to build boards based
on this design and sell them for lots of money, but I will be happy if
someone builds them and sells them at a
reasonable price, if they add value by contributing to the drivers and
design, and all of the improvements are
public. Anyone selling this must make it abundantly clear that the
potential customer can build it for himself
should he wish.

Making money of a machine driven by this board is well within the
intended use.

Any suggestions on how to licence this?

An then lastly and most importantly, may thanks to Keith Bolson for his
invaluable insights and
suggestions.

Regards,
Nic van der Walt.

To answer some of the questions I forsee pre-emptively:

Q: Why parallel port? It's not good enough!

A: The parallel port in EPP mode can be as fast as a ISA bus based card,
and while ISA is dead the parallel port
    has quite a bit of life left. PCI and USB is to complex to start
with, but could be a good future addition.

Q: Aren't you getting ahead of yourself with the licensing. This isn't
even done yet.

A: Yes, but I was involved in a previous open source development where
the design was grabbed by one of the
   free-loaders, put in production and he made mega bucks of other
peoples work without even acknowledging the
   origin of the design. Something I would like to avoid, since that can
kill a project like this.

Q: Do you need help?

A: Yes please.





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

Problems or questions? Contact