586,116 active members*
3,322 visitors online*
Register for free
Login
IndustryArena Forum > CNC Electronics > CNC Machine Related Electronics > Serial vs. parallel communication
Results 1 to 16 of 16
  1. #1
    Join Date
    Oct 2004
    Posts
    590

    Serial vs. parallel communication

    Would someone please briefly explain the pro's and con's of serial vs. parallel communications between the PC and the cnc machine. What are the factors that favor use of one method over the other? What are the cost differences? Reliability? Accuracy?

    Thanks.

    Chris

  2. #2
    Join Date
    Mar 2003
    Posts
    35538
    All the inexpensive software send step and direction signals throught the parallel port. The serial port is usually used to send information to an external pulse generator, which usually means more expensive software and additional hardware. But you can get better performance. But other than DeskCNC, which is about $300-$350, you'll be looking in the $1000+ range for anything good that uses the serial port.
    Gerry

    UCCNC 2017 Screenset
    http://www.thecncwoodworker.com/2017.html

    Mach3 2010 Screenset
    http://www.thecncwoodworker.com/2010.html

    JointCAM - CNC Dovetails & Box Joints
    http://www.g-forcecnc.com/jointcam.html

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)

  3. #3
    Join Date
    Mar 2004
    Posts
    156
    i'm using serial with xylotex driver.

  4. #4
    Join Date
    Jul 2003
    Posts
    125
    I'll bite -- how are you using serial with the xylotex driver?

  5. #5
    Join Date
    Oct 2004
    Posts
    590
    Quote Originally Posted by ger21
    But you can get better performance.
    Can you say a little bit more about what the performance difference is? Is it more than just speed and probably smoothness?

    Thanks again.

    Chris

  6. #6
    Join Date
    Mar 2003
    Posts
    35538
    Quote Originally Posted by OCNC
    Can you say a little bit more about what the performance difference is? Is it more than just speed and probably smoothness?

    Thanks again.

    Chris
    Mainly speed and smoothness, from faster and smoother pulse trains.
    Gerry

    UCCNC 2017 Screenset
    http://www.thecncwoodworker.com/2017.html

    Mach3 2010 Screenset
    http://www.thecncwoodworker.com/2010.html

    JointCAM - CNC Dovetails & Box Joints
    http://www.g-forcecnc.com/jointcam.html

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)

  7. #7
    Join Date
    Mar 2003
    Posts
    35538
    Quote Originally Posted by Chagrin
    I'll bite -- how are you using serial with the xylotex driver?

    You can use the Xylotex (or any drives) through the serial port with an external pulse generator, like DeskCNC's. The Xylotex just needs step and direction signals, it doesn't care where they come from. You can't send step and direction signals through the serial port, it's not fast enough. That's why all the inexpensive controllers (Mach2, TurboCNC) use the parallel port.
    Gerry

    UCCNC 2017 Screenset
    http://www.thecncwoodworker.com/2017.html

    Mach3 2010 Screenset
    http://www.thecncwoodworker.com/2010.html

    JointCAM - CNC Dovetails & Box Joints
    http://www.g-forcecnc.com/jointcam.html

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)

  8. #8
    Join Date
    Mar 2003
    Posts
    270
    Chris The serial port is used with an external controller. The commands sent to the external controller are not at a basic step and direction, drum beating pace. They are commands like a simplified G-code. In order to move from one end of your machine table to another a parallel port system will output every small incremental position along the way. If the system has 4000 steps per inch, that's 4000 X 48 or 192,000 commands on a 48 inch table. On a serial port, only a single motion command is sent from the PC, that says "go over THERE".

    There are speed limitations on the amount of useful information that can be sent out the parallel port. These vary by the operating system and processor speed. In the inexpensive windows software the upper limit is under 45,000 steps per second, on a good day with a tail wind.

    DeskCNC is a Windows based, serial port controller, which has a dedicated processor whose primary task is to create pulses at up to 125,000 steps per second. This does not change whether the computer is a Pentium 200 or a P4-3200. Precise, faster, pulse rates generally provide smoother motion control.

    Because many stepper systems are limited to low step rates by inexpensive drivers and lower voltages, the parallel port limitations may not come into play.

    DeskCNC provides some additional capabilities because it uses the external processor.

    Probing is immediate, surface scans are an order of magnitude faster and smoother. The DeskCNC software includes full support for surface scanning, including the creation of a smooth, tip radius compensated, re-machinable .stl CAD file.

    Feed Hold. The feed hold is tied directly to the external controller, so is Cycle start.

    Encoder input. The 2nd generation DeskCNC controller card has implemented a quadrature encoder input. That means that if you put an encoder on a lathe, you can slave an axis to the rotation of the encoder. This can be used for threading, handwheel manual pulse generation, and servo torch height control.

    Relay outputs, limit switches, homing all are also enhanced by the external controller board.

    One thing that parallel port advocates often fail to mention is that while you can get by without it, most likely you will eventually need a $150 breakout board to hook your machine up to your parallel port.

    The DeskCNC controller doesn't require a breakout board.

    Lastly DeskCNC is not just a controller. It includes a very powerful CAM capability. It can create 2d and 3d, CNC programs from Cad files, includes engraving, carving, tracing of image files, PCB trace routing and drilling, and more.

    Fred Smith - IMService
    http://www.cadcamcadcam.com

  9. #9
    Join Date
    Oct 2004
    Posts
    590
    [QUOTE=imserv]Chris The serial port is used with an external controller. The commands sent to the external controller are not at a basic step and direction, drum beating pace. They are commands.....


    Thanks Fred! This is exactly the information I was looking for.

    Chris

  10. #10
    Join Date
    Nov 2003
    Posts
    181
    With no disrespect to Fred are there any other serial controllers out there other than Desk CNC in a decent price range >$1500? I really like the idea of going serial but I would like to see what options are out thare for serial control on higher end DIY CNC machines.

    Carl

  11. #11
    Join Date
    Aug 2004
    Posts
    4
    Take a look at Ability Systems

  12. #12
    Join Date
    Jul 2003
    Posts
    246
    Quote Originally Posted by DDM
    With no disrespect to Fred are there any other serial controllers out there other than Desk CNC in a decent price range >$1500? I really like the idea of going serial but I would like to see what options are out thare for serial control on higher end DIY CNC machines.

    Carl
    This is serial controller and approx price will be 400$.


  13. #13
    Join Date
    Oct 2004
    Posts
    13
    From an electronics standpoint, it is easier to manipulate the parallel port in a manner to drive the stepper drivers. Basically, the software is "bit twiddling" the port -- not really using it in the normal parallel port fashion.

    A serial port sends one bit at a time, a standard parallel port sends 8 bits at a time.

    It won't be long before parallel ports disappear from computers... A USB interface could potentially be used. I'm not sure if there are USB to parallel adaptors, but if they follow specs properly and insert themselves at the proper memory address it shouldn't be impossible to use CNC software against a USB interfaced parallel port.

    To do good serial communications with a mill, the best bet would be to have a processor on the motor controller. The processor could take in commands and then direct the motors to execute the commands. This could be done for about $15 in parts (Maximum serial driver, PIC 18F or 16F microcontroller), but I wouldn't imagine there is much of a demand.

    The professional mills most likely have computers strapped to them, so the serial interface on a PC is just sending commands to the computer that is built into the motor / mill controller. With a microcontroller, you could potentially have the mill just accept G-Code or some other macros that say "Step X axis 10,000 times... go" instead of having to push values 10,000 times to the parallel port chip.

  14. #14
    Join Date
    Oct 2004
    Posts
    590
    Quote Originally Posted by telmnstr
    From an electronics standpoint, it is easier to manipulate the parallel port in a manner to drive the stepper drivers. Basically, the software is "bit twiddling" the port -- not really using it in the normal parallel port fashion.

    A serial port sends one bit at a time, a standard parallel port sends 8 bits at a time.

    To do good serial communications with a mill, the best bet would be to have a processor on the motor controller. The processor could take in commands and then direct the motors to execute the commands. This could be done for about $15 in parts (Maximum serial driver, PIC 18F or 16F microcontroller), but I wouldn't imagine there is much of a demand.
    By 'bit twiddling' do you mean that the parallel port is acting like a serial port by using one line at a time (albeit different lines in sequence)? Is the lack of demand for serial communication because the parallel system is in general 'good enough'?

    Chris

  15. #15
    Join Date
    Apr 2004
    Posts
    678
    @telmnstr: With a processor on the motor controller, you can predict that the different axes will arrive at the target point, and at the same point. But it's very difficult (impossible?) to make sure that they will follow a certain path (linear, arc, etc.) When one microprocessor have the momentary position of all axes, it can.

    If the microprocessor at the other end of the serial line controls all axes, it can do this. But it cannot be done by a low end microcontroller (PIC/AVR), as there is a bit (understatement) of maths involved. A DSP microcontroller like TMS320F240 would be a good one. But unless having a high speed communiaction, it would be best if it handles all axes. My guess is DeskCNC use a DSP with at least this performance.

    Professional machines often have separate processors as you mention, but then they have a serial communication at much higher speeds than RS232 to bring them closer (in exhange of position data) to one processor with one memory space. Google for "Sercos".

  16. #16
    Join Date
    Oct 2003
    Posts
    399
    Interesting discussion!

    I'm building a controller card. Been doing it for something like six months now . I finished most of the PCB artwork for the first prototype just yesterday, only have some minor "fix-ups" to take care of.

    It uses the host computer to do most of the difficult math, the host computer then sends commands over RS232 (115.2 kbps) to a buffer on the card, telling it to move linearly short distances (Up to 100 moves per second should approximate circles and arcs well, I hope).

    It's a learning experience mostly, but it would be nice if it turned out good enough to sell. That is still many months away, in any event. My thought is to allow for several kinds of motor drives: Step/Dir (Gecko/Rutex), +/-10V speed or torque drives, maybe PWM+dir for homebuilt H-bridge drives... it's a challenge though, it would require the card to run PID regulators and stuff.

    I'm taking a course at school in PID regulators, stability and those kinds of things, starting monday, which I bet will come in handy!

    Arvid

Similar Threads

  1. Adding a serial port - please comment
    By DareBee in forum DNC Problems and Solutions
    Replies: 11
    Last Post: 03-22-2006, 02:26 PM
  2. pic chip SERIAL to step/dir and controll
    By berin in forum Open Source Controller Boards
    Replies: 13
    Last Post: 02-19-2005, 12:23 AM
  3. Parallel Port Options
    By JasonCroyle in forum CNC Machine Related Electronics
    Replies: 4
    Last Post: 01-12-2005, 02:23 PM
  4. Serial or Parallel port drive
    By Max in forum CNC Machine Related Electronics
    Replies: 8
    Last Post: 11-02-2004, 07:20 AM
  5. CAD/CAM Serial Control Software
    By AndG in forum Uncategorised CAM Discussion
    Replies: 2
    Last Post: 05-11-2004, 01:43 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •