I've been pretty quiet here but I started rebuilding my autonomous rover a few weeks ago since I've got some down time (recently graduated student about to travel for a month).
I've built a small, tricycle drive robot with a sonar head. For odometry, I've glued a 6 CPR optical encoder wheel onto the hub of my drive wheel. I used a PNP photointerruptor focused at about 2mm from the hub, with a hood made of electrical tape to block out ambient light. The output of the phototransistor is squared up through a Schimmt-triggered hex buffer. The setup works well, putting out a fairly clean, regular pulse train. But there does appear to be a small amount of noise between some transitions, as about every 10 pulses or so it counts an extra pulse. It seems to be random so I don't think its the encoder disk. I've tried adding a bypass cap, but a few different values (.01uf, .1uf, even10uf) didn't seem to have any effect. I'm not an EE so I'm not sure what else to try. I'd rather not use a 555 if I can help it, because I'm short on space.
Thanks for any tips.