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