Welcome.

On Tue, Nov 11, 2008 at 09:47:42PM +0200, Ahmed Elghamrawi wrote:
> So.. blah blah.. how i am what i do.. the point is: were to begin?
> We have a fair idea what programming should be, studied that but we have
> never did it for real. We don't have an actual machine in our hands yet, but
> we have stepper motors and some drive schemes.
> 
> 1. What is the best way to communicate with the computer, and EMC? the
> parallel port seems (from reading the HAL manual) to be easy enough?

> 3. Does EMC have a method of generating pulses and recieving inputs, in a
> customized way? (as we are essentially building a driver and control
> circuit, how can we send/receive from it?)

The parallel port in a simple digital I/O mode is a good choice when
your motors take "step & direction" inputs, and the rate of step pulses
is fairly modest (10-40kHz).  You also have a small number of pins left
over for other purposes such as amplifier enable out, limit switch in,
and so on.  You can also add a second PCI parallel port to get
additional I/O points.

If you need "step & direction" with higher pulse rates than that, then
you need a specialized interface that takes higher-level information (a
velocity or position command), produces the necessary step waveform, and
response to the machine with higher-level information (such as motor
position)

For this kind of "smarter I/O", pico-systems and mesa are the two
choices I'd recommend.  Those are both based on FPGAs.  In the case of
mesa, the FPGA firmware is also GPL software, but pico-systems is more
mature.  These cards are listed on our wiki:
    http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?EMC2_Supported_Hardware
These "smarter I/O" systems also typically offer more total I/O points.

If you want to make your own "smarter I/O" interface, keep in mind the
constraints discussed here:
    http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Emc2HardwareDesign
this is not a project to be undertaken lightly.

> 2. What else do we need to know or start reading about to do it?

Gather enough information to figure out the pulse rate you requre, and
the pulse rate attainable in emc.  This means
 * run the latency test to get a latency value for your PC
 * find the numbers you need to determine pulse rate
  * timings required by stepper motor driver
  * motor steps per revolution
  * full/half/microstep setting of motor driver
  * pulley ratio, if any
  * screw pitch
you can plug all this into the 'stepconf' application and determine
whether the attainable pulse rate (shown on page 2 of the stepconf
wizard) is high enough for the speeds you want (shown on pages 4, 5, 6)

This will let you decide whether emc will be able to deliver the step
rate you need on the PC you have.  Then figure out how many I/O points
you need.  With this information, you'll be able to decide between the
three major scenarios:
    * single parport, software step generation (low step rates, few I/O
      points)
    * double parport, software step generation (low step rates, medium
      I/O points)
    * smart I/O card (high step rates or more I/O points)

Jeff

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to