Splitting differential servo signals - Page 1
Forum section: electronics / projects

author: Corryl
author_rank: Newbie
timestamp: April 22, 2019, 06:48:46 pm
content: 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.

author: OM222O
author_rank: Frequent Contributor
timestamp: April 22, 2019, 07:09:11 pm
content: 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.

author: rstofer
author_rank: Super Contributor
timestamp: April 22, 2019, 07:39:48 pm
content: 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

author: OM222O
author_rank: Frequent Contributor
timestamp: April 22, 2019, 07:54:00 pm
content: Quote from: rstofer on April 22, 2019, 07:39:48 pmhow 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

author: duak
author_rank: Super Contributor
timestamp: April 22, 2019, 07:54:27 pm
content: 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,

author: ajb
author_rank: Super Contributor
timestamp: April 22, 2019, 07:57:42 pm
content: 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).

author: rstofer
author_rank: Super Contributor
timestamp: April 22, 2019, 08:20:44 pm
content: Quote from: OM222O on April 22, 2019, 07:54:00 pmHow 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.

author: Corryl
author_rank: Newbie
timestamp: April 22, 2019, 08:47:49 pm
content: Yeah, communications isn’t a strength. I usually end up too wordy. I’d hoped someone with machine tool experience would chime inSo 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 knowsThanks!

author: OM222O
author_rank: Frequent Contributor
timestamp: April 22, 2019, 09:45:51 pm
content: 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.

author: jmelson
author_rank: Super Contributor
timestamp: April 22, 2019, 09:59:51 pm
content: Quote from: Corryl on April 22, 2019, 08:47:49 pmWhat 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

author: OM222O
author_rank: Frequent Contributor
timestamp: April 22, 2019, 10:21:50 pm
content: Quote from: jmelson on April 22, 2019, 09:59:51 pmThe signals from rotary encoders are not differential ... just repeating myself over and over again lol

author: duak
author_rank: Super Contributor
timestamp: April 23, 2019, 12:21:15 am
content: 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.pdfThe 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=27I 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.

author: Corryl
author_rank: Newbie
timestamp: April 26, 2019, 03:56:37 am
content: 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.

author: H.O
author_rank: Frequent Contributor
timestamp: April 26, 2019, 05:00:12 am
content: 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.

author: duak
author_rank: Super Contributor
timestamp: April 26, 2019, 07:11:13 pm
content: 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.htmlThis 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.pdfIt 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.