You might also want to consider the Centipede
I have a Supermax Bridgeport type mill which currently has Anilam Crusader II CNC control. The current control seems to be fully functional but is rather dated so I plan to update the control while retaining the existing DC servo motors.
I would like to use a separate motion controller rather than a parallel port type setup as I believe that the end result will be superior. However, I'm having difficulty deciding which controller to use - so far I've found the following contenders:
DSPMC - Ethernet motion controller
CSMIO/IP-S - Ethernet motion controller
K-Flop USB motion controller
The K-Flop is the cheapest, although it is USB connected and will require an additional PWM to analogue converter for speed control of the VFD and has no opto-isolation or housing. The CSMIO/IP-S is next up in price and seems to have it all - on paper at least - but I can't seem to find anyone who has used it. Finally, the DSPMC seems to be well known but is the most expensive.
Has anyone here got any knowledge of the CSMIO product? Or, even better, a comparison between these controllers?
Finally I'm trying to decide which drives to use - either Granite VSD-XE-160 or Dugong DG2S-16035 seem to fit the bill for my 140v / 21 A motors.
Mach3 2010 Screenset
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
I would go with EMC2.
It is a real time controller, Linux based, makes it stable and safe. The controller can actually see ,and track what the servos are doing - closed loop right back to the PC. It's more than just a pulse generator.
I would go with MESA interface.
It can give you tons of I/O, and the ability to get away from the P port, plus adds any analogue you may need. Differential feedback from encoders can be used for reliability. I'd like to say that PICO also makes a nice interface, but you need a P port.
As far as the drives go, I'd chose the GRANITES. I've got one controlling the down feed motor on as huge surface grinder. The machine can do sub-micron moves. Oh i forgot to say, the Granites can handle 2 motors from 1 drive in DC brush mode. This will give you a good bang for your money.
From what I've been seeing this is what I'm going to use, regardless of the cost
Thanks for the tips - it looks like my headache just got a little larger rather than smaller though!
I've downloaded EMC2 and I'm having a play with it in demo mode in a virtual machine. I clearly still need to do plenty of homework though before I can make a truly informed decision!
I've done a little more research and I'd appreciate it if you can correct me in any areas where I might be wrong....
The way I understand it, the actual PID control of each axis is carried out by the servo drive itself - each drive is given pulse and direction by the controller and carries out the move with the encoder feedback going to the drive so that it knows what the position is. There will be feedback to the controller of position error, but there's not actually a requirement for the encoder to directly connect to the controller. I've also read the Granite Devices documentation and it seems that in "dual drive" configuration there's no passthrough of the encoder position available.
If I were to use EMC2 with the Mesa boards instead of Mach3 with an ethernet connected controller, the FPGA in the Mesa board would be acting as the controller, generating the pulse & direction and sending it to the drives rather than the ethernet controller doing exactly the same thing with it's FPGA. The PC processor running EMC2 or Mach3 in either case is not really carrying out the direct "real-time" control of the drives - this would only really happen in parallel port mode, which isn't where I want to go anyway. Mach 3 and EMC2 are translating M & G codes to actual movement commands, which in turn are translated to Pulse & Direction by the controller while also providing a user friendly graphical interface of the whole process.
Based on the above understanding, the whole process of making a CNC machine move would be as follows:
Draw component in CAD
Import CAD drawing to CAM software to generate G & M code
Import G code to MAC3/EMC2 PC
PC generates tool paths from G code and passes this to CNC controller via Ethernet, USB or PCI bus
Controller generates pulse and direction to the drive of each axis
Pulse and direction received by servo drive, which moves the servo motor in the required speed and direction until the encoder shows the correct position has been reached.
If I've got some of this wrong, please correct me - I really want to fully understand the process from a high level before drilling down into the specifics of updating my machine.
What's happened since your January 19th post?
I've a Crusader IIL on my lathe with 6-tool turet and two (X and Z-axis) 140VDC SEM servos.
I'm ready to ditch the Anilam controller and leap to a PC as well. Like you I'd prefer to keep the existing motors limit switches, and have oiler and oil cooler controls plus speed since I've got the 7.5 hp motor on a 15 hp VFD already.
Anyway, I'm researching before asking questions and won't stoop to hijacking your thread but wonder what you decided since a few months have past (a PM is fine).
Actually with LinuxCNC ((EMC) and Mesa (or other analog drive interfaces), motor control is all done in real time by the host PC, not the FPGA card. This way LinuxCNC has access to all the motor control parameters in real time.
Unlike step/dir systems this is a true closed loop controller where the control software (LinuxCNC) knows the actual position (so knows and can deal intelligently with following error) rather than a "blind" step/dir system.
Well, progress since January has been a little slow - I've had a lot of work on, so missed a few weekends and I've been putting all the rest of my effort into finishing off the workshop that everything is going to live in! I've finished painting the walls and put the first coat of floor paint down this weekend, so nearly there.... Just got to build the workbenches, finish off the plumbing and install power sockets - so it's just the easy stuff now.
Anyway, I digress. I had a bit of an episode when I found that the main motor on the mill had been rewound at some stage, but permanently in star with no option to convert it to delta. After the initial shock of that I found out that I would actually still be ok with a VFD, but at lower frequency. However, luck took another dump in my coffee when I accidentally drilled right through the motor casing while fitting a new terminal block (the old one was broken in half) and broke the windings!
Once the steam had finished coming out of my ears I found a relatively local place that was able to rewind my motor without totally bankrupting the project. Now I have the option of selecting star (415v) or delta (240v) and I have successfully tested the Mitsubishi VFD, which works great.
I'm still deliberating over the Mach3/LinuxCNC question - fortunately I'm not at the point where I *have* to make a decision yet - for the moment I've not been thinking about it too hard, but have been lurking and reading forum posts occasionally. Once I've dismantled the mill, moved it down the garden and into the workshop, then reassembled it, I'll be close to the point where I need to make a decision.
Having said that, I've pretty much boiled it down to these two choices:
1) Mach3 with CSMIO/IP controller and Granite drives
2) LinuxCNC with MESA card (haven't decided which one yet) and Granite drives.
Either way, I'll be sure to send out some updates once I've made some decisions/progress.
After the replies to this thread, I was provoked into doing some fresh research...
It seems that since I last looked into the Mesa cards, they have launched the 5I25 and associated daughter cards, which together are considerably cheaper than their previous offerings.
Based on that, I decided to buy a 5I25 along with one each of the 7I77 & 7I76 daughter cards. This should give me the ability to get up and running relatively quickly using the existing Anilam analogue drives, then later update to digital drives once I'm satisfied the machine is worth it.
The combination of free software and cheap interface card has made LinuxCNC a very tempting option now - certainly cheaper than the Mach3/Ethernet external controller that I was considering.
I will provide more information on how I get on once I receive the cards and start playing around with them.
Well, it's been a long time since my last post in this thread and i think I owe it an update:
I went ahead with LinuxCNC in the end, purchasing Mesa 5i25 & 7i77 interface cards. These connect to a PC motherboard via a PCI slot and provide ample analogue and digital IO for connection to switches, encoders, drives etc.
This combination enabled me to tear out all the old Anilam computer controls from the upper cabinet and replace them with an Intel Atom based Mini ITX motherboard. The bulky old 24v power supply was stripped out and replaced with a 24v switched mode power supply which cost £5 and was 1/16th the size and weight of the old one - all it has to do now is operate six small relays after all!
I retained the SEM servos, Anilam linear scales and almost all the wiring in the main cabinet - as it was all working correctly there seemed to be little point in rewiring all the existing E-stop/limit switch etc circuitry.
I lost patience with the whistling Anilam servo drives (although they were working ok otherwise - with the exception of the one I damaged by connecting it the wrong way around!) and replaced them with similar specced analogue drives from AMC. The AMC drives were purchased from ebay for considerably less than the new price of any of the other alternatives I was considering - they seem to be robust, easy to configure and there was plenty of information for them on the AMC website.
Currently I am wiring up my Mitsubishi VFD into its own cabinet along with a relay board to provide e-stop, start and drive enable for the AMC servo drives - this will allow LinuxCNC to control the spindle as well as the table and quill.
A further refinement I plan to implement is to add rotary encoders to the end of the servos - these could be used to replace the tachometers which currently provide velocity feedback to the drives (the drives also support encoder feedback for velocity) or they may be used to replace or augment the linear scales as their resolution is rather low (0.01mm) which leads to a certain amount of hunting when at rest.
I have cut my first chips with the machine - making the 100mm mounting plates for the rotary encoders from 5mm thick aluminium. Apart from the main 100mm diameter circle which would have been impossible without a rotary table, having all the mounting holes in exactly the correct places without fooling around with a centre punch etc was very refreshing!
In short then, I am 100% satisfied with my decision to go with LinuxCNC - it's been massively cheaper than going with Mach3 or other alternatives and it's given me a machine with superior ability and further scope for upgrade.
Thanks for the update. I am trending toward Mach3 and a CSMIO controller for the lathe because they (CS Labs) say they have done such conversions and have a VB macro to handle the turret. Moreover, a fellow I respect (Hood in Scotland) has purchased same and has good things to say about it (them).
I came very close to going down the Mach3/CSMIO route - I still think it sounds like a good combination and if they are able to control your turret then it sounds like it's just what you're after.
I do think that it would be fairly simple to control the turret using LinuxCNC anyway - there are plenty of examples of people on the forums and in the Wiki, although I've not had to go through configuring one so I cannot comment on how easy/difficult it would actually be!
Let us know how you get on, whatever you decide!