Matt, I agree with the diagnosis that the debounce may be too slow. Is debounce needed with that encoder? I have an Avago HRPG-ASCA #14F made for HP. It does not require debouncing and the transitions are very clean on a scope. This Avago application note PEX8509 seems to be on topic, but after several tries to download it this morning, I gave up. All I got was an acknowledge from the Avago site thanking me.
Now, I understand that you may not want to tell the boss that the other engineers are all wet , but if there is time-delay debouncing for a mechanical encoder, that may not be appropriate for an optical device. Thinking just hypothetically and with no device in mind, consider a mechanical switch . A typical debounce for a mechanical switch on change in state may wait 10 ms to see if that state is stable. From what I have seen on a scope, a 10 ms wait may be way too long for an optical encoder. If it is looking at states, 300 rpm =5 rps that x32 = 160 pps or 6.25 ms/pulse. So, at maximum rotation speed, you may still miss transitions (Sorry to repeat what others have already said. I wanted to be sure the specific numbers were here.) Can you find out just what was done to debounce?
John
Now, I understand that you may not want to tell the boss that the other engineers are all wet , but if there is time-delay debouncing for a mechanical encoder, that may not be appropriate for an optical device. Thinking just hypothetically and with no device in mind, consider a mechanical switch . A typical debounce for a mechanical switch on change in state may wait 10 ms to see if that state is stable. From what I have seen on a scope, a 10 ms wait may be way too long for an optical encoder. If it is looking at states, 300 rpm =5 rps that x32 = 160 pps or 6.25 ms/pulse. So, at maximum rotation speed, you may still miss transitions (Sorry to repeat what others have already said. I wanted to be sure the specific numbers were here.) Can you find out just what was done to debounce?
John