??? 02/28/05 06:29 Read: times |
#88600 - So what is the solution? Responding to: ???'s previous message |
I think you'll find the Agilent (HP) parts will sample the input signals albeit at a higher rate than the software example. So if the input is oscillating (which I have seen also - normally on servo motors as you get mechanical vibrations) at a rate higher than you are sampling (in the case of the Agilent parts ~1MHz) you will get count errors. I think the solution here is to always look for two gray-code transitions - both phases must change to register a count. The first step to avoid the oscillation problem is to have adequate hysteresis on the optical side and well as analog bandwidth limiting - this takes care of really high frequency oscillations, the other source of oscillation will most likely be mechanical and thus fairly low in frequency. If your sample rate is in excess (>2 times) your max frequency of interest then count problems shouldn't be an issue. With Raghu saying that the only valid solution is to use the HCTL2xxx parts or a fpga is not telling the whole story - I'm sure given certain conditions that the above solutions would fail also. I wonder what Agilent would say about this issue regarding their encoders and ic's? I think Michal needs to be aware of the potential problems as we all do as well as making sure that he knows the maximum freuqencies of interest in his application. For a hand operated control style encoder the frequencies are going to be quite low thus Peter's software example will most likely work fine. If we're talking about a 12000rpm motor with a 500cpr encoder the frequencies are much higher and thus Peter's software solution may not be viable - personally I'd be using an Agilent chip or maybe a fpga or something with the required hardware for the encoder. I'm about to pull out some servo motor stuff and will probably start with the venerable HCTL1000 device, I might then look at DSP chips with the built in hardware for reading the encoder or I might think about implementing the HCTL1000 in an fpga. Depends on my motivation. |
Topic | Author | Date |
Digital position encoder | 01/01/70 00:00 | |
Dont do this. | 01/01/70 00:00 | |
Signals are not connected directly | 01/01/70 00:00 | |
Is assembly ok? | 01/01/70 00:00 | |
For Mehdi | 01/01/70 00:00 | |
its easy in software | 01/01/70 00:00 | |
but | 01/01/70 00:00 | |
same resolution | 01/01/70 00:00 | |
But...what if ? | 01/01/70 00:00 | |
So what is the solution? | 01/01/70 00:00 | |
absolutely no problem | 01/01/70 00:00 | |
Thank you | 01/01/70 00:00 | |
PLEASE not again | 01/01/70 00:00 | |
Sorry | 01/01/70 00:00 | |
list.hw.cz | 01/01/70 00:00 | |
thank you | 01/01/70 00:00 | |
Re: PLEASE not again | 01/01/70 00:00 | |
Re frequency | 01/01/70 00:00 | |
So what frequency do we sample at? | 01/01/70 00:00 | |
I try to explain Peter's idea again | 01/01/70 00:00 | |
We know it ! | 01/01/70 00:00 | |
Nothing ??? | 01/01/70 00:00 | |
it takes time | 01/01/70 00:00 | |
Code doesn't function | 01/01/70 00:00 | |
reverse direction ! | 01/01/70 00:00 | |
This is not a problem | 01/01/70 00:00 | |
incorrect operation? | 01/01/70 00:00 | |
right connection ? | 01/01/70 00:00 | |
I dunno | 01/01/70 00:00 | |
Now... | 01/01/70 00:00 | |
check the sample condition ! | 01/01/70 00:00 | |
clarify | 01/01/70 00:00 | |
@Erik | 01/01/70 00:00 | |
@Peter | 01/01/70 00:00 | |
Grey code | 01/01/70 00:00 | |
Grey code more | 01/01/70 00:00 | |
Grey INCREMENTAL ? | 01/01/70 00:00 | |
I guess 98 | 01/01/70 00:00 | |
Gray code | 01/01/70 00:00 | |
Not a gray code | 01/01/70 00:00 | |
Grey | 01/01/70 00:00 | |
Yes of course its Grey code | 01/01/70 00:00 | |
Absolute Vs Incremental | 01/01/70 00:00 | |
So now... | 01/01/70 00:00 | |
Yes it can but only... | 01/01/70 00:00 | |
Peter is right! | 01/01/70 00:00 | |
Lover not a fighter :-) | 01/01/70 00:00 | |
Lover of software | 01/01/70 00:00 | |
steps lost or not | 01/01/70 00:00 | |
Determining direction | 01/01/70 00:00 | |
Its not Grey, its Gray !![]() | 01/01/70 00:00 |