02-04-2015 07:15 AM
Hello,
I am troubling with an encoder that uses SSI interface,,, As the subject says i am trying to read encoder with an X Series USB 6363 DAQ,,, And Encoder has a 13bit resolution, according the manual, it needs 14 pulse for a complete data transfer,, data transfer frequency depending on clock frequency and it can be 50 Khz to 2 Mhz,,, and between 14 pulse there is a delay,,monoflop time 15us,,, Encoder uses Clock(+) and Clock(-) for timing and Data(+) and Data(-) for data transfer,, Firstly how can i generate and read differential digital signals with my configuration if its possible... and if itsnt possible it will work if i wire (-) lines to GND??
Anyway what i have done with no success, i configured CO with Daq Assistant for N Pulses with 14 Samples to Write and Timing type Implicit and Initial delay 17us, Idle State High (Encoder requires idle high) and High and Low time for 500n ... and Wire Clock(+) to CO and Clock(-) to D GND,,, for acuiring signal i tried both AI and DI and both no success ( i wired Data(+) to AI 0+ and Data(-) to AI 0- for differential Analog measurement to see anything but no success and Data(+) to P0.0 and Data(-) to D GND for Digital measurement but again no success)
There are some topics about SSI encoder but i dont find any solution for my case,, so anyone can help?
T=Depending on SSI Clock Rate (for my case 1us)
t1=T/2
n=13bit for my case
t3=Monoflop Time(15us)
t2=Data refresh rate (1us)
Manual for Encoder : Operating Manual
Datasheet for Encoder : Encoder Datasheet
02-05-2015 05:47 PM
Sounds like this may be a good place to start:
http://www.ni.com/getting-started/set-up-hardware/data-acquisition/quadrature-encoders
02-05-2015 08:42 PM
do you success?
I have the same question ,and I don't know how to do,
I have a linear 24 bit ssi encoder,it is a temposonics RH series(MTS),and the signal is differential,and I have the USB-6343 that has 4 counters,
I I don't know how to connect the ware,
if you successed plese tel me , thank you!
02-06-2015 04:14 AM
@thebatmanboy wrote:
Sounds like this may be a good place to start:
http://www.ni.com/getting-started/set-up-hardware/data-acquisition/quadrature-encoders
I think you are confusing because of the word 'encoder'... Its a different type... My case there is a Clock that drives encoder to transmit Data,,, Anyway, i think i have Sync. problem.. and seems nobody interests to help :(,,,
For being more specific. I am using Timing.vi to sync. both Clock Sampling time and DI sampling time and Trigger.vi for to start read on rising edge and make it retriggerable but no success.... Anyone can tell if the problem is that i wire Clock(+) to ctr0 and Clock(-) to D GND or something else????
02-06-2015 11:12 AM - edited 02-06-2015 11:15 AM
From the encoder manual your connections should look something like this:
The output of the DAQ card does not match the diagram of course. To fix this, I would suggest adding your own buffer circuit:
1. You must convert the single-ended TTL signal from the DAQ card into the differential signal for the encoder clock (I don't believe connecting Clock - to DGND will work).
2. The digital outputs of the DAQ device are limited to 16 mA or 24 mA depending on which lines and whether the line is an output or an input. In the best case scenario, 24 mA across 120 Ohms is only 2.88 Volts.
Kubler might be able to give a more specific recommendation for something that they know will work with their encoders.
On the input side, you would need to add the 120 Ohm resistor yourself. I would start with an analog input to confirm the output voltages, and from there you might consider switching to digital to make the programming easier (I'd suggest a buffer here as well if you use digital inputs but it might not be necessary depending on the voltages).
Best Regards,
02-06-2015 01:51 PM
@John_P1 wrote:
From the encoder manual your connections should look something like this:
The output of the DAQ card does not match the diagram of course. To fix this, I would suggest adding your own buffer circuit:
1. You must convert the single-ended TTL signal from the DAQ card into the differential signal for the encoder clock (I don't believe connecting Clock - to DGND will work).
2. The digital outputs of the DAQ device are limited to 16 mA or 24 mA depending on which lines and whether the line is an output or an input. In the best case scenario, 24 mA across 120 Ohms is only 2.88 Volts.
Kubler might be able to give a more specific recommendation for something that they know will work with their encoders.
On the input side, you would need to add the 120 Ohm resistor yourself. I would start with an analog input to confirm the output voltages, and from there you might consider switching to digital to make the programming easier (I'd suggest a buffer here as well if you use digital inputs but it might not be necessary depending on the voltages).
Best Regards,
Thank you for your post, John ,,
So this means i wont be able to read that sensor with my USB-6363 :(,, i did contact with Kubler in Tr,, and they send me a sample encoder to see if i can read it with my DAQ or not,,, they cant be that helpful with NI products :S
Anyway i have some confuses with the Timing.vi,,, when i try to route Ctr0InternalOutput, i cant see that terminal in the I/O connector... it was weird :S i actually route with wiring... X series should have routes internally, shouldnt it?
NI has some differential digital signals I/O products,,, should i get a one of them to overcome that resistor problem?
02-06-2015 02:26 PM
@vbakircioglu wrote:
Anyway i have some confuses with the Timing.vi,,, when i try to route Ctr0InternalOutput, i cant see that terminal in the I/O connector... it was weird i actually route with wiring... X series should have routes internally, shouldnt it?
It does have internal routes, but they are hidden by default. See here.
@vbakircioglu wrote:
NI has some differential digital signals I/O products,,, should i get a one of them to overcome that resistor problem?
I don't really think this is a "problem", it's just a requirement for how you have to interface with this particular encoder. I'm not sure you'll find the exact product you are looking for with 120 Ohm impedance inputs and differential digital outputs with appropriate voltage and timing specs. So you'll need to use some sort of conditioning anyway. Are external components absolutely not an option?
If changing hardware is an option, you might instead consider changing the encoder to something that outputs an A and B signal at TTL logic levels which would be much easier to interface with using the DAQ card.
Best Regards,
02-06-2015 02:52 PM
@John_P1 wrote:
@vbakircioglu wrote:Anyway i have some confuses with the Timing.vi,,, when i try to route Ctr0InternalOutput, i cant see that terminal in the I/O connector... it was weird i actually route with wiring... X series should have routes internally, shouldnt it?
It does have internal routes, but they are hidden by default. See here.
@vbakircioglu wrote:NI has some differential digital signals I/O products,,, should i get a one of them to overcome that resistor problem?
I don't really think this is a "problem", it's just a requirement for how you have to interface with this particular encoder. I'm not sure you'll find the exact product you are looking for with 120 Ohm impedance inputs and differential digital outputs with appropriate voltage and timing specs. So you'll need to use some sort of conditioning anyway. Are external components absolutely not an option?
If changing hardware is an option, you might instead consider changing the encoder to something that outputs an A and B signal at TTL logic levels which would be much easier to interface with using the DAQ card.
Best Regards,
Hello John, than you for your fast respond,,,
Nice post about I/O Terminal,,, you are absolutely right,,, i spent half a day for looking that terminal option :S and gave up at the end 🙂
Well, i can use external components but i dont know how to do 🙂 Actually i did put a 120 Ohm on Data line but i dont know how to get differential signals from TTL signals... i know Encoders with A and B signals are much more easy to read but i need an absolute encoder,,, and i dont know if there is an absolute encoder with that option..
02-06-2015 03:26 PM - edited 02-06-2015 03:27 PM
@vbakircioglu wrote:
i know Encoders with A and B signals are much more easy to read but i need an absolute encoder,,, and i dont know if there is an absolute encoder with that option..
By definition if the encoder has an A and B output it is an incremental encoder (since the A and B update on each tick and don't give an absolute position). An absolute encoder has some other method of reporting back absolute position (either over a digital or analog interface). On incremental rotary encoders, typically position is measured relative to a zero position which is indicated by a Z input. Even using an incremental encoder, the software can still report a position relative to a reference even if the encoder itself only issues incremental updates (though before the Z pulse is first measured you cannot determine position).
For absolute encoders, implementing an SSI interface with a DAQ card is definitely doable (I have myself used the X Series in this way and have helped others here on the forum do the same) but the programming / synchronization required can be tricky. On top of that, the DAQ card needs to provide a valid clock signal and as you have seen this might require some conditioning.
You might be able to find a encoder (e.g. with RS-232) which could connect to your computer without requiring a DAQ card. There are also analog absolute encoders out there which should be pretty easy to hook up to a DAQ card's analog input (though they might not be desirable if the environment is noisy).
Best Regards,
02-06-2015 03:48 PM
I cant give more Kudos 🙂
Incremental Encoders doesnt keep position when the power goes off,, right? Z input is just a refenrence if the power goes off Z input goes off too,, right?
I found this SN65ELT20D-5V-TTL-to-Differential-PECL-Translator-P11686 ,,, but dont know if it works when put a 120 Ohm resistor to its output :S I dont understand howcome X series cant do Differential Digital I/O,,
Anyway, you are right,, i think i dont bother with signal conditioning and just change the encoder, maybe i can find an SSI with single ended version,,,