Driving analogue servos

More
10 Aug 2017 11:03 #97278 by Agathon
I'm currently updating a very high quality industrial NC milling machine with new control system, drivers etc. I've started off using Mach3, but have always been very attracted to LCNC. Apart from the seeming incomprehensibility of getting started with a basic LCNC set-up, I'm puzzled by the hardware that I require.

As I understand it, I will need some kind of motion controller, but I have some analogue servo drivers (Omron R88D-UA08V) that I'd like to use.

Looking at Mesa's US webshop I think I would need a 7I33 board to run the servo drivers, but I am lost when it comes to the choice of the motion controller. At the moment I have Mach connected to a couple of parallel printer ports hooked up to a couple of BOBs.

Any help appreciated.

PS is there a LinuxCNC for idiots page? - I'm well educated (over-educated some might say!) and a fast learner but at the moment I'm finding it all a bit impenetrable and intimidating.

Please Log in or Create an account to join the conversation.

More
10 Aug 2017 13:01 #97284 by Todd Zuercher
To start with Linuxcnc is a motion controler, and as such will not play well with another motion controller.

There are a number of analog servo interfaces available for Linuxcnc. The basic gist of what they consist of is usually some kind of high speed encoder counters (for position feedback) and digital to analog converters.

The 7i33 is just one option available from Mesa, and it won't be any use by it's self (it is a daughter card). To use it you would also need one of their 50pin header FPGA cards (such as 5i24, 6i24, 7i43, 7i80, or 7i90). And you Probably will want another daughter card for digital IO (probably one of the isolated ones.)

Often a 7i77 is a better/more economical choice, because it has more features rolled into one package (it would often take 2 or more other daughter cards plus a 7i33 to get as much)

7i90($59), 7i33TA($79), 7i37TA($79) for $217, is a pretty attractive price even if it uses a parallel port interface.

A 5i25-7i77(279) plug-n-go kit gets you 2 more analog outs, 2 more encoder inputs, twice as many isolated digital io points, plus a smart serial port for only $62 more. Plus uses a faster PCI slot interface.
The options available from Mesa alone are daunting.

If you are controlling the machine now with Mach3 and simple parallel port breakouts (not a Smooth Stepper or something similar) Linuxcnc can almost certainly run it the same way. There is even a conversion feature built into Stepconfig that can import your Mach3 XML file, and automatically set up most of the machine configuration for you.

Alas I do not know of a good Linuxcnc for dummies tutorial. (maybe you can Google one up), but the documentation for Linuxcnc is extensive and quite good (at least as far as most open source projects go.)
www.linuxcnc.org/docs/2.7/html/
Read up before you start, or get stuck. Plus don't be afraid to ask questions, here, on the mailing list, or the IRC chat room. The Linuxcnc community is very helpful towards those who want to learn.

Please Log in or Create an account to join the conversation.

More
10 Aug 2017 13:25 #97286 by Agathon
Replied by Agathon on topic Driving analogue servos
Thanks for the reply Todd. So unlike Mach3 that works better with a motion controller, LinuxCNC is best operated as a motion controller in its own right?

Hmm... so that still leaves me with the step/dir to analogue conversion problem. I was thinking of the 7I80HD with the 7i33, but have to admit that I was attracted by the word "ethernet" rather than any actual understanding of why such a route would be advantageous!

Are there any other step/dir -/+10v solutions?

Please Log in or Create an account to join the conversation.

More
10 Aug 2017 14:45 - 10 Aug 2017 14:46 #97294 by Todd Zuercher
If the drives are only analog control how are you controlling them now with Mach3?

Best not to even mess with converting the signal to step/dir, just go direct to the analog control with Linuxcnc.

The advantage of an Ethernet interface, is that you only need to run an Ethernet cable from the control pc to the card, and they can be some distance apart.
The disadvantage, it is a little more complicated to configure, and not quite as fast as a PCI or PCIe interface. (I don't think speed is normally a problem.)
(I may be talking well above my experience level as I've only ever used a Mesa 5i25+7i77 and a 5i25+7i85S myself and the Ethernet cards were not available when I set those machines up.)

If you want an Ethernet interface I might want to consider a 7i92+7i77 combo (same price as a 5i25) (This might be the card I try with my next machine retrofit.)
Or if you want to go with the 7i33TA use a 7i93($89) and...

Pico Systems PPMC
pico-systems.com/osc2.5/catalog/index.php?cPath=1
General Mechatronics
www.generalmechatronics.com/en/linuxcnc
Vital Systems
www.vitalsystem.com/portal/motion/motenc/motenc_lite.php
Last edit: 10 Aug 2017 14:46 by Todd Zuercher.

Please Log in or Create an account to join the conversation.

More
10 Aug 2017 16:19 #97302 by Agathon
Replied by Agathon on topic Driving analogue servos
Hi Todd

I'm running steppers with Mach, but I acquired the servos very cheaply and it prompted me to revisit LCNC.

Excuse my ignorance, but what does LCNC produce in the way of commands that become either pulses or voltages? My "knowledge-by-rumor" data suggests this has something to do with PLCs - now I'm just using acronyms that I have no idea what they mean.

I like the look of the General Mechatronics devices - lots to digest.

Please Log in or Create an account to join the conversation.

More
10 Aug 2017 16:30 - 10 Aug 2017 17:08 #97303 by jmelson
Replied by jmelson on topic Driving analogue servos
Another option is the Pico Systems PPMC, a flexible board set that has encoder counters, digital to analog converters and digital I/O boards. You can look at :
pico-systems.com/PPMC.html
and
forum.linuxcnc.org/27-driver-boards/14977-pico-systems-faq

for a bit more info. But, really, it is fairly simple. You connect the encoders to the encoder board. (With some servo drives, the encoders are connected directly to the servo drive, and the drive provides an encoder output to the PPMC encoder board.) You connect the DAC board output to the analog velocity input to the servo drive. Usually, you need an enable signal from the DIO to the servo drive, and the drive can present a fault output to cause an estop. Connect home and limit switches to the digital inputs, and you can connect some digital outputs to the spindle drive. A spare DAC channel can be used to send speed info to the spindle controller.

Jon
Last edit: 10 Aug 2017 17:08 by jmelson.

Please Log in or Create an account to join the conversation.

More
10 Aug 2017 17:19 #97307 by Todd Zuercher

Excuse my ignorance, but what does LCNC produce in the way of commands that become either pulses or voltages? My "knowledge-by-rumor" data suggests this has something to do with PLCs - now I'm just using acronyms that I have no idea what they mean.


As you probably already know, All the data running around inside a computer is digital. So the problem how to interface it with an analog world. The numbers used by Linuxcnc for positioning... are floats, double precision floats to be precise. Linuxcnc sends these floats to the DAC device (Mesa or other hardware) which converts them to the analog command that goes to the drive. It is little more complicated than that, with feedbacks and PID loops mixed in along the way. The hardware encoder readers send floats representing the position back to Linuxcnc, so Linuxcnc isn't usually counting acutal encoder pulses, unless you are doing software encoder counting (ie using a parallel port to directly read the encoder pulses).

PID = Proportion, Integral, Derivative (this is what really makes a servo work.)
PLC= Programable, Logic, Control. (the name pretty much says it all, often referred to as "Ladder Logic" and Linuxcnc has a software one built in.)
en.wikipedia.org/wiki/Programmable_logic_controller

Please Log in or Create an account to join the conversation.

More
10 Aug 2017 17:42 #97308 by Agathon
Replied by Agathon on topic Driving analogue servos
Many thanks Jon for your succinct explanation. My drives do indeed take the encoder signals in and then provide outputs to a controller. So would I need anything else to go with the PPMC board or does it act like a BOB and connect directly to the PC?

Attached are a few pages from the manual which I thought might be illuminating. I have uploaded the whole thing here - Omron R88D-UA manual

Many thanks David
Attachments:

Please Log in or Create an account to join the conversation.

More
10 Aug 2017 17:46 #97309 by Agathon
Replied by Agathon on topic Driving analogue servos
Many thanks once more Todd. Right, so unlike Mach, LCNC can accept position inputs and work in a closed loop?

Please Log in or Create an account to join the conversation.

More
10 Aug 2017 17:47 #97310 by jmelson
Replied by jmelson on topic Driving analogue servos
Well, possibly a few solid state relays and cable might be all you'd need to add. Speed command input in on CN1-3 and 4. CN1 pin 14 may get 24 V DC to enable the drive (RUN mode). This can be set up with a solid state relay in the DIO board. Check additional info for the correct voltages here. CN1 34 and 35 are the alarm outputs, there should be more info on how this is set up. If a floating optocoupler output, it can just be tied in series with the E-stop chain.

Jon

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.237 seconds
Powered by Kunena Forum