thejarson9:
Actually, the 555 circuit requires virtually no idle time.
I expect it'll need at least some time to discharge the cap and be ready for the next pulse.
It's a simple experiment: run your motor at maximum speed and check with your scope what comes out. That will tell you there and then what actual output signal you get. If that's still a nice pulse train, the problem is with the software.
I'm going to add in an optocoupler. I haven't dealt with this before, so any recommendations on a specific chip to use?
A regular one like the PC817 will do great. It's response time (total <10 µs) is fast enough for your 2 ms pulse.