Author Topic: Splitting differential servo signals  (Read 2255 times)

0 Members and 1 Guest are viewing this topic.

Offline CorrylTopic starter

  • Newbie
  • Posts: 9
Splitting differential servo signals
« on: April 22, 2019, 06:48:46 pm »
So, this may be really basic.  Actually, I hope it is.  But my google-fu appears weak at the moment.

What I’m trying to accomplish is reading a differential servo signal (well, 2 signals since they’re in quadrature) without disrupting where they’re currently going.  The signals in question are being generated and read by a haas st-20y turning center).  I need the haas control to not lose the axis. 

This is for a fun little project (double crowned helical gear cutting). I need the “transverse” (z axis) position of the hob.  The double crowning is achieved by varying the synchronization between the “work gear” and the hob based on the transverse position.  The haas control doesn’t have this ability, so my plan is to add an encoder to the spindle if the c axis encoder isn’t active when in “cutting mode”, or read the c axis encoder, bolt a new spindle/axis to the turret with the rotational position controlled by a pid loop on a micro controller I’ll add, and then, read the z axis position from the machine.  The haas control will be in charge of the spindle motor and the z axis like normal. 

My first thought was just to y the connections...but many encoders seem to be able to source very little current, so I’m not sure if this is safe.  My initial thought was to use a very very very high input impedance opamp...could split the signal and decode it in one go.  This just seems way too simple.  A corralary to Murphy’s law states that nothing is ever simple.  Therefore, I find this to be likely incorrect. 
 

Offline OM222O

  • Frequent Contributor
  • **
  • Posts: 768
  • Country: gb
Re: Splitting differential servo signals
« Reply #1 on: April 22, 2019, 07:09:11 pm »
I'm not sure I understand the question (I don't think many others will either without some pictures/ schematics). If I understand correctly however you want to split an encoder output signal into 2? (2 inputs converted to 4 basically)?

It would also be helpful if you can share some details as to voltage levels and the speed of the encoder pulses.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9963
  • Country: us
Re: Splitting differential servo signals
« Reply #2 on: April 22, 2019, 07:39:48 pm »
If I read that correctly, you have 2 sets of differential signals that just so happen to be in quadrature and you are concerned about loading the signals.

How about a pair of differential op amps to convert the signals to single-ended yet still in quadrature:

https://www.allaboutcircuits.com/textbook/semiconductors/chpt-8/building-a-differential-amplifier/

With all 4 resistors having the same value, the gain is 1.  You can use fairly high value resistors like 10k which shouldn't load the signals very much at all.  You can change the gain if it helps your project but I might not do that with the first stage and simple use a non-inverting circuit to amplify the now single-ended signals.

https://www.electronics-notes.com/articles/analogue_circuits/operational-amplifier-op-amp/non-inverting-amplifier.php
 

Offline OM222O

  • Frequent Contributor
  • **
  • Posts: 768
  • Country: gb
Re: Splitting differential servo signals
« Reply #3 on: April 22, 2019, 07:54:00 pm »
If I read that correctly, you have 2 sets of differential signals that just so happen to be in quadrature and you are concerned about loading the signals.

How about a pair of differential op amps to convert the signals to single-ended yet still in quadrature:

https://www.allaboutcircuits.com/textbook/semiconductors/chpt-8/building-a-differential-amplifier/

With all 4 resistors having the same value, the gain is 1.  You can use fairly high value resistors like 10k which shouldn't load the signals very much at all.  You can change the gain if it helps your project but I might not do that with the first stage and simple use a non-inverting circuit to amplify the now single-ended signals.

https://www.electronics-notes.com/articles/analogue_circuits/operational-amplifier-op-amp/non-inverting-amplifier.php


how does converting them to single ended helps? if anything it makes the signal integrity worse!
besides I would question the terminology used by the OP ... it doesn't sound very technical and I doubt any encoders produce differential signals. maybe differential as in phase shifted by 90 degrees between the pair of signals?

He really needs to post more details and a clear objective as to what he wants to achieve
 

Offline duak

  • Super Contributor
  • ***
  • Posts: 1048
  • Country: ca
Re: Splitting differential servo signals
« Reply #4 on: April 22, 2019, 07:54:27 pm »
I've done a bit of repair work on CNC machine tools using Mitsubishi and Fanuc controls and have a fair understanding of how they go together.  Just to make sure we're on the same length of wave here, how old is this machine and what control and servos are in it?  I haven't worked on a Haas but I believe they use Fanuc, although they may have realized their own.

So you're thinking of tapping off the encoder signals back into the control?  Since the mid 90's most encoders for CNC machine tools are serial with proprietary protocols.  Unless you know they are quadrature they may not actually be.  I'd have to look at the spec but they are probably something like RS-485 that requires termination to match the impedance of the cable.  Any tapping off will require a short stub to prevent altering the electrical characteristics.

