Any opinions on performing misstep detection?

Any opinions on performing misstep detection? Some of the higher end stepper motor drivers can detect the misstep, I think that something like a knock detector, or a mouse flow sensor could provide that feedback too.

I have not convinced myself that I would do anything other than shutdown the printer if I had more than n of them on an axis, or just to keep statistics over the course of a print.

I probably will build a flow sensor on filament entering the extruder to make sure that steps ~= filament movement…

Anyone else have some thoughts?

Normally, missed steps are detected by encoders, either on the motor and reporting shaft rotation, or with position reporting of the carriage.

Optical mice sensors are high-speed DSP+imagers which require sufficient number of features to track (which is why they tend to have problems on glass surfaces), and require a careful lens design to work properly. Plus they do have some amount of lag time to report their position - so it might be hard to correlate commanded position to measured position data in any synchronized and meaningful way.

Knock sensing sounds interesting (no pun intended) - but I wonder if that’s prone to falsing from, for example, the nozzle hitting a n over-extrusion bump.

Stepper drivers can be smart enough to detect missed steps by constantly measuring the coils’ current and voltage, but more basic drivers, like TI’s DRV have a fault pin (if i remember correctly) that is limited to, for example, overtemperature situations.
Filament tracking could be done with a mouse wheel (basically an optical encoder). It might not have the highest resolution, but could easily detect stalls, ground-trough filament and end-of-spool conditions.

You should checkout http://airtripper.com of +Mark Heywood. It is extruder-nozzle tip pressure based. On my own page “eof cr cf” I am working on the optical idea, with a slow progress…

LinuxCNC can read encoder counts over the parallel port at some quite slow speed. That might be enough for the extruder. For faster speed you need an fpga or other dedicated hardware to count the encoder pulses.

Optical encoder.

As @Thomas_Sanladerer said, there are ways to detect position slips from change in coil current - but I’m assuming the intent is to “bolt on” a slip detector on current designs?

@Anders_Wallin given the show speed of extruders, you should be fine using an Arduino to read the quadrature gray code. If the encoder does end up being too fast for a normal sketch, reading it using an ISR should be more than fast enough
http://www.circuitsathome.com/mcu/rotary-encoder-interrupt-service-routine-for-avr-micros