586,076 active members*
3,827 visitors online*
Register for free
Login
Results 1 to 1 of 1
  1. #1
    Join Date
    Nov 2023
    Posts
    1

    611 with either UCCNC or LINUXCNC

    hi all.

    Bought a big old holzher machine. I'm in the process of pulling all of the unnecessary stuff off it to simply reduce complexity, and re-wiring it all down to just drives, controller, servos and limit switches

    Thankfully I have a friend who is well versed in 611 setup but he has no experience with diy/hobby grade controllers.

    Which of these two (UCCNC or LINUXCNC) is able to beat make use of the drives encoder output? I understand the drives and servos are closed loop, and I understand that UCCNC can take the encoder values and use them to display position but seems wasted if it cannot do any form of error correction or alarm.

    Keen to hear any advice on the subject (eg, if this closed loop functionality between controller and drives is completely redundant and I'm thinking irrationally, please say so :-)

  2. #2
    Join Date
    Nov 2013
    Posts
    4375

    Re: 611 with either UCCNC or LINUXCNC

    Hi,

    and I understand that UCCNC can take the encoder values and use them to display position but seems wasted if it cannot do any form of error correction or alarm.
    That is correct. All CNC software solutions that run on Windows PCs are similar, so Mach, UCCNC, Planet CNC etc. The issue is that Windows is not a realtime processing system. Thus the numeric trajectory
    output must go into a buffer, typically a few hundred milliseconds long. This delay totally screws any (tight) closed loop control.

    There are a couple of possibilites that might appeal.

    There are motion controllers like Vital Systems Hicon, CSLabs CSMIO/A, Dynamotion KFlop, Masso G3, and various Galil controllers where the the control loop is closed by the hardware,
    which IS realtime. You end up with Windows PC serving trajectory info to the controller, and the controller monitors the servo and close the loop. All these controllers are all somewhat more
    expensive than you regular Mach and UCCNC types, and rather more complicated....but they do work.

    Another alternative is LinuxCNC with a Mesa motion board. LinuxCNC runs on a realtime version of Linux and can therefore close the loop in software.

    The last suggestion I have, is the one I use. I use 750W Delta AC servos and drives. They are closed loop, the encoder goes not to Mach4 (my control software) but to the drive. The drive closes the loop
    and has error signaling and all of that. If you like the control software, Mach4, and the motion board, an ESS, is open loop, but instructs servos which are closed loop, and that performs every bit as well as
    a controller that closes the loop in software....and in some cases better.

    This last suggestion works well but would require you to replace both the servo and drives with a matched pair. That idea does not appeal to most, it seems like an expensive excerise.....until you start toting up the
    costs of a realtime controller, and the very distinct challenge of setting up and tuning analogue servos. The 750W Delta B2's that I use are $438USD (servo, drive and cables), and I have bought four this last year.
    They have setup and tuning software which makes the process much easier and a more assured result if you've had no experience with servos. All-in-all I think they are a cost compelling solution.

    Craig

  3. #3
    Join Date
    Nov 2013
    Posts
    4375

    Re: 611 with either UCCNC or LINUXCNC

    Hi,

    ....and in some cases better.
    As an example I have a 1.8kW Allen Bradley AC servo from cicra 2005 and a matching drive. It is closed loop in the manner I described above, the rotary encoder built into the servo is connected to the drive.
    The control software and motion control board issues Step/Direction pulses not disimilar to a stepper. The servo and drive execute the movement commands using exactly the same PID control that you
    might expect of a closed loop controller. If the servos cannot keep up for whatever reason it faults 'following error' so the CNC program know that a fault has occurred and it will stop.

    Allen Bradley programmed into the drive a current-to-magnetism curve to replicate the magnetic saturation that occurs in real servos. The drive modifies the current to be delivered to the servo to compensate
    for the non-linearity. This is called 'feed forward'. It means that less feedback need be done and consequently the closed loop bandwidth is higher, ie it goes better.

    No closed loop controllers, not even the gold standard Galil have this feature.

    This is an example of the manufacturer knowing the servo they make so very VERY well that they can make a drive that matches it perfectly, and it is this example that inspires my quote '....and in some cases better.'
    I would expect a manufacturer of a servo to be able to make a drive that at the very least matches a closed loop controller like Galil.

    Craig

  4. #4
    Join Date
    Jul 2003
    Posts
    1754

    Re: 611 with either UCCNC or LINUXCNC

    The PID module within linuxcnc had a ton of parameters.. PID of course.. But also Feed forward 0-3..

    https://linuxcnc.org/docs/stable/htm...an9/pid.9.html

  5. #5
    Join Date
    Nov 2013
    Posts
    4375

    Re: 611 with either UCCNC or LINUXCNC

    Hi,
    all decent controllers have feed forward, but does it have a piecewise linear approximation of a magnetic saturation curve?

    The Allen Bradley software has that data, so Allen Bradley have measured it, recorded the data and incorporated into their software. So even if LinuxCNC has that feature or could be programmed to have
    it most servos do NOT have that kind of data to make use of it.

    The point that I was making was that Allen Bradley made a drive to suit their servo and that is impressive, not that LinuxCNC is bad or could not do it.....but does anyone actually do it with LinuxCNC?
    I suspect not, aside from anything else unless the servo manufacturer measured and collated the data what data would you use even if LinuxCNC was programmed to do so?

    Craig

  6. #6
    Join Date
    Dec 2003
    Posts
    1227

    Re: 611 with either UCCNC or LINUXCNC

    Perhaps the best way to get an answer to the actual use of LinuxCNC in such circumstances would be to ask on the dedicated forum https://forum.linuxcnc.org/ .If the group of people there don't know,its difficult to think of a better qualified cadre.

Posting Permissions

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