Cheers,
 

Offline ajb

  • Super Contributor
  • ***
  • Posts: 2785
  • Country: us
Re: Splitting differential servo signals
« Reply #5 on: April 22, 2019, 07:57:42 pm »
What sort of encoder?  If it's just a digital quadrature output, that's a different scenario than if these are analog sine/cosine output encoders (I don't know if such things are used on CNC servos, but I know some linear scales used with DROs have analog outputs for variable precision).  For digital outputs, these are quite simple to buffer, and any reasonable buffer circuitry won't introduce any appreciable error on any reasonable shaft speed.  If they're analog you'd want to know the resolution that the control is reading them at to know what sort of signal disturbance you can tolerate (whether by loading or by any error in any sort of buffer you might insert).
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9963
  • Country: us
Re: Splitting differential servo signals
« Reply #6 on: April 22, 2019, 08:20:44 pm »
If I read that correctly, you have 2 sets of differential signals that just so happen to be in quadrature and you are concerned about loading the signals.

How about a pair of differential op amps to convert the signals to single-ended yet still in quadrature:

https://www.allaboutcircuits.com/textbook/semiconductors/chpt-8/building-a-differential-amplifier/

With all 4 resistors having the same value, the gain is 1.  You can use fairly high value resistors like 10k which shouldn't load the signals very much at all.  You can change the gain if it helps your project but I might not do that with the first stage and simple use a non-inverting circuit to amplify the now single-ended signals.

https://www.electronics-notes.com/articles/analogue_circuits/operational-amplifier-op-amp/non-inverting-amplifier.php


how does converting them to single ended helps? if anything it makes the signal integrity worse!
besides I would question the terminology used by the OP ... it doesn't sound very technical and I doubt any encoders produce differential signals. maybe differential as in phase shifted by 90 degrees between the pair of signals?

He really needs to post more details and a clear objective as to what he wants to achieve

How can he combine the signals while they are still differential?  What process is required to convert the inputs to some kind of output?  Can it be differential all the way through?

Whether it is differential or single ended, the important part is the signals can be tapped with a high impedance op amp circuit of some kind.  In fact, ignoring noise, the impedance can be in the megohm range if necessary (and it won't be).

My concern is time delay.  Those encoder signals are causing something to happen.  Now the OP wants to tap them and cause something else to happen.  Is there a delay through the added circuitry?  Does it matter?

I have no idea what the OP is trying to do.  There is certainly a lack of technical documentation and that's going to be important pretty soon.  But, yes, op amp circuits can tap the encoder output with minimal impact on the signals.
 

Offline CorrylTopic starter

  • Newbie
  • Posts: 9
Re: Splitting differential servo signals
« Reply #7 on: April 22, 2019, 08:47:49 pm »
Yeah, communications isn’t a strength.  I usually end up too wordy :). I’d hoped someone with machine tool experience would chime in :)

So what I’m trying to do is take the signal directly from the “motor” (the encoder to be precise) have it go to the original lace it was going, but pull a duplicate in real time which after some conditioning would feed into a micro controller.  So I’m receiving the same data the proprietary control is receiving at the same time.

If it’s proprietary encoding that would suck.  I may be able to re the software though to figure it out.  I’ve done that for some other things, but not the mocon.  I’ll get a scope on it to see what it looks like.  I would expect it’s just encoder signals but who knows :D

Thanks!
 

Offline OM222O

  • Frequent Contributor
  • **
  • Posts: 768
  • Country: gb
Re: Splitting differential servo signals
« Reply #8 on: April 22, 2019, 09:45:51 pm »
if it's not too high of a voltage or too fast of signal rate (MHz range) you can use a hex inverter chip. your encoder outputs go to 2 of the inverters. then each inverted signal will be fed into 2 other inputs to get the original signal. this way you get much better response than an op amp (limited by slew rate and more) and this won't load your encoder down as it's going through one chip and the actual outputs are split after the inverting stage which should be more than sufficient enough.again, just check the voltages before doing this.
 

Offline jmelson

  • Super Contributor
  • ***
  • Posts: 2851
  • Country: us
Re: Splitting differential servo signals
« Reply #9 on: April 22, 2019, 09:59:51 pm »
So what I’m trying to do is take the signal directly from the “motor” (the encoder to be precise) have it go to the original lace it was going, but pull a duplicate in real time which after some conditioning would feed into a micro controller.  So I’m receiving the same data the proprietary control is receiving at the same time.
What you want is a digital comparator with differential output.  There are tons of these made.  Just make sure the one you pick has a TTL voltage input range and it ought to work.  The inputs will have high impedance.

