585,996 active members*
4,628 visitors online*
Register for free
Login
IndustryArena Forum > Machine Controllers Software and Solutions > LinuxCNC (formerly EMC2) > why people use cnc controllers when EMC2 has it inbuilt
Results 1 to 12 of 12
  1. #1
    Join Date
    Mar 2011
    Posts
    0

    Lightbulb why people use cnc controllers when EMC2 has it inbuilt

    i dont understand y people use cnc controllers like the uhu , servo processor module and other industrial servo/stepper controllers when they can use the cheap open source EMC2 controller which has built in PID.

  2. #2
    Join Date
    Dec 2003
    Posts
    24221
    If you are referring to the PID loop, somewhere there has to be a DSP handling this function, In the case of Mach, the servo drives themselves are handling this on an individual basis, in the case of a motion card in EMC2 or an outboard USB or other system such as Dynomotion, there is a single, central DSP that handles the motion trajectory and the PID loop for all axis, all that is required is an operator front end, which is a function of the PC.
    The central DSP is considered superior because of extra features and benefits it offers, and the ability to use analogue (trans-conductance-Torque) non-DSP drives.
    Often the simple way is the cheapest and simplest to establish, IMO, this is the main reason for the popularity.
    Al.
    CNC, Mechatronics Integration and Custom Machine Design

    “Logic will get you from A to B. Imagination will take you everywhere.”
    Albert E.

  3. #3
    Join Date
    Jul 2003
    Posts
    1754
    Not quite... In linuxcnc - software controls the PID. In none of the external interface hardware is the PID in a dsp.

    In a very basic setup (I would not recommend because of PC limitations - but it does work and has been used)

    https://www.youtube.com/watch?v=olIr747zBGg

    this basically outputs pwm from the printer port to run the servo - and reads the encoder back through the printer port. The motion/pid is all within the computer.

    What the interface boards give you (and inexpensively I might add) is faster pwm generation and high speed encoder counters. (also fast and plentiful i/o)

    linuxcnc also has a bldc software module that more and more people are using. Very powerful. Allows for all kinds of commutation combinations and also using the endoder for sinusoidal control instead of just hal commutation.

    sam

  4. #4
    Join Date
    Mar 2011
    Posts
    0
    hi sam,
    i already saw the video which you posted as a link and after seeing it i have asked this question. but this video proves That linux EMC2 is capable of driving servos/steppers so y do people still use drivers. i am sure that most of them are aware of the capabilities of EMC2 to drive servos. but they still use drivers. WHY???.

  5. #5
    Join Date
    Jul 2003
    Posts
    1754
    1) Don't want to switch to/scared of linux

    2) Think you need to be a programmer to understand/setup linuxcnc

    3) After trying linuxcnc for 5 minutes - decide it is too hard and stop.

    4) it isn't exactly like mach

    sam

  6. #6
    Join Date
    Dec 2003
    Posts
    24221
    Before I would commit to such a system, I would like to see actual performance figures such as max. encoder frequencies/resolution capabilities and servo loop update (µs), for say, a 3 - 4 servo axes with encoder controlled spindle.
    I am a bit leery of a using the PC processor when it also has to operate all the I/O functions registered in BIOS and all other program overhead?
    I am not sure if it was because of mechanical noise of the gear box or the control method used but the motor in the Video appeared to be unduly noisy, electrically? almost had the appearance of a stepper?
    I am used to using BLDC/analogue drives and they are extremely smooth and extremely quiet up to the rated RPM.
    Al.
    CNC, Mechatronics Integration and Custom Machine Design

    “Logic will get you from A to B. Imagination will take you everywhere.”
    Albert E.

  7. #7
    Join Date
    Aug 2005
    Posts
    157
    There is a limit to how fast the parallel port and software can run.
    Take an average guesstimate example:
    3 axis with 6tpi on each with 100 ipm rapids
    If an encoder is 1000 pulse per rev X 6 rev per inch X 100/60 X 3 = 30,000 pulses per sec
    You need to sample at at least 4X rate to see clean changes - 120khz
    PWM running at only 10khz X 3 = 30,000 pulse per sec
    total 180,000 pulse per sec or 180 khz
    Common settings for base thread and servo thread in linuxcnc are 10khz and 500 hz respectively.
    In both cases you will far exceed the reasonable limits of the software or have problems if you set your threads to high and risk bogging down the predecessor which still must do all the calculations, display, read switches / keyboard, denouncing, etc and all the other things a computer must do to run. Remember these threads run in real time, not scheduled, so they take priority over all other processes.
    While 180khz does not seem to fast for the port, 100 ipm is slow for a serious cnc more like 1000 ipm so now close to 1.8 mhz and parallel port maxes out at 2.0mhz in bursts and this will be constant while running.

    Again, these are just swags, and you could run a slow system without drivers, BUT you still need some form of "driver" to supply the needed power to the motors, so why not let them do the heavy lifting?

  8. #8
    Join Date
    Jul 2003
    Posts
    1754
    I gave the printer port example to show that linuxcnc is doing the pid... There have been some hobby machines setup using the printer port for closed loop servo control. This is pretty low performance. I would not use it as there is inexpensive interface hardware that does the encoder counting/ pwm so the computer doesn't have to.

    The 'servo loop' within linuxcnc is usually 1kz but some run as high as 10khz. This is where the motion calculations/pid type stuff happens. It is realtime so it happens every 1khz/whatever without fail. The computer does this job very well. every 1khz - all inputs are read -> calculations are done -> Outputs are set. It is the nist moto of sense, model, act.

    Linuxcnc + realtime kernel has no issue with doing this and does it well. there are tons of machines setup this way (closed loop with the loop closed within linuxcnc)

    My conversion has 4 axis, 16 gear spindle with 2 encoders on it, tool chain and changer, pallets... that is 96 i/o 10 analog outputs + 10 encoder counters all being controlled with linuxcnc. Never misses a beat.

    [ame=http://www.youtube.com/watch?v=39q6kvrSBSk]Kearney and Trecker CNC running simple program. (tool changing and everything) - YouTube[/ame]

    This is using mesa interface hardware. (it works very well - industrial grade stuff that is pretty inexpensive....)

    sam

  9. #9
    Join Date
    Aug 2005
    Posts
    158
    very cool

    what are the 2 pieces of what looks like 2x6 lumber I see at the top?
    www.decalpro.ca

  10. #10
    Join Date
    Jul 2003
    Posts
    1754
    storage of 2X6 lumber....

    lot of flat surface on the top of that tool chain...

    sam

  11. #11
    Join Date
    Aug 2005
    Posts
    158
    I've been following your retro and from what I saw before it all looked well done. I Then saw this video and thought what the hell did he Jerry Rig there LOL...
    www.decalpro.ca

  12. #12
    good job. ...............................................

Similar Threads

  1. Replies: 1
    Last Post: 01-04-2013, 04:45 AM
  2. What are people using for a low budget Z?
    By taiden in forum DIY CNC Router Table Machines
    Replies: 10
    Last Post: 06-04-2012, 02:28 PM
  3. scanning people
    By fred friendly in forum 3D Printing / Scanning Software and Hardware
    Replies: 15
    Last Post: 08-12-2011, 04:05 AM
  4. UK people - what transformer
    By ted34 in forum Hobbycnc (Products)
    Replies: 3
    Last Post: 07-12-2009, 04:20 PM
  5. Any R/C people using this circuit?
    By Al_The_Man in forum Hobby Discussion
    Replies: 1
    Last Post: 03-22-2005, 06:48 PM

Posting Permissions

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