2006-08-14 15:27:48 UTC
better for discussing new features.
At the moment there is many ongoing projects to do microcontroller
based BLDC or other servo motor controllers. Using some expensive
special board to convert EMC motor command to analog, then send to
microcontroller and convert back to digital is not the optimum way
to di it.
I have in my mind use some existing and low cost
comminication channele for it. Some alternatives are
Ethernet- IP/UDP, USB, SPI via printer port or serial port.
Ethernet is already in about all PC's and interface boards
are wery cheap. 100Mbit/s is enough fast and if there is no
other communication in segment it is more that enough real time.
There is many under 10 ( Euro/dollar) microcontrollers with
ethernet interface and there is numerous examples how to interface
some RTL8019 to common microcontrollers.
USB is even more common and really cheap, it exists many low cost
microcontrollers. Only open question is that what is latency and
can it be enough real time.
Printer port SPI would be easu to implement but how much system
resources it needs to clock all bits out ?
Serial ports can with 115200bps serve with 1000Hz command rate
even few motor controllers.
Ethernet/UDP looks a like most easy way to implement. There is
ready RTnet interface for it. Only bad limitation of RTnet
is that it requires special network card driver. In desktop
computer it is OK to just add 5Euro Ethernet board for RTnet
and hopefully it works also with equivalent PCcard
ethernet cards for laptops ?
UDP HAL module could be also used for connecting multiple PC-EMC
compurters so that someones just works as stepper/servo controllers
just by using UDP-HAL module to pass position commands to others.
To bypass RTnet network card limitations, we can use directly kernel
internal api's to send udp datagrams or to port relativelly simple rtsock
Least, i think that UDP with RTnet is easiest and most versatile way
Some cheap microcontrollers like AT91SAM7X256 can be also used as gateway
to other motor controller processors. It can then interface to these
with SPI, CAN etc.
For USB, it needs more evaluation what speed and latency is possile.
Is it speed enough even for 1000Hz positioning commands. The datarate
should be enouugh but latency getting encoder data back from
microcontrollers may be problem.