Jon
 

Offline OM222O

  • Frequent Contributor
  • **
  • Posts: 768
  • Country: gb
Re: Splitting differential servo signals
« Reply #10 on: April 22, 2019, 10:21:50 pm »
So what I’m trying to do is take the signal directly from the “motor” (the encoder to be precise) have it go to the original lace it was going, but pull a duplicate in real time which after some conditioning would feed into a micro controller.  So I’m receiving the same data the proprietary control is receiving at the same time.
What you want is a digital comparator with differential output.  There are tons of these made.  Just make sure the one you pick has a TTL voltage input range and it ought to work.  The inputs will have high impedance.

Jon
The signals from rotary encoders are not differential ... just repeating myself over and over again lol
 

Offline duak

  • Super Contributor
  • ***
  • Posts: 1048
  • Country: ca
Re: Splitting differential servo signals
« Reply #11 on: April 23, 2019, 12:21:15 am »
Corryl, you haven't indicated what control, servos and encoders are in this machine.  The big iron CNC machine tools have their way of doing things, Fanuc in particular.  If the encoders are serial, this TI product will give you an idea of what you are up against: http://www.ti.com/lit/ug/tiduan5a/tiduan5a.pdf  The time delay introduced by a serial link is no big deal if it is short and predictable - we're talking megbit/sec rates here.  Since the mid-90's most servo systems are implemented in DSP to get the performance they need and I guess the simple quadrature A/B/I wasn't good enough, although I don't know why.  Maybe they were getting ready for fibre interconnections where everything has to be serialized anyway.

These guys make a protocol converter for Fanuc serial to quadrature:  http://pico-systems.com/osc2.5/catalog/product_info.php?products_id=27  I don't know if it will work in parallel with the existing servo-encoder interface. ie., if it can be set to monitor a bidirectional bus.

This may not apply to all CNC systems but the interface between the control, where the axis position interpolators are, and the servos are increment/decrement position pulses.  It's conceptually quite simple to slave an independant axis to an existing one and can be a clever way to get a compound motion without having to mess with the control itself.
 

Offline CorrylTopic starter

  • Newbie
  • Posts: 9
Re: Splitting differential servo signals
« Reply #12 on: April 26, 2019, 03:56:37 am »
I did say it’s a haas control, they roll their own.  I’m actually back home where the machine is now, so I should be able to throw a scope on it and see what I’m up against (unless anyone has worked with haas controls already! :) )

As for encoder outputs being differential, yes, in environments where they expect a lot of interference, like huge currents going to giant spindle motors (54KW is what it claims when revving up, though my sense energy monitor disagrees, but maybe they’ve got a huge cap bank on a bldc motor driver board or something.  No the motors isn’t hooked directly to 3 phase, it’s powered off 320V DC).  So yeah, in environments like these they often do run differential signaling.  A propritary serial protocol would actually make sense since they could put some FEC on there as well. 
 

Offline H.O

  • Frequent Contributor
  • **
  • Posts: 864
  • Country: se
Re: Splitting differential servo signals
« Reply #13 on: April 26, 2019, 05:00:12 am »
If the encoders are just your ordinary incremental encoders with then splitting the signal (be it differential or single ended) obviously won't be much of a problem. But, as have been indicated already, if the machine is fairly new it's likely that the encoder interface is serial which makes it harder. Not so much from an electrical standpoint but how to interpret the signal. There are standards (like EnDat for example) and there are propriatary format.

With that said, many off the shelf drives (Mitsubishi and Lenze springs to mind) can be setup to output a subset of the encoder signal as an "ordinary" quadrature signal. I don't know if HAAS rolls there own drives or uses off the shelf ones or how much documentation is available on the drives used in your machine but it might be worth looking into.
 

Offline duak

  • Super Contributor
  • ***
  • Posts: 1048
  • Country: ca
Re: Splitting differential servo signals
« Reply #14 on: April 26, 2019, 07:11:13 pm »
Corryl, I believe you may have Yaskawa Sigma axis drives, motors and encoders: https://www.haascnc.com/service/troubleshooting-and-how-to/troubleshooting/sigma-5---axis-servo-motor-and-cables---troubleshooting-guide.html  This good because Yaskawa was good at putting information on their site about their products.  Not to the schematic level but probably enough to solve your problem.

The Sigma servos could have serial or quadrature encoders: https://www.yaskawa.com/delegate/getAttachment?cmd=docurl&doc=workspace/SpacesStore/1c3a9511-5767-48d7-8093-4644ec17fc94/absenc.pdf

It occured to me why the manufacturers went to a serial encoder interface: it allowed the encoder to have the position counter rather than the control and thus simplifies battery backup.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf