Best servo drive for software control?

F

FlyingPolarBear

Guest
I would like to set up three servo motors attached to one PC running Windows
XP, and control them in a simple fashion using software I would write. What
are some high quality servo drives that I can connect to the PC via USB,
Ethernet, or FireWire, and which provide a good programming interface in
C++? Which communication type of these three is most reliable? If I go
with ethernet I would like to continue to use the network card for TCP/IP
communications between different computers. Would a single axis be
sufficient? I am just looking to move the motor in forward, and reverse in
increments, independent of each other. A serial interface would be ok if it
can control three motors independently with a good software API available.

Thanks...
 
"FlyingPolarBear" <nowhere@noemail.org> wrote in message
news:iU6ac.16374$%V2.2050@newssvr27.news.prodigy.com...
I would like to set up three servo motors attached to one PC running
Windows
XP, and control them in a simple fashion using software I would write.
What
are some high quality servo drives that I can connect to the PC via USB,
Ethernet, or FireWire, and which provide a good programming interface in
C++? Which communication type of these three is most reliable? If I go
with ethernet I would like to continue to use the network card for TCP/IP
communications between different computers. Would a single axis be
sufficient? I am just looking to move the motor in forward, and reverse
in
increments, independent of each other. A serial interface would be ok if
it
can control three motors independently with a good software API available.

Thanks...
Any of the communication methods would work, but in terms of PC programming,
the serial port is going to be the simplest to implement bearing in mind it
will be a dedicated port without the complexities of routing that come with
the other network devices you mention. The serial ports can be accessed
from an application using just a few API or DLL calls. Using a serial port
means that you will not need hardwar specific drivers. It will simply be a
matter of sending the correct data string (typically between 2 and 10 bytes)
to the port.

The choice of interface depends to a large extent on the size of the motor,
the speed and duration of travel among other things. My experience of servo
and stepper motors are that the drivers a never quite what I need, so I end
up designing my own for the job. I think that you have some reading to do
to examine the data sheets andwork out which interface will suit your needs
best - unles of course others here happen to have used devices for similar
purposes.

One thing that does concern me is the use of Windows for real time control
applications. Because of the multi tasking facility of Windows, there are
sometimes some significant delays in processing isntructions. I have
noticed this particularly in monitoring of incoming data streams where the
display is not updated for up to a second or more. The same delay can take
place when sending data out to another device, so it is important to make
sure that the controls are not time critical. The use of a joystick, for
example, to control X, Y and Z movements will show some sluggish starts and
over runs when processing is delayed due to other tasks being handled In
this situation, you may be better to use a separate controller that will
properly handle real time control. use the PC, if it is still required for
display of the system status rather than the control of the system.

Sorry to have not answered your main question, but I hope the above will
assist

Peter
 
There are a huge number of people into home made CNC machines (either adding
CNC to existing milling equipment or even making entire CNC machines out of
wood and metal). Try some web searches.



"FlyingPolarBear" <nowhere@noemail.org> wrote in message
news:iU6ac.16374$%V2.2050@newssvr27.news.prodigy.com...
I would like to set up three servo motors attached to one PC running
Windows
XP, and control them in a simple fashion using software I would write.
What
are some high quality servo drives that I can connect to the PC via USB,
Ethernet, or FireWire, and which provide a good programming interface in
C++? Which communication type of these three is most reliable? If I go
with ethernet I would like to continue to use the network card for TCP/IP
communications between different computers. Would a single axis be
sufficient? I am just looking to move the motor in forward, and reverse
in
increments, independent of each other. A serial interface would be ok if
it
can control three motors independently with a good software API available.

Thanks...
 
Some CNC links for you....
http://www.crankorgan.com/index.html
http://www.robotics.com/md2.html
http://www.alzanti.com/start.htm
http://home.carolina.rr.com/gcodemcode/
http://www.deskcnc.com/frame1.html


All this kinda stuff hooks up to a PC parallel port using a more or less
standard interface and a programming language (GCODE). Tools exist to
convert DXT and similar file formats to GCODE.


"CWatters" <colin.watters@pandoraBOX.be> wrote in message
news:BQ9ac.55027$U87.3608634@phobos.telenet-ops.be...
There are a huge number of people into home made CNC machines (either
adding
CNC to existing milling equipment or even making entire CNC machines out
of
wood and metal). Try some web searches.



"FlyingPolarBear" <nowhere@noemail.org> wrote in message
news:iU6ac.16374$%V2.2050@newssvr27.news.prodigy.com...
I would like to set up three servo motors attached to one PC running
Windows
XP, and control them in a simple fashion using software I would write.
What
are some high quality servo drives that I can connect to the PC via USB,
Ethernet, or FireWire, and which provide a good programming interface in
C++? Which communication type of these three is most reliable? If I go
with ethernet I would like to continue to use the network card for
TCP/IP
communications between different computers. Would a single axis be
sufficient? I am just looking to move the motor in forward, and reverse
in
increments, independent of each other. A serial interface would be ok
if
it
can control three motors independently with a good software API
available.

Thanks...
 
Why not d/l a demo but working copy of Mach2 cnc from www.artofcnc.ca The
demo has 1000 lines and for the price I don't think you could write a
better program. It will run up to six axis step and control servo amps.

Dan
"FlyingPolarBear" <nowhere@noemail.org> wrote in message
news:iU6ac.16374$%V2.2050@newssvr27.news.prodigy.com...
I would like to set up three servo motors attached to one PC running
Windows
XP, and control them in a simple fashion using software I would write.
What
are some high quality servo drives that I can connect to the PC via USB,
Ethernet, or FireWire, and which provide a good programming interface in
C++? Which communication type of these three is most reliable? If I go
with ethernet I would like to continue to use the network card for TCP/IP
communications between different computers. Would a single axis be
sufficient? I am just looking to move the motor in forward, and reverse
in
increments, independent of each other. A serial interface would be ok if
it
can control three motors independently with a good software API available.

Thanks...
 
FlyingPolarBear <nowhere@noemail.org> wrote in message
news:iU6ac.16374$%V2.2050@newssvr27.news.prodigy.com...
I would like to set up three servo motors attached to one PC running
Windows
XP, and control them in a simple fashion using software I would write.
What
are some high quality servo drives that I can connect to the PC via USB,
Ethernet, or FireWire, and which provide a good programming interface in
C++? Which communication type of these three is most reliable? If I go
with ethernet I would like to continue to use the network card for TCP/IP
communications between different computers. Would a single axis be
sufficient? I am just looking to move the motor in forward, and reverse
in
increments, independent of each other. A serial interface would be ok if
it
can control three motors independently with a good software API available.

Thanks...


Once upon a time a long long time ago, we used to be able to real-time
control our steppers, servo's and hardware, directly from the computer's
standard I/O fitments. Instruction cycle times were measured in (gasp!)
microseconds and those motors did exactly what they were told.
Nowadays we own cheap computers thousands of times faster and more powerful,
yet we are reduced to issuing trivial high level command strings, via
numerous layers of buggy software, to intermittently talk to numerous
layers of external translation and control hardware.
The real-world tricky control aspects are now usually carried out by an
overworked PIC or it's ilk and that stunningly complex and powerful PC is
barely capable of performing duty as a dumb terminal.
People tell me this lunacy is the result of a 'free market'. I think the
inmates have taken control.
Other than games, what the hell do the general public -need- these computers
for?
regards
john
 

Welcome to EDABoard.com

Sponsor

Back
Top