Gray code encoder question

Mael

Member
Join Date
Dec 2011
Location
Elmwood Park
Posts
7
Hello everyone,

I am starting my first project with PLC and I have few obstacles that i can't find answers to I hope someone will have answers here.

I try to build few machines that we already have but instead having them analog i would like to have them be PLC based so i can gather data from them. I also try to change way of triggering the cut from laser beam break to encoder.

I need to get really high tolerance on the cut so i try to minimize the error as much as i can. I was thinking about using MicroLogix1400 or 1500 as my processor but i am not sure if they will support 842A (i need around 8000 or more ppr, encoder will run slow around 30-50 rpms, but the length cutted may change from job to job so i need to be able to change the length from operator interface). encoder from Allan Bradley since they are SSI and if i will get 842 modules that change from SSI into parallel if i will get fast enough read from it and how exactly to program ladder logic for it. I would need also a response time of the system at the level of 1 ms. Can such i restart the encoder after each cut without fear of loosing a lot of tolerance?

Can someone tell me if this would be possible with those or suggest some other set up or show me some resources where i can get some more knowledge. I run through all the manuals of the above hardware but i am still not sure i can pull it through. If you need me to clarify the situation more please ask?

Thank you,
 
50 rpm @ 8000 PPR = 400000 pulses per minute.
or 6667 pulses per second 6.7 Khz not that fast

You mentioned gray code Encoder - what machines are you talking about?
 
It's a wire straightening machine. It have to be cut to length after given length is achieved. I want to measure the length of the wire with encoder instead having sensor that i would have to adjust every single time for different length. Problem is the tolerance that i want to achieve which is +- .002" but smaller would be even better +-.0005", but with system scan time i don't know how low will i be able to get. The speed of wire traveling is about 12 ft/min.

I just talked with AB and they told that for 844D encoder (16000 ppr) i would need to go with HSC module and micrologix 1500. I was thinking about gray code encoder since it is more error proof and every single count on the counter make a difference for me in this application.
 
the problem with gray code is it is multibit (12~16)
But - as an example 4 bit 4095 is the max.
so you would measure to say 3000 - then you need to reset the zero point
 
Can i restart gray code encoder every time i triger the cut or will it give some kind of output error?

Also if i would use gray code encoder can i use counter or do i change gray code into binary into integer and check against my value for every single value that gray code encoder is sending? I need at least 8000 ppr and gray code encoder with this resolution are most often SSI which is not working with micrologix processor.
 
I will save you a lot of time

It's a wire straightening machine. It have to be cut to length after given length is achieved.
I want to measure the length of the wire with encoder instead having sensor that i would have to adjust every single time for different length. Problem is the tolerance that i want to achieve which is +- .002" but smaller would be even better +-.0005", but with system scan time i don't know how low will i be able to get. The speed of wire traveling is about 12 ft/min.
You will have to stop the wire to get that accuracy.
Do the math.

I just talked with AB and they told that for 844D encoder (16000 ppr) i would need to go with HSC module and micrologix 1500.
What does that equate to in distance per count? I shouldn't have to ask.

I was thinking about gray code encoder since it is more error proof and every single count on the counter make a difference for me in this application.
Only if you are using a parallel input, not if you are using SSI.
A quadrature encoder should be more than good enough and cheaper.
 
I have .00038" length per count. If I can respond within 1 ms after acquiring the signal it's .0024" . So i have total under .003" i have additional errors from sizing the measuring wheel and rounding error but that should still give me decent tolerance. I will need to use interrupt for this routine. As long as i am not over +-.005" it will be very good so with .003" total error I am at +-.0015. At this point i dont know if i will be able to scan the subroutine in 1ms.
 
most measuring processes take advantage of a 'ramp up/down' speed control
you accelerate to top speed then with a known ramp down you can stop or instruct to stop before the 0.0024".
by doing this you can retain the 0.00038 accuracey.
 
What size wire and material steel etc?

12 fpm = 2.4 inch per second. You make no mention of time between cuts which I think is also critical. Also how long does it take to complete cut?

Seems to me that if your accepted tolerance is +- 0.002 it is reasonable to go for 0.001. However 5 times smaller tolerance at 0.0004 seems overkill to me.
 
.0004 is just a size of step per count i need to have encouder to be able to see the smallest step possible since this is what drasticly reduce error. I would be happy even with somthing bigger then +-.002 but i try to get my goal at optimal level without spending high $$$. Time between cuts is a variable and depends on the product line that we actually run. Time of the cut is small since its shear cutting so as soon as cutter touch the wire. I can compensate for variable of cutter delay by adding a constant to the equation that i will find after i put everything together.
 
depending on your design
you could use two encoders one for the higher speed and one for the final cut speed.
the fast speed can be either measuring Yards (meters) of Feet
the slow speed can be in thousanths 0.0005 accuracey or better

this may solve your accuracey if you can slow down in the last 3 feet.

I tell you it is not fun remembering the feet and inches that was 1976 I was 18 then
 
Last edited:
The problem is that you can not slow it down really since other components have to work with specific speed on the wire and just slowing everything down wont give you good product - that's the problem that can not be change.

To show it better here example:

If you want to melt ice you need to go above 0 Celsius or it wont work (with standard pressure etc etc)

I also need some kind of HMI but i don't know which one would be not expensive and still reliable if you guys have any recommendation please tell me.

For now i will go with micrologix1500, 844D AB encoder (16400 ppr), 1769 HSC, 2 solenoid valves, 1 ac drive (not decided which one yet), and something to control dc drive and here is my next question:

If i want to control dc drive with open loop control since i dont need to be exact with its speed do i need a dc drive or i can control it from micrologix1500?


Thank you guys for all the help and advices it really helping me a lot.
 

Similar Topics

Hey guys, Although I've poured through this forum for help in the past this is my first post. I am looking at replacing obsolete Baumer IVO...
Replies
6
Views
1,947
First time I have used an absolute encoder and it is definitely:banghead:. I have a Siemens 6FX2001-5FN25...
Replies
21
Views
6,050
I am migrating a PLC-5 to CLX. I do not have the option of changing out the existing encoders (845D-SJHZ25AGCW4). 8-24v DC, 256...
Replies
0
Views
1,596
Hi I have a question about a gray code absolute 8 bit encoder. The encoder is connected to 8 inputs on an Allen Bradley PLC. if you turn the...
Replies
6
Views
2,262
Any recommendation on using a gray code encoder as input to a compactlogix PLC to trigger a digital input every 15 degree position on a rotary...
Replies
3
Views
2,772
Back
Top Bottom